From 0892d843cd394f383ff50f480f7f22f2ec3829bc Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期五, 27 六月 2025 20:24:45 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java | 1009 +++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 802 insertions(+), 207 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 328415d..2230d62 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
@@ -13,6 +13,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ltkj.common.annotation.RepeatSubmit;
 import com.ltkj.common.core.domain.AjaxResult;
+import com.ltkj.common.core.domain.entity.SysDept;
 import com.ltkj.common.core.domain.entity.SysUser;
 import com.ltkj.common.core.redis.RedisCache;
 import com.ltkj.common.enums.DataSourceType;
@@ -25,6 +26,7 @@
 import com.ltkj.hosp.mapper.TestMapper;
 import com.ltkj.hosp.service.*;
 import com.ltkj.hosp.sqlDomain.*;
+import com.ltkj.hosp.vo.ProFcListVo;
 import com.ltkj.hosp.vodomain.CsProVo;
 import com.ltkj.hosp.vodomain.UpdateOrderRemarkVo;
 import com.ltkj.mall.mallOrderUtils.TjConstants;
@@ -37,6 +39,7 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import jodd.util.StringUtil;
 import lombok.extern.slf4j.Slf4j;
 import lombok.var;
 import org.aspectj.weaver.AjAttribute;
@@ -49,6 +52,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,14 +60,16 @@
 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: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃/璧典匠璞�
  * @Date: 2022/12/6 14:29
  */
 @RestController
