From b35cb9c705dae9b8fd256c93f9c57dac678f3a6e Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 20 二月 2025 15:10:01 +0800
Subject: [PATCH] zjh20250220

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java |  214 +++++++++++++++++++++++++++++++++++------------------
 1 files changed, 140 insertions(+), 74 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 74ec827..35765bb 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
@@ -38,6 +38,7 @@
 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;
@@ -587,84 +588,149 @@
     @Override
     //@Async("async")
     public void updateOrdeltile(List<TjOrderDetail> tjOrderDetailList, SysUser sysUser, TjOrder order, TjOrderRemark orderRemark) {
-        String currentDataSource = DynamicDataSourceContextHolder.getDataSourceType();
-        log.info("寮傛绾跨▼涓殑鏁版嵁婧�: {}", currentDataSource);
 
-        String deptname = "";
-        TjProject tjProject = projectService.getById(orderRemark.getProId());
-        if (null != tjProject) {
-            SysDept dept = deptService.getById(tjProject.getDeptId());
-            if (dept.getParentId() != 100L) {
-                deptname = deptService.getprentks(dept.getParentId().toString());
-            } else {
-                deptname = dept.getDeptName();
-            }
-
-            String ssyszy="";
-            for (TjOrderDetail detail : tjOrderDetailList) {
-
-                detail.setTjStatus(1L);
-                LambdaQueryWrapper<TjStandard> wq0 = new LambdaQueryWrapper<>();
-                wq0.eq(TjStandard::getProId, detail.getProId());
-                detail.setUpdateBy(sysUser.getNickName());
-                detail.setUpdateTime(new Date());
-                detail.setCreateId(String.valueOf(sysUser.getUserId()));
-                detail.setUpdateId(String.valueOf(sysUser.getUserId()));
-                tjOrderDetailService.updateById(detail);
-                try {
-                    LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
-                    wq.eq(TjOrderYcxm::getTjh, order.getTjNumber());
-                    wq.eq(TjOrderYcxm::getJcxm, detail.getProName());
-                    if (detail.getExceptionDesc() == 1) {
-                        TjOrderYcxm ycxm = ycxmService.getOne(wq);
-                        if (null != ycxm) {
-                            ycxm.setJcjg(detail.getProResult());
-                            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());
-
-
-                            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) {
-
-                                    }
-                                    mapList.add(mapss);
-                                }
-                            }
-
-                            if (null != maps && !maps.isEmpty()) {
-                                ycxm.setJynr(JSONUtil.toJsonStr(maps));
-                            }
-                            if (!mapList.isEmpty()) {
-                                ycxm.setJynr(JSONUtil.toJsonStr(mapList));
-                            }
-                            if(detail.getProName().contains("鑸掑紶鍘�")||detail.getProName().contains("鏀剁缉鍘�")){
-                                ssyszy+=ycxm.getJcxm();
-                            }
-                            ycxmService.updateById(ycxm);
-                        }
-                    }else {
-                       ycxmService.remove(wq);
-                    }
-
-
-                } catch (Exception e) {
-                    e.printStackTrace();
-                    log.error(e.getMessage());
+        try {
+            String deptname = "";
+            TjProject tjProject = projectService.getById(orderRemark.getProId());
+            if (null != tjProject) {
+                SysDept dept = deptService.getById(tjProject.getDeptId());
+                if (dept.getParentId() != 100L) {
+                    deptname = deptService.getprentks(dept.getParentId().toString());
+                } else {
+                    deptname = dept.getDeptName();
                 }
 
+                StringBuilder ssyszys = new StringBuilder();
+                StringBuilder ssyszyjgs = new StringBuilder();
+                List<Map<String, Object>> jianyilis=new ArrayList<>();
+                for (TjOrderDetail detail : tjOrderDetailList) {
+                    detail.setTjStatus(1L);
+                    LambdaQueryWrapper<TjStandard> wq0 = new LambdaQueryWrapper<>();
+                    wq0.eq(TjStandard::getProId, detail.getProId());
+                    detail.setUpdateBy(sysUser.getNickName());
+                    detail.setUpdateTime(new Date());
+                    detail.setCreateId(String.valueOf(sysUser.getUserId()));
+                    detail.setUpdateId(String.valueOf(sysUser.getUserId()));
+                    tjOrderDetailService.updateById(detail);
+
+                        LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
+                        wq.eq(TjOrderYcxm::getTjh, order.getTjNumber());
+                        wq.eq(TjOrderYcxm::getJcxm, detail.getProName());
+                        if (detail.getExceptionDesc() == 1) {
+
+                                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());
+
+
+                                    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) {
+
+                                            }
+                                            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());
+
+
+                                    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) {
+
+                                            }
+                                            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(detail.getProName().contains("鑸掑紶鍘�") || detail.getProName().contains("鏀剁缉鍘�")){
+                                ssyszys.append(detail.getProName()).append("/");
+                                ssyszyjgs.append(detail.getProResult()).append("/");
+
+                            }
+                           ycxmService.remove(wq);
+                        }
+                }
+
+                if(StrUtil.isNotBlank(ssyszys.toString())){
+                    LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
+                    wq.eq(TjOrderYcxm::getTjh, order.getTjNumber());
+                    wq.like(TjOrderYcxm::getJcxm,"鑸掑紶鍘�");
+                    ycxmService.remove(wq);
+                    TjOrderYcxm orderYcxm =new TjOrderYcxm();
+                    orderYcxm.setTjh(order.getTjNumber());
+                    orderYcxm.setParentName(tjProject.getProName());
+                    orderYcxm.setJcxm(ssyszys.toString().replaceFirst("/$", ""));
+                    orderYcxm.setJcjg(ssyszyjgs.toString().replaceFirst("/$", ""));
+                    orderYcxm.setJynr(JSONUtil.toJsonStr(jianyilis));
+                    orderYcxm.setJyjc("0");
+                    ycxmService.save(orderYcxm);
+                }
             }
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error(String.valueOf(e));
         }
 
     }

--
Gitblit v1.8.0