From 1b7ed7edb09aaecf68ddf3396ee007bc6eadf52a Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期一, 30 十二月 2024 17:04:09 +0800 Subject: [PATCH] zjh202412030 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java | 385 ++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 253 insertions(+), 132 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java index a2db689..8a384d3 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java @@ -15,6 +15,7 @@ import cn.hutool.extra.pinyin.PinyinUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; +import com.alibaba.druid.sql.visitor.functions.Isnull; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -40,10 +41,12 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.web.bind.annotation.*; import com.ltkj.common.core.controller.BaseController; import com.ltkj.common.core.domain.AjaxResult; @@ -60,6 +63,7 @@ @RestController @RequestMapping("/reservation/reservation") @Api(tags = "浣撴棰勭害绠$悊鎺ュ彛") +@Slf4j public class TjReservationController extends BaseController { @Resource private ITjReservationService tjReservationService; @@ -85,12 +89,8 @@ private ITjGroupingProService groupingProService; @Resource private TjAsyncService asyncService; -// @Resource -// private OrderDelayService delayService; @Autowired private TaskService taskService; - @Resource - private ITjReportTemplateService reportTemplateService; @Autowired private ISysDictDataService dictDataService; @Autowired @@ -103,10 +103,10 @@ @ApiOperation(value = "瀵煎嚭excel琛ㄦā鏉�") public void importTemplate(HttpServletResponse response) { //鍘熸潵鐨勪笅杞芥ā鏉胯皟鐢ㄦ帴鍙� - String base64String = PDFBinaryUtil.getPDFBinary("D:\\Tjreport\\瑗垮畨璺嘲鏈虹數绉戞妧鏈夐檺鍏徃.xls"); - if(null !=base64String){ - PDFBinaryUtil.base64StringToPDF(base64String, FileUtil.mkdir(value).getPath() + "\\" + "鍥綋棰勭害Excel妯$増.xls"); - String filePath = value + "\\" + "鍥綋棰勭害Excel妯$増.xls"; + String base64String = PDFBinaryUtil.getPDFBinary(configService.selectConfigByKey("default_excelTemplate")); + if (null != base64String) { + PDFBinaryUtil.base64StringToPDF(base64String, FileUtil.mkdir(value).getPath() + File.separator + "鍥綋棰勭害Excel妯$増.xls"); + String filePath = value + File.separator + "鍥綋棰勭害Excel妯$増.xls"; File f = new File(filePath); BufferedInputStream br = null; OutputStream out = null; @@ -157,7 +157,6 @@ } - /** * 鏌ヨ浣撴棰勭害鍒楄〃 */ @@ -186,7 +185,7 @@ public TableDataInfo selectTjReservationByDelete(TjReservation tjReservation) { startPage(); List<TjReservation> list = tjReservationService.selectTjReservationByDelete(tjReservation); - if(null !=list && !list.isEmpty()){ + if (null != list && !list.isEmpty()) { // for (TjReservation reservation : list) { // reservation.setName(MatchUtils.hideCusName(reservation.getName())); // reservation.setPhoe(MatchUtils.hidePhoneNum(reservation.getPhoe())); @@ -227,7 +226,7 @@ } int grouping = dwGroupingService.selectTjDwGroupingByDwDeptId(dwDeptId); - if(grouping==0){ + if (grouping == 0) { return AjaxResult.error("璇锋鏌ラ儴闂ㄤ腑鏄惁瀛樺湪鍒嗙粍鎴栧垎缁勪腑鏄惁瀛樺湪椤圭洰!"); } @@ -239,12 +238,12 @@ TjDwGrouping groupingWoMan = null;//濂� TjDwGrouping groupingWz = null;//鏈煡(涓嶅垎鎬у埆) try { - groupingMan = dwGroupingService.getOne(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId,dwId) - .eq(TjDwGrouping::getDwDeptId,dwDeptId).eq(TjDwGrouping::getSex, 0)); - groupingWoMan = dwGroupingService.getOne(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId,dwId) - .eq(TjDwGrouping::getDwDeptId,dwDeptId).eq(TjDwGrouping::getSex, 1)); - groupingWz = dwGroupingService.getOne(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId,dwId) - .eq(TjDwGrouping::getDwDeptId,dwDeptId).eq(TjDwGrouping::getSex, 2)); + groupingMan = dwGroupingService.getOne(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId, dwId) + .eq(TjDwGrouping::getDwDeptId, dwDeptId).eq(TjDwGrouping::getSex, 0)); + groupingWoMan = dwGroupingService.getOne(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId, dwId) + .eq(TjDwGrouping::getDwDeptId, dwDeptId).eq(TjDwGrouping::getSex, 1)); + groupingWz = dwGroupingService.getOne(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId, dwId) + .eq(TjDwGrouping::getDwDeptId, dwDeptId).eq(TjDwGrouping::getSex, 2)); } catch (Exception e) { return AjaxResult.error("鍒嗙粍淇℃伅鏈夎璇烽噸鏂板垎缁�!"); } @@ -254,21 +253,24 @@ BigDecimal manMoney = new BigDecimal("0.00"); //濂崇粍閲戦 BigDecimal woManMoney = new BigDecimal("0.00"); - int count=0;//鎬昏浜烘暟 - int manCount=0;//鐢风粍浜烘暟 - int woManCount=0;//濂崇粍浜烘暟 + int count = 0;//鎬昏浜烘暟 + int manCount = 0;//鐢风粍浜烘暟 + int woManCount = 0;//濂崇粍浜烘暟 for (TjReservation tjReservation : tjReservations) { String idCard = tjReservation.getIdCard(); String phoe = tjReservation.getPhoe(); if (null != idCard && null != phoe) { -// if (!MatchUtils.isIdCard(idCard) || !MatchUtils.isMobileNO(phoe)) { +// if (!MatchUtils.isIdCard(idCard) || !MatchUtils.isMobileNO(phoe)); if (idCard.isEmpty() || phoe.isEmpty()) { wrongList.add(tjReservation.getName()); } else { + String str = MatchUtils.translateToPlainStr(tjReservation.getPhoe()); + + tjReservation.setPhoe(str); //骞撮緞 tjReservation.setAge(String.valueOf(MatchUtils.getAgeByIdCard(tjReservation.getIdCard()))); //鍑虹敓鏃ユ湡 - tjReservation.setBirthday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()),"yyyy-MM-dd")); + tjReservation.setBirthday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd")); if (null != groupingMan && groupingMan.getSex().equals(String.valueOf(tjReservation.getSex()))) { @@ -276,9 +278,11 @@ tjReservation.setGroupingName(groupingMan.getGroupingName()); tjReservation.setYsPrice(groupingMan.getYsPrice()); //鍚堣 - hjMoney = hjMoney.add(groupingMan.getYsPrice()); count+=1; + hjMoney = hjMoney.add(groupingMan.getYsPrice()); + count += 1; //鐢风粍浜烘暟 - manMoney=manMoney.add(groupingMan.getYsPrice()); manCount+=1; + manMoney = manMoney.add(groupingMan.getYsPrice()); + manCount += 1; } else if (null != groupingWoMan && groupingWoMan.getSex().equals(String.valueOf(tjReservation.getSex()))) { @@ -286,8 +290,10 @@ tjReservation.setGroupingName(groupingWoMan.getGroupingName()); tjReservation.setYsPrice(groupingWoMan.getYsPrice()); //鍚堣 - hjMoney = hjMoney.add(groupingWoMan.getYsPrice()); count+=1; - woManMoney=woManMoney.add(groupingWoMan.getYsPrice());woManCount+=1; + hjMoney = hjMoney.add(groupingWoMan.getYsPrice()); + count += 1; + woManMoney = woManMoney.add(groupingWoMan.getYsPrice()); + woManCount += 1; } else if (null != groupingWz && groupingWz.getSex().equals(String.valueOf(tjReservation.getSex()))) { @@ -295,7 +301,8 @@ tjReservation.setGroupingName(groupingWz.getGroupingName()); tjReservation.setYsPrice(groupingWz.getYsPrice()); //鍚堣 - hjMoney = hjMoney.add(groupingWz.getYsPrice()); count+=1; + hjMoney = hjMoney.add(groupingWz.getYsPrice()); + count += 1; } @@ -342,7 +349,7 @@ @ApiOperation(value = "鍥綋excel琛ㄥ鍏� (鏂扮増鏈笉浼犲崟浣嶉儴闂╥d)") @Transactional public AjaxResult newExcelImportNotDwDeptId(@RequestPart(value = "file") @ApiParam(value = "Excel鏂囦欢") MultipartFile file, - @RequestParam @ApiParam(value = "鍗曚綅id") String dwId) { + @RequestParam @ApiParam(value = "鍗曚綅id") String dwId) { List<TjReservation> tjReservations = null; try { tjReservations = ExcelUtils.readMultipartFile(file, TjReservation.class); @@ -351,7 +358,7 @@ } int grouping = dwGroupingService.selectTjDwGroupingByDwId(dwId); - if(grouping==0){ + if (grouping == 0) { return AjaxResult.error("璇锋鏌ヨ鍗曚綅鏄惁瀛樺惁瀛樺湪椤圭洰!"); } @@ -363,90 +370,191 @@ List<TjDwGrouping> groupingWoMans = null;//濂� List<TjDwGrouping> groupingWzs = null;//鏈煡(涓嶅垎鎬у埆) try { - groupingMans = dwGroupingService.list(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId,dwId) + groupingMans = dwGroupingService.list(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId, dwId) .eq(TjDwGrouping::getSex, 0)); - groupingWoMans = dwGroupingService.list(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId,dwId) + groupingWoMans = dwGroupingService.list(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId, dwId) .eq(TjDwGrouping::getSex, 1)); - groupingWzs = dwGroupingService.list(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId,dwId) + groupingWzs = dwGroupingService.list(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId, dwId) .eq(TjDwGrouping::getSex, 2)); } catch (Exception e) { return AjaxResult.error("鍒嗙粍淇℃伅鏈夎璇烽噸鏂板垎缁�!"); } + + String sfjysfzh = configService.selectConfigByKey("sfjysfzh"); + String sfjysjh = configService.selectConfigByKey("sfjysjh"); + //璁$畻鍚堣 BigDecimal hjMoney = new BigDecimal("0.00"); //鐢风粍閲戦 BigDecimal manMoney = new BigDecimal("0.00"); //濂崇粍閲戦 BigDecimal woManMoney = new BigDecimal("0.00"); - int count=0;//鎬昏浜烘暟 - int manCount=0;//鐢风粍浜烘暟 - int woManCount=0;//濂崇粍浜烘暟 + int count = 0;//鎬昏浜烘暟 + int manCount = 0;//鐢风粍浜烘暟 + int woManCount = 0;//濂崇粍浜烘暟 + List<String> ids=new ArrayList<>(); + for (TjReservation tjReservation : tjReservations) { String idCard = tjReservation.getIdCard(); String phoe = tjReservation.getPhoe(); - if (null != idCard && null != phoe) { -// if (!MatchUtils.isIdCard(idCard) || !MatchUtils.isMobileNO(phoe)) { - if (idCard.isEmpty() || phoe.isEmpty() || null==tjReservation.getDwxm()) { - wrongList.add(tjReservation.getName()); - } else { - //骞撮緞 - tjReservation.setAge(String.valueOf(MatchUtils.getAgeByIdCard(tjReservation.getIdCard()))); - //鍑虹敓鏃ユ湡 - tjReservation.setBirthday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()),"yyyy-MM-dd")); + idCard= idCard.replaceAll("[',锛�;.銆� 鈥樷�淽",""); - TjDwDept dwDept = dwDeptService.getOne(new LambdaQueryWrapper<TjDwDept>().eq(TjDwDept::getDwDeptName, tjReservation.getDwxm())); - if(null !=dwDept){ - for (TjDwGrouping groupingMan : groupingMans) { - if (null != groupingMan && groupingMan.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingMan.getDwDeptId().equals(dwDept.getId())) { - tjReservation.setGroupingId(groupingMan.getId()); - tjReservation.setGroupingName(groupingMan.getGroupingName()); - tjReservation.setYsPrice(groupingMan.getYsPrice()); - //鍚堣 - hjMoney = hjMoney.add(groupingMan.getYsPrice()); count+=1; - //鐢风粍浜烘暟 - manMoney=manMoney.add(groupingMan.getYsPrice()); manCount+=1; - } - } + if (!StringUtils.isBlank(idCard) || !StringUtils.isBlank(phoe) || null != tjReservation.getDwxm()) { + //灏嗙瀛﹁鏁扮殑鎵嬫満鍙疯浆鎹㈡垚鏂囨湰褰㈠紡 + phoe = MatchUtils.translateToPlainStr(tjReservation.getPhoe()); - for (TjDwGrouping groupingWoMan : groupingWoMans) { - if (null != groupingWoMan && groupingWoMan.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingWoMan.getDwDeptId().equals(dwDept.getId())) { - tjReservation.setGroupingId(groupingWoMan.getId()); - tjReservation.setGroupingName(groupingWoMan.getGroupingName()); - tjReservation.setYsPrice(groupingWoMan.getYsPrice()); - //鍚堣 - hjMoney = hjMoney.add(groupingWoMan.getYsPrice()); count+=1; - woManMoney=woManMoney.add(groupingWoMan.getYsPrice());woManCount+=1; - } - } - for (TjDwGrouping groupingWz : groupingWzs) { - 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; - 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<>(); - wq.eq(TjReservation::getIdCard, tjReservation.getIdCard()); - wq.eq(TjReservation::getIsExpire, 2); - TjReservation one = tjReservationService.getOne(wq); - if (null != one) { - yyList.add(one); - } - rightList.add(tjReservation); - }else { - wrongList.add(tjReservation.getName()); - } - + if(!ids.isEmpty() && ids.contains(tjReservation.getIdCard())){ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("姝よ韩浠借瘉鍙�: "+tjReservation.getIdCard()+" 閲嶅,璇锋牳瀵瑰悗涓婁紶!"); } + + ids.add(tjReservation.getIdCard()); + +// if (sfjysfzh.equalsIgnoreCase("Y") || sfjysjh.equalsIgnoreCase("Y")) { + if ((sfjysfzh.equalsIgnoreCase("Y") && !MatchUtils.isIdCard(idCard)) || + (sfjysjh.equalsIgnoreCase("Y") && !MatchUtils.isMobileNO(phoe))) { + wrongList.add(tjReservation.getName()); + log.info(tjReservation.getName()+idCard+MatchUtils.isIdCard(idCard)+MatchUtils.isMobileNO(phoe)); + }else { + + + tjReservation.setPhoe(phoe); + + //骞撮緞 + tjReservation.setAge(String.valueOf(MatchUtils.getAgeByIdCard(tjReservation.getIdCard()))); + //鍑虹敓鏃ユ湡 + tjReservation.setBirthday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd")); + + TjDwDept dwDept = dwDeptService.getOne(new LambdaQueryWrapper<TjDwDept>().eq(TjDwDept::getDwDeptName, tjReservation.getDwxm())); + if (null != dwDept) { + for (TjDwGrouping groupingMan : groupingMans) { + if (null != groupingMan && groupingMan.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingMan.getDwDeptId().equals(dwDept.getId())) { + tjReservation.setGroupingId(groupingMan.getId()); + tjReservation.setGroupingName(groupingMan.getGroupingName()); + tjReservation.setYsPrice(groupingMan.getYsPrice()); + //鍚堣 + hjMoney = hjMoney.add(groupingMan.getYsPrice()); + count += 1; + //鐢风粍浜烘暟 + manMoney = manMoney.add(groupingMan.getYsPrice()); + manCount += 1; + } + } + + for (TjDwGrouping groupingWoMan : groupingWoMans) { + if (null != groupingWoMan && groupingWoMan.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingWoMan.getDwDeptId().equals(dwDept.getId())) { + tjReservation.setGroupingId(groupingWoMan.getId()); + tjReservation.setGroupingName(groupingWoMan.getGroupingName()); + tjReservation.setYsPrice(groupingWoMan.getYsPrice()); + //鍚堣 + hjMoney = hjMoney.add(groupingWoMan.getYsPrice()); + count += 1; + woManMoney = woManMoney.add(groupingWoMan.getYsPrice()); + woManCount += 1; + } + } + for (TjDwGrouping groupingWz : groupingWzs) { + 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; + 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<>(); + wq.eq(TjReservation::getIdCard, tjReservation.getIdCard()); + wq.eq(TjReservation::getIsExpire, 2); + TjReservation one = tjReservationService.getOne(wq); + if (null != one) { + yyList.add(one); + } + rightList.add(tjReservation); + } else { + wrongList.add(tjReservation.getName()); + } + } +// } +// else { +// //灏嗙瀛﹁鏁扮殑鎵嬫満鍙疯浆鎹㈡垚鏂囨湰褰㈠紡 +// String str = MatchUtils.translateToPlainStr(tjReservation.getPhoe()); +// tjReservation.setPhoe(str); +// +// //骞撮緞 +// tjReservation.setAge(String.valueOf(MatchUtils.getAgeByIdCard(tjReservation.getIdCard()))); +// //鍑虹敓鏃ユ湡 +// tjReservation.setBirthday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd")); +// +// TjDwDept dwDept = dwDeptService.getOne(new LambdaQueryWrapper<TjDwDept>().eq(TjDwDept::getDwDeptName, tjReservation.getDwxm())); +// if (null != dwDept) { +// for (TjDwGrouping groupingMan : groupingMans) { +// if (null != groupingMan && groupingMan.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingMan.getDwDeptId().equals(dwDept.getId())) { +// tjReservation.setGroupingId(groupingMan.getId()); +// tjReservation.setGroupingName(groupingMan.getGroupingName()); +// tjReservation.setYsPrice(groupingMan.getYsPrice()); +// //鍚堣 +// hjMoney = hjMoney.add(groupingMan.getYsPrice()); +// count += 1; +// //鐢风粍浜烘暟 +// manMoney = manMoney.add(groupingMan.getYsPrice()); +// manCount += 1; +// } +// } +// +// for (TjDwGrouping groupingWoMan : groupingWoMans) { +// if (null != groupingWoMan && groupingWoMan.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingWoMan.getDwDeptId().equals(dwDept.getId())) { +// tjReservation.setGroupingId(groupingWoMan.getId()); +// tjReservation.setGroupingName(groupingWoMan.getGroupingName()); +// tjReservation.setYsPrice(groupingWoMan.getYsPrice()); +// //鍚堣 +// hjMoney = hjMoney.add(groupingWoMan.getYsPrice()); +// count += 1; +// woManMoney = woManMoney.add(groupingWoMan.getYsPrice()); +// woManCount += 1; +// } +// } +// for (TjDwGrouping groupingWz : groupingWzs) { +// 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; +// 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<>(); +// wq.eq(TjReservation::getIdCard, tjReservation.getIdCard()); +// wq.eq(TjReservation::getIsExpire, 2); +// TjReservation one = tjReservationService.getOne(wq); +// if (null != one) { +// yyList.add(one); +// } +// rightList.add(tjReservation); +// } else { +// wrongList.add(tjReservation.getName()); +// } +// } + } else { wrongList.add(tjReservation.getName()); } @@ -483,18 +591,18 @@ if (null == tjReservation) return AjaxResult.error(); if (null == tjReservation.getName()) return AjaxResult.error("濮撳悕涓嶈兘涓虹┖"); if (null == tjReservation.getReservationTime()) return AjaxResult.error("璇烽�夋嫨棰勭害鏃堕棿"); - boolean b=true; - if(null !=tjReservation.getIdType()){ - if(tjReservation.getIdType().equals("1")){ - b = MatchUtils.isIdCard(tjReservation.getIdCard()); - }else { - b = MatchUtils.cardValidate(tjReservation.getIdCard(), tjReservation.getIdType()); + boolean b = true; + if (null != tjReservation.getIdType()) { + if (tjReservation.getIdType().equals("1")) { + b = MatchUtils.isIdCard(tjReservation.getIdCard()); + } else { + b = MatchUtils.cardValidate(tjReservation.getIdCard(), tjReservation.getIdType()); } - }else { + } else { return AjaxResult.error("璇烽�夋嫨璇佷欢绫诲瀷"); } - if(!b) return AjaxResult.error("璇佷欢鍙锋湁璇�"); + if (!b) return AjaxResult.error("璇佷欢鍙锋湁璇�"); LambdaQueryWrapper<TjReservation> wq = new LambdaQueryWrapper<>(); wq.eq(TjReservation::getIdCard, tjReservation.getIdCard()); wq.eq(TjReservation::getIsExpire, 2); @@ -512,12 +620,12 @@ if (tjReservationService.save(tjReservation)) { // delayService.reservation(tjReservation.getId()); taskService.addTask(new TjReservationTask(tjReservation.getId(), - DateUtil.between(new Date(),DateUtil.endOfDay(tjReservation.getReservationTime()), DateUnit.MS))); + DateUtil.between(new Date(), DateUtil.endOfDay(tjReservation.getReservationTime()), DateUnit.MS))); return AjaxResult.success("棰勭害鎴愬姛!!!"); } - LambdaQueryWrapper<TbTransition> remove=new LambdaQueryWrapper<>(); - remove.between(TbTransition::getCreateTime,DateUtil.offsetMinute(transitionService.getTbTransitionCreateTimeByCusId(tjReservation.getIdCard()),-1),new Date()); - remove.eq(TbTransition::getCusId,tjReservation.getIdCard()); + LambdaQueryWrapper<TbTransition> remove = new LambdaQueryWrapper<>(); + remove.between(TbTransition::getCreateTime, DateUtil.offsetMinute(transitionService.getTbTransitionCreateTimeByCusId(tjReservation.getIdCard()), -1), new Date()); + remove.eq(TbTransition::getCusId, tjReservation.getIdCard()); transitionService.remove(remove); return AjaxResult.error("棰勭害澶辫触"); } @@ -533,12 +641,12 @@ if (null != tjReservation) { if (null != tjReservation.getPacId()) { TjPackage aPackage = packageService.getById(tjReservation.getPacId()); - if(null !=aPackage){ + if (null != aPackage) { tjReservation.setPacName(aPackage.getPacName()); } TjDwDept dwDept = dwDeptService.getById(tjReservation.getPacId()); - if(null !=dwDept){ + if (null != dwDept) { tjReservation.setPacName(dwDept.getDwName()); } @@ -589,7 +697,8 @@ TjReservation reservation = tjReservationService.getById(id); if (null != reservation && reservation.getIsExpire() == 2) { if (tjReservationService.removeById(id)) { - transitionService.remove(new LambdaQueryWrapper<TbTransition>().eq(TbTransition::getCusId, reservation.getIdCard())); + transitionService.remove(new LambdaQueryWrapper<TbTransition>().eq(TbTransition::getCusId, reservation.getIdCard()) + .isNull(TbTransition::getTjNum)); taskService.removeTask(new TjReservationTask(id)); } } @@ -618,7 +727,7 @@ if (tjReservationService.updateById(tjReservation)) { taskService.removeTask(new TjReservationTask(tjReservation.getId())); taskService.addTask(new TjReservationTask(tjReservation.getId(), - DateUtil.between(new Date(),DateUtil.endOfDay(DateUtil.offsetDay(tjReservation.getReservationTime(),reservation.getYxts())), DateUnit.MS))); + DateUtil.between(new Date(), DateUtil.endOfDay(DateUtil.offsetDay(tjReservation.getReservationTime(), reservation.getYxts())), DateUnit.MS))); return AjaxResult.success("鎿嶄綔鎴愬姛"); } return AjaxResult.error("鎿嶄綔澶辫触"); @@ -632,15 +741,15 @@ @ApiOperation(value = "鏍规嵁鍗曚綅id鍜屽洟闃熺紪鍙疯幏鍙栭绾﹁鎯�") public AjaxResult getSelectRecordByTeamNo(@RequestParam @ApiParam(value = "鍒嗙粍id") String groupingId) { LambdaQueryWrapper<TjGroupingPro> wq = new LambdaQueryWrapper<>(); - wq.eq(TjGroupingPro::getGroupingId,groupingId); + wq.eq(TjGroupingPro::getGroupingId, groupingId); List<TjGroupingPro> proList = groupingProService.list(wq); - if(null !=proList && proList.size()>0){ + if (null != proList && !proList.isEmpty()) { for (TjGroupingPro groupingPro : proList) { TjProject project = projectService.getById(groupingPro.getProId()); - if(null !=project){ - if (project.getProType()==null || project.getProType().equals("")) { + if (null != project) { + if (project.getProType() == null || project.getProType().isEmpty()) { groupingPro.setProType("2"); - }else { + } else { groupingPro.setProType(project.getProType()); } groupingPro.setProCheckMethod(project.getProCheckMethod()); @@ -673,10 +782,10 @@ asyncService.saveNewReservationConfirm(rightList); //鍥綋浜烘暟鍚堣浠锋牸 - BigDecimal compPay=new BigDecimal("0.00"); + BigDecimal compPay = new BigDecimal("0.00"); //鍥綋浜烘暟 - int tramNum=0; + int tramNum = 0; if (null != rightList && rightList.size() > 0) { String teamNo = PinyinUtil.getFirstLetter(dwDept.getDwName(), "") + DateUtil.format(new Date(), "yyMMddHHmmss"); for (TjReservation reservation : rightList) { @@ -706,13 +815,13 @@ // }else { // reservation.setTjType(String.valueOf(2)); // } - compPay=compPay.add(dwGrouping.getYsPrice()); - tramNum+=1; + compPay = compPay.add(dwGrouping.getYsPrice()); + tramNum += 1; reservation.setTjType(String.valueOf(1)); reservation.setTeamNo(teamNo); reservation.setYxts(dto.getYxts()); tjReservationService.save(reservation); - taskService.addTask(new TjReservationTask(reservation.getId(),DateUtil.between(new Date(),DateUtil.endOfDay(DateUtil.offsetDay(reservation.getReservationTime(),dto.getYxts())), DateUnit.MS))); + taskService.addTask(new TjReservationTask(reservation.getId(), DateUtil.between(new Date(), DateUtil.endOfDay(DateUtil.offsetDay(reservation.getReservationTime(), dto.getYxts())), DateUnit.MS))); } LambdaQueryWrapper<TjCompPay> wq0 = new LambdaQueryWrapper<>(); wq0.eq(TjCompPay::getCompId, dwDept.getDwId()); @@ -747,7 +856,7 @@ recordServiceOne.setCount(tramNum); recordServiceOne.setDifference(compPay); selectRecordService.updateById(recordServiceOne); - }else { + } else { TjTeamSelectRecord selectRecord = new TjTeamSelectRecord(); selectRecord.setCompId(dwDept.getDwId()); selectRecord.setPacId(dwDept.getId()); @@ -789,13 +898,23 @@ String teamNo = PinyinUtil.getFirstLetter(comp.getCnName(), "") + DateUtil.format(date, "yyMMddHHmmss"); //鍥綋浜烘暟鍚堣浠锋牸 - BigDecimal compPay=new BigDecimal("0.00"); + 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()) { + List<String> ids=new ArrayList<>(); + for (TjReservation reservation : rightList) { + + if(!ids.isEmpty() && ids.contains(reservation.getIdCard())){ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("姝よ韩浠借瘉鍙�: "+reservation.getIdCard()+" 閲嶅,璇锋牳瀵瑰悗涓婁紶!"); + + } + reservation.setName(reservation.getName().replaceAll("銆�","").replaceAll(" ","")); + ids.add(reservation.getIdCard()); TjDwGrouping dwGrouping = dwGroupingService.getById(reservation.getGroupingId()); @@ -817,29 +936,29 @@ 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()); + 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()))){ + 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()); + compPay = compPay.add(dwGrouping.getYsPrice()); // reservation.setTjType(String.valueOf(1)); reservation.setTeamNo(teamNo); reservation.setYxts(dto.getYxts()); tjReservationService.save(reservation); taskService.addTask(new TjReservationTask(reservation.getId(), - DateUtil.between(date,DateUtil.endOfDay(DateUtil.offsetDay(reservation.getReservationTime(),dto.getYxts())), DateUnit.MS))); + DateUtil.between(date, DateUtil.endOfDay(DateUtil.offsetDay(reservation.getReservationTime(), dto.getYxts())), DateUnit.MS))); } LambdaQueryWrapper<TjCompPay> wq0 = new LambdaQueryWrapper<>(); - wq0.eq(TjCompPay::getCompId,dto.getDwId()); + wq0.eq(TjCompPay::getCompId, dto.getDwId()); wq0.eq(TjCompPay::getTeamNo, teamNo); TjCompPay one = compPayService.getOne(wq0); if (null != one) { @@ -860,13 +979,15 @@ compPayService.save(tjCompPay); } +// .filter(a-> null != a.getPacId()) + Map<String, List<TjReservation>> collect = rightList.stream().collect(Collectors.groupingBy(TjReservation::getPacId)); - if(!collect.isEmpty()){ + if (!collect.isEmpty()) { for (Map.Entry<String, List<TjReservation>> entry : collect.entrySet()) { LambdaQueryWrapper<TjTeamSelectRecord> wq = new LambdaQueryWrapper<>(); wq.eq(TjTeamSelectRecord::getTeamNo, teamNo); - wq.eq(TjTeamSelectRecord::getCompId,dto.getDwId()); + wq.eq(TjTeamSelectRecord::getCompId, dto.getDwId()); TjTeamSelectRecord recordServiceOne = selectRecordService.getOne(wq); if (null != recordServiceOne) { recordServiceOne.setPacId(entry.getKey()); @@ -876,7 +997,7 @@ recordServiceOne.setCount(entry.getValue().size()); recordServiceOne.setDifference(compPay); selectRecordService.updateById(recordServiceOne); - }else { + } else { TjTeamSelectRecord selectRecord = new TjTeamSelectRecord(); selectRecord.setCompId(dto.getDwId()); selectRecord.setPacId(entry.getKey()); -- Gitblit v1.8.0