From 776c0bfcc8bbd37c3ea6337e148820d110731599 Mon Sep 17 00:00:00 2001
From: 赵文轩 <1652863494@qq.com>
Date: 星期四, 31 十月 2024 10:04:16 +0800
Subject: [PATCH] 同步结果增加redis锁

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java |  711 ++++++++++++++++++++++++++++++----------------------------
 1 files changed, 370 insertions(+), 341 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 ac31adf..ca71035 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
@@ -40,6 +40,8 @@
 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;
@@ -48,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;
@@ -115,6 +118,8 @@
     private HisApiGetMethodService service;
     @Autowired
     private HisApiConfigService hisApiConfigService;
+    @Autowired
+    private RedissonClient redissonClient;
 
     @GetMapping ("/getOperationPermissionsByTjNum")
     @ApiOperation (value = "(鍒濆椤甸潰  鍜� 鍖荤敓椤甸潰)鏍规嵁浣撴鍙疯幏鍙栨槸鍚﹀彲鎿嶄綔鏉冮檺鎺ュ彛  true鍙搷浣�  鍙嶄箣涓嶅彲")
@@ -330,17 +335,21 @@
 //    @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");
+                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);
@@ -354,246 +363,254 @@
 //                        }
 //                    }
 //                }
-                //鍚屾鍖栭獙椤圭洰
-                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'");
+                            /*鍚屾妫�鏌� his瀛樺偍杩囩▼*/
+                            AjaxResult results = jcsqdService.getTjJcProByHisCall("浣撴涓績", order.getCardId(), "''", 100, 1, "'1'");
 
-                    DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
-                    DynamicDataSourceContextHolder.clearDataSourceType();
+                            DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
+                            DynamicDataSourceContextHolder.clearDataSourceType();
 
-                    log.info("妫�鏌ラ」鐩煡璇㈣繑鍥炲��:      " + results.toString());
+                            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) {
-                                //淇濆瓨鍏ュ弬鍑哄弬
+                            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));
+                                        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());
+                                        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("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("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("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("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("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("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("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("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);
                                     }
-                                }
-                                if (null != objectMap.get("SJJLSJ") || !objectMap.get("SJJLSJ").equals(""))
-                                    jcbgd.setZdsj(objectMap.get("SJJLSJ").toString());
+                                    jcsqdService.saveLtkjExamJcsqd(order.getCardId());
 
-                                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;
+                                    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) {
+                                            }
+                                        }
                                     }
-                                    try {
-                                        Thread.sleep(1000);
-                                    } catch (InterruptedException ignored) {
-                                    }
+
+                                }else {
+                                    return AjaxResult.error("妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!");
                                 }
                             }
-
-                        }else {
-                            return AjaxResult.error("妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!");
                         }
-                    }
-                }
 
 
-                return AjaxResult.success("鍚屾鎴愬姛");
+                        return AjaxResult.success("鍚屾鎴愬姛");
 
 
-                //鍚屾妫�鏌ラ」鐩粰redis缂撳瓨鐜板湪涓嶇敤浜�
+                        //鍚屾妫�鏌ラ」鐩粰redis缂撳瓨鐜板湪涓嶇敤浜�
 //                asyncService.updateCheckType(order.getTjNumber());
-            }
-            //鍖栭獙
-            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());
+                    //妫�鏌�
 //            jcsqdService.saveLtkjExamJcsqd(order.getCardId());
-            return AjaxResult.success("鍚屾鎴愬姛");
+                    return AjaxResult.success("鍚屾鎴愬姛");
+                }
+                return AjaxResult.error("鏈煡鍒拌浜哄憳浣撴璁板綍");
+            }
+            return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑");
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+            return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑");
+        }finally {
+            lock.unlock();
         }
-        return AjaxResult.error("鏈煡鍒拌浜哄憳浣撴璁板綍");
     }
 
     /**
@@ -604,148 +621,160 @@
     @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){
+                //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�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(), "148");
+                        //鍚屾妫�鏌ラ」鐩�
+                        testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), "148");
+                        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(), "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);
+                                    }
+                                    jcsqdService.saveLtkjExamJcsqd(order.getCardId());
+                                    testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), "148");
+                                }else {
+                                    return AjaxResult.error("妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!");
+                                }
+                            }
+                        }
+                        return AjaxResult.success("鍚屾鎴愬姛");
                     }
+                    //鍖栭獙
+                    testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), "148");
+                    //妫�鏌�
+                    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) {

--
Gitblit v1.8.0