From d8f9c8b8cc744ddaefe7144beafc68c8fb8906c3 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期二, 22 四月 2025 17:35:46 +0800
Subject: [PATCH] zjh20250422

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java |  401 ++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 255 insertions(+), 146 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
index d6edbfa..308051e 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -1652,81 +1652,271 @@
     @GetMapping("/getzongjianyishengchakanyichangxiangmu")
     @ApiOperation(value = "鎬绘鏌ョ湅寮傚父椤圭洰鎺ュ彛")
     public AjaxResult getzongjianyishengchakanyichangxiangmu(@RequestParam String tjNum) {
-        if (StrUtil.isNotBlank(tjNum)) {
-            TjOrder one = orderService.getOrderByTjNum(tjNum);
+        try {
+            if (StrUtil.isNotBlank(tjNum)) {
+                TjOrder one = orderService.getOrderByTjNum(tjNum);
 
-            if (one == null) {
-                return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒");
+                if (one == null) {
+                    return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒");
+                }
+                yichangxiangmu(tjNum);
+                LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
+                wq.eq(TjOrderYcxm::getTjh, tjNum);
+                List<TjOrderYcxm> list = ycxmService.list(wq);
+                if (null != list && !list.isEmpty()) {
+                    Collections.reverse(list);
+                    return getOrderYcxmList(list);
+                } else {
+                    return zongjianyishengchakanyichangxiangmu(tjNum);
+                }
             }
-
-            LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
-            wq.eq(TjOrderYcxm::getTjh, tjNum);
-            List<TjOrderYcxm> list = ycxmService.list(wq);
-            if (null != list && !list.isEmpty()) {
-                Collections.reverse(list);
-                return getOrderYcxmList(list);
-            } else {
-                return zongjianyishengchakanyichangxiangmu(tjNum);
-            }
+            return AjaxResult.error();
+        } catch (Exception ex) {
+            //throw new RuntimeException(ex);
+            log.error(ex.getMessage());
+            return AjaxResult.error();
         }
-        return AjaxResult.error();
     }
 
     private static AjaxResult getOrderYcxmList(List<TjOrderYcxm> list) {
-        Map<String, List<TjOrderYcxm>> map = list.stream().collect(Collectors.groupingBy(TjOrderYcxm::getParentName));
-        List<Map<String, Object>> maps = new ArrayList<>();
-        for (Map.Entry<String, List<TjOrderYcxm>> entry : map.entrySet()) {
-            Map<String, Object> parent = new HashMap<>();
-            List<TjOrderDetail> dels = new ArrayList<>();
-            for (TjOrderYcxm ycxm : entry.getValue()) {
-                TjOrderDetail detail = new TjOrderDetail();
-                detail.setOrderDetailId(Long.valueOf(ycxm.getId()));
-                detail.setProName(ycxm.getJcxm());
-                detail.setProResult(ycxm.getJcjg());
-                detail.setStanId(ycxm.getCkfw());
-                detail.setProAdvice(ycxm.getDw());
-                List<Map<String, Object>> btnrlist = new ArrayList<>();
-                String jynr = ycxm.getJynr();
-                JSONArray array = JSONUtil.parseArray(jynr);
-                for (Object object : array) {
-                    Map<String, Object> objectMap = new HashMap<>();
-                    JSONObject jsonObject = (JSONObject) object;
-                    String bt = jsonObject.getStr("bt");
-                    String nr = jsonObject.getStr("nr");
-                    objectMap.put("bt", bt);
-                    objectMap.put("nr", nr);
-                    if (null != bt || null != nr) btnrlist.add(objectMap);
-                }
-                detail.setAdvices(btnrlist);
-                dels.add(detail);
+        try {
+            List<Map<String, Object>> maps = getYcxmMapList(list);
+            if (!maps.isEmpty()) {
+                List<Map<String, Object>> collect1 = maps.stream()
+                        .sorted((map1, map2) -> map2.get("proName").toString().compareTo(map1.get("proName").toString()))
+                        .collect(Collectors.toList());
+                return AjaxResult.success(collect1);
             }
-
-            parent.put("proName", entry.getKey());
-            parent.put("jyjc", entry.getValue().get(0).getJyjc());
-            parent.put("sone", dels);
-            maps.add(parent);
+            return AjaxResult.success(maps);
+        } catch (Exception ex) {
+//            throw new RuntimeException(ex);
+            log.error(ex.getMessage());
+            return AjaxResult.error();
         }
-        //            List<Map<String, Object>> mapList = zongjianyishengchakanyichangxiangmu(tjNum);
-
-
-//            List<Map<String, Object>> collect = mapList.stream()
-//                    .filter(b -> maps.stream()
-//                            .noneMatch(a -> a.get("proName").equals(b.get("proName"))))  // 杩囨护鎺夊湪 maps 涓瓨鍦ㄧ殑鐩稿悓鍏冪礌
-//                    .collect(Collectors.toList());
-
-
-//            if(!collect.isEmpty()){
-//                maps.addAll(collect);
-//            }
-        if (!maps.isEmpty()) {
-            List<Map<String, Object>> collect1 = maps.stream()
-                    .sorted((map1, map2) -> map2.get("proName").toString().compareTo(map1.get("proName").toString()))
-                    .collect(Collectors.toList());
-            return AjaxResult.success(collect1);
-        }
-        return AjaxResult.success(maps);
     }
 
+    private static List<Map<String, Object>> getYcxmMapList(List<TjOrderYcxm> list) {
+        try {
+            Map<String, List<TjOrderYcxm>> map = list.stream().collect(Collectors.groupingBy(TjOrderYcxm::getParentName));
+            List<Map<String, Object>> maps = new ArrayList<>();
+            for (Map.Entry<String, List<TjOrderYcxm>> entry : map.entrySet()) {
+                Map<String, Object> parent = new HashMap<>();
+                List<TjOrderDetail> dels = new ArrayList<>();
+                for (TjOrderYcxm ycxm : entry.getValue()) {
+                    TjOrderDetail detail = new TjOrderDetail();
+                    detail.setOrderDetailId(Long.valueOf(ycxm.getId()));
+                    detail.setProName(ycxm.getJcxm());
+                    detail.setProResult(ycxm.getJcjg());
+                    detail.setStanId(ycxm.getCkfw());
+                    detail.setProAdvice(ycxm.getDw());
+                    List<Map<String, Object>> btnrlist = new ArrayList<>();
+                    String jynr = ycxm.getJynr();
+                    JSONArray array = JSONUtil.parseArray(jynr);
+                    for (Object object : array) {
+                        Map<String, Object> objectMap = new HashMap<>();
+                        JSONObject jsonObject = (JSONObject) object;
+                        String bt = jsonObject.getStr("bt");
+                        String nr = jsonObject.getStr("nr");
+                        objectMap.put("bt", bt);
+                        objectMap.put("nr", nr);
+                        if (null != bt || null != nr) btnrlist.add(objectMap);
+                    }
+                    detail.setAdvices(btnrlist);
+                    dels.add(detail);
+                }
+
+                parent.put("proName", entry.getKey());
+                parent.put("jyjc", entry.getValue().get(0).getJyjc());
+                parent.put("sone", dels);
+                maps.add(parent);
+            }
+            return maps;
+        } catch (NumberFormatException ex) {
+//            throw new RuntimeException(ex);
+            log.error(ex.getMessage());
+            return null;
+        }
+    }
+
+    private AjaxResult zongjianyishengchakanyichangxiangmu(String tjNumber) {
+        List<Map<String, Object>> list = new ArrayList<>();
+        try {
+            List<TjOrderYcxm> tjOrderYcxms = new ArrayList<>();
+            TjOrder order = orderService.getOrderByTjNum(tjNumber);
+            if (null != order) {
+                List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber);
+                List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber);
+                LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
+                wq.eq(TjOrderYcxm::getTjh, tjNumber);
+                List<TjOrderYcxm> ycxmList = ycxmService.list(wq);
+                if (null != remarkList && !remarkList.isEmpty()) {
+                    for (TjOrderRemark remark : remarkList) {
+                        Map<String, Object> parent = new HashMap<>();
+                        if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
+                            List<TjOrderDetail> dels = new ArrayList<>();
+                            for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
+                                if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
+                                    if (null != tjOrderDetail.getProId() && null != tjOrderDetail.getYcbz()) {
+                                        if (!tjOrderDetail.getDeptId().equals("2")) {
+                                            List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString()
+                                                    , tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "")
+                                                            .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", ""),
+                                                    tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber
+                                                    , tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "")
+                                                            .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "")
+                                                    , tjOrderDetail.getProResult());
+
+
+                                            if (null != maps && !maps.isEmpty()) {
+                                                tjOrderDetail.setAdvices(maps);
+                                            }
+
+                                        } else {
+                                            String[] split = tjOrderDetail.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> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s, "0");
+                                                if (null != maps && !maps.isEmpty()) {
+                                                    Object bt = maps.get("bt");
+                                                    Object nr = maps.get("nr");
+                                                    if (null != bt || null != nr) mapList.add(maps);
+                                                }
+                                            }
+                                            tjOrderDetail.setAdvices(mapList);
+                                        }
+
+                                    }
+                                    if (null == ycxmList || ycxmList.isEmpty()) {
+                                        TjOrderYcxm ycxm = new TjOrderYcxm();
+                                        ycxm.setTjh(tjNumber);
+                                        ycxm.setParentName(remark.getProName());
+                                        ycxm.setJcxm(tjOrderDetail.getProName());
+                                        ycxm.setJcjg(tjOrderDetail.getProResult());
+                                        ycxm.setCkfw(tjOrderDetail.getStanId());
+                                        ycxm.setDw(tjOrderDetail.getProAdvice());
+                                        ycxm.setJynr(JSONUtil.toJsonStr(tjOrderDetail.getAdvices()));
+                                        ycxm.setJyjc(remark.getJyjc());
+                                        if (ycxmService.save(ycxm)) {
+                                            tjOrderYcxms.add(ycxm);
+                                        }
+                                    }
+                                    dels.add(tjOrderDetail);
+                                }
+                            }
+                            if (!dels.isEmpty()) {
+                                parent.put("proName", remark.getProName());
+                                parent.put("jyjc", remark.getJyjc());
+                                parent.put("sone", dels);
+                                list.add(parent);
+                            }
+                        }
+                    }
+                    if (!tjOrderYcxms.isEmpty()) {
+                        Collections.reverse(tjOrderYcxms);
+                        return getOrderYcxmList(tjOrderYcxms);
+                    }
+
+                }
+            }
+            return AjaxResult.success(list);
+        } catch (Exception ex) {
+//            throw new RuntimeException(ex);
+            log.error(ex.getMessage());
+            return AjaxResult.success(list);
+        }
+    }
+
+    private void yichangxiangmu(String tjNumber) {
+        try {
+            List<TjOrderYcxm> tjOrderYcxmList= ycxmService.selectListByTjh(tjNumber);
+
+            if(null !=tjOrderYcxmList && !tjOrderYcxmList.isEmpty()){
+
+            List<Map<String, Object>> list = new ArrayList<>();
+            TjOrder order = orderService.getOrderByTjNum(tjNumber);
+            if (null != order) {
+                List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber);
+                List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber);
+                if (null != remarkList && !remarkList.isEmpty()) {
+                    for (TjOrderRemark remark : remarkList) {
+                        Map<String, Object> parent = new HashMap<>();
+                        if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
+                            List<TjOrderDetail> dels = new ArrayList<>();
+                            for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
+                                if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
+                                    if (null != tjOrderDetail.getProId() && null != tjOrderDetail.getYcbz()) {
+                                        if (!tjOrderDetail.getDeptId().equals("2")) {
+                                            List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString()
+                                                    , tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "")
+                                                            .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", ""), tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber
+                                                    , tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "")
+                                                            .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "")
+                                                    , tjOrderDetail.getProResult());
+
+
+                                            if (null != maps && !maps.isEmpty()) {
+                                                tjOrderDetail.setAdvices(maps);
+                                            }
+
+                                        } else {
+                                            String[] split = tjOrderDetail.getProResult().split("銆倈,|锛�");
+                                            List<Map<String, Object>> mapList = new ArrayList<>();
+                                            for (String s : split) {
+                                                s = s.replaceAll("\n", "");
+                                                Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s, "0");
+                                                if (null != maps && !maps.isEmpty()) {
+                                                    Object bt = maps.get("bt");
+                                                    Object nr = maps.get("nr");
+                                                    if (null != bt || null != nr) mapList.add(maps);
+                                                }
+                                            }
+                                            tjOrderDetail.setAdvices(mapList);
+                                        }
+
+                                    }
+                                    dels.add(tjOrderDetail);
+                                }
+                            }
+                            if (!dels.isEmpty()) {
+                                parent.put("proName", remark.getProName());
+                                parent.put("jyjc", remark.getJyjc());
+                                parent.put("sone", dels);
+                                list.add(parent);
+                            }
+                        }
+                    }
+                }
+            }
+                List<Map<String, Object>> maps = getYcxmMapList(tjOrderYcxmList);
+                List<Map<String, Object>> collect = list.stream()
+                        .filter(b -> maps.stream()
+                                .noneMatch(a -> a.get("proName").equals(b.get("proName"))))  // 杩囨护鎺夊湪 maps 涓瓨鍦ㄧ殑鐩稿悓鍏冪礌
+                        .collect(Collectors.toList());
+
+                if(!collect.isEmpty()){
+                    for (Map<String, Object> map : collect) {
+                        for (TjOrderDetail detail : (List<TjOrderDetail>) map.get("sone")) {
+                            TjOrderYcxm ycxm = new TjOrderYcxm();
+                            ycxm.setTjh(tjNumber);
+                            ycxm.setParentName(map.get("proName").toString());
+                            ycxm.setJcxm(detail.getProName());
+                            ycxm.setJcjg(detail.getProResult());
+                            ycxm.setCkfw(detail.getStanId());
+                            ycxm.setDw(detail.getProAdvice());
+                            ycxm.setJynr(JSONUtil.toJsonStr(detail.getAdvices()));
+                            ycxm.setJyjc(map.get("jyjc").toString());
+                            ycxmService.save(ycxm);
+                        }
+                    }
+                }
+            }
+
+        } catch (Exception ex) {
+            log.error(ex.getMessage());
+        }
+    }
 
     @GetMapping("/delzongjianyishengchakanyichangxiangmu")
     @ApiOperation(value = "鎬绘鍒犻櫎寮傚父椤圭洰鎺ュ彛")
