From 2a9583fd376451ca77a0400af7f3a02d1b80e7f5 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期二, 24 六月 2025 18:04:34 +0800
Subject: [PATCH] 2025-06-24

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java |  179 ++++++++++++++++++++++++++++-------------------------------
 1 files changed, 85 insertions(+), 94 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 2beedbf..b5915c4 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
@@ -1,6 +1,5 @@
 package com.ltkj.web.controller.service;
 
-import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.IdUtil;
@@ -8,19 +7,17 @@
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
-import com.alibaba.druid.sql.visitor.functions.If;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ltkj.common.core.domain.AjaxResult;
 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.utils.IdUtils;
 import com.ltkj.common.utils.StringUtils;
 import com.ltkj.framework.config.MatchUtils;
-import com.ltkj.framework.datasource.DynamicDataSourceContextHolder;
 import com.ltkj.hosp.domain.*;
 import com.ltkj.hosp.hisDto.*;
+import com.ltkj.hosp.idutil.IdUtils;
 import com.ltkj.hosp.mapper.TjSamplingMapper;
 import com.ltkj.hosp.pacsDto.SavePacsApply;
 import com.ltkj.hosp.service.*;
@@ -38,10 +35,8 @@
 import com.ltkj.web.controller.lis.LisApiMethod;
 import com.ltkj.web.controller.pacs.PacsApiMethodService;
 import com.ltkj.web.controller.system.SamplingServiceApi;
-import jodd.util.StringUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -49,8 +44,6 @@
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.util.*;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -601,6 +594,7 @@
                 } else {
                     deptname = dept.getDeptName();
                 }
+                String xb= tjCustomerService.getSexByTjh(order.getTjNumber());
 
                 StringBuilder ssyszys = new StringBuilder();
                 StringBuilder ssyszyjgs = new StringBuilder();
@@ -618,100 +612,97 @@
                         LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
                         wq.eq(TjOrderYcxm::getTjh, order.getTjNumber());
                         wq.eq(TjOrderYcxm::getJcxm, detail.getProName());
+                        ycxmService.remove(wq);
                         if (detail.getExceptionDesc() == 1) {
+                          if(tjProject.getSfcyyc()==0){
+                              String replacedAll = detail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "")
+                                      .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "").replaceAll("鈼�", "");
 
