From 6341f129682926b3909604e9b04dc95199c2059a Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期五, 09 五月 2025 18:15:01 +0800
Subject: [PATCH] zjh20250509

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java |  193 +++++++++++++++++++++++++++++++++++-------------
 1 files changed, 141 insertions(+), 52 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 6ca25c6..ccbb6c1 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
@@ -597,68 +597,157 @@
     }
 
     @Override
-    @Async("async")
-    public void updateOrdeltile(List<TjOrderDetail> tjOrderDetailList, SysUser sysUser, TjOrder order,TjOrderRemark orderRemark) {
-        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 xb= tjCustomerService.getSexByTjh(order.getTjNumber());
+    //@Async("async")
+    public void updateOrdeltile(List<TjOrderDetail> tjOrderDetailList, SysUser sysUser, TjOrder order, TjOrderRemark orderRemark) {
 
-            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());
-                    TjOrderYcxm ycxm = ycxmService.getOne(wq);
-                    if(null !=ycxm){
-                        ycxm.setJcjg(detail.getProResult());
-                        List<Map<String,Object>> maps= rulesService.getyichangxiangmujianyiguize(detail.getProId().toString()
-                                ,"","",order.getTjNumber()
-                                ,detail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "")
-                                        .replaceAll("[ 娴嬪畾妫�娴媇","")
-                                ,detail.getProResult());
+        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();
+                }
+                String xb= tjCustomerService.getSexByTjh(order.getTjNumber());
 
-                        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",xb);
-                            if(null !=mapss && !mapss.isEmpty()){
-                                Object bt = mapss.get("bt");
-                                Object nr = mapss.get("nr");
-                                if(null !=bt || null !=nr){
+                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);
 
-                                } mapList.add(mapss);
+                    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(), replacedAll, "", order.getTjNumber()
+                                        , replacedAll, detail.getProResult());
+
+
+                                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 {
+
+                                List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(detail.getProId().toString()
+                                        , replacedAll, "", order.getTjNumber(), replacedAll, detail.getProResult());
+
+
+                                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);
+                                    }
+                                }
+
+                                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("/");
 
-                        if(null != maps && !maps.isEmpty()){
-                            ycxm.setJynr(JSONUtil.toJsonStr(maps));
                         }
-                        if( !mapList.isEmpty()){
-                            ycxm.setJynr(JSONUtil.toJsonStr(mapList));
-                        }
-                        ycxmService.updateById(ycxm);
-                        if(detail.getExceptionDesc()==0)ycxmService.remove(wq);
+
                     }
-                } catch (Exception e) {
+                }
+
+                // 浣跨敤 stream 杩囨护鍑� proName 涓� "鑸掑紶鍘�" 鎴� "鏀剁缉鍘�" 鐨勫厓绱�
+                List<TjOrderDetail> filteredList = tjOrderDetailList.stream()
+                        .filter(a -> ("鑸掑紶鍘�".equals(a.getProName()) || "鏀剁缉鍘�".equals(a.getProName())) && a.getExceptionDesc()==1)
+                        .collect(Collectors.toList());
+                if(StrUtil.isNotBlank(ssyszys.toString())){
+
+                    LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
+                    wq.eq(TjOrderYcxm::getTjh, order.getTjNumber());
+                    wq.like(TjOrderYcxm::getJcxm,"鑸掑紶鍘�");
+                    ycxmService.remove(wq);
+
+                    if(!filteredList.isEmpty()){
+                        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