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