@@ -1735,88 +1925,7 @@
         return AjaxResult.success();
     }
 
-    private AjaxResult zongjianyishengchakanyichangxiangmu(String tjNumber) {
-        List<Map<String, Object>> list = new ArrayList<>();
-        List<TjOrderYcxm> tjOrderYcxms = new ArrayList<>();
-        TjOrder order = orderService.getOrderByTjNum(tjNumber);
-        if (null != order) {
-            List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber);
-            List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber);
-            LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
-            wq.eq(TjOrderYcxm::getTjh, tjNumber);
-            List<TjOrderYcxm> ycxmList = ycxmService.list(wq);
-            if (null != remarkList && !remarkList.isEmpty()) {
-                for (TjOrderRemark remark : remarkList) {
-                    Map<String, Object> parent = new HashMap<>();
-                    if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
-                        List<TjOrderDetail> dels = new ArrayList<>();
-                        for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
-                            if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
-                                if (null != tjOrderDetail.getProId() && null != tjOrderDetail.getYcbz()) {
-                                    if (!tjOrderDetail.getDeptId().equals("2")) {
-                                        List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString()
-                                                , tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "")
-                                                        .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", ""), tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber
-                                                , tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "")
-                                                        .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "")
-                                                , tjOrderDetail.getProResult());
 
