From f0cca3a055f5fc8dd62a96f599ab2cf9cc0a9cf7 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期六, 12 十月 2024 15:19:44 +0800
Subject: [PATCH] 修改lis检验申请单逻辑

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java |   58 +++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 45 insertions(+), 13 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 326fb68..c7c9a75 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,6 +33,7 @@
 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;
@@ -493,6 +494,8 @@
 
                     /*鍚屾妫�鏌� his瀛樺偍杩囩▼*/
                     AjaxResult results = jcsqdService.getTjJcProByHisCall("浣撴涓績", order.getCardId(), "''", 100, 1, "'1'");
+
+                    DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
                     DynamicDataSourceContextHolder.clearDataSourceType();
 
                     log.info("妫�鏌ラ」鐩煡璇㈣繑鍥炲��:      " + results.toString());
@@ -553,7 +556,24 @@
                                 jcbgdService.save(jcbgd);
                             }
                             jcsqdService.saveLtkjExamJcsqd(order.getCardId());
-                            testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
+
+                            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("妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!");
                         }
@@ -606,7 +626,7 @@
                 List<String> baoGaoDans = ltkjHybgdService.getJianYanBaoGaoDan(order.getCardId());
                 List<String> jianChaBaoGaoDan = ltkjHybgdService.getJianChaBaoGaoDan(order.getCardId());
                 //鍚屾妫�楠�
-                if (null != baoGaoDans && baoGaoDans.size() > 0) {
+                if (null != baoGaoDans && !baoGaoDans.isEmpty()) {
                     Date dates = new Date();
                     Map<String, Object> map = new HashMap<>();
                     map.put("his_registration_id", order.getCardId());
@@ -671,7 +691,7 @@
                     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) {
+                        if (null != datas && !datas.isEmpty()) {
                             jcsqdService.deletedLtkjJcsqdByTjhAndTmh(order.getCardId());
                             jcbgdService.deletedLtkjJcbgdByTjhAndTmh(order.getCardId());
                             for (Map<String, Object> objectMap : datas) {
@@ -1219,7 +1239,7 @@
 //        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);
 
@@ -1242,24 +1262,36 @@
                             }
                             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().equals("")) {
+                                            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("");

--
Gitblit v1.8.0