From 1b7ed7edb09aaecf68ddf3396ee007bc6eadf52a Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期一, 30 十二月 2024 17:04:09 +0800
Subject: [PATCH] zjh202412030

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java | 1066 ++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 699 insertions(+), 367 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 ab2051c..99b3545 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
@@ -33,12 +33,15 @@
 import com.ltkj.system.service.ISysUserService;
 import com.ltkj.web.controller.his.HisApiGetMethodService;
 import com.ltkj.web.controller.his.HisApiMethodService;
+import com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.extern.slf4j.Slf4j;
 import lombok.var;
 import org.aspectj.weaver.AjAttribute;
+import org.redisson.api.RLock;
+import org.redisson.api.RedissonClient;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.transaction.annotation.Transactional;
@@ -47,6 +50,7 @@
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 import static com.ltkj.framework.datasource.DynamicDataSourceContextHolder.log;
@@ -59,7 +63,7 @@
  */
 @RestController
 @RequestMapping ("/check")
-@Api (tags = "鎬绘鍖诲笀鐩稿叧鎺ュ彛")
+@Api (tags = "AAAAAAAAAAAA鎬绘鍖诲笀鐩稿叧鎺ュ彛")
 @Slf4j
 public class TjCheckController {
     @Resource
@@ -114,6 +118,61 @@
     private HisApiGetMethodService service;
     @Autowired
     private HisApiConfigService hisApiConfigService;
+    @Autowired
+    private RedissonClient redissonClient;
+    @Autowired
+    private ITjRulesService rulesService;
+
+
+    @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鍙搷浣�  鍙嶄箣涓嶅彲")
@@ -264,8 +323,13 @@
 //            });
 //        }
 
-        List<CsProVo> list = orderRemarkService.cSWebGetProByTjNumAndOrderId(tjNumber);
-        if (null != list && list.size() > 0) {
+        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.isEmpty()) {
             list.sort(new Comparator<CsProVo>() {
                 @Override
                 public int compare(CsProVo o1, CsProVo o2) {
@@ -273,7 +337,7 @@
                 }
             });
         }
-        return AjaxResult.success(list);
+        return list;
     }
 
 