-                                if(!detail.getProName().contains("鑸掑紶鍘�") && !detail.getProName().contains("鏀剁缉鍘�")){
-                                    List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(detail.getProId().toString()
-                                            , detail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "")
-                                                    .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", ""), "", order.getTjNumber()
-                                            , detail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "")
-                                                    .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "")
-                                            , detail.getProResult());
+                              if(!detail.getProName().contains("鑸掑紶鍘�") && !detail.getProName().contains("鏀剁缉鍘�")){
+
+                                  List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(detail.getProId().toString(), replacedAll, "", order.getTjNumber()
+                                          , replacedAll, detail.getProResult());
 
 
-                                    String[] split = detail.getProResult().split("銆倈,|锛�");
-                                    List<Map<String, Object>> mapList = new ArrayList<>();
-                                    for (String s : split) {
-                                        s = s.replaceAll("\n", "");
-                                        //                                        Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s);
-                                        Map<String, Object> mapss = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname, s, "0");
-                                        if (null != mapss && !mapss.isEmpty()) {
-                                            Object bt = mapss.get("bt");
-                                            Object nr = mapss.get("nr");
-                                            if (null != bt || null != nr) {
+                                  String[] split = detail.getProResult().split("[銆�,锛�:锛�.\\s]+");
+                                  List<Map<String, Object>> mapList = new ArrayList<>();
+                                  for (String s : split) {
+                                      s = s.replaceAll("\n", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "").replaceAll(" ","")
+                                              .replaceAll("鐥�","").replaceAll("[0-9]", "");
+                                      Map<String, Object> mapss = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname, s, "0",xb);
+                                      if (null != mapss && !mapss.isEmpty()) {
+                                          Object bt = mapss.get("bt");
+                                          Object nr = mapss.get("nr");
+                                          if (null != bt || null != nr) {
 
-                                            }
-                                            mapList.add(mapss);
-                                        }
-                                    }
-                                TjOrderYcxm ycxm = ycxmService.getOne(wq);
-                                if (null != ycxm) {
-                                    ycxm.setJcjg(detail.getProResult());
-                                    if (null != maps && !maps.isEmpty()) {
-                                        ycxm.setJynr(JSONUtil.toJsonStr(maps));
-                                    }
-                                    if (!mapList.isEmpty()) {
-                                        ycxm.setJynr(JSONUtil.toJsonStr(mapList));
-                                    }
-                                    ycxmService.updateById(ycxm);
-                                }else {
-                                    TjOrderYcxm orderYcxm =new TjOrderYcxm();
-                                    orderYcxm.setTjh(order.getTjNumber());
-                                    orderYcxm.setParentName(tjProject.getProName());
-                                    orderYcxm.setJcxm(detail.getProName());
-                                    orderYcxm.setJcjg(detail.getProResult());
-                                    if (null != maps && !maps.isEmpty()) {
-                                        orderYcxm.setJynr(JSONUtil.toJsonStr(maps));
-                                    }
-                                    if (!mapList.isEmpty()) {
-                                        orderYcxm.setJynr(JSONUtil.toJsonStr(mapList));
-                                    }
-                                    orderYcxm.setJyjc("0");
-                                    ycxmService.save(orderYcxm);
-                                }
-                            }else {
+                                          }
+                                          mapList.add(mapss);
+                                      }
+                                  }
+                                  TjOrderYcxm ycxm = ycxmService.getOne(wq);
+                                  if (null != ycxm) {
+                                      ycxm.setJcjg(detail.getProResult());
+                                      if (null != maps && !maps.isEmpty()) {
+                                          ycxm.setJynr(JSONUtil.toJsonStr(maps));
+                                      }
+                                      if (!mapList.isEmpty()) {
+                                          ycxm.setJynr(JSONUtil.toJsonStr(mapList));
+                                      }
+                                      ycxmService.updateById(ycxm);
+                                  }else {
+                                      TjOrderYcxm orderYcxm =new TjOrderYcxm();
+                                      orderYcxm.setTjh(order.getTjNumber());
+                                      orderYcxm.setParentName(tjProject.getProName());
+                                      orderYcxm.setJcxm(detail.getProName());
+                                      orderYcxm.setJcjg(detail.getProResult());
+                                      if (null != maps && !maps.isEmpty()) {
+                                          orderYcxm.setJynr(JSONUtil.toJsonStr(maps));
+                                      }
+                                      if (!mapList.isEmpty()) {
+                                          orderYcxm.setJynr(JSONUtil.toJsonStr(mapList));
+                                      }
+                                      orderYcxm.setJyjc("0");
+                                      ycxmService.save(orderYcxm);
+                                  }
+                              }else {
 
-                                    List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(detail.getProId().toString()
-                                            , detail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "")
-                                                    .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", ""), "", order.getTjNumber()
-                                            , detail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "")
-                                                    .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "")
-                                            , detail.getProResult());
+                                  List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(detail.getProId().toString()
+                                          , replacedAll, "", order.getTjNumber(), replacedAll, detail.getProResult());
 
 
-                                    String[] split = detail.getProResult().split("銆倈,|锛�");
-                                    List<Map<String, Object>> mapList = new ArrayList<>();
-                                    for (String s : split) {
-                                        s = s.replaceAll("\n", "");
-                                        //                                        Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s);
-                                        Map<String, Object> mapss = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname, s, "0");
-                                        if (null != mapss && !mapss.isEmpty()) {
-                                            Object bt = mapss.get("bt");
-                                            Object nr = mapss.get("nr");
-                                            if (null != bt || null != nr) {
+                                  String[] split = detail.getProResult().split("[銆�,锛�:锛�.\\s]+");
+                                  List<Map<String, Object>> mapList = new ArrayList<>();
+                                  for (String s : split) {
+                                      s = s.replaceAll("\n", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "");;
+                                      //                                        Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s);
+                                      Map<String, Object> mapss = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname, s, "0",xb);
+                                      if (null != mapss && !mapss.isEmpty()) {
+                                          Object bt = mapss.get("bt");
+                                          Object nr = mapss.get("nr");
+                                          if (null != bt || null != nr) {
 
-                                            }
-                                            mapList.add(mapss);
-                                        }
-                                    }
+                                          }
+                                          mapList.add(mapss);
+                                      }
+                                  }
 
