From 53d149f491dba554ee035599059a1bf65ea92df2 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期三, 12 二月 2025 17:36:13 +0800
Subject: [PATCH] 增加手动同步lis接口

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java |  347 +++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 310 insertions(+), 37 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 968a99b..5d0e9c0 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
@@ -49,6 +49,7 @@
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.text.Collator;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
@@ -56,6 +57,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: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃/璧典匠璞�
@@ -63,7 +66,7 @@
  */
 @RestController
 @RequestMapping ("/check")
-@Api (tags = "鎬绘鍖诲笀鐩稿叧鎺ュ彛")
+@Api (tags = "AAAAAAAAAAAA鎬绘鍖诲笀鐩稿叧鎺ュ彛")
 @Slf4j
 public class TjCheckController {
     @Resource
@@ -120,6 +123,63 @@
     private HisApiConfigService hisApiConfigService;
     @Autowired
     private RedissonClient redissonClient;
+    @Autowired
+    private ITjRulesService rulesService;
+    @Autowired
+    private ITjProAdvicerulesService tjProAdvicerulesService;
+    @Autowired
+    private TjOrderYcxmService ycxmService;
+
+
+    @GetMapping ("/ceshicc")
+    @ApiOperation (value = "娴嬭瘯璋冪敤瀛樺偍杩囩▼鑰楁椂鎺ュ彛")
+    @RepeatSubmit
+//    @Transactional
+    public AjaxResult ceshicc() {
+
+        List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd1("8003241206085556");
+        if(null !=jcsqdList && !jcsqdList.isEmpty()){
+            jcsqdService.deletedLtkjJcsqdByTjhAndTmh("8003241206085556");
+            jcbgdService.deletedLtkjJcbgdByTjhAndTmh("8003241206085556");
+            jcsqdService.saveBatch(jcsqdList);
+            List<LtkjExamJcbgd> jcbgdList = testMapper.getCcXZxYyPacsLtkjExamJcbgd1("8003241206085556");
+            if(null != jcbgdList && !jcbgdList.isEmpty())jcbgdService.saveBatch(jcbgdList);
+            DynamicDataSourceContextHolder.clearDataSourceType();
+        }
+        return AjaxResult.success();
+    }
+
+
+
+//    @GetMapping ("/ceshi")
+//    @ApiOperation (value = "娴嬭瘯璋冪敤lis瑙嗗浘鏁版嵁鎺ュ彛")
+//    @RepeatSubmit
+////    @Transactional
+//    public AjaxResult ceshi() {
+//        List<Map<String, Object>> ccXZxYyLisJgSt = testMapper.getCcXZxYyLisJgSt();
+//        return AjaxResult.success(ccXZxYyLisJgSt);
+//    }
+
+
+//    @GetMapping ("/pacs")
+//    @ApiOperation (value = "娴嬭瘯璋冪敤pacs瑙嗗浘鏁版嵁鎺ュ彛")
+//    @RepeatSubmit
+//    public AjaxResult pacs() {
+//        List<Map<String, Object>> ccXZxYyPacsJgSt = testMapper.getCcXZxYyPacsJgSt();
+//
+//        List<LtkjExamJcsqd> list = testMapper.getCcXZxYyPacsLtkjExamJcsqd("");
+//
+//        log.info(list.toString());
+//
+//        List<LtkjExamJcbgd> list1 = testMapper.getCcXZxYyPacsLtkjExamJcbgd("");
+//
+//        log.info(list1.toString());
+//
+//        return AjaxResult.success(ccXZxYyPacsJgSt);
+//    }
+
+
+
 
     @GetMapping ("/getOperationPermissionsByTjNum")
     @ApiOperation (value = "(鍒濆椤甸潰  鍜� 鍖荤敓椤甸潰)鏍规嵁浣撴鍙疯幏鍙栨槸鍚﹀彲鎿嶄綔鏉冮檺鎺ュ彛  true鍙搷浣�  鍙嶄箣涓嶅彲")
@@ -276,7 +336,7 @@
 
     public List<CsProVo> getCsProVos(String tjNumber,boolean sfzpacs) {
         List<CsProVo> list = orderRemarkService.cSWebGetProByTjNumAndOrderId(tjNumber,sfzpacs);
-        if (null != list && list.size() > 0) {
+        if (null != list && !list.isEmpty()) {
             list.sort(new Comparator<CsProVo>() {
                 @Override
                 public int compare(CsProVo o1, CsProVo o2) {
@@ -348,6 +408,7 @@
                 final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
 
                 final String sfkqdyhis = configService.selectConfigByKey("sfkqdyhis");
+                final String sfkqdshitulianjie = configService.selectConfigByKey("sfkqdshitulianjie");
                 TjOrder order = orderService.getOrderByTjNum(tjNumber);
                 if (null != order) {
 
@@ -587,24 +648,50 @@
                                             }
                                         }
                                     }
-
                                 }else {
                                     return AjaxResult.error("妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!");
                                 }
                             }
                         }
-
-
                         return AjaxResult.success("鍚屾鎴愬姛");
-
-
-                        //鍚屾妫�鏌ラ」鐩粰redis缂撳瓨鐜板湪涓嶇敤浜�
-//                asyncService.updateCheckType(order.getTjNumber());
                     }
-                    //鍖栭獙
-                    testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
-                    //妫�鏌�
-//            jcsqdService.saveLtkjExamJcsqd(order.getCardId());
+                    else if(null !=sfkqdshitulianjie && sfkqdshitulianjie.equalsIgnoreCase("Y")){
+                        List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(order.getTjNumber());
+                        if(null != hysqdList && !hysqdList.isEmpty()){
+                            for (LtkjHysqd hysqd : hysqdList) {
+                                LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(hysqd.getTjh(),hysqd.getTmh());
+                                if (null != jybgid) {
+                                    ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(hysqd.getTjh(),hysqd.getTmh());
+                                    ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(hysqd.getTmh());
+                                }
+                                if (ltkjHysqdService.save(hysqd)) {
+                                    List<LtkjHybgd> hybgdList = testMapper.getCcXZxYyLtkjHybgdByLisVi(hysqd.getTmh());
+                                    ltkjHybgdService.saveBatch(hybgdList);
+                                }
+                            }
+                            DynamicDataSourceContextHolder.clearDataSourceType();
+                        }
+                        List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd(order.getTjNumber());
+                        if(null !=jcsqdList && !jcsqdList.isEmpty()){
+                            jcsqdService.deletedLtkjJcsqdByTjhAndTmh(order.getCardId());
+                            jcbgdService.deletedLtkjJcbgdByTjhAndTmh(order.getCardId());
+                            jcsqdService.saveBatch(jcsqdList);
+                            List<LtkjExamJcbgd> jcbgdList = testMapper.getCcXZxYyPacsLtkjExamJcbgd(order.getCardId());
+                            if(null != jcbgdList && !jcbgdList.isEmpty())jcbgdService.saveBatch(jcbgdList);
+                            DynamicDataSourceContextHolder.clearDataSourceType();
+                        }
+//                        String tjNumber1 = order.getTjNumber();
+//                        log.info("鏌ヨ鍑烘潵鐨勪綋妫�鍙锋槸: " + tjNumber1);
+//                        log.info("浼犺繃鏉ョ殑鐨勪綋妫�鍙锋槸: "+tjNumber);
+                        Map<String,Object> map=new HashMap<>();
+                        map.put("tjnum",tjNumber);
+                        testMapper.tjUpdateDetatilByVi(map);
+                    }else {
+                        //鍖栭獙
+                        testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
+                    }
+                  //妫�鏌�
+                    orderService.tjLispacstongbujianyi(null,null,null,null);
                     return AjaxResult.success("鍚屾鎴愬姛");
                 }
                 return AjaxResult.error("鏈煡鍒拌浜哄憳浣撴璁板綍");