@@ -329,17 +393,22 @@
 //    @Transactional
     public AjaxResult dataSynchronization(@RequestParam String tjNumber) {
 
-        //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12
-        final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
+        RLock lock = redissonClient.getLock("lock:check:dataSynchronization:" + tjNumber);
+        try {
+            boolean tryLock = lock.tryLock(3L, TimeUnit.SECONDS);
+            if (tryLock){
+                //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12
+                final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
 
-        final String sfkqdyhis = configService.selectConfigByKey("sfkqdyhis");
-        TjOrder order = orderService.getOrderByTjNum(tjNumber);
-        if (null != order) {
+                final String sfkqdyhis = configService.selectConfigByKey("sfkqdyhis");
+                final String sfkqdshitulianjie = configService.selectConfigByKey("sfkqdshitulianjie");
+                TjOrder order = orderService.getOrderByTjNum(tjNumber);
+                if (null != order) {
 
-            //寮�鍚瓧鍏稿脊绐�
-            if ("Y".equals(getInfoFromSqlData)) {
-                tbhyxm(order);
-                //                List<LtkjExamJcsqd> one2 = testMapper.getExamJcsqdTmh(tjNumber);
+                    //寮�鍚瓧鍏稿脊绐�
+                    if ("Y".equals(getInfoFromSqlData)) {
+                        tbhyxm(order);
+                        //                List<LtkjExamJcsqd> one2 = testMapper.getExamJcsqdTmh(tjNumber);
 //                if (one2 != null && one2.size() > 0) {
 //                    DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
 //                    ltkjExamJcsqdService.saveBatch(one2);
@@ -353,228 +422,283 @@
 //                        }
 //                    }
 //                }
-                //鍚屾鍖栭獙椤圭洰
-                testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
-                //鍚屾妫�鏌ラ」鐩�
-                testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
-                asyncService.updateCheckType(order.getTjNumber());
+                        //鍚屾鍖栭獙椤圭洰
+                        testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
+                        //鍚屾妫�鏌ラ」鐩�
+                        testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
+                        asyncService.updateCheckType(order.getTjNumber());
 
-            }
-
-            //寮�鍚拰his瀵规帴
-            if (null != sfkqdyhis && sfkqdyhis.equals("Y")) {
-
-                List<String> baoGaoDans = ltkjHybgdService.getJianYanBaoGaoDan(order.getCardId());
-                List<String> jianChaBaoGaoDan = ltkjHybgdService.getJianChaBaoGaoDan(order.getCardId());
-                //鍚屾妫�楠�
-                if (null != baoGaoDans && baoGaoDans.size() > 0) {
-                    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 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;
-                        LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(order.getCardId(), jsonObject.getStr("JYBGID"));
-                        if (null != jybgid) {
-                            ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(order.getCardId(), jsonObject.getStr("JYBGID"));
-                            ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(jybgid.getTmh());
-                        }
-                        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"));
-                        if (ltkjHysqdService.save(hysqd)) {
-                            Map<String, Object> hashMap = new HashMap<>();
-                            hashMap.put("jybgid", hysqd.getTmh());
-                            AjaxResult bgdres = controller.Getlabdetailinfo(hashMap);
-                            String result2 = getAjaxResult(bgdres);
-                            JSONObject object1 = getJSONObject(result2);
-                            String code1 = object1.getStr("ResultCode");
-                            if (null != code1 && code1.equals("0")) {
-                                JSONArray datas = object1.getJSONArray("ResultData");
-                                for (Object o : datas) {
-                                    JSONObject js = (JSONObject) o;
+                    //寮�鍚拰his瀵规帴
+                    if (null != sfkqdyhis && sfkqdyhis.equals("Y")) {
+
+                        List<String> baoGaoDans = ltkjHybgdService.getJianYanBaoGaoDan(order.getCardId());
+                        List<String> jianChaBaoGaoDan = ltkjHybgdService.getJianChaBaoGaoDan(order.getCardId());
+                        //鍚屾妫�楠�
+                        if (null != baoGaoDans && baoGaoDans.size() > 0) {
+                            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 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;
+                                LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(order.getCardId(), jsonObject.getStr("JYBGID"));
+                                if (null != jybgid) {
+                                    ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(order.getCardId(), jsonObject.getStr("JYBGID"));
+                                    ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(jybgid.getTmh());
+                                }
+                                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"));
+                                if (ltkjHysqdService.save(hysqd)) {
+                                    Map<String, Object> hashMap = new HashMap<>();
+                                    hashMap.put("jybgid", hysqd.getTmh());
+                                    AjaxResult bgdres = controller.Getlabdetailinfo(hashMap);
+                                    String result2 = getAjaxResult(bgdres);
+                                    JSONObject object1 = getJSONObject(result2);
+                                    String code1 = object1.getStr("ResultCode");
+                                    if (null != code1 && code1.equals("0")) {
+                                        JSONArray datas = object1.getJSONArray("ResultData");
+                                        for (Object o : datas) {
+                                            JSONObject js = (JSONObject) o;
 //                            ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(jsonObject.getStr("JYBGID"));
-                                    LtkjHybgd bgd = new LtkjHybgd();
-                                    bgd.setTmh(hysqd.getTmh());
-                                    bgd.setJcxmid(js.getStr("JCZBDM"));
-                                    bgd.setJcxm(js.getStr("JCZBMC"));
-                                    bgd.setTdh(js.getStr(""));
-                                    bgd.setJyjg(js.getStr("JCZBJG"));
-                                    bgd.setJgdw(js.getStr("JLDW"));
-                                    bgd.setFwzdz(js.getStr(""));
-                                    bgd.setFwzgz(js.getStr(""));
-                                    bgd.setFwz(js.getStr("CKZFW"));
-                                    bgd.setJysj(js.getStr("BGRQ"));
-                                    bgd.setJyys(js.getStr("JCRBH"));
-                                    bgd.setShsj(js.getStr("BGRQ"));
-                                    bgd.setShsj(js.getStr("BGRQ"));
-                                    bgd.setShys(js.getStr("SHRBH"));
-                                    bgd.setShysmc(js.getStr("SHRXM"));
-                                    bgd.setYcbz(js.getStr("YCTS"));
+                                            LtkjHybgd bgd = new LtkjHybgd();
+                                            bgd.setTmh(hysqd.getTmh());
+                                            bgd.setJcxmid(js.getStr("JCZBDM"));
+                                            bgd.setJcxm(js.getStr("JCZBMC"));
+                                            bgd.setTdh(js.getStr(""));
+                                            bgd.setJyjg(js.getStr("JCZBJG"));
+                                            bgd.setJgdw(js.getStr("JLDW"));
+                                            bgd.setFwzdz(js.getStr(""));
+                                            bgd.setFwzgz(js.getStr(""));
+                                            bgd.setFwz(js.getStr("CKZFW"));
+                                            bgd.setJysj(js.getStr("BGRQ"));
+                                            bgd.setJyys(js.getStr("JCRBH"));
+                                            bgd.setShsj(js.getStr("BGRQ"));
+                                            bgd.setShsj(js.getStr("BGRQ"));
+                                            bgd.setShys(js.getStr("SHRBH"));
+                                            bgd.setShysmc(js.getStr("SHRXM"));
+                                            bgd.setYcbz(js.getStr("YCTS"));
 //                            bgd.setTpurl(js.getStr(""));
-                                    ltkjHybgdService.save(bgd);
+                                            ltkjHybgdService.save(bgd);
+                                        }
+                                    }
+
+                                    Map<String, Object> fbhashMap = new HashMap<>();
+                                    fbhashMap.put("jybgid", hysqd.getTmh());
+                                    AjaxResult fbres = controller.Getlabgermrepinfo(fbhashMap);
+                                    String ajaxResult = getAjaxResult(fbres);
+                                    JSONObject fbobject = getJSONObject(ajaxResult);
+                                    String fbcode = fbobject.getStr("ResultCode");
+                                    if (null != fbcode && fbcode.equals("0")) {
+                                        JSONArray datas = fbobject.getJSONArray("ResultData");
+                                        for (Object o : datas) {
+                                            JSONObject js = (JSONObject) o;
+                                            LtkjHybgd bgd = new LtkjHybgd();
+                                            bgd.setTmh(hysqd.getTmh());
+                                            bgd.setJcxmid(hysqd.getXmid());
+                                            bgd.setJcxm(hysqd.getXmmc());
+                                            bgd.setTdh(js.getStr(""));
+                                            bgd.setJyjg(js.getStr("JCJG"));
+                                            bgd.setJgdw("/");
+                                            bgd.setFwzdz("/");
+                                            bgd.setFwzgz("/");
+                                            bgd.setFwz("/");
+                                            bgd.setJysj(js.getStr("BGRQ"));
+                                            bgd.setJyys(hysqd.getSqrxm());
+                                            bgd.setShsj(js.getStr("BGRQ"));
+                                            bgd.setShys(hysqd.getShrdm());
+                                            bgd.setShysmc(hysqd.getShrxm());
+                                            ltkjHybgdService.save(bgd);
+                                        }
+                                    }
+
                                 }
                             }
-
-                            Map<String, Object> fbhashMap = new HashMap<>();
-                            fbhashMap.put("jybgid", hysqd.getTmh());
-                            AjaxResult fbres = controller.Getlabgermrepinfo(fbhashMap);
-                            String ajaxResult = getAjaxResult(fbres);
-                            JSONObject fbobject = getJSONObject(ajaxResult);
-                            String fbcode = fbobject.getStr("ResultCode");
-                            if (null != fbcode && fbcode.equals("0")) {
-                                JSONArray datas = fbobject.getJSONArray("ResultData");
-                                for (Object o : datas) {
-                                    JSONObject js = (JSONObject) o;
-                                    LtkjHybgd bgd = new LtkjHybgd();
-                                    bgd.setTmh(hysqd.getTmh());
-                                    bgd.setJcxmid(hysqd.getXmid());
-                                    bgd.setJcxm(hysqd.getXmmc());
-                                    bgd.setTdh(js.getStr(""));
-                                    bgd.setJyjg(js.getStr("JCJG"));
-                                    bgd.setJgdw("/");
-                                    bgd.setFwzdz("/");
-                                    bgd.setFwzgz("/");
-                                    bgd.setFwz("/");
-                                    bgd.setJysj(js.getStr("BGRQ"));
-                                    bgd.setJyys(hysqd.getSqrxm());
-                                    bgd.setShsj(js.getStr("BGRQ"));
-                                    bgd.setShys(hysqd.getShrdm());
-                                    bgd.setShysmc(hysqd.getShrxm());
-                                    ltkjHybgdService.save(bgd);
-                                }
-                            }
-
+                            //鍚屾鍖栭獙椤圭洰
+                            testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
                         }
-                    }
-                    //鍚屾鍖栭獙椤圭洰
-                    testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
-                }
 
-                /*鍚屾妫�鏌� his鎺ュ彛*/
-                if (null != jianChaBaoGaoDan && jianChaBaoGaoDan.size() > 0) {
-                    Map<String, Object> maps = new HashMap<>();
-                    maps.put("his_registration_id", order.getCardId());
-                    maps.put("ksbm", "浣撴涓績");
-                    maps.put("pagecount", 100);
-                    maps.put("page", 1);
+                        /*鍚屾妫�鏌� his鎺ュ彛*/
+                        if (null != jianChaBaoGaoDan && jianChaBaoGaoDan.size() > 0) {
+                            Map<String, Object> maps = new HashMap<>();
+                            maps.put("his_registration_id", order.getCardId());
+                            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");
-                    HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper);
+                            LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+                            lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Getexamreportinfo");
+                            HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper);
 
 
-                    /*鍚屾妫�鏌� his瀛樺偍杩囩▼*/
-                    AjaxResult results = jcsqdService.getTjJcProByHisCall("浣撴涓績", order.getCardId(), "''", 100, 1, "'1'");
-                    DynamicDataSourceContextHolder.clearDataSourceType();
+                            /*鍚屾妫�鏌� his瀛樺偍杩囩▼*/
+                            AjaxResult results = jcsqdService.getTjJcProByHisCall("浣撴涓績", order.getCardId(), "''", 100, 1, "'1'");
 
-                    log.info("妫�鏌ラ」鐩煡璇㈣繑鍥炲��:      " + results.toString());
+                            DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
+                            DynamicDataSourceContextHolder.clearDataSourceType();
 
-                    if (Integer.parseInt(results.get("code").toString()) == 200) {
-                        List<Map<String, Object>> datas = (List<Map<String, Object>>) results.get("data");
-                        if (null != datas && datas.size() > 0) {
+                            log.info("妫�鏌ラ」鐩煡璇㈣繑鍥炲��:      " + results.toString());
+
+                            if (Integer.parseInt(results.get("code").toString()) == 200) {
+                                List<Map<String, Object>> datas = (List<Map<String, Object>>) results.get("data");
+                                if (null != datas && datas.size() > 0) {
+                                    jcsqdService.deletedLtkjJcsqdByTjhAndTmh(order.getCardId());
+                                    jcbgdService.deletedLtkjJcbgdByTjhAndTmh(order.getCardId());
+                                    for (Map<String, Object> objectMap : datas) {
+                                        //淇濆瓨鍏ュ弬鍑哄弬
+//                                service.save((JSONObject)objectMap,"Getexamreportinfo",hisApiConfig,JSONUtil.toJsonStr(maps));
+                                        service.save(JSONUtil.parseObj(objectMap), "Getexamreportinfo", hisApiConfig, JSONUtil.toJsonStr(maps));
+
+
+                                        LtkjExamJcbgd jcbgd = new LtkjExamJcbgd();
+                                        jcbgd.setTjh(order.getCardId());
+                                        if (null != objectMap.get("JCBGID") || !objectMap.get("JCBGID").equals(""))
+                                            jcbgd.setTmh(objectMap.get("JCBGID").toString());
+
+                                        if (null != objectMap.get("JCXMDM") || !objectMap.get("JCXMDM").equals(""))
+                                            jcbgd.setXmdm(objectMap.get("JCXMDM").toString());
+
+                                        if (null != objectMap.get("JCXMMC") || !objectMap.get("JCXMMC").equals(""))
+                                            jcbgd.setXmmc(objectMap.get("JCXMMC").toString());
+
+                                        if (null != objectMap.get("JCXMJG") || !objectMap.get("JCXMJG").equals(""))
+                                            jcbgd.setBgNr(objectMap.get("JCXMJG").toString());
+
+                                        if (null != objectMap.get("reporturl") || !objectMap.get("reporturl").equals(""))
+                                            jcbgd.setBgUrl(objectMap.get("reporturl").toString());
+
+                                        if (null != objectMap.get("SHYSQM") || !objectMap.get("SHYSQM").equals(""))
+                                            jcbgd.setShysxm(objectMap.get("SHYSQM").toString());
+
+                                        if (null != objectMap.get("SHYSBH") || !objectMap.get("SHYSBH").equals(""))
+                                            jcbgd.setShysdm(objectMap.get("SHYSBH").toString());
+
+                                        if (null != objectMap.get("YXZD") || !objectMap.get("YXZD").equals(""))
+                                            jcbgd.setYxzd(objectMap.get("YXZD").toString());
+
+                                        if (null != objectMap.get("YXBX") || !objectMap.get("YXBX").equals("")) {
+                                            if (objectMap.get("YXBX").toString().equals("null")) {
+                                                jcbgd.setYxbx("鏈寮傚父");
+                                            } else {
+                                                jcbgd.setYxbx(objectMap.get("YXBX").toString());
+                                            }
+                                        }
+                                        if (null != objectMap.get("SJJLSJ") || !objectMap.get("SJJLSJ").equals(""))
+                                            jcbgd.setZdsj(objectMap.get("SJJLSJ").toString());
+
+                                        if (null != objectMap.get("JCBW") || !objectMap.get("JCBW").equals(""))
+                                            jcbgd.setJcbw(objectMap.get("JCBW").toString());
+
+                                        if (null != objectMap.get("SQRQSJ") || !objectMap.get("SQRQSJ").equals(""))
+                                            jcbgd.setSqsj(objectMap.get("SQRQSJ").toString());
+
+                                        jcbgdService.save(jcbgd);
+                                    }
+                                    jcsqdService.saveLtkjExamJcsqd(order.getCardId());
+
+                                    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){
+                                                throw e;
+                                            }
+                                            try {
+                                                Thread.sleep(1000);
+                                            } catch (InterruptedException ignored) {
+                                            }
+                                        }
+                                    }
+                                }else {
+                                    return AjaxResult.error("妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!");
+                                }
+                            }
+                        }
+                        return AjaxResult.success("鍚屾鎴愬姛");
+                    }
+                    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());
-                            for (Map<String, Object> objectMap : datas) {
-                                //淇濆瓨鍏ュ弬鍑哄弬
-//                                service.save((JSONObject)objectMap,"Getexamreportinfo",hisApiConfig,JSONUtil.toJsonStr(maps));
-                                service.save(JSONUtil.parseObj(objectMap), "Getexamreportinfo", hisApiConfig, JSONUtil.toJsonStr(maps));
-
-
-                                LtkjExamJcbgd jcbgd = new LtkjExamJcbgd();
-                                jcbgd.setTjh(order.getCardId());
-                                if (null != objectMap.get("JCBGID") || !objectMap.get("JCBGID").equals(""))
-                                    jcbgd.setTmh(objectMap.get("JCBGID").toString());
-
-                                if (null != objectMap.get("JCXMDM") || !objectMap.get("JCXMDM").equals(""))
-                                    jcbgd.setXmdm(objectMap.get("JCXMDM").toString());
-
-                                if (null != objectMap.get("JCXMMC") || !objectMap.get("JCXMMC").equals(""))
-                                    jcbgd.setXmmc(objectMap.get("JCXMMC").toString());
-
-                                if (null != objectMap.get("JCXMJG") || !objectMap.get("JCXMJG").equals(""))
-                                    jcbgd.setBgNr(objectMap.get("JCXMJG").toString());
-
-                                if (null != objectMap.get("reporturl") || !objectMap.get("reporturl").equals(""))
-                                    jcbgd.setBgUrl(objectMap.get("reporturl").toString());
-
-                                if (null != objectMap.get("SHYSQM") || !objectMap.get("SHYSQM").equals(""))
-                                    jcbgd.setShysxm(objectMap.get("SHYSQM").toString());
-
-                                if (null != objectMap.get("SHYSBH") || !objectMap.get("SHYSBH").equals(""))
-                                    jcbgd.setShysdm(objectMap.get("SHYSBH").toString());
-
-                                if (null != objectMap.get("YXZD") || !objectMap.get("YXZD").equals(""))
-                                    jcbgd.setYxzd(objectMap.get("YXZD").toString());
-
-                                if (null != objectMap.get("YXBX") || !objectMap.get("YXBX").equals("")) {
-                                    if (objectMap.get("YXBX").toString().equals("null")) {
-                                        jcbgd.setYxbx("鏈寮傚父");
-                                    } else {
-                                        jcbgd.setYxbx(objectMap.get("YXBX").toString());
-                                    }
-                                }
-                                if (null != objectMap.get("SJJLSJ") || !objectMap.get("SJJLSJ").equals(""))
-                                    jcbgd.setZdsj(objectMap.get("SJJLSJ").toString());
-
-                                if (null != objectMap.get("JCBW") || !objectMap.get("JCBW").equals(""))
-                                    jcbgd.setJcbw(objectMap.get("JCBW").toString());
-
-                                if (null != objectMap.get("SQRQSJ") || !objectMap.get("SQRQSJ").equals(""))
-                                    jcbgd.setSqsj(objectMap.get("SQRQSJ").toString());
-
-                                jcbgdService.save(jcbgd);
-                            }
-                            jcsqdService.saveLtkjExamJcsqd(order.getCardId());
-                            testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
-                        }else {
-                            return AjaxResult.error("妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!");
+                            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.success("鍚屾鎴愬姛");
-
-
-                //鍚屾妫�鏌ラ」鐩粰redis缂撳瓨鐜板湪涓嶇敤浜�
-//                asyncService.updateCheckType(order.getTjNumber());
+                return AjaxResult.error("鏈煡鍒拌浜哄憳浣撴璁板綍");
             }
-            //鍖栭獙
-            testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
-            //妫�鏌�
-            jcsqdService.saveLtkjExamJcsqd(order.getCardId());
-            return AjaxResult.success("鍚屾鎴愬姛");
+            return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑");
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+            return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑");
+        }finally {
+            lock.unlock();
         }
-        return AjaxResult.error("鏈煡鍒拌浜哄憳浣撴璁板綍");
     }
+
+
 
     /**
      * 鍚屾sql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛
@@ -584,148 +708,161 @@
     @RepeatSubmit
 //    @Transactional
     public AjaxResult dataSynchronizationApi(@RequestParam String tjNumber) {
-        //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12
-        final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
+        RLock lock = redissonClient.getLock("lock:check:dataSynchronization:" + tjNumber);
+        try {
+            boolean tryLock = lock.tryLock(3L, TimeUnit.SECONDS);
+            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) {
+                final String sfkqdyhis = configService.selectConfigByKey("sfkqdyhis");
+                TjOrder order = orderService.getOrderByTjNum(tjNumber);
+                if (null != order) {
 
-            //寮�鍚瓧鍏稿脊绐�
-            if ("Y".equals(getInfoFromSqlData)) {
-                tbhyxm(order);
-                //鍚屾鍖栭獙椤圭洰
-                testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), "148");
-                //鍚屾妫�鏌ラ」鐩�
-                testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), "148");
-                asyncService.updateCheckType(order.getTjNumber());
+                    //寮�鍚瓧鍏稿脊绐�
+                    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());
 
-            }
-            //寮�鍚拰his瀵规帴
-            if (null != sfkqdyhis && sfkqdyhis.equals("Y")) {
-                List<String> baoGaoDans = ltkjHybgdService.getJianYanBaoGaoDan(order.getCardId());
-                List<String> jianChaBaoGaoDan = ltkjHybgdService.getJianChaBaoGaoDan(order.getCardId());
-                //鍚屾妫�楠�
-                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 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);
-                        }
-                    }
-                    //鍚屾鍖栭獙椤圭洰
-                    testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), "148");
-                }
-                /*鍚屾妫�鏌� his鎺ュ彛*/
-                if (null != jianChaBaoGaoDan && jianChaBaoGaoDan.size() > 0) {
-                    Map<String, Object> maps = new HashMap<>();
-                    maps.put("his_registration_id", order.getCardId());
-                    maps.put("ksbm", "浣撴涓績");
-                    maps.put("pagecount", 100);
-                    maps.put("page", 1);
-                    LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-                    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());
-                    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()) {
-                            jcsqdService.deletedLtkjJcsqdByTjhAndTmh(order.getCardId());
-                            jcbgdService.deletedLtkjJcbgdByTjhAndTmh(order.getCardId());
-                            for (Map<String, Object> objectMap : datas) {
-                                //淇濆瓨鍏ュ弬鍑哄弬
-                                service.save(JSONUtil.parseObj(objectMap), "Getexamreportinfo", hisApiConfig, JSONUtil.toJsonStr(maps));
-                                LtkjExamJcbgd jcbgd = new LtkjExamJcbgd();
-                                jcbgd.setTjh(order.getCardId());
-                                if (null != objectMap.get("JCBGID") || !objectMap.get("JCBGID").equals(""))
-                                    jcbgd.setTmh(objectMap.get("JCBGID").toString());
-                                if (null != objectMap.get("JCXMDM") || !objectMap.get("JCXMDM").equals(""))
-                                    jcbgd.setXmdm(objectMap.get("JCXMDM").toString());
-                                if (null != objectMap.get("JCXMMC") || !objectMap.get("JCXMMC").equals(""))
-                                    jcbgd.setXmmc(objectMap.get("JCXMMC").toString());
-                                if (null != objectMap.get("JCXMJG") || !objectMap.get("JCXMJG").equals(""))
-                                    jcbgd.setBgNr(objectMap.get("JCXMJG").toString());
-                                if (null != objectMap.get("reporturl") || !objectMap.get("reporturl").equals(""))
-                                    jcbgd.setBgUrl(objectMap.get("reporturl").toString());
-                                if (null != objectMap.get("SHYSQM") || !objectMap.get("SHYSQM").equals(""))
-                                    jcbgd.setShysxm(objectMap.get("SHYSQM").toString());
-                                if (null != objectMap.get("SHYSBH") || !objectMap.get("SHYSBH").equals(""))
-                                    jcbgd.setShysdm(objectMap.get("SHYSBH").toString());
-                                if (null != objectMap.get("YXZD") || !objectMap.get("YXZD").equals(""))
-                                    jcbgd.setYxzd(objectMap.get("YXZD").toString());
-                                if (null != objectMap.get("YXBX") || !objectMap.get("YXBX").equals("")) {
-                                    if (objectMap.get("YXBX").toString().equals("null")) {
-                                        jcbgd.setYxbx("鏈寮傚父");
-                                    } else {
-                                        jcbgd.setYxbx(objectMap.get("YXBX").toString());
-                                    }
-                                }
-                                if (null != objectMap.get("SJJLSJ") || !objectMap.get("SJJLSJ").equals(""))
-                                    jcbgd.setZdsj(objectMap.get("SJJLSJ").toString());
-                                if (null != objectMap.get("JCBW") || !objectMap.get("JCBW").equals(""))
-                                    jcbgd.setJcbw(objectMap.get("JCBW").toString());
-                                if (null != objectMap.get("SQRQSJ") || !objectMap.get("SQRQSJ").equals(""))
-                                    jcbgd.setSqsj(objectMap.get("SQRQSJ").toString());
-                                jcbgdService.save(jcbgd);
+                    //寮�鍚拰his瀵规帴
+                    if (null != sfkqdyhis && sfkqdyhis.equals("Y")) {
+                        List<String> baoGaoDans = ltkjHybgdService.getJianYanBaoGaoDan(order.getCardId());
+                        List<String> jianChaBaoGaoDan = ltkjHybgdService.getJianChaBaoGaoDan(order.getCardId());
+                        //鍚屾妫�楠�
+                        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 result1 = getAjaxResult(result);
+                            JSONObject object = getJSONObject(result1);
+                            String code = object.getStr("ResultCode");
+                            if (null == code || !code.equals("0")) {
+                                return AjaxResult.error("鍖栭獙椤圭洰鏆傛椂鏈嚭缁撴灉,璇风◢鍚庡悓姝�!!!");
                             }
-                            jcsqdService.saveLtkjExamJcsqd(order.getCardId());
-                            testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), "148");
-                        }else {
-                            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);
+                                }
+                            }
+                            //鍚屾鍖栭獙椤圭洰
+                            testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
                         }