-                                    if (null != maps && !maps.isEmpty()) {
-                                        jianyilis.addAll(maps);
-                                    }
-                                    if (!mapList.isEmpty()) {
-                                        jianyilis.addAll(mapList);
-                                    }
-                                        ssyszys.append(detail.getProName()).append("/");
-                                        ssyszyjgs.append(detail.getProResult()).append("/");
-
-                                }
-                        }else {
+                                  if (null != maps && !maps.isEmpty()) {
+                                      jianyilis.addAll(maps);
+                                  }
+                                  if (!mapList.isEmpty()) {
+                                      jianyilis.addAll(mapList);
+                                  }
+                                  ssyszys.append(detail.getProName()).append("/");
+                                  ssyszyjgs.append(detail.getProResult()).append("/");
+                              }
+                          }
+                        } else {
                             if(detail.getProName().contains("鑸掑紶鍘�") || detail.getProName().contains("鏀剁缉鍘�")){
                                 ssyszys.append(detail.getProName()).append("/");
                                 ssyszyjgs.append(detail.getProResult()).append("/");
 
                             }
-                           ycxmService.remove(wq);
+
                         }
                 }
 
@@ -2485,7 +2476,7 @@
             wq2.eq(TjSampling::getTjNum, tjNum);
             wq2.eq(TjSampling::getProId, refundPro.getProId());
             samplingService.remove(wq2);
-            redisCache.deleteCacheMapValue("getOrderDetailByProParentId" + tjNum, String.valueOf(refundPro.getProId()));
+            redisCache.deleteCacheMapValue("getOrderDetailByProParentId:" + tjNum, String.valueOf(refundPro.getProId()));
         }
     }
 
@@ -2520,7 +2511,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()));
+                redisCache.deleteCacheMapValue("getOrderDetailByProParentId:" + domainVo.getTjNumber(), String.valueOf(remark.getProId()));
             }
 
             LambdaQueryWrapper<TjProject> wq1 = new LambdaQueryWrapper<>();
@@ -2736,8 +2727,8 @@
     @Override
     //@Async("async")
     public void updateCheckType(String tjNum) {
-        redisCache.setCacheMapValue("updateCheckType" + tjNum, tjNum, getAjaxResult(tjNum));
-        redisCache.setHashKeyExpireTime("updateCheckType" + tjNum, 7L, TimeUnit.DAYS);
+        redisCache.setCacheMapValue("updateCheckType:" + tjNum, tjNum, getAjaxResult(tjNum));
+        redisCache.setHashKeyExpireTime("updateCheckType:" + tjNum, 7L, TimeUnit.DAYS);
     }
 
     @Override
@@ -2760,11 +2751,11 @@
     //@Async("async")
     public void getOrderDetailByProParentId(String tjNumber, Map<String, Object> map, String proParentId) {
         if (null != map && !map.isEmpty()) {
-            redisCache.setCacheMapValue("getOrderDetailByProParentId" + tjNumber, proParentId, map);
+            redisCache.setCacheMapValue("getOrderDetailByProParentId:" + tjNumber, proParentId, map);
         } else {
-            redisCache.setCacheMapValue("getOrderDetailByProParentId" + tjNumber, proParentId, getOrderDetailByProParentId(proParentId, tjNumber));
+            redisCache.setCacheMapValue("getOrderDetailByProParentId:" + tjNumber, proParentId, getOrderDetailByProParentId(proParentId, tjNumber));
         }
-        redisCache.setHashKeyExpireTime("getOrderDetailByProParentId" + tjNumber, 7L, TimeUnit.DAYS);
+        redisCache.setHashKeyExpireTime("getOrderDetailByProParentId:" + tjNumber, 7L, TimeUnit.DAYS);
 
     }
 

--
Gitblit v1.8.0