@@ -617,6 +704,8 @@
             lock.unlock();
         }
     }
+
+
 
     /**
      * 鍚屾sql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛
@@ -642,9 +731,9 @@
                     if ("Y".equals(getInfoFromSqlData)) {
                         tbhyxm(order);
                         //鍚屾鍖栭獙椤圭洰
-                        testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
+//                        testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
                         //鍚屾妫�鏌ラ」鐩�
-                        testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
+//                        testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
                         asyncService.updateCheckType(order.getTjNumber());
 
                     }
@@ -689,6 +778,7 @@
                                 hysqd.setShrdm(jsonObject.getStr("JYYSBH"));
                                 hysqd.setShrxm(jsonObject.getStr("JYYSQM"));
                                 hysqd.setJybgjg(jsonObject.getStr("JYBGJG"));
+                                hysqd.setCreateTime(new Date());
                                 QueryWrapper<LtkjHysqd> queryWrapper = new QueryWrapper<>(hysqd);
                                 List<LtkjHysqd> list = ltkjHysqdService.list(queryWrapper);
                                 if (list.isEmpty())
@@ -700,10 +790,10 @@
                                 }
                             }
                             //鍚屾鍖栭獙椤圭洰
-                            testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
+//                            testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
                         }
                         /*鍚屾妫�鏌� his鎺ュ彛*/
