From cdadbb79336316018fb890d0e7121ae99ea2be4f Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期四, 26 十月 2023 17:49:54 +0800 Subject: [PATCH] zjh 2023/10/26--1 --- ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java | 126 +++++++++++++++++++++++++++++++++++++---- 1 files changed, 112 insertions(+), 14 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java index f3b467c..c5e3e31 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java @@ -6,6 +6,7 @@ import com.ltkj.common.core.domain.AjaxResult; import com.ltkj.common.core.domain.entity.SysUser; import com.ltkj.common.core.redis.RedisCache; +import com.ltkj.common.utils.SecurityUtils; import com.ltkj.common.utils.StringUtils; import com.ltkj.framework.config.MatchUtils; import com.ltkj.hosp.domain.*; @@ -90,6 +91,8 @@ private ITjPrintOrderService printOrderService; @Resource private IDictSfxmService dictSfxmService; + @Autowired + private ITjRulesService tjRulesService; @Override @@ -273,6 +276,7 @@ @Async("async") public void collectFees(TjOrder order, List<TjConsumables> list2, List<TbTransition> tbTransitionList, SysUser sysUser, String discount) { orderRemarkService.deletedOrderRemarkByTjNum(order.getTjNumber()); + redisCache.deleteObject("getOrderDetailByProParentId"+order.getTjNumber()); for (TbTransition transition : tbTransitionList) { transition.setNowPrice(transition.getOrdPrice().multiply(BigDecimal.valueOf(Double.parseDouble(discount)).divide(BigDecimal.valueOf(10)))); transitionService.updateById(transition); @@ -322,6 +326,8 @@ tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId())); tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId())); orderRemarkService.save(tjOrderRemark); + Map<String, Object> map = getOrderDetailByProParentId(String.valueOf(parentProId), order.getTjNumber()); + redisCache.setCacheMapValue("getOrderDetailByProParentId"+order.getTjNumber(),String.valueOf(parentProId),map); } } } @@ -647,6 +653,7 @@ wq2.eq(TjSampling::getTjNum,tjNum); wq2.eq(TjSampling::getProId,refundPro.getProId()); samplingService.remove(wq2); + redisCache.deleteCacheMapValue("getOrderDetailByProParentId"+tjNum, String.valueOf(refundPro.getProId())); } } @@ -679,6 +686,7 @@ td.setCreateId(String.valueOf(sysUser.getUserId())); td.setUpdateId(String.valueOf(sysUser.getUserId())); discardInspectionService.save(td); + redisCache.deleteCacheMapValue("getOrderDetailByProParentId"+domainVo.getTjNumber(),String.valueOf(remark.getProId())); } LambdaQueryWrapper<TjProject>wq1=new LambdaQueryWrapper<>(); @@ -928,6 +936,17 @@ redisCache.setCacheObject("getDictSfxms",dictSfxm); } + @Override + @Async("async") + public void getOrderDetailByProParentId(String tjNumber,Map<String, Object> map,String proParentId) { + if(null !=map && !map.isEmpty()){ + redisCache.setCacheMapValue("getOrderDetailByProParentId"+tjNumber,proParentId,map); + }else { + redisCache.setCacheMapValue("getOrderDetailByProParentId"+tjNumber,proParentId,getOrderDetailByProParentId(proParentId,tjNumber)); + } + + } + private List<DictSfxm> getDictSfxm() { List<DictSfxm> dictSfxms = dictSfxmService.getYjDictSfxmList(); if (null != dictSfxms && dictSfxms.size() > 0) { @@ -1100,8 +1119,6 @@ redisCache.setCacheMapValue("getTjPackageListBySex","getTjPackageListByManAndWoMan",tjPackageList); } } - - //宸叉 public List<TjCustomer> getYjAjaxResult(List<Long> ksproList) { List<TjCustomer> customerLis = new ArrayList<>(); @@ -1165,7 +1182,6 @@ } return customerLis; } - //鏈 public List<TjCustomer> getWjAjaxResult(List<Long> ksproList) { List<TjCustomer> customerLis = new ArrayList<>(); @@ -1221,7 +1237,6 @@ } return customerLis; } - //宸插 private List<TjCustomer> getYsResult(String config) { List<TjOrder> orderList = null; @@ -1261,7 +1276,6 @@ } return customerList; } - //鏈 private List<TjCustomer> getWsResult(String config) { List<TjOrder> orderList = null; @@ -1301,7 +1315,6 @@ } return customerList; } - //鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏 private AjaxResult getAjaxResult(String tjNumber) { List<Map<String, Object>> list = new ArrayList<>(); @@ -1362,7 +1375,6 @@ } return AjaxResult.success("璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁锛�"); } - //宸茬鏀�/鏈鏀� private List<Map<String, Object>> getYWqsResult(int a) { LambdaQueryWrapper<TjSampling>wq=new LambdaQueryWrapper<>(); @@ -1400,8 +1412,6 @@ } return arrayList; } - - /** * 闅愯棌鎵嬫満鍙� * @@ -1430,7 +1440,6 @@ } return sb.toString(); } - /** * 闅愯棌韬唤璇佸彿鐮� * @@ -1462,8 +1471,6 @@ } return sb.toString(); } - - /** * 闅愯棌鐢ㄦ埛濮撳悕 * @@ -1490,8 +1497,6 @@ } return cusName; } - - //涓存椂琛ㄦ坊鍔犲崟椤� public void saveRedisTransitionByProId(String cusId, List<Long> proIds) { for (Long proId : proIds) { @@ -1502,4 +1507,97 @@ transitionService.saveRedisTransitionByProId(cusId,proId); } } + //鍚戠紦瀛樹腑娣诲姞 鐖堕」鐩殑瀛愰」鐩鎯� + private Map<String, Object> getOrderDetailByProParentId(String proParentId, String tjNumber) { + TjOrderRemark remark = orderRemarkService.getTjOrderRemarkByTjNumAndProParentId(tjNumber, proParentId); + List<TjProject> proParentList = projectService.getTjProjectListBySoneId(proParentId); + if (null == proParentList) { + return AjaxResult.error("璇ラ」鐩笅鏆傛椂娌℃暟鎹�"); + } + List<Long> proParentIdList = proParentList.stream().map(TjProject::getProId).collect(Collectors.toList()); + TjOrder one = orderService.getOrderByTjNum(tjNumber); + if (null == one) { + return AjaxResult.success("璇ョ敤鎴锋殏鏃舵病鏈変綋妫�鏁版嵁"); + } + List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.getTjOrderDetailListInProParentIdList(String.valueOf(one.getOrderId()), proParentIdList); + TjCustomer customer = tjCustomerService.getById(one.getUserId()); + if (null != tjOrderDetails && tjOrderDetails.size() > 0) { + for (TjOrderDetail tjOrderDetail : tjOrderDetails) { + TjProject project = projectService.getById(tjOrderDetail.getProId()); + List<TjRules> rulesList = tjRulesService.getTjRulesListByTjNumAndProId(tjNumber, tjOrderDetail.getProId()); + tjOrderDetail.setRulesList(rulesList); + + //鏌ユ爣鍑嗗拰鍗曚綅----start + List<TjStandard> list26 = tjStandardService.getTjStandardListByProId(String.valueOf(tjOrderDetail.getProId())); + if (list26.size() == 0) { + project.setProMetering("/"); + project.setProScope("/"); + } else if (list26.size() == 1) { + project.setProMetering(list26.get(0).getCompany() == null ? " " : list26.get(0).getCompany()); + project.setProScope((list26.get(0).getTjStandardLtValue() == null ? " " : list26.get(0).getTjStandardLtValue()) + "-" + (list26.get(0).getTjStandardGtValue() == null ? " " : list26.get(0).getTjStandardGtValue())); + } else { + Long cusSex = customer.getCusSex(); + Date cusBrithday = customer.getCusBrithday(); + int age = DateUtil.ageOfNow(cusBrithday); + for (TjStandard tjStandard : list26) { + LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>(); + if (tjStandard.getTjSex() != null) { + wq8.eq(TjStandard::getTjSex, cusSex); + } + if (tjStandard.getTjType() != null) { + wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(age)); + } + TjStandard standard = tjStandardService.getOne(wq8); + project.setProMetering(standard.getCompany()); + project.setProScope((standard.getTjStandardLtValue() == null ? " " : standard.getTjStandardLtValue()) + "-" + (standard.getTjStandardGtValue() == null ? " " : standard.getTjStandardGtValue())); + } + } + //鏌ユ爣鍑嗗拰鍗曚綅-----end + tjOrderDetail.setProject(project); + List<TjStandard> list2 = tjStandardService.getTjStandardListByProId(String.valueOf(project.getProId())); + if (list2.size() == 0) { + tjOrderDetail.setStandard(null); + } else if (list2.size() == 1) { + tjOrderDetail.setStandard(list2.get(0)); + } else { + for (TjStandard tjStandard : list2) { + LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>(); + if (tjStandard.getTjSex() != null) { + wq8.eq(TjStandard::getTjSex, customer.getCusSex()); + } + if (tjStandard.getTjType() != null) { + wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(DateUtil.ageOfNow(customer.getCusBrithday()))); + } + TjStandard standard = tjStandardService.getOne(wq8); + tjOrderDetail.setStandard(standard); + } + } + if (null != remark.getDoctorName()) { + //lg0412 + SysUser byId = userService.getById(remark.getDoctorName()); + if (byId != null) { + tjOrderDetail.setDoctorName(userService.getById(remark.getDoctorName()).getNickName()); + } + } else { + tjOrderDetail.setDoctorName(null); + } + } + } + Map<String, Object> map = new HashMap<>(); + List<TjAdvice> adviceList = new ArrayList<>(); + if (null != remark) { + String[] strings = StringUtils.split(remark.getSummary(), ";"); + if(null !=strings && strings.length>0){ + List<TjAdvice> list = tjAdviceService.getAdviceStringByIds(strings); + adviceList.addAll(list); + } + map.put("xiaoJieIds", StringUtils.split(remark.getSummary(), ";")); + } else { + map.put("xiaoJieIds", null); + } + map.put("sons", tjOrderDetails); + map.put("xiaoJie", adviceList); + map.put("remark", remark.getRemark()); + return map; + } } -- Gitblit v1.8.0