From bd992b57fe7cc9ccc54affc75d3c869b15261b92 Mon Sep 17 00:00:00 2001 From: lige <bestlige@outlook.com> Date: 星期二, 23 一月 2024 09:23:26 +0800 Subject: [PATCH] 报告 异常 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java | 245 ++++++++++++++++++++++++++++++++++++------------ 1 files changed, 184 insertions(+), 61 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java index 250602e..0327b17 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java @@ -24,11 +24,16 @@ import com.ltkj.common.core.domain.entity.SysDept; import com.ltkj.common.core.domain.entity.SysUser; import com.ltkj.common.core.redis.RedisCache; +import com.ltkj.common.enums.DataSourceType; import com.ltkj.common.utils.SecurityUtils; import com.ltkj.framework.config.MatchUtils; import com.ltkj.framework.config.UserHoder; +import com.ltkj.framework.datasource.DynamicDataSourceContextHolder; import com.ltkj.hosp.domain.*; +import com.ltkj.hosp.mapper.TestMapper; import com.ltkj.hosp.service.*; +import com.ltkj.hosp.sqlDomain.LtkjMiddleDetail; +import com.ltkj.hosp.sqlDomain.LtkjMiddleHead; import com.ltkj.hosp.vodomain.BingZhongVO; import com.ltkj.hosp.vodomain.HistoryTjOrder; import com.ltkj.hosp.vodomain.QjDomainVo; @@ -135,6 +140,15 @@ @Autowired private ITjReportGetAddressService tjReportGetAddressService; + + @Resource + private TestMapper testMapper; + + @Resource + private LtkjMiddleDetailService middleDetailService; + + @Resource + private LtkjMiddleHeadService headService; /** @@ -334,9 +348,12 @@ for (TjOrder order : list) { TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId()); if (null != tjCustomer) { - order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); - order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); - order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); +// order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); + order.setTjCustomerName(tjCustomer.getCusName()); +// order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); + order.setTjCustomerPhone(tjCustomer.getCusPhone()); +// order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); + order.setTjCusIdCard(tjCustomer.getCusIdcard()); order.setTjCustomerSex(tjCustomer.getCusSex()); order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); order.setCareer(tjCustomer.getCareer()); @@ -390,8 +407,10 @@ order.setTjCustomerSex(tjCustomer.getCusSex()); order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); + order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); - order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); +// order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); + order.setTjCusIdCard(tjCustomer.getCusIdcard()); order.setCareer(tjCustomer.getCareer()); order.setIdType(tjCustomer.getIdType()); order.setAgeUnit(tjCustomer.getAgeUnit()); @@ -777,22 +796,28 @@ */ @PostMapping @ApiOperation(value = "浣撴绛惧埌鐧昏鎺ュ彛") - @Transactional + @Transactional //(鍒囨崲鏁版嵁搴撳嚭閿欙紝鎵�浠ユ敞閲�) public AjaxResult addOrderAndDetail(@RequestBody TjOrder tjOrder) throws Exception { Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId()); SysUser sysUser = userService.getById(userId); + + LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); + wq.eq(TjCustomer::getCusId, tjOrder.getUserId()); + TjCustomer tjCustomer = tjCustomerService.getOne(wq); + if (tjCustomer == null) return AjaxResult.error("璇ュ鎴锋湭鐧昏鎴栦笉瀛樺湪"); + LambdaQueryWrapper<TjOrder> wqq = new LambdaQueryWrapper<>(); wqq.eq(TjOrder::getUserId, tjOrder.getUserId()); wqq.eq(TjOrder::getCheckStatus, 0); wqq.isNull(TjOrder::getFinishTime); + if(!tjCustomer.getCardId().equals("0")){ + wqq.eq(TjOrder::getCardId,tjCustomer.getCardId()); + } TjOrder order = tjOrderService.getOne(wqq); if (null != order) { + transitionService.deletedTbTransitionListByCusIdAndTjNum(tjCustomer.getCusIdcard(),tjCustomer.getCardId()); return AjaxResult.error("涓嶅彲閲嶅鐧昏"); } - LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); - wq.eq(TjCustomer::getCusId, tjOrder.getUserId()); - TjCustomer tjCustomer = tjCustomerService.getOne(wq); - if (tjCustomer == null) return AjaxResult.error("璇ュ鎴锋湭绛惧埌鎴栦笉瀛樺湪"); LambdaQueryWrapper<TjReservation> wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjReservation::getIdCard, tjCustomer.getCusIdcard()); wq1.eq(TjReservation::getIsExpire, 2); @@ -813,6 +838,7 @@ if (null != tjReservation.getDepartment()) tjOrder.setFirmDeptName(tjReservation.getDepartment()); if (null != tjReservation.getJobNo()) tjOrder.setFirmWorkId(tjReservation.getJobNo()); if (null != tjReservation.getPacId()) tjOrder.setPacId(tjReservation.getPacId()); + if (null != tjReservation.getTjCategory()) tjOrder.setTjCategory(tjReservation.getTjCategory()); if (null != tjReservation.getGroupingId()){ tjOrder.setGroupId(tjReservation.getGroupingId()); tjOrder.setFirmDeptId(tjReservation.getPacId()); @@ -850,6 +876,7 @@ //鍒ゆ柇灏忕▼搴忎笂棰勭害鏄惁浠橀挶 if (null != mallOrder) tjOrder.setMallOrderId(String.valueOf(mallOrder.getId())); tjOrder.setStatus(TjConstants.TJ_BEGIN); + tjOrder.setCardId(tjCustomer.getCardId()); if (tjOrderService.save(tjOrder)) { //淇濆瓨鏀惰揣鍦板潃 if ("2".equals(tjOrder.getGetType())){ @@ -862,43 +889,56 @@ Long cusNumber = tjCustomer.getCusNumber(); cusNumber += 1; tjCustomer.setCusNumber(cusNumber); - tjCustomerService.updateById(tjCustomer); BigDecimal discount = BigDecimal.valueOf(Double.parseDouble(tjOrder.getTjFlowingWater().getDiscount())).divide(BigDecimal.valueOf(10)); TjFlowingWater tjFlowingWater = new TjFlowingWater(); + tjFlowingWater.setPayStasus(0L); if ("1".equals(tjOrder.getTjType())) { if (null != tjReservation && tjReservation.getPayType() == 1) { tjFlowingWater.setPayStasus(3L); } } + + //璋冪敤SQL server鎷垮彇鏀惰垂鎯呭喌 + //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12 + final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData"); + final String isPay = configService.selectConfigByKey("isPay"); + if ("Y".equals(getInfoFromSqlData)){ + LtkjMiddleHead middleHead = headService.getMiddleHeadByPartId(tjCustomer.getCardId()); + if(null !=middleHead){ + tjFlowingWater.setPayStasus(1L); + } + } tjFlowingWater.setOrderId(tjOrder.getOrderId()); Date date1 = new Date(System.currentTimeMillis()); String s1 = SecurityUtils.getUsername() + new SimpleDateFormat("yyMMddHHmmssSSS").format(date1); - tjFlowingWater.setWaterId(PinyinUtil.getFirstLetter(tjCustomer.getCusName(), "") + s1); - if (null != mallOrder) { - if (mallOrder.getOrderStatus().equals(201L)) { - tjFlowingWater.setCopeWith(mallOrder.getActualPrice()); - tjFlowingWater.setPaidIn(mallOrder.getActualPrice()); - tjFlowingWater.setDiscount(String.valueOf(1)); - tjFlowingWater.setPayStasus(1L); - tjFlowingWater.setPayType(3L); - MallCheckLog checkLog = new MallCheckLog(); - checkLog.setCheckBy(sysUser.getNickName()); - checkLog.setUserId(mallOrder.getUserId()); - checkLog.setConsignee(mallOrder.getConsignee()); - checkLog.setIdCard(mallOrder.getIdCard()); - checkLog.setOrderId(String.valueOf(mallOrder.getId())); - checkLog.setOrderSn(mallOrder.getOrderSn()); - checkLog.setCheckTime(new Date()); - checkLog.setShipSn("HX" + s1); - mallCheckLogService.save(checkLog); - mallOrder.setOrderStatus(301L); - mallOrderService.updateById(mallOrder); + tjFlowingWater.setWaterId(PinyinUtil.getFirstLetter(tjCustomer.getCusName(), "").toUpperCase() + s1); + if(isPay.equals("true")){ + if (null != mallOrder) { + if (mallOrder.getOrderStatus().equals(201L)) { + tjFlowingWater.setCopeWith(mallOrder.getActualPrice()); + tjFlowingWater.setPaidIn(mallOrder.getActualPrice()); + tjFlowingWater.setDiscount(String.valueOf(1)); + tjFlowingWater.setPayStasus(1L); + tjFlowingWater.setPayType(3L); + MallCheckLog checkLog = new MallCheckLog(); + checkLog.setCheckBy(sysUser.getNickName()); + checkLog.setUserId(mallOrder.getUserId()); + checkLog.setConsignee(mallOrder.getConsignee()); + checkLog.setIdCard(mallOrder.getIdCard()); + checkLog.setOrderId(String.valueOf(mallOrder.getId())); + checkLog.setOrderSn(mallOrder.getOrderSn()); + checkLog.setCheckTime(new Date()); + checkLog.setShipSn("HX" + s1); + mallCheckLogService.save(checkLog); + mallOrder.setOrderStatus(301L); + mallOrderService.updateById(mallOrder); + } + } else { + tjFlowingWater.setCopeWith(tjOrder.getTjFlowingWater().getCopeWith()); + tjFlowingWater.setPaidIn(tjOrder.getTjFlowingWater().getPaidIn()); + tjFlowingWater.setDiscount(tjOrder.getTjFlowingWater().getDiscount()); +// tjFlowingWater.setPayStasus(0L); } - } else { - tjFlowingWater.setCopeWith(tjOrder.getTjFlowingWater().getCopeWith()); - tjFlowingWater.setPaidIn(tjOrder.getTjFlowingWater().getPaidIn()); - tjFlowingWater.setDiscount(tjOrder.getTjFlowingWater().getDiscount()); - tjFlowingWater.setPayStasus(0L); } if (tjFlowingWaterService.save(tjFlowingWater)) { tjOrder.setTjSerialNumber(String.valueOf(tjFlowingWater.getTjSerialNumber())); @@ -914,9 +954,34 @@ //涓汉 if ("2".equals(tjOrder.getTjType())) { -// asyncService.newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); + //asyncService.newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); } + + //璋冪敤SQL server鎷垮彇鏀惰垂鎯呭喌 + //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12 +// final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData"); +// if ("Y".equals(getInfoFromSqlData)){ +// List<LtkjMiddleHead> one = testMapper.saveMiddleHeadByPatId(tjCustomer.getCusIdcard()); +// if (one!=null){ +// for (LtkjMiddleHead ltkjMiddleHead : one) { +// DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); +// headService.save(ltkjMiddleHead); +// DynamicDataSourceContextHolder.clearDataSourceType(); +// List<LtkjMiddleDetail> detailList = testMapper.getMiddleDetailByHeadId(ltkjMiddleHead.getFeadId()); +// if (detailList!=null){ +// for (LtkjMiddleDetail ltkjMiddleDetail : detailList) { +// DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); +// middleDetailService.save(ltkjMiddleDetail); +// DynamicDataSourceContextHolder.clearDataSourceType(); +// } +// } +// } +// +// } +// } + tjCustomer.setCardId("0"); + tjCustomerService.updateById(tjCustomer); return AjaxResult.success(tjNumber); } return AjaxResult.error(); @@ -979,28 +1044,33 @@ if (null != proIds1 && !proIds1.equals("")) { proIds = JSON.parseArray(proIds1.toString(), Long.class); } + TjCustomer tjCustomer = tjCustomerService.getTjCustomerByCusIdCard(cusId); + String cardId ="0"; + if(null !=tjCustomer){ + cardId = tjCustomer.getCardId(); + } if ((null == proIds || proIds.size() == 0) && (null == packId || packId.equals(""))) { transitionService.deletedTbTransitionByCusId(cusId); if (redisCache.hasKey(cusId)) redisCache.deleteObject(cusId); - if (redisCache.hasKey(cusId + "cusId")) redisCache.deleteCacheMapValue(cusId + "cusId", cusId); + if (redisCache.hasKey(cardId+cusId + "cusId")) redisCache.deleteCacheMapValue(cardId+cusId + "cusId", cardId+cusId); } List<TbTransition> tbTransitionList = null; - if (!redisCache.hasKey(cusId)) { + if (!redisCache.hasKey(cardId+cusId)) { tbTransitionList = new ArrayList<>(); } else { - tbTransitionList = redisCache.getCacheList(cusId); + tbTransitionList = redisCache.getCacheList(cardId+cusId); } //濂楅 if (null != packId && !packId.equals("")) { Long pacId = Long.valueOf(packId.toString()); List<TbTransition> list = transitionService.getTbTransitionListByCusIdAndPac(cusId, String.valueOf(pacId)); if (null == list || list.size() == 0) { - transitionService.deletedTbTransitionListByCusIdAndPac(cusId); - if (redisCache.hasKey(cusId + "cusId")) redisCache.deleteCacheMapValue(cusId + "cusId", cusId); - if (redisCache.hasKey(cusId)) { + transitionService.deletedTbTransitionListByCusIdAndPac(cusId,cardId); + if (redisCache.hasKey(cardId+cusId + "cusId")) redisCache.deleteCacheMapValue(cardId+cusId + "cusId", cardId+cusId); + if (redisCache.hasKey(cardId+cusId)) { tbTransitionList = new ArrayList<>(); - redisCache.deleteObject(cusId); + redisCache.deleteObject(cardId+cusId); } List<TjPackageProject> ppList = tjPackageProjectService.getTjPackageProjectListByPacId(String.valueOf(pacId)); if (null != ppList && ppList.size() > 0) { @@ -1090,13 +1160,13 @@ } } if (null != tbTransitionList && tbTransitionList.size() > 0) { - if (redisCache.hasKey(cusId)) { - redisCache.deleteObject(cusId); - redisCache.setCacheList(cusId, tbTransitionList); - redisCache.setCacheMapValue(cusId + "cusId", cusId, getMaps(cusId)); + if (redisCache.hasKey(cardId+cusId)) { + redisCache.deleteObject(cardId+cusId); + redisCache.setCacheList(cardId+cusId, tbTransitionList); + redisCache.setCacheMapValue(cardId+cusId + "cusId", cardId+cusId, getMaps(cusId,cardId)); } else { - redisCache.setCacheList(cusId, tbTransitionList); - redisCache.setCacheMapValue(cusId + "cusId", cusId, getMaps(cusId)); + redisCache.setCacheList(cardId+cusId, tbTransitionList); + redisCache.setCacheMapValue(cardId+cusId + "cusId", cardId+cusId, getMaps(cusId,cardId)); } } return AjaxResult.success(); @@ -1110,7 +1180,12 @@ List<Map<String, Object>> list = redisCache.getCacheMapValue(cusId + "cusId", cusId); return AjaxResult.success(list); } - List<Map<String, Object>> list = getMaps(cusId); + TjCustomer tjCustomer = tjCustomerService.getTjCustomerByCusIdCard(cusId); + String cardId ="0"; + if(null !=tjCustomer){ + cardId = tjCustomer.getCardId(); + } + List<Map<String, Object>> list = getMaps(cusId,cardId); return AjaxResult.success(list); } @@ -1243,6 +1318,9 @@ for (TjOrderRemark remark : remarkList) { TjProject project = projectService.getTjProjectById(String.valueOf(remark.getProId())); if (null != project) { + if ("N".equals(project.getNeedReport())){ + continue; + } remark.setProCheckType(project.getProCheckType()); remark.setProName(project.getProName()); } @@ -1344,13 +1422,13 @@ } - private List<Map<String, Object>> getMaps(String cusId) { + private List<Map<String, Object>> getMaps(String cusId,String cardId) { List<TbTransition> transitionList = null; - if (redisCache.hasKey(cusId)) { - transitionList = redisCache.getCacheList(cusId); + if (redisCache.hasKey(cardId+cusId)) { + transitionList = redisCache.getCacheList(cardId+cusId); } else { - transitionList = transitionService.getTbTransitionListByCusId(cusId); + transitionList = transitionService.getTbTransitionListByCusId(cusId,cardId); } if (null == transitionList) return null; Map<Long, List<TbTransition>> collect = transitionList.stream().collect(Collectors.groupingBy(TbTransition::getParentProId)); @@ -1607,11 +1685,10 @@ } public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) { - long l = System.currentTimeMillis(); tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId())); tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId())); - //淇敼姣忛」鐨勫師浠风幇浠� - transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), discount); + //淇敼姣忛」鐨勫師浠风幇浠� //淇敼涓存椂琛ㄤ綋妫�鍙� + transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), discount,tjOrder.getTjNumber()); //娣诲姞remark琛ㄦ暟鎹� remarkService.saveTjOrderRemarkByOrderId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId())); //鍒ゆ柇鏄惁浜ら挶 @@ -1621,11 +1698,11 @@ sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); } } - if (tjFlowingWater.getPayStasus() == 1) { + if (tjFlowingWater.getPayStasus() == 1L) { tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); } - System.out.println("杩欐浠g爜鏃堕棿" + (System.currentTimeMillis() - l)); +// System.out.println("杩欐浠g爜鏃堕棿" + (System.currentTimeMillis() - l)); } @@ -1674,8 +1751,54 @@ TjCustomer tjCustomer = tjCustomerService.getTjCustomerByCusIdCard(cusIdCard); if(null !=tjCustomer){ TjOrder order= tjOrderService.getLastTjOrderListByCusId(tjCustomer.getCusId()); - - return AjaxResult.success(order); + if(null !=order){ + List<Map<String, Object>> list = new ArrayList<>(); + if(order.getPacId().equals("o")){ + List<Long> longList = remarkService.getTjProIdsByTjNum(order.getTjNumber()); + for (Long aLong : longList) { + Map<String, Object> map = new HashMap<>(); + map.put("pacName", "鍗曢」"); + map.put("proId",aLong); + map.put("pacId",null); + map.put("parentName", projectService.getById(aLong).getProName()); + map.put("list",projectService.getTjProjectListBySoneId(String.valueOf(aLong))); + BigDecimal proPrice = projectService.getById(aLong).getProPrice(); + map.put("ordPrice", proPrice); + map.put("nowPrice", proPrice); + list.add(map); + } + } + if(!order.getPacId().equals("o")){ + List<Long> longList = remarkService.getTjProIdsByTjNumAndPacIc(order.getTjNumber(),order.getPacId()); + TjPackage aPackage = tjPackageService.getById(order.getPacId()); + for (Long aLong : longList) { + Map<String, Object> map = new HashMap<>(); + map.put("pacName",aPackage.getPacName()); + map.put("pacId",String.valueOf(aPackage.getPacId())); + map.put("parentName", projectService.getById(aLong).getProName()); + map.put("list",projectService.getTjProjectListBySoneId(String.valueOf(aLong))); + BigDecimal proPrice = projectService.getById(aLong).getProPrice(); + map.put("ordPrice", proPrice); + map.put("nowPrice",tjPackageProjectService.getPacProPriceByPacIdAndPro(aLong,order.getPacId())); + list.add(map); + } + + List<Long> longList1 = remarkService.getTjProIdsByTjNumAndPacIc(order.getTjNumber(),order.getPacId()); + for (Long aLong : longList1) { + Map<String, Object> map = new HashMap<>(); + map.put("pacName", "鍗曢」"); + map.put("proId",aLong); + map.put("pacId",null); + map.put("parentName", projectService.getById(aLong).getProName()); + map.put("list",projectService.getTjProjectListBySoneId(String.valueOf(aLong))); + BigDecimal proPrice = projectService.getById(aLong).getProPrice(); + map.put("ordPrice", proPrice); + map.put("nowPrice", proPrice); + list.add(map); + } + } + return AjaxResult.success(list); + } } return AjaxResult.success("鏆傛棤鍘嗗彶璁板綍"); } -- Gitblit v1.8.0