-                        if (null != jianChaBaoGaoDan && jianChaBaoGaoDan.size() > 0) {
+                        if (null != jianChaBaoGaoDan && !jianChaBaoGaoDan.isEmpty()) {
                             Map<String, Object> maps = new HashMap<>();
                             maps.put("his_registration_id", order.getCardId());
                             maps.put("ksbm", "浣撴涓績");
@@ -755,10 +845,11 @@
                                             jcbgd.setJcbw(objectMap.get("JCBW").toString());
                                         if (null != objectMap.get("SQRQSJ") || !objectMap.get("SQRQSJ").equals(""))
                                             jcbgd.setSqsj(objectMap.get("SQRQSJ").toString());
+                                            jcbgd.setCreateTime(new Date());
                                         jcbgdService.save(jcbgd);
                                     }
                                     jcsqdService.saveLtkjExamJcsqd(order.getCardId());
-                                    testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
+//                                    testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
                                 }else {
                                     return AjaxResult.error("妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!");
                                 }
@@ -767,7 +858,7 @@
                         return AjaxResult.success("鍚屾鎴愬姛");
                     }
                     //鍖栭獙
-                    testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
+//                    testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
                     //妫�鏌�
                     jcsqdService.saveLtkjExamJcsqd(order.getCardId());
                     return AjaxResult.success("鍚屾鎴愬姛");
@@ -818,6 +909,7 @@
                 bgd.setShys(js.getStr("SHRBH"));
                 bgd.setShysmc(js.getStr("SHRXM"));
                 bgd.setYcbz(js.getStr("YCTS"));
+                bgd.setCreateTime(new Date());
 //                            bgd.setTpurl(js.getStr(""));
                 QueryWrapper<LtkjHybgd> queryWrapper = new QueryWrapper<>(bgd);
                 List<LtkjHybgd> list = ltkjHybgdService.list(queryWrapper);