-@RequestMapping ("/check")
-@Api (tags = "鎬绘鍖诲笀鐩稿叧鎺ュ彛")
+@RequestMapping("/check")
+@Api(tags = "AAAAAAAAAAAA鎬绘鍖诲笀鐩稿叧鎺ュ彛")
 @Slf4j
 public class TjCheckController {
     @Resource
@@ -120,10 +126,71 @@
     private HisApiConfigService hisApiConfigService;
     @Autowired
     private RedissonClient redissonClient;
+    @Autowired
+    private ITjRulesService rulesService;
+    @Autowired
+    private ITjProAdvicerulesService tjProAdvicerulesService;
+    @Autowired
+    private TjOrderYcxmService ycxmService;
+    @Autowired
+    private SysConfigController configController;
+    @Autowired
+    private TjJcycxmService jcycxmService;
+    @Resource
+    private TjXdtgmdjgService xdtgmdjgService;
+    @Resource
+    private TjXdPictureController pictureController;
 
-    @GetMapping ("/getOperationPermissionsByTjNum")
-    @ApiOperation (value = "(鍒濆椤甸潰  鍜� 鍖荤敓椤甸潰)鏍规嵁浣撴鍙疯幏鍙栨槸鍚﹀彲鎿嶄綔鏉冮檺鎺ュ彛  true鍙搷浣�  鍙嶄箣涓嶅彲")
-    public AjaxResult getOperationPermissionsByTjNum(@ApiParam (value = "浣撴鍙�") @RequestParam String tjNumber) {
+    @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鍙搷浣�  鍙嶄箣涓嶅彲")
+    public AjaxResult getOperationPermissionsByTjNum(@ApiParam(value = "浣撴鍙�") @RequestParam String tjNumber) {
         TjOrder order = orderService.getOrderByTjNum(tjNumber);
         if (null != order) {
             Integer status = order.getStatus();
@@ -138,28 +205,18 @@
     }
 
 
-
-    @GetMapping ("/ceshi")
-    @ApiOperation (value = "娴嬭瘯璋冪敤lis瑙嗗浘鏁版嵁鎺ュ彛")
-    @RepeatSubmit
-//    @Transactional
-    public AjaxResult ceshi() {
-        List<Map<String, Object>> ccXZxYyLisJgSt = testMapper.getCcXZxYyLisJgSt();
-        return AjaxResult.success(ccXZxYyLisJgSt);
-    }
-
-
-    @GetMapping ("/getCsList")
-    @ApiOperation (value = "鍒濆鏌ヨ浣撴璁板綍瀹㈡埛鍒楄〃")//0寰�1宸�
+    @GetMapping("/getCsList")
+    @ApiOperation(value = "鍒濆鏌ヨ浣撴璁板綍瀹㈡埛鍒楄〃")//0寰�1宸�
     @Transactional
-    public AjaxResult getCsList(@ApiParam (value = "瀹℃牳鐘舵��  0寰呭鏍�  1宸插鏍�") @RequestParam (required = false) Integer checkStatus,
-                                @ApiParam (value = "椤电爜鏁�(榛樿1)") @RequestParam (defaultValue = "1") Integer page,
-                                @ApiParam (value = "鏄剧ず鏉℃暟(榛樿10)") @RequestParam (defaultValue = "10") Integer pageSize,
-                                @ApiParam (value = "浣撴鍗曞彿") @RequestParam (required = false) String tjNumber,
-                                @ApiParam (value = "鍗曚綅") @RequestParam (required = false) Long compId,
-                                @ApiParam (value = "濮撳悕)") @RequestParam (required = false) String name,
-                                @ApiParam (value = "寮�濮嬫椂闂�") @RequestParam (required = false) String beginTime,
-                                @ApiParam (value = "缁撴潫鏃堕棿") @RequestParam (required = false) String endTime) {
+    public AjaxResult getCsList(@ApiParam(value = "瀹℃牳鐘舵��  0寰呭鏍�  1宸插鏍�") @RequestParam(required = false) Integer checkStatus,
+                                @ApiParam(value = "椤电爜鏁�(榛樿1)") @RequestParam(defaultValue = "1") Integer page,
+                                @ApiParam(value = "鏄剧ず鏉℃暟(榛樿10)") @RequestParam(defaultValue = "10") Integer pageSize,
+                                @ApiParam(value = "浣撴鍗曞彿") @RequestParam(required = false) String tjNumber,
+                                @ApiParam(value = "鍗曚綅") @RequestParam(required = false) Long compId,
+                                @ApiParam(value = "濮撳悕)") @RequestParam(required = false) String name,
+                                @ApiParam(value = "濂楅鍚�)") @RequestParam(required = false) String tcm,
+                                @ApiParam(value = "寮�濮嬫椂闂�") @RequestParam(required = false) String beginTime,
+                                @ApiParam(value = "缁撴潫鏃堕棿") @RequestParam(required = false) String endTime) {
 
 //        DateTime beginTimes = null;
 //        DateTime endTimes = null;
@@ -243,16 +300,17 @@
         if (name == null) name = "";
         if (beginTime == null) beginTime = "";
         if (endTime == null) endTime = "";
-        return AjaxResult.success(orderService.getCsCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name));
+        if (tcm == null) tcm = "";
+        return AjaxResult.success(orderService.getCsCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name, tcm));
     }
 
 
     /**
      * 鍒濆
      */
-    @GetMapping ("/cSWebGetProByTjNumAndOrderId")
-    @ApiOperation (value = "(鍒濆椤甸潰)鐐瑰嚮浣撴浜哄憳灞曠ず浣撴椤圭洰鎺ュ彛")
-    public AjaxResult cSWebGetProByTjNumAndOrderId(@ApiParam (value = "浣撴鍙�") @RequestParam String tjNumber) {
+    @GetMapping("/cSWebGetProByTjNumAndOrderId")
+    @ApiOperation(value = "(鍒濆椤甸潰)鐐瑰嚮浣撴浜哄憳灞曠ず浣撴椤圭洰鎺ュ彛")
+    public AjaxResult cSWebGetProByTjNumAndOrderId(@ApiParam(value = "浣撴鍙�") @RequestParam String tjNumber) {
 //        List<TjOrderRemark> orderRemarkList = orderRemarkService.getTjOrderRemarkListByTjNum(tjNumber);
 //        List<CsProVo> list = new ArrayList<>();
 //        if (null != orderRemarkList && orderRemarkList.size() > 0) {
@@ -281,13 +339,13 @@
 //            });
 //        }
 
-        List<CsProVo> list = getCsProVos(tjNumber,false);
+        List<CsProVo> list = getCsProVos(tjNumber, false);
         return AjaxResult.success(list);
     }
 
-    public List<CsProVo> getCsProVos(String tjNumber,boolean sfzpacs) {
-        List<CsProVo> list = orderRemarkService.cSWebGetProByTjNumAndOrderId(tjNumber,sfzpacs);
-        if (null != list && list.size() > 0) {
+    public List<CsProVo> getCsProVos(String tjNumber, boolean sfzpacs) {
+        List<CsProVo> list = orderRemarkService.cSWebGetProByTjNumAndOrderId(tjNumber, sfzpacs);
+        if (null != list && !list.isEmpty()) {
             list.sort(new Comparator<CsProVo>() {
                 @Override
                 public int compare(CsProVo o1, CsProVo o2) {
@@ -299,15 +357,26 @@
     }
 
 
+    @PostMapping("/newaddOrderYcXmJyByTjh")
+    @ApiOperation(value = "鎬绘鍖荤敓椤甸潰鏂板寮傚父椤圭洰寤鸿(鍗曚釜)")
+    public AjaxResult newaddOrderYcXmJyByTjh(@RequestBody TjOrderYcxm ycxm) {
+
+        ycxm.setJynr(JSONUtil.toJsonStr(ycxm.getMap()));
+        ycxmService.saveOrUpdate(ycxm);
+        return AjaxResult.success();
+    }
+
+
+
     /**
      * 鍒濆
      */
-    @GetMapping ("/confirmOrder")
-    @ApiOperation (value = "鍒濆(骞朵慨鏀圭姸鎬�)鎺ュ彛")
+    @GetMapping("/confirmOrder")
+    @ApiOperation(value = "鍒濆(骞朵慨鏀圭姸鎬�)鎺ュ彛")
     @Transactional
-    public AjaxResult confirmOrder(@ApiParam (value = "tjNumber") @RequestParam String tjNumber,
-                                   @ApiParam (value = "鐘舵�� 0鍚屾剰 1鎷掔粷 榛樿鍚屾剰") @RequestParam (defaultValue = "0") Integer status,
-                                   @ApiParam (value = "椹冲洖鐞嗙敱") @RequestParam (required = false) String remark) {
+    public AjaxResult confirmOrder(@ApiParam(value = "tjNumber") @RequestParam String tjNumber,
+                                   @ApiParam(value = "鐘舵�� 0鍚屾剰 1鎷掔粷 榛樿鍚屾剰") @RequestParam(defaultValue = "0") Integer status,
+                                   @ApiParam(value = "椹冲洖鐞嗙敱") @RequestParam(required = false) String remark) {
         int num = orderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber);
         if (num > 0) return AjaxResult.error("璇锋鏌ユ槸鍚﹀瓨鍦ㄦ湭妫�鎴栧欢鏈熼」鐩�");
         if (null != tjNumber) {
@@ -345,16 +414,16 @@
     /**
      * 鍚屾sql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛
      */
-    @GetMapping ("/dataSynchronization")
-    @ApiOperation (value = "鍚屾sql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛")
+    @GetMapping("/dataSynchronization")
+    @ApiOperation(value = "鍚屾sql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛")
     @RepeatSubmit
 //    @Transactional
     public AjaxResult dataSynchronization(@RequestParam String tjNumber) {
-
+        String dqyyyqbm = configService.selectConfigByKey("dqyyyqbm");
         RLock lock = redissonClient.getLock("lock:check:dataSynchronization:" + tjNumber);
         try {
             boolean tryLock = lock.tryLock(3L, TimeUnit.SECONDS);
-            if (tryLock){
+            if (tryLock) {
                 //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12
                 final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
 
@@ -511,7 +580,7 @@
                             maps.put("ksbm", "浣撴涓績");
                             maps.put("pagecount", 100);
                             maps.put("page", 1);
-//                    AjaxResult results = service.getHISDataNew("Getexamreportinfo", maps);
+
 
                             LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>();
                             lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Getexamreportinfo");
@@ -519,7 +588,15 @@
 
 
                             /*鍚屾妫�鏌� his瀛樺偍杩囩▼*/
-                            AjaxResult results = jcsqdService.getTjJcProByHisCall("浣撴涓績", order.getCardId(), "''", 100, 1, "'1'");
+
+                            String jctbfs = configService.selectConfigByKey("jctbfs");
+                            AjaxResult results = null;
+                            if (jctbfs.equalsIgnoreCase("Y")) {
+                                results = service.getHISDataNew("Getexamreportinfo", maps);
+                            } else {
+                                results = jcsqdService.getTjJcProByHisCall("浣撴涓績", order.getCardId(), "''", 100, 1, "'1'");
+                            }
+
 
                             DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
                             DynamicDataSourceContextHolder.clearDataSourceType();
@@ -583,14 +660,14 @@
                                     }
                                     jcsqdService.saveLtkjExamJcsqd(order.getCardId());
 
-                                    int maxRetries=3;
+                                    int maxRetries = 3;
                                     for (int attempt = 0; attempt < maxRetries; attempt++) {
                                         try {
                                             testMapper.updateDetailByTjJcCall(order.getCardId(),
                                                     String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
                                             break;
                                         } catch (Exception e) {
-                                            if (attempt==maxRetries-1){
+                                            if (attempt == maxRetries - 1) {
                                                 throw e;
                                             }
                                             try {
@@ -599,58 +676,78 @@
                                             }
                                         }
                                     }
-
-                                }else {
+                                } else {
                                     return AjaxResult.error("妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!");
                                 }
                             }
                         }
-
-
                         return AjaxResult.success("鍚屾鎴愬姛");
-
-
-                        //鍚屾妫�鏌ラ」鐩粰redis缂撳瓨鐜板湪涓嶇敤浜�
-//                asyncService.updateCheckType(order.getTjNumber());
+                    } else if (null != sfkqdshitulianjie && sfkqdshitulianjie.equalsIgnoreCase("Y")) {
+                        List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(order.getTjNumber(), dqyyyqbm);
+                        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(), dqyyyqbm);
+                        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());
                     }
-//                    else if(null !=sfkqdshitulianjie && sfkqdshitulianjie.equals("Y")){
-//                    List<Map<String,Object>> maps=   testMapper.getCcXZxYyLisJgSt();
-//                    }
-                    //鍖栭獙
-                    testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
                     //妫�鏌�
-//            jcsqdService.saveLtkjExamJcsqd(order.getCardId());
+                    orderService.tjLispacstongbujianyi(null, null, null, null);
                     return AjaxResult.success("鍚屾鎴愬姛");
                 }
                 return AjaxResult.error("鏈煡鍒拌浜哄憳浣撴璁板綍");
             }
             return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑");
         } catch (InterruptedException e) {
-            e.printStackTrace();
+            log.error(String.valueOf(e), e.getMessage());
             return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑");
-        }finally {
+        } finally {
             lock.unlock();
         }
     }
 
 
-
     /**
      * 鍚屾sql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛
      */
-    @GetMapping ("/dataSynchronizationApi")
-    @ApiOperation (value = "鍚屾sql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛")
+    @GetMapping("/dataSynchronizationApi")
+    @ApiOperation(value = "鍚屾sql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛")
     @RepeatSubmit
 //    @Transactional
     public AjaxResult dataSynchronizationApi(@RequestParam String tjNumber) {
         RLock lock = redissonClient.getLock("lock:check:dataSynchronization:" + tjNumber);
         try {
             boolean tryLock = lock.tryLock(3L, TimeUnit.SECONDS);
-            if (tryLock){
+            if (tryLock) {
                 String doctorId = configService.selectConfigByKey("request_default_check_doctorId");
                 //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12
                 final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
-
                 final String sfkqdyhis = configService.selectConfigByKey("sfkqdyhis");
                 TjOrder order = orderService.getOrderByTjNum(tjNumber);
                 if (null != order) {
@@ -658,10 +755,6 @@
                     //寮�鍚瓧鍏稿脊绐�
                     if ("Y".equals(getInfoFromSqlData)) {
                         tbhyxm(order);
-                        //鍚屾鍖栭獙椤圭洰
-                        testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
-                        //鍚屾妫�鏌ラ」鐩�
-                        testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
                         asyncService.updateCheckType(order.getTjNumber());
 
                     }
@@ -670,57 +763,73 @@
                         List<String> baoGaoDans = ltkjHybgdService.getJianYanBaoGaoDan(order.getCardId());
                         List<String> jianChaBaoGaoDan = ltkjHybgdService.getJianChaBaoGaoDan(order.getCardId());
                         //鍚屾妫�楠�
+                        String resultMsg = "";
                         if (null != baoGaoDans && !baoGaoDans.isEmpty()) {
                             Date dates = new Date();
-                            Map<String, Object> map = new HashMap<>();
-                            map.put("his_registration_id", order.getCardId());
-                            map.put("ksbm", "");
-                            map.put("pationid", "");
-                            map.put("ksrq", DateUtil.format(DateUtil.beginOfDay(order.getCreateTime()), "yyyy-MM-dd HH:mm:ss"));
-                            map.put("jsrq", DateUtil.format(DateUtil.endOfDay(dates), "yyyy-MM-dd HH:mm:ss"));
-                            map.put("pagecount", 10);
-                            map.put("page", 1);
-                            AjaxResult result = controller.Getlabreportinfo(map);
+                            String jytbfs = configService.selectConfigByKey("jytbfs");
+                            AjaxResult result;
+                            if (StrUtil.isBlank(jytbfs) || jytbfs.equalsIgnoreCase("Y")){
+                                Map<String, Object> map = new HashMap<>();
+                                map.put("his_registration_id", order.getCardId());
+                                map.put("ksbm", "");
+                                map.put("pationid", "");
+                                map.put("ksrq", DateUtil.format(DateUtil.beginOfDay(order.getCreateTime()), "yyyy-MM-dd HH:mm:ss"));
+                                map.put("jsrq", DateUtil.format(DateUtil.endOfDay(dates), "yyyy-MM-dd HH:mm:ss"));
+                                map.put("pagecount", 10);
+                                map.put("page", 1);
+                                result = controller.Getlabreportinfo(map);
+                            }else {
+                                result = ltkjHysqdService.getAsyncDataByPro("浣撴涓績", order.getCardId(), "''", 100, 1, "'1'");
+                            }
+                            log.info("妫�楠岄」鐩煡璇㈣繑鍥炲��:      " + JSONUtil.toJsonStr(result));
+
                             String result1 = getAjaxResult(result);
                             JSONObject object = getJSONObject(result1);
                             String code = object.getStr("ResultCode");
-                            if (null == code || !code.equals("0")) {
-                                return AjaxResult.error("鍖栭獙椤圭洰鏆傛椂鏈嚭缁撴灉,璇风◢鍚庡悓姝�!!!");
-                            }
-                            JSONArray data = object.getJSONArray("ResultData");
-                            for (Object datum : data) {
-                                JSONObject jsonObject = (JSONObject) datum;
-                                boolean isInsertHysqd = false;
-                                LtkjHysqd hysqd = new LtkjHysqd();
-                                hysqd.setTjh(order.getCardId());
-                                hysqd.setTmh(jsonObject.getStr("JYBGID"));
-                                hysqd.setBbbh(jsonObject.getStr("BBDM"));
-                                hysqd.setBbmc(jsonObject.getStr("BBMC"));
-                                hysqd.setXmid(jsonObject.getStr("JYXMDM"));
-                                hysqd.setXmmc(jsonObject.getStr("JYXMMC"));
-                                hysqd.setSqsj(jsonObject.getStr("SQRQ"));
-                                hysqd.setSqys(jsonObject.getStr("SQRBH"));
-                                hysqd.setJgsj(jsonObject.getStr("JYBGRQ"));
-                                hysqd.setSqrxm(jsonObject.getStr("SQRXM"));
-                                hysqd.setSqdh(jsonObject.getStr("SQDBH"));
-                                hysqd.setShrdm(jsonObject.getStr("JYYSBH"));
-                                hysqd.setShrxm(jsonObject.getStr("JYYSQM"));
-                                hysqd.setJybgjg(jsonObject.getStr("JYBGJG"));
-                                QueryWrapper<LtkjHysqd> queryWrapper = new QueryWrapper<>(hysqd);
-                                List<LtkjHysqd> list = ltkjHysqdService.list(queryWrapper);
-                                if (list.isEmpty())
-                                    isInsertHysqd = true;
-                                if (isInsertHysqd){
-                                    saveHysqd(hysqd);
-                                }else {
-                                    saveHybgd(hysqd);
+                            if (null != code && code.equals("0")) {
+                                JSONArray data = object.getJSONArray("ResultData");
+                                for (Object datum : data) {
+                                    JSONObject jsonObject = (JSONObject) datum;
+                                    LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(order.getCardId(), jsonObject.getStr("JYBGID"));
+                                    if (null != jybgid) {
+                                        ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(order.getCardId(), jsonObject.getStr("JYBGID"));
+                                        ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(jybgid.getTmh());
+                                    }
+                                    boolean isInsertHysqd = false;
+                                    LtkjHysqd hysqd = new LtkjHysqd();
+                                    hysqd.setTjh(order.getCardId());
+                                    hysqd.setTmh(jsonObject.getStr("JYBGID"));// 妫�楠屾姤鍛� ID
+                                    hysqd.setBbbh(jsonObject.getStr("BBDM"));// 鏍囨湰浠g爜
+                                    hysqd.setBbmc(jsonObject.getStr("BBMC"));// 鏍囨湰鍚嶇О
+                                    hysqd.setXmid(jsonObject.getStr("JYXMDM"));// 妫�楠岄」鐩唬鐮�
+                                    hysqd.setXmmc(jsonObject.getStr("JYXMMC"));// 妫�楠岄」鐩悕绉�
+                                    hysqd.setSqsj(jsonObject.getStr("SQRQ"));// 鐢宠鏃堕棿
+                                    hysqd.setSqys(jsonObject.getStr("SQRBH"));// 鐢宠鍖荤敓缂栧彿
+                                    hysqd.setJgsj(jsonObject.getStr("JYBGRQ"));// 鎶ュ憡鏃ユ湡
+                                    hysqd.setSqrxm(jsonObject.getStr("SQRXM"));// 鐢宠鍖荤敓濮撳悕
+                                    hysqd.setSqdh(jsonObject.getStr("SQDBH"));// 鐢宠鍖荤敓浠g爜锛屽瓧鍏镐唬鐮�
+                                    hysqd.setShrdm(jsonObject.getStr("JYYSBH"));// 瀹℃牳浜哄憳浠g爜锛屽瓧鍏镐唬鐮�
+                                    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())
+                                        isInsertHysqd = true;
+                                    if (isInsertHysqd) {
+                                        saveHysqd(hysqd);
+                                    } else {
+                                        saveHybgd(hysqd);
+                                    }
                                 }
+                            } else {
+                                resultMsg = "鍖栭獙椤圭洰鏆傛椂鏈嚭缁撴灉,璇风◢鍚庡悓姝�!!!";
                             }
                             //鍚屾鍖栭獙椤圭洰
                             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", "浣撴涓績");
@@ -730,9 +839,15 @@
                             lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Getexamreportinfo");
                             HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper);
                             /*鍚屾妫�鏌� his瀛樺偍杩囩▼*/
-                            AjaxResult results = jcsqdService.getTjJcProByHisCall("浣撴涓績", order.getCardId(), "''", 100, 1, "'1'");
-                            DynamicDataSourceContextHolder.clearDataSourceType();
-                            log.info("妫�鏌ラ」鐩煡璇㈣繑鍥炲��:      " + results.toString());
+                            String jctbfs = configService.selectConfigByKey("jctbfs");
+                            AjaxResult results = null;
+                            if (StrUtil.isBlank(jctbfs) || jctbfs.equalsIgnoreCase("Y")) {
+                                results = service.getHISDataNew("Getexamreportinfo", maps);
+                            } else {
+                                results = jcsqdService.getTjJcProByHisCall("浣撴涓績", order.getCardId(), "''", 100, 1, "'1'");
+                                DynamicDataSourceContextHolder.clearDataSourceType();
+                            }
+                            log.info("妫�鏌ラ」鐩煡璇㈣繑鍥炲��:      " + JSONUtil.toJsonStr(results));
                             if (Integer.parseInt(results.get("code").toString()) == 200) {
                                 List<Map<String, Object>> datas = (List<Map<String, Object>>) results.get("data");
                                 if (null != datas && !datas.isEmpty()) {
@@ -772,28 +887,53 @@
                                             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());
+//                                    List<LtkjExamJcsqd> jcsqdList = jcsqdService.getLtkjJcsqdByTjh(order.getCardId());
+//                                    jcycxmService.deletedByTjh(order.getTjNumber());
+//                                    if(!jcsqdList.isEmpty()){
+//                                        for (LtkjExamJcsqd jcsqd : jcsqdList) {
+//                                            if(StringUtil.isNotBlank(jcsqd.getJgzt())){
+//                                                String[] split = jcsqd.getJgzt().replaceAll("\n", "").split("銆倈锛泑;|,|锛�");
+//                                                for (String jg : split) {
+//                                                    if(StringUtil.isNotBlank(jg) && !jg.contains("鏈寮傚父")
+//                                                            && !jg.contains("鏈鏄庢樉寮傚父") && !jg.contains("鏈鍗犱綅") && !jg.contains("鏈")
+//                                                            && !jg.contains("鏈鏄庢樉")&& !jg.contains("姝e父")&& !jg.contains("鍙屼晶妞庨棿瀛旀棤鐙獎")){
+//                                                        TjJcycxm jcycxm=new TjJcycxm();
+//                                                        jcycxm.setTjh(order.getTjNumber());
+//                                                        jcycxm.setYqid("jczyy");
+//                                                        String[] split1 = jcsqd.getJcxmid().split(";");
+//                                                        jcycxm.setProId(split1[0]);
+//                                                        jcycxm.setProName(jcsqd.getJcxmmc());
+//                                                        jcycxm.setCreateTime(new Date());
+//                                                        jcycxm.setJcjg(jg);
+//                                                        jcycxmService.save(jcycxm);
+//                                                    }
+//                                                }
+//                                            }
+//                                        }
+//                                    }
+                                    configController.tjjcycxm(tjNumber,  "0");
                                     testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
-                                }else {
-                                    return AjaxResult.error("妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!");
+                                } else {
+                                    resultMsg += "\n妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!";
                                 }
                             }
                         }
-                        return AjaxResult.success("鍚屾鎴愬姛");
+
+                        if (StrUtil.isBlank(resultMsg))
+                            return AjaxResult.success("鍚屾鎴愬姛");
+                        else return AjaxResult.error(resultMsg);
                     }
-                    //鍖栭獙
-                    testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
-                    //妫�鏌�
-                    jcsqdService.saveLtkjExamJcsqd(order.getCardId());
                     return AjaxResult.success("鍚屾鎴愬姛");
                 }
                 return AjaxResult.error("鏈煡鍒拌浜哄憳浣撴璁板綍");
             }
             return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑");
         } catch (InterruptedException e) {
-            e.printStackTrace();
+            log.error(String.valueOf(e), e.getMessage());
             return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑");
         } finally {
             lock.unlock();
@@ -835,6 +975,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);
@@ -889,7 +1030,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());
@@ -898,7 +1039,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();
@@ -912,17 +1053,18 @@
     /**
      * 鏌ヨ浣撴璁板綍瀹㈡埛鍒楄〃
      */
-    @GetMapping ("/getList")
-    @ApiOperation (value = "鏌ヨ浣撴璁板綍瀹㈡埛鍒楄〃")//0寰�1宸�
+    @GetMapping("/getList")
+    @ApiOperation(value = "鏌ヨ浣撴璁板綍瀹㈡埛鍒楄〃")//0寰�1宸�
 //    @PreAuthorize("@ss.hasPermi('check:check:getList')")
-    public AjaxResult getList(@ApiParam (value = "瀹℃牳鐘舵��0寰呭鏍�1宸插鏍�") @RequestParam (required = false) Integer checkStatus,
-                              @ApiParam (value = "椤电爜鏁�(榛樿1)") @RequestParam (defaultValue = "1") Integer page,
-                              @ApiParam (value = "鏄剧ず鏉℃暟(榛樿10)") @RequestParam (defaultValue = "10") Integer pageSize,
-                              @ApiParam (value = "浣撴鍗曞彿") @RequestParam (required = false) String tjNumber,
-                              @ApiParam (value = "鍗曚綅") @RequestParam (required = false) Long compId,
-                              @ApiParam (value = "濮撳悕)") @RequestParam (required = false) String name,
-                              @ApiParam (value = "寮�濮嬫椂闂�") @RequestParam (required = false) String beginTime,
-                              @ApiParam (value = "缁撴潫鏃堕棿") @RequestParam (required = false) String endTime) {
+    public AjaxResult getList(@ApiParam(value = "瀹℃牳鐘舵��0寰呭鏍�1宸插鏍�") @RequestParam(required = false) Integer checkStatus,
+                              @ApiParam(value = "椤电爜鏁�(榛樿1)") @RequestParam(defaultValue = "1") Integer page,
+                              @ApiParam(value = "鏄剧ず鏉℃暟(榛樿10)") @RequestParam(defaultValue = "10") Integer pageSize,
+                              @ApiParam(value = "浣撴鍗曞彿") @RequestParam(required = false) String tjNumber,
+                              @ApiParam(value = "鍗曚綅") @RequestParam(required = false) Long compId,
+                              @ApiParam(value = "濮撳悕)") @RequestParam(required = false) String name,
+                              @ApiParam(value = "寮�濮嬫椂闂�") @RequestParam(required = false) String beginTime,
+                              @ApiParam(value = "缁撴潫鏃堕棿") @RequestParam(required = false) String endTime,
+                              @ApiParam(value = "浣撴绫诲瀷") @RequestParam(required = false) String tjCategory) {
         //        String config = configService.selectConfigByKey("tj_confirm");
 //        DateTime beginTimes = null;
 //        DateTime endTimes = null;
@@ -1019,21 +1161,20 @@
         if (name == null) name = "";
         if (beginTime == null) beginTime = "";
         if (endTime == null) endTime = "";
-        return AjaxResult.success(orderService.getCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name));
+        return AjaxResult.success(orderService.getCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name,tjCategory));
     }
 
 
-
-    @GetMapping ("/getBghsList")
-    @ApiOperation (value = "鎶ュ憡鏍告敹椤甸潰鏌ヨ鎺ュ彛")//0寰�1宸�
+    @GetMapping("/getBghsList")
+    @ApiOperation(value = "鎶ュ憡鏍告敹椤甸潰鏌ヨ鎺ュ彛")//0寰�1宸�
 //    @PreAuthorize("@ss.hasPermi('check:check:getList')")
-    public AjaxResult getBghsList(@ApiParam (value = "椤电爜鏁�(榛樿1)") @RequestParam (defaultValue = "1") Integer page,
-                              @ApiParam (value = "鏄剧ず鏉℃暟(榛樿10)") @RequestParam (defaultValue = "10") Integer pageSize,
-                              @ApiParam (value = "浣撴鍗曞彿") @RequestParam (required = false) String tjNumber,
-                              @ApiParam (value = "鍗曚綅") @RequestParam (required = false) Long compId,
-                              @ApiParam (value = "濮撳悕)") @RequestParam (required = false) String name,
-                              @ApiParam (value = "寮�濮嬫椂闂�") @RequestParam (required = false) String beginTime,
-                              @ApiParam (value = "缁撴潫鏃堕棿") @RequestParam (required = false) String endTime) {
+    public AjaxResult getBghsList(@ApiParam(value = "椤电爜鏁�(榛樿1)") @RequestParam(defaultValue = "1") Integer page,
+                                  @ApiParam(value = "鏄剧ず鏉℃暟(榛樿10)") @RequestParam(defaultValue = "10") Integer pageSize,
+                                  @ApiParam(value = "浣撴鍗曞彿") @RequestParam(required = false) String tjNumber,
+                                  @ApiParam(value = "鍗曚綅") @RequestParam(required = false) Long compId,
+                                  @ApiParam(value = "濮撳悕)") @RequestParam(required = false) String name,
+                                  @ApiParam(value = "寮�濮嬫椂闂�") @RequestParam(required = false) String beginTime,
+                                  @ApiParam(value = "缁撴潫鏃堕棿") @RequestParam(required = false) String endTime) {
         //        String config = configService.selectConfigByKey("tj_confirm");
 //        DateTime beginTimes = null;
 //        DateTime endTimes = null;
@@ -1134,7 +1275,6 @@
     }
 
 
-
     /**
      * 鏍规嵁浣撴璁㈠崟鍙疯幏鍙栦綋妫�璇︽儏淇℃伅鎺ュ彛
      *
@@ -1143,15 +1283,21 @@
      * @param checkStatus
      * @return
      */
-    @PutMapping ("/getTjdetailList")
-    @ApiOperation (value = "鏍规嵁浣撴璁㈠崟鍙疯幏鍙栦綋妫�璇︽儏淇℃伅(骞朵慨鏀圭姸鎬�)鎺ュ彛")
+    @PutMapping("/getTjdetailList")
+    @ApiOperation(value = "鏍规嵁浣撴璁㈠崟鍙疯幏鍙栦綋妫�璇︽儏淇℃伅(骞朵慨鏀圭姸鎬�)鎺ュ彛")
 //    @PreAuthorize("@ss.hasPermi('check:check:getTjdetailList')")
-    public AjaxResult getTjdetailList(@ApiParam (value = "浣撴tjNumber") @RequestParam String tjNumber,
-                                      @ApiParam (value = "鎬绘寤鸿") @RequestParam (required = false) String advice,
-                                      @ApiParam (value = "瀹℃牳鐘舵��0寰呭鏍�1宸插鏍�") @RequestParam Integer checkStatus) {
+    public AjaxResult getTjdetailList(@ApiParam(value = "浣撴tjNumber") @RequestParam String tjNumber,
+                                      @ApiParam(value = "鎬绘寤鸿") @RequestParam(required = false) String advice,
+                                      @ApiParam(value = "瀹℃牳鐘舵��0寰呭鏍�1宸插鏍�") @RequestParam Integer checkStatus,
+                                      @ApiParam(value = "鑱屼笟缁撹") @RequestParam(required = false) String zhiyeJl,
+                                      @ApiParam(value = "鑱屼笟缁撴灉") @RequestParam(required = false) String zhiyeJg) {
 
-        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);
@@ -1163,17 +1309,19 @@
                 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 (StrUtil.isNotBlank(zhiyeJl))
+                    tjOrder.setZhiyeJl(zhiyeJl);
+                if (StrUtil.isNotBlank(zhiyeJg))
+                    tjOrder.setZhiyeJg(zhiyeJg);
                 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("鎿嶄綔鎴愬姛");
                         }
@@ -1194,9 +1342,9 @@
      * @param tjNumber
      * @return
      */
-    @GetMapping ("/updateCheckType")
-    @ApiOperation (value = "鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏鈥斺�斺�斺�旈潪鍖栭獙椤圭洰")
-    public AjaxResult updateCheckType(@ApiParam (value = "瀹㈡埛浣撴鍙�") @RequestParam String tjNumber) {
+    @GetMapping("/updateCheckType")
+    @ApiOperation(value = "鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏鈥斺�斺�斺�旈潪鍖栭獙椤圭洰")
+    public AjaxResult updateCheckType(@ApiParam(value = "瀹㈡埛浣撴鍙�") @RequestParam String tjNumber) {
 //        if (redisCache.hasKey("updateCheckType" + tjNumber)) {
 //            List<Map<String, Object>> cacheMapValue = redisCache.getCacheMapValue("updateCheckType" + tjNumber, tjNumber);
 //            return AjaxResult.success(cacheMapValue);
@@ -1303,9 +1451,9 @@
      * @param tjNumber
      * @return
      */
-    @GetMapping ("/updateCheckTypeHuaYan")
-    @ApiOperation (value = "鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏鈥斺�斺�斺�斿寲楠岄」鐩�")
-    public AjaxResult updateCheckTypeHuaYan(@ApiParam (value = "瀹㈡埛浣撴鍙�") @RequestParam String tjNumber) {
+    @GetMapping("/updateCheckTypeHuaYan")
+    @ApiOperation(value = "鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏鈥斺�斺�斺�斿寲楠岄」鐩�")
+    public AjaxResult updateCheckTypeHuaYan(@ApiParam(value = "瀹㈡埛浣撴鍙�") @RequestParam String tjNumber) {
 //        asyncService.updateCheckType(tjNumber);
         List<Map<String, Object>> list = new ArrayList<>();
         TjOrder one = orderService.getOrderByTjNum(tjNumber);
@@ -1321,14 +1469,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();
@@ -1387,9 +1535,9 @@
     }
 
 
-    @GetMapping ("/updateHYANDCGCheckType")
-    @ApiOperation (value = "鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏鈥斺�斺�斺�斿父瑙勫拰鍖栭獙椤圭洰")
-    public AjaxResult updateHYANDCGCheckType(@ApiParam (value = "瀹㈡埛浣撴鍙�") @RequestParam String tjNumber) {
+    @GetMapping("/updateHYANDCGCheckType")
+    @ApiOperation(value = "鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏鈥斺�斺�斺�斿父瑙勫拰鍖栭獙椤圭洰")
+    public AjaxResult updateHYANDCGCheckType(@ApiParam(value = "瀹㈡埛浣撴鍙�") @RequestParam String tjNumber) {
         return getResult(tjNumber);
     }
 
@@ -1409,7 +1557,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());
@@ -1417,53 +1565,63 @@
                 parent.put("parentId", remark.getProsId());
                 parent.put("xmlb", remark.getXmlb());
                 parent.put("", remark.getXmlb());
+                parent.put("zhiyejl",one.getZhiyeJl());
+                parent.put("zhiyejg", one.getZhiyeJg());
                 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();
-                            if (null !=ckfw && StrUtil.isNotBlank(tjOrderDetail.getProAdvice())) {
+                            if (null != ckfw && StrUtil.isNotBlank(tjOrderDetail.getProAdvice())) {
                                 ckfw = ckfw.replace(tjOrderDetail.getProAdvice().trim(), "");
                             }
                             if (StrUtil.isNotBlank(ckfw)) {
                                 try {
                                     if (ckfw != null && ckfw.contains("-")) {
-                                    Integer.parseInt(tjOrderDetail.getYcbz());
-                                    String[] split = ckfw.split("-");
-                                    BigDecimal min = new BigDecimal(split[0]);
-                                    BigDecimal max = new BigDecimal(split[1]);
-                                    String proResult = tjOrderDetail.getProResult();
-                                    if(null !=proResult){
-                                        BigDecimal jyjgval = new BigDecimal(proResult);
-                                        if (jyjgval.compareTo(min) < 0) {
-                                            tjOrderDetail.setYcbz("鈫�");
-                                        } else if (jyjgval.compareTo(max) > 0) {
-                                            tjOrderDetail.setYcbz("鈫�");
-                                        } else if(proResult.contains("闃�")) {
-                                            tjOrderDetail.setYcbz("");
-                                        }else {
+                                        Integer.parseInt(tjOrderDetail.getYcbz());
+                                        String[] split = ckfw.split("-");
+                                        BigDecimal min = new BigDecimal(split[0]);
+                                        BigDecimal max = new BigDecimal(split[1]);
+                                        String proResult = tjOrderDetail.getProResult();
+                                        if (null != proResult) {
+                                            BigDecimal jyjgval = new BigDecimal(proResult);
+                                            if (jyjgval.compareTo(min) < 0) {
+                                                tjOrderDetail.setYcbz("鈫�");
+                                            } else if (jyjgval.compareTo(max) > 0) {
+                                                tjOrderDetail.setYcbz("鈫�");
+                                            } else if (proResult.contains("闃�")) {
+                                                tjOrderDetail.setYcbz("");
+                                            } else {
+                                                tjOrderDetail.setYcbz("");
+                                            }
+                                            if (null != tjOrderDetail.getYcbz() && !tjOrderDetail.getYcbz().isEmpty()) {
+                                                tjOrderDetail.setProResult(tjOrderDetail.getProResult() + " [" + tjOrderDetail.getYcbz() + "]");
+                                            }
+                                        } else {
                                             tjOrderDetail.setYcbz("");
                                         }
-                                        if (null != tjOrderDetail.getYcbz() && !tjOrderDetail.getYcbz().equals("")) {
-                                            tjOrderDetail.setProResult(tjOrderDetail.getProResult() + " [" + tjOrderDetail.getYcbz() + "]");
-                                        }
-                                    }else {
-                                        tjOrderDetail.setYcbz("");
-                                    }
-                                    }else {
-                                        if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�")) tjOrderDetail.setYcbz("");
+                                    } else {
+                                        if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
+                                            tjOrderDetail.setYcbz("");
 
-                                        if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�")) tjOrderDetail.setYcbz("鈫�");
+                                        if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
+                                            tjOrderDetail.setYcbz("鈫�");
                                     }
                                 } catch (NumberFormatException ignored) {
-                                    ignored.printStackTrace();
                                 }
-                            }else {
-                                tjOrderDetail.setYcbz("");
+                            } else {
+//                                tjOrderDetail.setYcbz("");
+                                if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
+                                    tjOrderDetail.setYcbz("");
+
+                                if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
+                                    tjOrderDetail.setYcbz("鈫�");
                                 tjOrderDetail.setProResult(tjOrderDetail.getProResult());
                             }
 
-                            dels.add(tjOrderDetail);
+                            if (remark.getOrgType().equals(tjOrderDetail.getOrgType())) {
+                                dels.add(tjOrderDetail);
+                            }
                         }
                     }
                     String summary = remark.getSummary();
@@ -1473,9 +1631,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());
@@ -1494,10 +1658,10 @@
     }
 
 
-    @GetMapping ("/getTm")
-    @ApiOperation (value = "鑾峰彇鏉$爜")
+    @GetMapping("/getTm")
+    @ApiOperation(value = "鑾峰彇鏉$爜")
 //    @PreAuthorize("@ss.hasPermi('check:check:getTm')")
-    public AjaxResult getTm(@ApiParam (value = "瀹㈡埛浣撴鍙�") @RequestParam String tjNumber) {
+    public AjaxResult getTm(@ApiParam(value = "瀹㈡埛浣撴鍙�") @RequestParam String tjNumber) {
         return AjaxResult.success(tjNumber);
     }
 
@@ -1506,10 +1670,10 @@
      *
      * @return
      */
-    @PostMapping ("/checkUpdateOrderRemark")
-    @ApiOperation (value = "鎬绘淇敼澶囨敞鎺ュ彛")
+    @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());
@@ -1559,4 +1723,435 @@
         return AjaxResult.success(map);
     }
 
+
+    @GetMapping("/getzongjianyishengchakanyichangxiangmu")
+    @ApiOperation(value = "鎬绘鏌ョ湅寮傚父椤圭洰鎺ュ彛")
+    public AjaxResult getzongjianyishengchakanyichangxiangmu(@RequestParam String tjNum) {
+        try {
+            if (StrUtil.isNotBlank(tjNum)) {
+                TjOrder one = orderService.getOrderByTjNum(tjNum);
+
+                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);
+                }
+            }
+            return AjaxResult.error();
+        } catch (Exception ex) {
+            //throw new RuntimeException(ex);
+            log.error(ex.getMessage());
+            return AjaxResult.error();
+        }
+    }
+
+    private static AjaxResult getOrderYcxmList(List<TjOrderYcxm> list) {
+        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);
+            }
+            return AjaxResult.success(maps);
+        } catch (Exception ex) {
+//            throw new RuntimeException(ex);
+            log.error(ex.getMessage());
+            return AjaxResult.error();
+        }
+    }
+
+    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);
+            String xb= customerService.getSexByTjh(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")) {
+                                            String replacedAll = tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "")
+                                                    .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "").replaceAll("鈼�", "");
+                                            List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString()
+                                                    , replacedAll,
+                                                    tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber
+                                                    ,replacedAll
+                                                    , tjOrderDetail.getProResult());
+
+
+                                            if (null != maps && !maps.isEmpty()) {
+                                                tjOrderDetail.setAdvices(maps);
+                                            }
+
+                                        } else {
+                                            String[] split = tjOrderDetail.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> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s, "0",xb);
+                                                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);
+            String xb= customerService.getSexByTjh(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")) {
+
+                                                String replacedAll = tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "")
+                                                        .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "").replaceAll("鈼�", "");
+
+                                                List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString()
+                                                        ,replacedAll,
+                                                        tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber
+                                                        , replacedAll
+                                                        , 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", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "");
+                                                    Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s, "0",xb);
+                                                    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 = "鎬绘鍒犻櫎寮傚父椤圭洰鎺ュ彛")
+    public AjaxResult delzongjianyishengchakanyichangxiangmu(@RequestParam String id) {
+        ycxmService.removeById(id);
+        return AjaxResult.success();
+    }
+
+
+    @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();
+    }
+
+
+    /**
+     * 鍚屾sql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛
+     */
+    @GetMapping("/newdataSynchronization")
+    @ApiOperation(value = "鏈�鏂板叕鍏卞悓姝ql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛")
+    @RepeatSubmit
+    public AjaxResult newdataSynchronization(@RequestParam String tjNumber) {
+        try {
+            //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12
+            final String sfkqdyhis = configService.selectConfigByKey("sfkqdyhis");
+            TjOrder order = orderService.getOrderByTjNum(tjNumber);
+            if (null != order) {
+                if (null != sfkqdyhis && sfkqdyhis.equals("Y")) {
+                    dataSynchronizationApi(tjNumber);
+                } else {
+                    configController.shoudongtbjyjcwsxmjg("jyjc", tjNumber);
+                }
+                return AjaxResult.success("鍚屾鎴愬姛");
+            }
+            return AjaxResult.error("鏈煡鍒拌浜哄憳浣撴璁板綍");
+        } catch (Exception e) {
+//            throw new RuntimeException(ex);
+            log.error(String.valueOf(e), e.getMessage());
+            return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑");
+        }
+    }
+
+
+    /**
+     * 鏌ヨ澶嶆煡椤圭洰鍒楄〃
+     * @param tjNum 浣撴鍙�
+     * @param type 澶嶆煡鐘舵�� 0鏈鏌ョ姸鎬� 1澶嶆煡鐘舵��
+     * @return
+     */
+    @GetMapping("/getFcList")
+    public AjaxResult getFcList(@RequestParam("tjNum") String tjNum,@RequestParam("type") Integer type){
+        TjOrder order = orderService.getOrderByTjNum(tjNum);
+        if (order == null)
+            return AjaxResult.error();
+        List<ProFcListVo> list = detailService.getFcList(order.getOrderId(),type);
+        return AjaxResult.success(list);
+    }
+
+    /**
+     * 澶嶆煡椤圭洰鎻愪氦
+     * @param json
+     * @return
+     */
+    @PostMapping("/UpdFcPro")
+    public AjaxResult updFcPro(@RequestBody String json) {
+        return detailService.updFcPro(json);
+    }
+
+
+
+    @GetMapping("/zongjianyishengHuiFuyichangxiangmu")
+    @ApiOperation(value = "鎬绘鎭㈠寮傚父椤圭洰鎺ュ彛")
+    public AjaxResult zongjianyishengHuiFuyichangxiangmu(@RequestParam String tjNum) {
+
+        List<TjOrderYcxm> list = ycxmService.zongjianyishengHuiFuyichangxiangmu(tjNum);
+        return AjaxResult.success(list);
+    }
+
+
+    @GetMapping("/zongjianyishengHuiFuyichangxiangmuanniu")
+    @ApiOperation(value = "鎬绘鎭㈠寮傚父椤圭洰鎸夐挳鎺ュ彛")
+    public AjaxResult zongjianyishengHuiFuyichangxiangmuanniu(@RequestParam String id) {
+
+        int a = ycxmService.zongjianyishengHuiFuyichangxiangmuanniu(id);
+        return AjaxResult.success(a);
+    }
+
+
+    @GetMapping("/zongjianyishengCheDiShanChuyichangxiangmuanniu")
+    @ApiOperation(value = "鎬绘褰诲簳鍒犻櫎寮傚父椤圭洰鎸夐挳鎺ュ彛")
+    public AjaxResult zongjianyishengCheDiShanChuyichangxiangmuanniu(@RequestParam String id) {
+
+        int a = ycxmService.zongjianyishengCheDiShanChuyichangxiangmuanniu(id);
+        return AjaxResult.success(a);
+    }
+
+
+
+    @GetMapping("/csymxmxzqtyybcjk")
+    @ApiOperation(value = "鍒濆椤甸潰椤圭洰閫夋嫨鍏朵粬鍘熷洜淇濆瓨鎺ュ彛")
+    @Transactional
+    public AjaxResult csymxmxzqtyybcjk(@RequestParam @ApiParam("浣撴鍙�") String tjNum,@RequestParam @ApiParam("椤圭洰ID") String proId,
+                                       @RequestParam @ApiParam("鍘熷洜") String yy) {
+
+        try {
+            String czydm = SecurityUtils.getUsername();
+            String czy = SecurityUtils.getLoginUser().getUser().getNickName();
+            TjProject tjProject = projectService.getById(proId);
+            if(null !=  tjProject){
+                SysDept dept = deptService.getById(tjProject.getDeptId());
+
+                LambdaQueryWrapper<TjOrderRemark> wq = new LambdaQueryWrapper<>();
+                wq.eq(TjOrderRemark::getTjNumber, tjNum);
+                wq.eq(TjOrderRemark::getProId, proId);
+                TjOrderRemark remark = orderRemarkService.getOne(wq);
+                remark.setType(1);
+                if (orderRemarkService.updateById(remark)) {
+                    orderRemarkService.csymxmxzqtyybcjk(tjNum,proId,yy,dept.getOrgType(),czy,czydm);
+                    return AjaxResult.success();
+                }
+            }
+        } catch (Exception ex) {
+            log.error(ex.getMessage());
+            throw new RuntimeException(ex);
+        }
+        return AjaxResult.error();
+    }
+
+
 }

--
Gitblit v1.8.0