From e54ecd3c3cdf57c25d7dad004173ee46364fceec Mon Sep 17 00:00:00 2001 From: zjh <zjh@888> Date: 星期四, 20 六月 2024 22:14:59 +0800 Subject: [PATCH] zjh 本地 2024/06/20 --2 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java | 174 +++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 149 insertions(+), 25 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 67d8256..eacdf66 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 @@ -4,7 +4,9 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.text.SimpleDateFormat; +import java.time.LocalDate; import java.time.LocalDateTime; +import java.time.LocalTime; import java.time.OffsetTime; import java.time.format.DateTimeFormatter; import java.util.*; @@ -59,6 +61,7 @@ import com.ltkj.system.service.ISysConfigService; import com.ltkj.system.service.ISysDeptService; import com.ltkj.system.service.ISysUserService; +import com.ltkj.web.controller.his.HisApiGetMethodService; import com.ltkj.web.controller.his.HisApiMethod; import com.ltkj.web.controller.his.HisMzJysqController; import io.swagger.annotations.Api; @@ -72,6 +75,7 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.util.DigestUtils; import org.springframework.web.bind.annotation.*; import com.ltkj.common.annotation.Log; @@ -177,6 +181,8 @@ @Autowired private HisMzJysqController hisMzJysqController; + @Autowired + private HisApiGetMethodService hisApiGetMethodService; /** @@ -839,20 +845,22 @@ LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); wq.eq(TjCustomer::getCusId, tjOrder.getUserId()); TjCustomer tjCustomer = tjCustomerService.getOne(wq); - if (tjCustomer == null) return AjaxResult.error("璇ュ鎴锋湭鐧昏鎴栦笉瀛樺湪"); + 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()); - } +// 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()); + transitionService.deletedTbTransitionListByCusIdAndTjNum(tjCustomer.getCusIdcard(),tjCustomer.getCardId()); return AjaxResult.error("涓嶅彲閲嶅鐧昏"); } + + LambdaQueryWrapper<TjReservation> wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjReservation::getIdCard, tjCustomer.getCusIdcard()); wq1.eq(TjReservation::getIsExpire, 2); @@ -1027,11 +1035,18 @@ /*璋冪敤his鎺ュ彛*/ String config = configService.selectConfigByKey("sfkqdyhis"); if(null !=config && config.equals("Y")){ - hisApiMethod.HisApiMethods(tjCustomer,tjOrder.getOrderId()); - } - tjCustomer.setCardId("0"); + AjaxResult result = hisApiMethod.HisApiMethods(tjCustomer, tjOrder.getOrderId()); + if(!result.get("code").toString().equals("200")){ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("鎸傚彿澶辫触!"+result.get("msg").toString()); + } + }else { + tjCustomer.setCardId(tjOrder.getTjNumber()); tjCustomerService.updateById(tjCustomer); - + transitionService.updateCardIdByTjNumAndIdCard(tjCustomer.getCusIdcard(),tjOrder.getTjNumber(),tjOrder.getTjNumber()); + tjOrder.setCardId(tjOrder.getTjNumber()); + tjOrderService.updateById(tjOrder); + } return AjaxResult.success(tjNumber); } return AjaxResult.error(); @@ -1617,14 +1632,16 @@ if (null != tbTransitionList && tbTransitionList.size() > 0) { - 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(cardId + cusId, tbTransitionList); - redisCache.setCacheMapValue(cardId + cusId + "cusId", cardId + cusId, getMaps(cusId, cardId)); - } +// 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(cardId + cusId, tbTransitionList); +// redisCache.setCacheMapValue(cardId + cusId + "cusId", cardId + cusId, getMaps(cusId, cardId)); +// } + List<Map<String, Object>> map1 = getMap(cusId, cardId, tbTransitionList); + return AjaxResult.success(map1); } return AjaxResult.success(); } @@ -1678,7 +1695,7 @@ for (TjOrder order : list) { TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId()); if (null != tjCustomer) { - order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); + order.setTjCustomerName(tjCustomer.getCusName()); order.setTjCustomerSex(tjCustomer.getCusSex()); order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); @@ -1732,7 +1749,7 @@ for (TjOrder order : list) { TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId()); if (null != tjCustomer) { - order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); + order.setTjCustomerName(tjCustomer.getCusName()); order.setTjCustomerSex(tjCustomer.getCusSex()); order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); @@ -1794,6 +1811,7 @@ */ @PostMapping("/tjGoOut") @ApiOperation(value = "浣撴绛剧") + @Transactional public AjaxResult tjGoOut(@RequestBody Map<String, Object> map) { Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId()); SysUser sysUser = userService.getById(userId); @@ -1801,6 +1819,7 @@ String jsonString = com.alibaba.fastjson.JSON.toJSONString(domainVos1); List<QjDomainVo> domainVos = com.alibaba.fastjson.JSON.parseArray(jsonString, QjDomainVo.class); String tjNumber = map.get("tjNumber").toString(); + TjOrder tjOrder = tjOrderService.getOrderByTjNum(tjNumber); if (null != domainVos && domainVos.size() > 0) { Set<String> list = new HashSet<>(); for (QjDomainVo domainVo : domainVos) { @@ -1814,7 +1833,6 @@ if (domainVo.getType() == 3) { list.add(String.valueOf(domainVo.getTjNumber())); } else { - TjOrder tjOrder = tjOrderService.getOrderByTjNum(remark.getTjNumber()); if (null != tjOrder) { tjOrder.setFinishTime(new Date()); tjOrder.setStatus(TjConstants.TJ_CONFIRM); @@ -1824,6 +1842,11 @@ } } asyncService.tjGoutAsync(domainVos, sysUser, list); + + TjCustomer customer = tjCustomerService.selectTjCustomerByCusId(tjOrder.getUserId()); + customer.setCardId("0"); + tjCustomerService.updateById(customer); + return AjaxResult.success("绛剧鎴愬姛锛�"); } else { return getAjaxResult(tjNumber); @@ -1836,6 +1859,7 @@ */ @GetMapping("/goOut") @ApiOperation(value = "绛剧") + @Transactional public AjaxResult goOut(@RequestParam @ApiParam(value = "浣撴鍙�") String tjNumber) { return getAjaxResult(tjNumber); } @@ -1894,6 +1918,57 @@ for (Map.Entry<Long, List<TbTransition>> entry : collect.entrySet()) { Map<String, Object> map = new HashMap<>(); Long pacId = entry.getValue().get(0).getPacId(); + map.put("proPrantId",entry.getKey().toString()); + if (null != pacId) { + TjPackage aPackage = tjPackageService.getById(entry.getValue().get(0).getPacId()); + map.put("pacName", aPackage.getPacName()); + TjProject tjProject = projectService.getById(entry.getKey()); +// TjPackageProject project = tjPackageProjectService.getOne(new LambdaQueryWrapper<TjPackageProject>().eq(TjPackageProject::getPacId, pacId) +// .eq(TjPackageProject::getProId, entry.getKey())); + map.put("ordPrice", tjProject.getProPrice()); +// if (null != project) { +// map.put("nowPrice", project.getPriceNow()); +// } else { +// map.put("nowPrice", tjProject.getProPrice()); +// } + map.put("nowPrice", transitionService.getTbTransitionDxPriceByPac(cusId, entry.getKey(), cardId, pacId)); + } else { + map.put("pacName", "鍗曢」"); + List<TbTransition> tbTransitionList = entry.getValue(); + if (null != tbTransitionList && tbTransitionList.size() > 0) { + BigDecimal money1 = new BigDecimal("0.00"); + BigDecimal money2 = new BigDecimal("0.00"); + for (TbTransition tbTransition : tbTransitionList) { + money1 = money1.add(tbTransition.getOrdPrice()); + money2 = money2.add(tbTransition.getNowPrice()); + } + map.put("ordPrice", money1); + map.put("nowPrice", money2); + } + } + map.put("parentName", projectService.getById(entry.getKey()).getProName()); + map.put("list", entry.getValue()); + list.add(map); + } + return list; + } + + + private List<Map<String, Object>> getMap(String cusId, String cardId,List<TbTransition> transitionList) { + +// List<TbTransition> transitionList = null; +// if (redisCache.hasKey(cardId + cusId)) { +// transitionList = redisCache.getCacheList(cardId + cusId); +// } else { +// transitionList = transitionService.getTbTransitionListByCusId(cusId, cardId); +// } + if (null == transitionList) return null; + Map<Long, List<TbTransition>> collect = transitionList.stream().collect(Collectors.groupingBy(TbTransition::getParentProId)); + List<Map<String, Object>> list = new ArrayList<>(); + for (Map.Entry<Long, List<TbTransition>> entry : collect.entrySet()) { + Map<String, Object> map = new HashMap<>(); + Long pacId = entry.getValue().get(0).getPacId(); + map.put("proPrantId",entry.getKey().toString()); if (null != pacId) { TjPackage aPackage = tjPackageService.getById(entry.getValue().get(0).getPacId()); map.put("pacName", aPackage.getPacName()); @@ -1932,13 +2007,17 @@ LambdaQueryWrapper<TjOrder> wq0 = new LambdaQueryWrapper<>(); wq0.eq(TjOrder::getTjNumber, tjNumber); TjOrder tjOrder = tjOrderService.getOne(wq0); + if (null != tjOrder) { + TjCustomer customer = tjCustomerService.selectTjCustomerByCusId(tjOrder.getUserId()); + customer.setCardId("0"); + tjCustomerService.updateById(customer); + LambdaQueryWrapper<TjOrderDetail> wq11 = new LambdaQueryWrapper<>(); wq11.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId()); wq11.eq(TjOrderDetail::getTjStatus, 0); wq11.isNotNull(TjOrderDetail::getFlowingWaterId); List<TjOrderDetail> list = tjOrderDetailService.list(wq11); - if (list != null) { Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId()); SysUser sysUser = userService.getById(userId); @@ -2307,16 +2386,48 @@ TjOrder order = tjOrderService.getOrderByTjNum(tjNum); if (null != order) { - String payByTjNum = tjOrderService.isPayByTjNum(String.valueOf(order.getOrderId())); - if (null != payByTjNum) { - return AjaxResult.success("璇ョ敤鎴峰凡鏀惰垂涓嶅彲鎾ら攢绛惧埌!"); - } +// String payByTjNum = tjOrderService.isPayByTjNum(String.valueOf(order.getOrderId())); +// if (null != payByTjNum) { +// return AjaxResult.error("璇ョ敤鎴峰凡鏀惰垂涓嶅彲鎾ら攢绛惧埌!"); +// } tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); remarkService.deletedOrderRemarkByTjNum(tjNum); tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId())); transitionService.deletedTbTransitionByTjNum(tjNum); transitionService.updateTbTransitionByTjNum(tjNum); + TjCustomer customer = tjCustomerService.getById(order.getUserId()); + if(null !=customer){ + customer.setCardId("0"); + tjCustomerService.updateById(customer); + } + String configByKey = configService.selectConfigByKey("sfkqdyhis"); + if (configByKey.equals("Y")){ + HashMap<String, Object> map = new HashMap<>(); + map.put("cardtype","4"); + map.put("input",order.getCardId()); + LocalDate currentDate = LocalDate.now(); + LocalDateTime startOfDay = currentDate.atStartOfDay(); + LocalDateTime nineteenOClock = currentDate.atTime(LocalTime.of(19, 0)); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + String ksrq = startOfDay.format(formatter); + String jsrq = nineteenOClock.format(formatter); + map.put("ksrq",ksrq); + map.put("jsrq",jsrq); + AjaxResult result = hisApiGetMethodService.getHISDataNew("Getoutpatientcostinfo", map); + if (Integer.parseInt(String.valueOf(result.get("code"))) == 200){ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("鎾ら攢澶辫触,闂ㄨ瘖鎮h�呰垂鐢ㄦ竻鍗曚俊鎭笉涓虹┖"); + }else { + boolean zfHisApiMethods = hisApiMethod.ZfHisApiMethods(null, order); + if (zfHisApiMethods) { + return AjaxResult.success("鎾ら攢鎴愬姛", map); + }else { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("鎾ら攢澶辫触,璋冪敤浣滃簾鍑虹幇澶辫触"); + } + } + } return AjaxResult.success("鎾ら攢鎴愬姛!!!"); } return AjaxResult.success("绛惧埌璁板綍涓嶅瓨鍦�!"); @@ -2434,5 +2545,18 @@ return AjaxResult.error(e.getMessage()); } } + + + @GetMapping("/delTbBycusCardIdAndProId") + @ApiOperation(value = "鏍规嵁瀹㈡埛韬唤璇佸彿鍜岄」鐩埗椤筰d鍒犻櫎涓存椂琛ㄦ暟鎹�") + @Transactional + public AjaxResult delTbBycusCardIdAndProId(@RequestParam @ApiParam(value = "韬唤璇佸彿") String cusCardId, + @RequestParam @ApiParam(value = "鐖堕」id") String proId) { + + if (transitionService.delTbBycusCardIdAndProId(cusCardId,proId)) { + return AjaxResult.success(); + } + return AjaxResult.error("璁板綍涓嶅瓨鍦�!"); + } } -- Gitblit v1.8.0