@@ -872,7 +964,7 @@
 
     private void tbhyxm(TjOrder order) {
         List<LtkjHysqd> one = testMapper.getHysqdByTmh(order.getCardId());
-        if (one != null && one.size() > 0) {
+        if (one != null && !one.isEmpty()) {
             for (LtkjHysqd ltkjHysqd : one) {
                 ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(ltkjHysqd.getTjh(), ltkjHysqd.getTmh());
                 ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(ltkjHysqd.getTmh());
@@ -881,7 +973,7 @@
                     ltkjHysqdService.save(ltkjHysqd);
                     DynamicDataSourceContextHolder.clearDataSourceType();
                     List<LtkjHybgd> one1 = testMapper.getHybgdByTmh(ltkjHysqd.getTmh());
-                    if (one1 != null && one1.size() > 0) {
+                    if (one1 != null && !one1.isEmpty()) {
                         DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
                         ltkjHybgdService.saveBatch(one1);
                         DynamicDataSourceContextHolder.clearDataSourceType();
@@ -1133,8 +1225,12 @@
                                       @ApiParam (value = "鎬绘寤鸿") @RequestParam (required = false) String advice,
                                       @ApiParam (value = "瀹℃牳鐘舵��0寰呭鏍�1宸插鏍�") @RequestParam Integer checkStatus) {
 
-        int num = orderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber);
-        if (num > 0) return AjaxResult.error("鏈夊欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!");
+        String config = configService.selectConfigByKey("sfjcwjhyqxm");
+        if(null != config && config.equalsIgnoreCase("Y")){
+            int num = orderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber);
+            if (num > 0) return AjaxResult.error("瀛樺湪鏈鎴栧欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!");
+        }
+        Date date = new Date();
         if (null != tjNumber) {
             Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId());
             SysUser sysUser = userService.getById(userId);
@@ -1146,17 +1242,15 @@
                 tjOrder.setCheckStatus(checkStatus);
                 tjOrder.setStatus(TjConstants.TJ_CHECK);
                 tjOrder.setCheckDoctor(sysUser.getNickName());
-                tjOrder.setCheckTime(new Date());
+                tjOrder.setCheckTime(date);
                 tjOrder.setStatus(401);
+                tjOrder.setFinishTime(date);
                 if (orderService.updateById(tjOrder)) {
                     TjCustomer customer = customerService.getById(tjOrder.getUserId());
                     if (null != customer) {
                         customer.setCusNumber(customer.getCusNumber() + 1);
+                        customer.setCardId("0");
                         if (customerService.updateById(customer)) {
-//                            LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>();
-//                            wqq.eq(TbTransition::getCusId, customer.getCusIdcard());
-//                            wqq.eq(TbTransition::getCardId, customer.getCardId());
-//                            transitionService.remove(wqq);
                             asyncService.updateCheckType(tjNumber);
                             return AjaxResult.success("鎿嶄綔鎴愬姛");
                         }
@@ -1304,14 +1398,14 @@
         List<TjOrderDetail> tjOrderDetails = detailService.addHuaYanTable(tjNumber);
 
 
-        if (null != remarkList && remarkList.size() > 0) {
+        if (null != remarkList && !remarkList.isEmpty()) {
             for (TjOrderRemark remark : remarkList) {
                 Map<String, Object> parent = new HashMap<>();
                 parent.put("checkAdvice", one.getCheckAdvice());
                 parent.put("parent", remark.getProName());
                 parent.put("parentId", remark.getProId().toString());
                 List<TjOrderDetail> dels = new ArrayList<>();
-                if (null != tjOrderDetails && tjOrderDetails.size() > 0) {
+                if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
                     for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
                         if (remark.getProId().equals(tjOrderDetail.getProId())) {
                             String ckfw = tjOrderDetail.getStanId();
@@ -1392,7 +1486,7 @@
         List<TjOrderDetail> tjOrderDetails = detailService.addHuaYanAndCgTable(tjNumber);
 
 
-        if (null != remarkList && remarkList.size() > 0) {
+        if (null != remarkList && !remarkList.isEmpty()) {
             for (TjOrderRemark remark : remarkList) {
                 Map<String, Object> parent = new HashMap<>();
                 parent.put("checkAdvice", one.getCheckAdvice());
@@ -1401,7 +1495,7 @@
                 parent.put("xmlb", remark.getXmlb());
                 parent.put("", remark.getXmlb());
                 List<TjOrderDetail> dels = new ArrayList<>();
-                if (null != tjOrderDetails && tjOrderDetails.size() > 0) {
+                if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
                     for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
                         if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
                             String ckfw = tjOrderDetail.getStanId();
@@ -1427,7 +1521,7 @@
                                         }else {
                                             tjOrderDetail.setYcbz("");
                                         }
-                                        if (null != tjOrderDetail.getYcbz() && !tjOrderDetail.getYcbz().equals("")) {
+                                        if (null != tjOrderDetail.getYcbz() && !tjOrderDetail.getYcbz().isEmpty()) {
                                             tjOrderDetail.setProResult(tjOrderDetail.getProResult() + " [" + tjOrderDetail.getYcbz() + "]");
                                         }
                                     }else {
@@ -1439,14 +1533,15 @@
                                         if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�")) tjOrderDetail.setYcbz("鈫�");
                                     }
                                 } catch (NumberFormatException ignored) {
-                                    ignored.printStackTrace();
                                 }
                             }else {
                                 tjOrderDetail.setYcbz("");
                                 tjOrderDetail.setProResult(tjOrderDetail.getProResult());
                             }
 
-                            dels.add(tjOrderDetail);
+                            if(remark.getOrgType().equals(tjOrderDetail.getOrgType())){
+                                dels.add(tjOrderDetail);
+                            }
                         }
                     }
                     String summary = remark.getSummary();
@@ -1456,9 +1551,15 @@
                     } else {
                         parent.put("parentAdvice", null);
                     }
-                    if (dels.size() == 0) {
+                    if (dels.isEmpty()) {
                         continue;
                     }
+                    dels=dels.stream().sorted(Comparator.comparing(TjOrderDetail::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList());
+                    dels = dels.stream()
+                                .sorted(Comparator.comparingInt(
+                                        tjPdfVO -> tjPdfVO.getProName().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴�
+                                ))
+                                .collect(Collectors.toList());
                     parent.put("sons", dels);
                     parent.put("remark", remark.getRemark());
                     parent.put("jgbx", remark.getJgbx());
@@ -1492,7 +1593,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());
@@ -1542,4 +1643,176 @@
         return AjaxResult.success(map);
     }
 
+
+
+    @GetMapping ("/getzongjianyishengchakanyichangxiangmu")
+    @ApiOperation (value = "鎬绘鏌ョ湅寮傚父椤圭洰鎺ュ彛")
+    public AjaxResult getzongjianyishengchakanyichangxiangmu(@RequestParam String tjNum) {
+        if (StrUtil.isNotBlank(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 = 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);
+        }else {
+            List<Map<String, Object>> mapList = zongjianyishengchakanyichangxiangmu(tjNum);
+//            if(mapList.isEmpty()){
+//                return AjaxResult.success("鏆傛棤鏁版嵁");
+//            }
+            return AjaxResult.success(mapList);
+        }
+
+//            return zongjianyishengchakanyichangxiangmu(tjNum);
+        }
+        return AjaxResult.error();
+    }
+
+    private List<Map<String, Object>> zongjianyishengchakanyichangxiangmu(String tjNumber) {
+//        asyncService.updateCheckType(tjNumber);
+
+        List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber);
+        List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber);
+        List<Map<String, Object>> list = new ArrayList<>();
+        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.getYcbz().replaceAll(" ", ""),tjNumber
+                                            ,tjOrderDetail.getProName().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);
+                                }
+
+                            }
+
+                            dels.add(tjOrderDetail);
+                        }
+                    }
+                    if(!dels.isEmpty()){
+                        parent.put("proName",remark.getProName());
+                        parent.put("jyjc",remark.getJyjc());
+                        parent.put("sone",dels);
+                        list.add(parent);
+                    }
+                }
+            }
+
+        }
+        return list;
+    }
+
+    @GetMapping ("/chushenyemianchakanxiangmujieguo")
+    @ApiOperation (value = "鍒濆椤甸潰鏌ョ湅椤圭洰缁撴灉鎺ュ彛")
+    public AjaxResult chushenyemianchakanxiangmujieguo(@RequestParam String proId,@RequestParam String tjNum) {
+        List<Map<String,Object>> maps = projectService.tjCsXmjgcx(tjNum,proId);
+        return AjaxResult.success(maps);
+    }
+
+    @GetMapping ("/panduaniscunzaiweijian")
+    @ApiOperation (value = "鍒濆椤甸潰鏌ョ湅椤圭洰鍓嶅垽鏂槸鍚﹀叏閮ㄦ湭妫�鎺ュ彛")
+    public AjaxResult panduaniscunzaiweijian(@RequestParam String tjNum) {
+        int a = orderRemarkService.panduaniscunzaiweijian(tjNum);
+        return AjaxResult.success(a);
+    }
+
+
+    @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.success();
+    }
+
+
+
 }

--
Gitblit v1.8.0