From 0f758679a7018970c8a0b9b83e9e2f158e007a07 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期五, 20 十月 2023 16:42:28 +0800 Subject: [PATCH] zjh 2023/10/20--2 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java | 188 ++++++++++++++++++++++++++++------------------ 1 files changed, 115 insertions(+), 73 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 e28c260..58a698e 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 @@ -15,6 +15,7 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.crypto.symmetric.DES; +import cn.hutool.extra.pinyin.PinyinUtil; import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -128,11 +129,14 @@ @Resource private ITjRulesService rulesService; + @Autowired + private ITjAskMedicalHistoryService tjAskMedicalHistoryService; + /** * 鏌ヨ浣撴璁板綍鍒楄〃 */ - @PreAuthorize("@ss.hasPermi('hosp:order:list')") +// @PreAuthorize("@ss.hasPermi('hosp:order:list')") @GetMapping("/list") @ApiOperation(value = "鏌ヨ浣撴璁板綍鍒楄〃(榛樿)") public TableDataInfo list(TjOrder tjOrder) { @@ -496,7 +500,9 @@ order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); - order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); + if (tjCustomer.getCusIdcard()!=null){ + order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); + } } String firmId = order.getFirmId(); if (firmId != null && null != iDictCompService.getById(String.valueOf(order.getFirmId()))) { @@ -558,8 +564,8 @@ order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); order.setGrMoBanId(reportService.getGrMoBanIds()); order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); - order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); - order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); + if(null!=tjCustomer.getCusPhone())order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); + if(null!=tjCustomer.getCusIdcard())order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); } String firmId = order.getFirmId(); if (firmId != null && null != iDictCompService.getById(String.valueOf(order.getFirmId()))) { @@ -609,8 +615,8 @@ order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); order.setGrMoBanId(reportService.getGrMoBanIds()); order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); - order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); - order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); + if(null!=tjCustomer.getCusPhone())order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); + if(null!=tjCustomer.getCusIdcard())order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); } String firmId = order.getFirmId(); if (firmId != null && null != iDictCompService.getById(String.valueOf(order.getFirmId()))) { @@ -652,43 +658,21 @@ List<TjOrder> list = Optional.ofNullable(tjOrderService.list(wq)).get(); if (list.size() > 0) { - List<TjOrder> list1 = new ArrayList<>(); - for (TjOrder order : list) { - TjCustomer tjCustomer = tjCustomerService.selectTjCustomerByCusId(order.getUserId()); - if (null != tjCustomer) { - order.setTjCustomerSex(tjCustomer.getCusSex()); - order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); - order.setGrMoBanId(reportService.getGrMoBanIds()); - order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); - order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); - order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); + asyncService.getPrintOrderList(list); + if(redisCache.hasKey("getPrintOrderList")){ + if(null !=type && type==0){ + List<TjOrder> list1 = redisCache.getCacheMapValue("getPrintOrderList", "0"); + collect = list1.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); } - String firmId = order.getFirmId(); - if (firmId != null && null != iDictCompService.selectDictCompByDrugManufacturerId(String.valueOf(order.getFirmId()))) { - order.setDictCompName(iDictCompService.selectDictCompByDrugManufacturerId(String.valueOf(order.getFirmId())).getCnName()); + if(null !=type && type==1){ + List<TjOrder> list1 = redisCache.getCacheMapValue("getPrintOrderList","1"); + collect = list1.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); } - if (null != order.getPacId()) { - if (null != tjPackageService.getById(order.getPacId())) { - order.setPacName(tjPackageService.getById(order.getPacId()).getPacName()); - } - if (null != dwDeptService.getById(order.getPacId())) { - order.setPacName(dwDeptService.getById(order.getPacId()).getDwDeptName()); - } - } - //浠庢墦鍗拌褰曟煡鍑烘渶鏂版墦鍗版椂闂� - TjPrintOrder one = printOrderService.getTjPrintOrderByTjNum(order.getTjNumber()); - if (null != type && type == 1 && one != null) { - order.setPrintTime(one.getCreateTime()); - order.setPrintName(one.getCreateBy()); - order.setType(1); - list1.add(order); - } - if (null != type && type == 0 && one == null) { - order.setType(0); - list1.add(order); - } + }else { + List<TjOrder> list1 = new ArrayList<>(); + extracted(type, list, list1); + collect = list1.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); } - collect = list1.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); } if (null != collect) { map.put("total", collect.size()); @@ -699,11 +683,49 @@ return AjaxResult.success(map); } + private void extracted(Integer type, List<TjOrder> list, List<TjOrder> list1) { + for (TjOrder order : list) { + TjCustomer tjCustomer = tjCustomerService.selectTjCustomerByCusId(order.getUserId()); + if (null != tjCustomer) { + order.setTjCustomerSex(tjCustomer.getCusSex()); + order.setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); + order.setGrMoBanId(reportService.getGrMoBanIds()); + order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); + if(null!=tjCustomer.getCusPhone())order.setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); + if(null!=tjCustomer.getCusIdcard())order.setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); + } + String firmId = order.getFirmId(); + if (firmId != null && null != iDictCompService.selectDictCompByDrugManufacturerId(String.valueOf(order.getFirmId()))) { + order.setDictCompName(iDictCompService.selectDictCompByDrugManufacturerId(String.valueOf(order.getFirmId())).getCnName()); + } + if (null != order.getPacId()) { + if (null != tjPackageService.getById(order.getPacId())) { + order.setPacName(tjPackageService.getById(order.getPacId()).getPacName()); + } + if (null != dwDeptService.getById(order.getPacId())) { + order.setPacName(dwDeptService.getById(order.getPacId()).getDwDeptName()); + } + } + //浠庢墦鍗拌褰曟煡鍑烘渶鏂版墦鍗版椂闂� + TjPrintOrder one = printOrderService.getTjPrintOrderByTjNum(order.getTjNumber()); + if (null != type && type == 1 && one != null) { + order.setPrintTime(one.getCreateTime()); + order.setPrintName(one.getCreateBy()); + order.setType(1); + list1.add(order); + } + if (null != type && type == 0 && one == null) { + order.setType(0); + list1.add(order); + } + } + } + /** * 瀵煎嚭浣撴璁板綍鍒楄〃 */ - @PreAuthorize("@ss.hasPermi('hosp:order:export')") +// @PreAuthorize("@ss.hasPermi('hosp:order:export')") @Log(title = "浣撴璁板綍", businessType = BusinessType.EXPORT) @PostMapping("/export") @ApiOperation(value = "瀵煎嚭浣撴璁板綍鍒楄〃") @@ -717,7 +739,7 @@ /** * 鑾峰彇浣撴璁板綍璇︾粏淇℃伅 */ - @PreAuthorize("@ss.hasPermi('hosp:order:query')") +// @PreAuthorize("@ss.hasPermi('hosp:order:query')") @GetMapping(value = "/{orderId}") @ApiOperation(value = "鑾峰彇浣撴璁板綍璇︾粏淇℃伅") public AjaxResult getInfo(@PathVariable("orderId") Long orderId) { @@ -814,10 +836,8 @@ } tjFlowingWater.setOrderId(tjOrder.getOrderId()); Date date1 = new Date(System.currentTimeMillis()); - SimpleDateFormat sdf = new SimpleDateFormat("yyMMddHHmmssSSS"); - String userId1 = SecurityUtils.getUsername(); - String s1 = userId1 + sdf.format(date1); - tjFlowingWater.setWaterId(s1); + 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()); @@ -858,7 +878,9 @@ //涓汉 if ("2".equals(tjOrder.getTjType())) { - asyncService.extracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); + +// asyncService.newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); + newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); } return AjaxResult.success(tjNumber); } @@ -869,7 +891,7 @@ /** * 淇敼浣撴璁板綍 */ - @PreAuthorize("@ss.hasPermi('hosp:order:edit')") +// @PreAuthorize("@ss.hasPermi('hosp:order:edit')") @Log(title = "浣撴璁板綍", businessType = BusinessType.UPDATE) @PutMapping @ApiOperation(value = "淇敼浣撴璁板綍") @@ -880,7 +902,7 @@ /** * 鍒犻櫎浣撴璁板綍 */ - @PreAuthorize("@ss.hasPermi('hosp:order:remove')") +// @PreAuthorize("@ss.hasPermi('hosp:order:remove')") @Log(title = "浣撴璁板綍", businessType = BusinessType.DELETE) @DeleteMapping("/{orderIds}") @ApiOperation(value = "鍒犻櫎浣撴璁板綍") @@ -934,6 +956,7 @@ } else { tbTransitionList = redisCache.getCacheList(cusId); } + //濂楅 if (null != packId && !packId.equals("")) { Long pacId = Long.valueOf(packId.toString()); List<TbTransition> list = transitionService.getTbTransitionListByCusIdAndPac(cusId, String.valueOf(pacId)); @@ -947,11 +970,12 @@ List<TjPackageProject> ppList = tjPackageProjectService.getTjPackageProjectListByPacId(String.valueOf(pacId)); if (null != ppList && ppList.size() > 0) { //寮傛淇濆瓨鏁版嵁搴� - asyncService.addRedisTransitionPac(cusId, pacId, ppList); +// asyncService.addRedisTransitionPac(cusId, pacId, ppList); + asyncService.saveRedisTransitionByPacId(cusId, pacId,proIds); for (TjPackageProject tjPackageProject : ppList) { TjProject project = projectService.getTjProjectById(String.valueOf(tjPackageProject.getProId())); if (null != project) { - BigDecimal divide = tjPackageProject.getPriceNow().divide(project.getProPrice(), 5, RoundingMode.DOWN); + BigDecimal divide = tjPackageProject.getPriceNow().divide(project.getProPrice(), 5, RoundingMode.HALF_DOWN); List<TjProject> tjProSonList = projectService.getTjProjectListBySoneId(String.valueOf(project.getProId())); if (null != tjProSonList && tjProSonList.size() > 0) { //addRedisTransitionPac(cusId, tbTransitionList, pacId, tjPackageProject, project, divide, tjProSonList); @@ -959,11 +983,6 @@ TbTransition tbTransition = new TbTransition(); tbTransition.setCusId(cusId); tbTransition.setPacId(pacId); -// if (null != tjProject.getProPrice()) { -// tbTransition.setOrdPrice(tjProject.getProPrice()); -// } else { -// tbTransition.setOrdPrice(BigDecimal.valueOf(0.00)); -// } if (null != tjPackageProject.getPriceNow() && divide.compareTo(BigDecimal.valueOf(0)) > 0) { tbTransition.setNowPrice(tjProject.getProPrice().multiply(divide).setScale(2, RoundingMode.HALF_DOWN)); tbTransition.setOrdPrice(tjProject.getProPrice().multiply(divide).setScale(2, RoundingMode.HALF_DOWN)); @@ -987,8 +1006,13 @@ } } } + + //鍗曢」 if (null != proIds && proIds.size() > 0) { - asyncService.addRedisTransitionPro(cusId, proIds); + //寮傛淇濆瓨鏁版嵁搴撹〃 +// asyncService.addRedisTransitionPro(cusId, proIds); + asyncService.saveRedisTransitionByPacId(cusId,null,proIds); + for (Long proId : proIds) { List<TbTransition> transitions = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId)); if (null != transitions && transitions.size() > 0) { @@ -998,7 +1022,6 @@ if (null != project) { List<TjProject> tjProSonList = projectService.getTjProjectListBySoneId(String.valueOf(project.getProId())); if (null != tjProSonList && tjProSonList.size() > 0) { - //寮傛淇濆瓨鏁版嵁搴撹〃 for (TjProject tjProject : tjProSonList) { List<TbTransition> transitionss = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(tjProject.getProId())); if (null != transitionss && transitionss.size() > 0) { @@ -1294,9 +1317,6 @@ List<Map<String, Object>> list = new ArrayList<>(); for (Map.Entry<Long, List<TbTransition>> entry : collect.entrySet()) { Map<String, Object> map = new HashMap<>(); - LambdaQueryWrapper<TbTransition> wq = new LambdaQueryWrapper<>(); - wq.eq(TbTransition::getCusId, cusId); - wq.eq(TbTransition::getParentProId, entry.getKey()); Long pacId = entry.getValue().get(0).getPacId(); if (null != pacId) { TjPackage aPackage = tjPackageService.getById(entry.getValue().get(0).getPacId()); @@ -1313,21 +1333,20 @@ for (TbTransition tbTransition : tbTransitionList) { money1 = money1.add(tbTransition.getOrdPrice()); money2 = money2.add(tbTransition.getNowPrice()); - if (tbTransition.getOrdPrice().compareTo(BigDecimal.valueOf(0)) == 0 || tbTransition.getNowPrice().compareTo(BigDecimal.valueOf(0)) == 0) { - tbTransition.setDiscount("0"); - } else { - tbTransition.setDiscount((tbTransition.getNowPrice()).divide(tbTransition.getOrdPrice(), BigDecimal.ROUND_CEILING).toString()); - } - if (null != tbTransition.getPacId()) { - tbTransition.setPacPrice(tjPackageService.getById(tbTransition.getPacId()).getPrice()); - } - if (null != tbTransition.getParentProId()) { - tbTransition.setPacPrice(projectService.getTjProjectById(String.valueOf(tbTransition.getParentProId())).getProPrice()); - } +// if (tbTransition.getOrdPrice().compareTo(BigDecimal.valueOf(0)) == 0 || tbTransition.getNowPrice().compareTo(BigDecimal.valueOf(0)) == 0) { +// tbTransition.setDiscount("0"); +// } else { +// tbTransition.setDiscount((tbTransition.getNowPrice()).divide(tbTransition.getOrdPrice(), BigDecimal.ROUND_CEILING).toString()); +// } +// if (null != tbTransition.getPacId()) { +// tbTransition.setPacPrice(tjPackageService.getById(tbTransition.getPacId()).getPrice()); +// } +// if (null != tbTransition.getParentProId()) { +// tbTransition.setPacPrice(projectService.getTjProjectById(String.valueOf(tbTransition.getParentProId())).getProPrice()); +// } } // map.put("ordPrice", money1.setScale(Integer.parseInt(configService.selectConfigByKey("sys.price.save")), Integer.parseInt(configService.selectConfigByKey("sys.price")))); // map.put("nowPrice", money2.setScale(Integer.parseInt(configService.selectConfigByKey("sys.price.save")), Integer.parseInt(configService.selectConfigByKey("sys.price")))); - map.put("ordPrice", money1); map.put("nowPrice", money2); } @@ -1546,4 +1565,27 @@ wq.eq(TbTransition::getCusId,cusId); return AjaxResult.success(transitionService.remove(wq)); } + + 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); + //娣诲姞remark琛ㄦ暟鎹� + remarkService.saveTjOrderRemarkByOrderId(tjOrder.getTjNumber(),sysUser.getNickName(),String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId())); + //鍒ゆ柇鏄惁浜ら挶 + if ("1".equals(tjOrder.getTjType())) { + if (null != tjReservation && tjReservation.getPayType() == 1) { + tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), + sysUser.getNickName(), String.valueOf(sysUser.getUserId()),String.valueOf(tjFlowingWater.getTjSerialNumber())); + } + } + if (tjFlowingWater.getPayStasus() == 1) { + tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), + sysUser.getNickName(), String.valueOf(sysUser.getUserId()),String.valueOf(tjFlowingWater.getTjSerialNumber())); + } + System.out.println("杩欐浠g爜鏃堕棿"+(System.currentTimeMillis()-l)); + } + } -- Gitblit v1.8.0