From 5e15f28db8bf83cc19697e1ce2bd0078cd9cdfb8 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 23 一月 2025 17:07:51 +0800
Subject: [PATCH] zjh20250123

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java |  121 +++++++++++++++++++++++++++++++++++-----
 1 files changed, 106 insertions(+), 15 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 c92e1f5..06c79bc 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
@@ -56,6 +56,8 @@
 import static com.ltkj.framework.datasource.DynamicDataSourceContextHolder.log;
 import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.save;
 import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.setClipRect;
+import static org.jeecg.modules.jmreport.dyndb.util.b.a;
+import static org.jeecg.modules.jmreport.dyndb.util.b.e;
 
 /**
  * @Author: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃/璧典匠璞�
@@ -122,6 +124,10 @@
     private RedissonClient redissonClient;
     @Autowired
     private ITjRulesService rulesService;
+    @Autowired
+    private ITjProAdvicerulesService tjProAdvicerulesService;
+    @Autowired
+    private TjOrderYcxmService ycxmService;
 
 
     @GetMapping ("/ceshicc")
@@ -1578,7 +1584,7 @@
     @PostMapping ("/checkUpdateOrderRemark")
     @ApiOperation (value = "鎬绘淇敼澶囨敞鎺ュ彛")
     public AjaxResult checkUpdateOrderRemark(@RequestBody List<UpdateOrderRemarkVo> updateOrderRemarkVos) {
-        if (null != updateOrderRemarkVos && updateOrderRemarkVos.size() > 0) {
+        if (null != updateOrderRemarkVos && !updateOrderRemarkVos.isEmpty()) {
             for (UpdateOrderRemarkVo remarkVo : updateOrderRemarkVos) {
                 LambdaQueryWrapper<TjOrderRemark> wqm = new LambdaQueryWrapper<>();
                 wqm.eq(TjOrderRemark::getTjNumber, remarkVo.getTjNumber());
@@ -1634,18 +1640,77 @@
     @ApiOperation (value = "鎬绘鏌ョ湅寮傚父椤圭洰鎺ュ彛")
     public AjaxResult getzongjianyishengchakanyichangxiangmu(@RequestParam String tjNum) {
         if (StrUtil.isNotBlank(tjNum)) {
-            return zongjianyishengchakanyichangxiangmu(tjNum);
+            TjOrder one = orderService.getOrderByTjNum(tjNum);
+
+            if (one == null) {
+                return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒");
+            }
+
+        LambdaQueryWrapper<TjOrderYcxm> wq=new LambdaQueryWrapper<>();
+        wq.eq(TjOrderYcxm::getTjh,tjNum);
+        List<TjOrderYcxm> list = ycxmService.list(wq);
+        if(null !=list && !list.isEmpty()){
+            Collections.reverse(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.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);
+            }
+            List<Map<String, Object>> mapList = zongjianyishengchakanyichangxiangmu(tjNum);
+
+            List<Map<String, Object>> collect = maps.stream()
+                    .filter(a -> mapList.stream()
+                            .allMatch(b -> a.get("jyjc").equals(b.get("jyjc"))))
+                    .collect(Collectors.toList());
+
+            if(!collect.isEmpty()){
+                mapList.addAll(collect);
+//                return AjaxResult.success(result);
+            }
+           return AjaxResult.success(maps);
+        }else {
+            List<Map<String, Object>> mapList = zongjianyishengchakanyichangxiangmu(tjNum);
+            if(mapList.isEmpty()){
+                return AjaxResult.error("鏆傛棤鏁版嵁");
+            }
+            return AjaxResult.success(mapList);
+        }
+
+//            return zongjianyishengchakanyichangxiangmu(tjNum);
         }
         return AjaxResult.error();
     }
 
-    private AjaxResult zongjianyishengchakanyichangxiangmu(String tjNumber) {
+    private List<Map<String, Object>> zongjianyishengchakanyichangxiangmu(String tjNumber) {
 //        asyncService.updateCheckType(tjNumber);
-        TjOrder one = orderService.getOrderByTjNum(tjNumber);
 
-        if (one == null) {
-            return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒");
-        }
         List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber);
         List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber);
         List<Map<String, Object>> list = new ArrayList<>();
@@ -1658,17 +1723,25 @@
                         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.getYcbz(),tjNumber);
+                                    List<Map<String,Object>> maps= rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString()
+                                            ,"",tjOrderDetail.getYcbz().replaceAll(" ", ""),tjNumber
+                                            ,tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "")
+                                                    .replaceAll("[ 娴嬪畾妫�娴媇","")
+                                            ,tjOrderDetail.getProResult());
                                     if(null !=maps && !maps.isEmpty()){
                                         tjOrderDetail.setAdvices(maps);
                                     }
                                 }else {
-                                    String[] split = tjOrderDetail.getProResult().split("銆�");
+                                    String[] split = tjOrderDetail.getProResult().split("銆倈,|锛�");
                                     List<Map<String,Object>> mapList=new ArrayList<>();
                                     for (String s : split) {
-                                        Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s);
+                                                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()){
-                                            mapList.add(maps);
+                                            Object bt = maps.get("bt");
+                                            Object nr = maps.get("nr");
+                                            if(null !=bt || null !=nr) mapList.add(maps);
                                         }
                                     }
                                     tjOrderDetail.setAdvices(mapList);
@@ -1685,13 +1758,11 @@
                         parent.put("sone",dels);
                         list.add(parent);
                     }
-                } else {
-                    return AjaxResult.success("璇ヤ汉鍛樻棤寮傚父椤圭洰");
                 }
             }
-            return AjaxResult.success(list);
+
         }
-        return AjaxResult.success("璇ヤ汉鍛樻病鏈変綋妫�椤圭洰鏁版嵁锛�");
+        return list;
     }
 
     @GetMapping ("/chushenyemianchakanxiangmujieguo")
@@ -1709,5 +1780,25 @@
     }
 
 
+    @PostMapping ("/addOrderYcXmByTjh")
+    @ApiOperation (value = "鎬绘鍖荤敓椤甸潰鏂板寮傚父椤圭洰寤鸿")
+    public AjaxResult addOrderYcXmJyByTjh(@RequestBody List<TjOrderYcxm> ycxms) {
+        if(null !=ycxms && !ycxms.isEmpty()){
+            String tjh = ycxms.get(0).getTjh();
+            if(StringUtils.isNotBlank(tjh)){
+                ycxmService.delOrderYcXmJyByTjh(tjh);
+
+                for (TjOrderYcxm ycxm : ycxms) {
+                    ycxm.setJynr(JSONUtil.toJsonStr(ycxm.getMap()));
+                }
+//                List<TjOrderYcxm> collect = ycxms.stream().distinct().collect(Collectors.toList());
+                ycxmService.saveBatch(ycxms);
+                return AjaxResult.success();
+            }
+        }
+        return AjaxResult.error();
+    }
+
+
 
 }

--
Gitblit v1.8.0