+                        /*鍚屾妫�鏌� his鎺ュ彛*/
+                        if (null != jianChaBaoGaoDan && jianChaBaoGaoDan.size() > 0) {
+                            Map<String, Object> maps = new HashMap<>();
+                            maps.put("his_registration_id", order.getCardId());
+                            maps.put("ksbm", "浣撴涓績");
+                            maps.put("pagecount", 100);
+                            maps.put("page", 1);
+                            LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+                            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());
+                            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()) {
+                                    jcsqdService.deletedLtkjJcsqdByTjhAndTmh(order.getCardId());
+                                    jcbgdService.deletedLtkjJcbgdByTjhAndTmh(order.getCardId());
+                                    for (Map<String, Object> objectMap : datas) {
+                                        //淇濆瓨鍏ュ弬鍑哄弬
+                                        service.save(JSONUtil.parseObj(objectMap), "Getexamreportinfo", hisApiConfig, JSONUtil.toJsonStr(maps));
+                                        LtkjExamJcbgd jcbgd = new LtkjExamJcbgd();
+                                        jcbgd.setTjh(order.getCardId());
+                                        if (null != objectMap.get("JCBGID") || !objectMap.get("JCBGID").equals(""))
+                                            jcbgd.setTmh(objectMap.get("JCBGID").toString());
+                                        if (null != objectMap.get("JCXMDM") || !objectMap.get("JCXMDM").equals(""))
+                                            jcbgd.setXmdm(objectMap.get("JCXMDM").toString());
+                                        if (null != objectMap.get("JCXMMC") || !objectMap.get("JCXMMC").equals(""))
+                                            jcbgd.setXmmc(objectMap.get("JCXMMC").toString());
+                                        if (null != objectMap.get("JCXMJG") || !objectMap.get("JCXMJG").equals(""))
+                                            jcbgd.setBgNr(objectMap.get("JCXMJG").toString());
+                                        if (null != objectMap.get("reporturl") || !objectMap.get("reporturl").equals(""))
+                                            jcbgd.setBgUrl(objectMap.get("reporturl").toString());
+                                        if (null != objectMap.get("SHYSQM") || !objectMap.get("SHYSQM").equals(""))
+                                            jcbgd.setShysxm(objectMap.get("SHYSQM").toString());
+                                        if (null != objectMap.get("SHYSBH") || !objectMap.get("SHYSBH").equals(""))
+                                            jcbgd.setShysdm(objectMap.get("SHYSBH").toString());
+                                        if (null != objectMap.get("YXZD") || !objectMap.get("YXZD").equals(""))
+                                            jcbgd.setYxzd(objectMap.get("YXZD").toString());
+                                        if (null != objectMap.get("YXBX") || !objectMap.get("YXBX").equals("")) {
+                                            if (objectMap.get("YXBX").toString().equals("null")) {
+                                                jcbgd.setYxbx("鏈寮傚父");
+                                            } else {
+                                                jcbgd.setYxbx(objectMap.get("YXBX").toString());
+                                            }
+                                        }
+                                        if (null != objectMap.get("SJJLSJ") || !objectMap.get("SJJLSJ").equals(""))
+                                            jcbgd.setZdsj(objectMap.get("SJJLSJ").toString());
+                                        if (null != objectMap.get("JCBW") || !objectMap.get("JCBW").equals(""))
+                                            jcbgd.setJcbw(objectMap.get("JCBW").toString());
+                                        if (null != objectMap.get("SQRQSJ") || !objectMap.get("SQRQSJ").equals(""))
+                                            jcbgd.setSqsj(objectMap.get("SQRQSJ").toString());
+                                        jcbgdService.save(jcbgd);
+                                    }
+                                    jcsqdService.saveLtkjExamJcsqd(order.getCardId());
+                                    testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
+                                }else {
+                                    return AjaxResult.error("妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!");
+                                }
+                            }
+                        }
+                        return AjaxResult.success("鍚屾鎴愬姛");
                     }
