From ea4215c39165f49b4cd956a0b51574d90c1d9b97 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期五, 28 三月 2025 17:26:59 +0800
Subject: [PATCH] zjh20250328

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java |   33 ++++++++++++++++++++++++++++++---
 1 files changed, 30 insertions(+), 3 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
index 71aee5b..ce54c89 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -56,6 +56,7 @@
 import com.ltkj.hosp.dto.UpdateTransitionnewPriceDto;
 import com.ltkj.hosp.hisDto.OutpinimpapplyDto;
 import com.ltkj.hosp.hisDto.OutpinmedicapplyDto;
+import com.ltkj.hosp.idutil.IdUtils;
 import com.ltkj.hosp.mapper.TbTransitionMapper;
 import com.ltkj.hosp.mapper.TestMapper;
 import com.ltkj.hosp.mapper.TjSamplingMapper;
@@ -1107,10 +1108,36 @@
 
 
 //        String tjNumber = (SecurityUtils.getUsername() + idUtils.getTjNumber());
-        String tjNumber = idUtils.getTjNumber();
-        if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber;
-        tjOrder.setTjNumber(tjNumber);
+//        String tjNumber = idUtils.getTjNumber();
 
+        String tjNumber = null;
+        int a =0;
+        while (tjNumber ==null){
+            if(a>3){
+                throw new RuntimeException("鍓嶆柟鎷ユ尋,璇风◢绛�!!!");
+            }
+            try {
+                String newTjNumberRedisLockAndMysql = idUtils.getNewTjNumberRedisLockAndMysql();
+                if (StringUtil.isNotBlank(makeLisTmhPrefix)){
+                    String tjh=  makeLisTmhPrefix + newTjNumberRedisLockAndMysql;
+                    int countByTjNum = tjOrderService.getOrderCountByTjNum(tjh);
+                    if(countByTjNum==0){
+                        tjNumber=tjh;
+                    }
+                }else {
+                    int countByTjNum = tjOrderService.getOrderCountByTjNum(newTjNumberRedisLockAndMysql);
+                    if(countByTjNum==0){
+                        tjNumber=newTjNumberRedisLockAndMysql;
+                    }
+                }
+            } catch (Exception e) {
+                log.error(e.getMessage());
+            }finally {
+                a++;
+            }
+        }
+
+        tjOrder.setTjNumber(tjNumber);
 
         BigDecimal discount = BigDecimal.valueOf(Double.parseDouble(tjOrder.getTjFlowingWater().getDiscount()));
         tjOrder.setDiscount(discount.toString());

--
Gitblit v1.8.0