-
-                                        if (null != maps && !maps.isEmpty()) {
-                                            tjOrderDetail.setAdvices(maps);
-                                        }
-
-                                    } else {
-                                        String[] split = tjOrderDetail.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> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s, "0");
-                                            if (null != maps && !maps.isEmpty()) {
-                                                Object bt = maps.get("bt");
-                                                Object nr = maps.get("nr");
-                                                if (null != bt || null != nr) mapList.add(maps);
-                                            }
-                                        }
-                                        tjOrderDetail.setAdvices(mapList);
-                                    }
-
-                                }
-                                if (null == ycxmList || ycxmList.isEmpty()) {
-                                    TjOrderYcxm ycxm = new TjOrderYcxm();
-                                    ycxm.setTjh(tjNumber);
-                                    ycxm.setParentName(remark.getProName());
-                                    ycxm.setJcxm(tjOrderDetail.getProName());
-                                    ycxm.setJcjg(tjOrderDetail.getProResult());
-                                    ycxm.setCkfw(tjOrderDetail.getStanId());
-                                    ycxm.setDw(tjOrderDetail.getProAdvice());
-                                    ycxm.setJynr(JSONUtil.toJsonStr(tjOrderDetail.getAdvices()));
-                                    ycxm.setJyjc(remark.getJyjc());
-                                    if (ycxmService.save(ycxm)) {
-                                        tjOrderYcxms.add(ycxm);
-                                    }
-                                }
-                                dels.add(tjOrderDetail);
-                            }
-                        }
-                        if (!tjOrderYcxms.isEmpty()) {
-                            Collections.reverse(tjOrderYcxms);
-                            return getOrderYcxmList(tjOrderYcxms);
-                        }
-                        if (!dels.isEmpty()) {
-                            parent.put("proName", remark.getProName());
-                            parent.put("jyjc", remark.getJyjc());
-                            parent.put("sone", dels);
-                            list.add(parent);
-                        }
-                    }
-                }
-
-            }
-        }
-        return AjaxResult.success(list);
-    }
 
     @GetMapping("/chushenyemianchakanxiangmujieguo")
     @ApiOperation(value = "鍒濆椤甸潰鏌ョ湅椤圭洰缁撴灉鎺ュ彛")

--
Gitblit v1.8.0