+                    //鍖栭獙
+                    testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
+                    //妫�鏌�
+                    jcsqdService.saveLtkjExamJcsqd(order.getCardId());
+                    return AjaxResult.success("鍚屾鎴愬姛");
                 }
-                return AjaxResult.success("鍚屾鎴愬姛");
+                return AjaxResult.error("鏈煡鍒拌浜哄憳浣撴璁板綍");
             }
-            //鍖栭獙
-            testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), "148");
-            //妫�鏌�
-            jcsqdService.saveLtkjExamJcsqd(order.getCardId());
-            return AjaxResult.success("鍚屾鎴愬姛");
+            return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑");
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+            return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑");
+        } finally {
+            lock.unlock();
         }
-        return AjaxResult.error("鏈煡鍒拌浜哄憳浣撴璁板綍");
     }
 
     private void saveHysqd(LtkjHysqd hysqd) {
@@ -950,6 +1087,119 @@
         return AjaxResult.success(orderService.getCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name));
     }
 
+
+
+    @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) {
+        //        String config = configService.selectConfigByKey("tj_confirm");
+//        DateTime beginTimes = null;
+//        DateTime endTimes = null;
+//        if (null != beginTime && null != endTime) {
+//            beginTimes = DateUtil.beginOfDay(DateUtil.parse(beginTime));
+//            endTimes = DateUtil.endOfDay(DateUtil.parse(endTime));
+//        }
+//        asyncService.checkSetCustomerLisByRedis(config);
+//        //鍒濆鍖栦綋妫�璁㈠崟琛�
+//        List<TjOrder> orderList = null;
+//        List<TjCustomer> customerList = new ArrayList<>();
+//        Map<String, Object> map = new HashMap<>();
+//
+//        //濮撳悕鏌ヨ
+//        if (null != name && !"".equals(name)) {
+//            List<TjCustomer> list = customerService.getTjCustomerList(name);
+//            if (null != list && list.size() > 0) {
+//                List<TjCustomer> lists = new ArrayList<>();
+//                for (TjCustomer customer : list) {
+//                    if ("Y".equals(config)) {
+//                        orderList = orderService.getCsTjOrderListByCusId1(customer.getCusId());
+//                    } else {
+//                        orderList = orderService.getTjOrderListByCusId(customer.getCusId());
+//                    }
+//                    if (null != orderList && orderList.size() > 0) {
+//                        for (TjOrder tjOrder : orderList) {
+//                            customer.setTjNumber(tjOrder.getTjNumber());
+//                            customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus()));
+//                            customer.setOrderId(tjOrder.getOrderId());
+//                            customer.setTjTime(tjOrder.getFinishTime());
+//                            customer.setFinishTime(tjOrder.getFinishTime());
+//                            customer.setCusName(MatchUtils.hideCusName(customer.getCusName()));
+//                            customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
+//                            customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard()));
+//                            customer.setConfirmStatus(String.valueOf(tjOrder.getStatus()));
+//                            customer.setTjCategory(tjOrder.getTjCategory());
+//                            if (tjOrder.getFirmId().equals("0")) {
+//                                customer.setTjCompName(null);
+//                            } else {
+//                                customer.setTjCompName(compService.selectDictCompByDrugManufacturerId(tjOrder.getFirmId()).getCnName());
+//                            }
+//                            lists.add(customer);
+//                        }
+//                    }
+//                }
+//                List<TjCustomer> customers = null;
+//                if (lists.size() > 0) {
+//                    customers = lists.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
+//                }
+//                map.put("customers", customers);
+//                map.put("total", lists.size());
+//                return AjaxResult.success(map);
+//            }
+//            return AjaxResult.success("鏆傛棤鏁版嵁");
+//        }
+//
+//        //鏉′欢鏌ヨ
+//        if (null != tjNumber || null != compId || (null != beginTime && null != endTime)) {
+//            //鍒ゆ柇鏄惁寮�鍚垵瀹�
+//            if ("Y".equals(config)) {
+//                orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes);
+//            } else {
+//                orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
+//            }
+//            return getResult(page, pageSize, orderList, customerList, map);
+//        }
+//
+//        List<TjCustomer> customers = null;
+//        if (null != checkStatus && checkStatus == 0) {
+//            customers = redisCache.getCacheMapValue("check", "ws");
+//        }
+//        if (null != checkStatus && checkStatus == 1) {
+//            customers = redisCache.getCacheMapValue("check", "ys");
+//        }
+//        if (customers != null && customers.size() > 0) {
+////            asyncService.addRedis(customers);
+//            List<TjCustomer> customerLists = customers.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
+//            map.put("customers", customerLists);
+//            map.put("total", customers.size());
+//            return AjaxResult.success(map);
+//        } else {
+//            //鍒ゆ柇鏄惁寮�鍚垵瀹�
+//            if ("Y".equals(config)) {
+//                orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes);
+//            } else {
+//                orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
+//            }
+//            return getResult(page, pageSize, orderList, customerList, map);
+//        }
+
+        String value = String.valueOf(compId);
+        if (tjNumber == null) tjNumber = "";
+        if (compId == null) value = "";
+        if (name == null) name = "";
+        if (beginTime == null) beginTime = "";
+        if (endTime == null) endTime = "";
+        return AjaxResult.success(orderService.getgetBghsList(tjNumber, page, pageSize, value, beginTime, endTime, name));
+    }
+
+
+
     /**
      * 鏍规嵁浣撴璁㈠崟鍙疯幏鍙栦綋妫�璇︽儏淇℃伅鎺ュ彛
      *
@@ -965,8 +1215,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);
@@ -978,17 +1232,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("鎿嶄綔鎴愬姛");
                         }
@@ -1136,14 +1388,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();
@@ -1219,12 +1471,12 @@
 //        final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
 //        if(null !=getInfoFromSqlData && getInfoFromSqlData.equals("Y"))
 //        tbhyxm(one);
-        TjCustomer customer = customerService.getById(one.getUserId());
+//        TjCustomer customer = customerService.getById(one.getUserId());
         List<TjOrderRemark> remarkList = orderRemarkService.addHuaYanAndCgTable(tjNumber);
         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());
@@ -1233,7 +1485,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();
@@ -1242,24 +1494,35 @@
                             }
                             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();
-                                    BigDecimal jyjgval = new BigDecimal(proResult);
-                                    if (jyjgval.compareTo(min) < 0) {
-                                        tjOrderDetail.setYcbz("鈫�");
-                                    } else if (jyjgval.compareTo(max) > 0) {
-                                        tjOrderDetail.setYcbz("鈫�");
-                                    } else {
+                                    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("");
                                     }
+                                    }else {
+                                        if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�")) tjOrderDetail.setYcbz("");
+
+                                        if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�")) tjOrderDetail.setYcbz("鈫�");
+                                    }
                                 } catch (NumberFormatException ignored) {
-                                    ignored.printStackTrace();
-                                }
-                                if (null != tjOrderDetail.getYcbz() && !tjOrderDetail.getYcbz().equals("")) {
-                                    tjOrderDetail.setProResult(tjOrderDetail.getProResult() + " [" + tjOrderDetail.getYcbz() + "]");
                                 }
                             }else {
                                 tjOrderDetail.setYcbz("");
@@ -1276,7 +1539,7 @@
                     } else {
                         parent.put("parentAdvice", null);
                     }
-                    if (dels.size() == 0) {
+                    if (dels.isEmpty()) {
                         continue;
                     }
                     parent.put("sons", dels);
@@ -1362,4 +1625,73 @@
         return AjaxResult.success(map);
     }
 
+
+
+    @GetMapping ("/getzongjianyishengchakanyichangxiangmu")
+    @ApiOperation (value = "鎬绘鏌ョ湅寮傚父椤圭洰鎺ュ彛")
+    public AjaxResult getzongjianyishengchakanyichangxiangmu(@RequestParam String tjNum) {
+        if (StrUtil.isNotBlank(tjNum)) {
+            return zongjianyishengchakanyichangxiangmu(tjNum);
+        }
+        return AjaxResult.error();
+    }
+
+    private AjaxResult zongjianyishengchakanyichangxiangmu(String tjNumber) {
+//        asyncService.updateCheckType(tjNumber);
+        TjOrder one = orderService.getOrderByTjNum(tjNumber);
+
+        if (one == null) {
+            return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒");
+        }
+        List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber);
+        List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber);
+        List<Map<String, Object>> list = new ArrayList<>();
+        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()){
+                                List<Map<String,Object>> maps= rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString(),"",tjOrderDetail.getYcbz(),tjNumber);
+                                if(null !=maps && !maps.isEmpty()){
+                                    tjOrderDetail.setAdvices(maps);
+                                }
+                            }
+
+                            dels.add(tjOrderDetail);
+                        }
+                    }
+                    if(!dels.isEmpty()){
+                        parent.put("proName",remark.getProName());
+                        parent.put("jyjc",remark.getJyjc());
+                        parent.put("sone",dels);
+                        list.add(parent);
+                    }
+                } else {
+                    return AjaxResult.success("璇ヤ汉鍛樻棤寮傚父椤圭洰");
+                }
+            }
+            return AjaxResult.success(list);
+        }
+        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);
+    }
+
+
+
 }

--
Gitblit v1.8.0