zhaowenxuan
2024-11-28 edd6968aa0f62dce0229f6addb8a0762696eed0d
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java
@@ -13,12 +13,15 @@
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.extra.pinyin.PinyinUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.base.Joiner;
import com.ltkj.common.annotation.RepeatSubmit;
import com.ltkj.common.core.domain.entity.SysDictData;
import com.ltkj.common.excelConfig.ExcelUtils;
import com.ltkj.common.task.TaskService;
import com.ltkj.common.utils.SecurityUtils;
@@ -29,6 +32,8 @@
import com.ltkj.hosp.dto.ExcelImportDto;
import com.ltkj.hosp.service.*;
import com.ltkj.mall.mallOrderUtils.TjConstants;
import com.ltkj.system.service.ISysConfigService;
import com.ltkj.system.service.ISysDictDataService;
import com.ltkj.web.config.pdfutils.PDFBinaryUtil;
import com.ltkj.web.config.redis.OrderDelayService;
import com.ltkj.web.config.task.TjReservationTask;
@@ -86,6 +91,10 @@
    private TaskService taskService;
    @Resource
    private ITjReportTemplateService reportTemplateService;
    @Autowired
    private ISysDictDataService dictDataService;
    @Autowired
    private ISysConfigService configService;
    @Value("${path.filePath}")
    private String value;
@@ -94,7 +103,7 @@
    @ApiOperation(value = "导出excel表模板")
    public void importTemplate(HttpServletResponse response) {
        //原来的下载模板调用接口
        String base64String = PDFBinaryUtil.getPDFBinary("D:\\Tjreport\\西安路泰机电科技有限公司.xls");
        String base64String = PDFBinaryUtil.getPDFBinary(configService.selectConfigByKey("default_excelTemplate"));
        if(null !=base64String){
            PDFBinaryUtil.base64StringToPDF(base64String, FileUtil.mkdir(value).getPath() + "\\" + "团体预约Excel模版.xls");
            String filePath = value + "\\" + "团体预约Excel模版.xls";
@@ -177,7 +186,7 @@
    public TableDataInfo selectTjReservationByDelete(TjReservation tjReservation) {
        startPage();
        List<TjReservation> list = tjReservationService.selectTjReservationByDelete(tjReservation);
        if(null !=list && list.size()>0){
        if(null !=list && !list.isEmpty()){
//            for (TjReservation reservation : list) {
//                reservation.setName(MatchUtils.hideCusName(reservation.getName()));
//                reservation.setPhoe(MatchUtils.hidePhoneNum(reservation.getPhoe()));
@@ -410,12 +419,19 @@
                            }
                        }
                        for (TjDwGrouping groupingWz : groupingWzs) {
                            if (null != groupingWz && groupingWz.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingWz.getDwDeptId().equals(dwDept.getId())) {
                            if (null != groupingWz  && groupingWz.getDwDeptId().equals(dwDept.getId())) {
                                tjReservation.setGroupingId(groupingWz.getId());
                                tjReservation.setGroupingName(groupingWz.getGroupingName());
                                tjReservation.setYsPrice(groupingWz.getYsPrice());
                                //合计
                                hjMoney = hjMoney.add(groupingWz.getYsPrice()); count+=1;
                                hjMoney = hjMoney.add(groupingWz.getYsPrice());count+=1;
                                if(tjReservation.getSex()==0){
                                    manMoney=manMoney.add(groupingWz.getYsPrice()); manCount+=1;
                                }
                                if(tjReservation.getSex()==1){
                                    woManMoney=woManMoney.add(groupingWz.getYsPrice());woManCount+=1;
                                }
                            }
                        }
                        LambdaQueryWrapper<TjReservation> wq = new LambdaQueryWrapper<>();
@@ -435,13 +451,13 @@
                wrongList.add(tjReservation.getName());
            }
        }
        if (yyList.size() > 0) {
        if (!yyList.isEmpty()) {
            map.put("list", yyList);
            map.put("hjMoney", hjMoney);
            return AjaxResult.error("操作失败,以上人员已经预约无需导入!!!", map);
        }
        if (wrongList.size() > 0) {
        if (!wrongList.isEmpty()) {
            map.put("list", wrongList);
            map.put("hjMoney", hjMoney);
            return AjaxResult.error("操作失败, 请认真核对信息后重新导入!!!", map);
@@ -775,6 +791,8 @@
        //团体人数合计价格
        BigDecimal compPay=new BigDecimal("0.00");
        String payTypeGlTjType = configService.selectConfigByKey("reservation_pay_type_gl_tj_type");
        JSONObject parseObj = JSONUtil.parseObj(payTypeGlTjType);
        if (null != rightList && !rightList.isEmpty()) {
            for (TjReservation reservation : rightList) {
@@ -798,9 +816,21 @@
                reservation.setCompanyId(dwGrouping.getDwId());
                reservation.setCompany(dwGrouping.getDwName());
                reservation.setPayType(Long.valueOf(dwGrouping.getPayType()));
                LambdaQueryWrapper<SysDictData> wrapper = new LambdaQueryWrapper<>();
                wrapper.eq(SysDictData::getDictType,"reservation_pay_type");
                wrapper.eq(SysDictData::getDictValue,reservation.getPayType());
                SysDictData dictData = dictDataService.getOne(wrapper);
                for (Map.Entry<String, Object> entry : parseObj.entrySet()) {
                    String[] split = entry.getValue().toString().split("-");
                    if (split[0].equals(String.valueOf(dictData.getDictCode()))){
                        reservation.setTjType(dictDataService.selectDictDataById(Long.valueOf(split[1])).getDictValue());
                    }
                }
                reservation.setPacId(dwDept.getId());
                compPay=compPay.add(dwGrouping.getYsPrice());
                reservation.setTjType(String.valueOf(1));
//                reservation.setTjType(String.valueOf(1));
                reservation.setTeamNo(teamNo);
                reservation.setYxts(dto.getYxts());
                tjReservationService.save(reservation);