From b9ec0ddbda9381e4587426a0cb7cf400cfb8c972 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期二, 25 三月 2025 17:44:38 +0800
Subject: [PATCH] zjh20250325

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java |   76 ++++++++++++++++++++-----------------
 1 files changed, 41 insertions(+), 35 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
index 8761b80..55113dc 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
@@ -28,6 +28,7 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import org.springframework.transaction.NoTransactionException;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
@@ -2014,45 +2015,50 @@
         String mergeRequest = configService.selectConfigByKey("use_lis_pacs_is_auto_merge_request");
         String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix");
         if (mergeRequest.equals("Y")){
-            LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
-            wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber());
-            List<TjSampling> list = tjSamplingService.list(wrapper);
-            log.info("閲囨牱鏁版嵁 ->{}",JSONUtil.toJsonStr(list));
-            if (!list.isEmpty()) {
-                Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode));
-            log.info("鍒嗙粍鍚� ->{}",JSONUtil.toJsonStr(listMap));
-                ArrayList<String> ids = new ArrayList<>();
-                for (Map.Entry<String, List<TjSampling>> entry : listMap.entrySet()) {
-                log.info("key ->{},val ->{}",entry.getKey(),entry.getValue());
-                    // Lis鏍囨湰浠g爜
-                    String specimenTypeCode = entry.getKey();
-                    List<TjSampling> samplings = entry.getValue();
-                    if (samplings.size() >= 2) {
-                        // 杩涜鍚堝苟
-                        List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList());
-//                        log.info("鎻愬彇id ->{}",stringList);
-                        for (int i = 0; i < stringList.size(); i++) {
-                            String s = stringList.get(i);
-                            if (tjSamplingService.isMergeItem(s) != 0) {
-                                stringList.remove(s);
-                                ids.add(s);
+            try {
+                LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
+                wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber());
+                List<TjSampling> list = tjSamplingService.list(wrapper);
+                log.info("閲囨牱鏁版嵁 ->{}",JSONUtil.toJsonStr(list));
+                if (!list.isEmpty()) {
+                    Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode));
+                log.info("鍒嗙粍鍚� ->{}",JSONUtil.toJsonStr(listMap));
+                    ArrayList<String> ids = new ArrayList<>();
+                    for (Map.Entry<String, List<TjSampling>> entry : listMap.entrySet()) {
+                    log.info("key ->{},val ->{}",entry.getKey(),entry.getValue());
+                        // Lis鏍囨湰浠g爜
+                        String specimenTypeCode = entry.getKey();
+                        List<TjSampling> samplings = entry.getValue();
+                        if (samplings.size() >= 2) {
+                            // 杩涜鍚堝苟
+                            List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList());
+    //                        log.info("鎻愬彇id ->{}",stringList);
+                            for (int i = 0; i < stringList.size(); i++) {
+                                String s = stringList.get(i);
+                                if (tjSamplingService.isMergeItem(s) != 0) {
+                                    stringList.remove(s);
+                                    ids.add(s);
+                                }
                             }
+                            if (stringList.size() > 1) {
+                                String id = tjSamplingService.mergeCaiYangApi(stringList,lis_tmh_prefix);
+                                ids.add(id);
+                            }else {
+                                ids.add(stringList.get(0));
+                            }
+                        } else {
+                            ids.add(samplings.get(0).getId());
                         }
-                        if (stringList.size() > 1) {
-                            String id = tjSamplingService.mergeCaiYangApi(stringList,lis_tmh_prefix);
-                            ids.add(id);
-                        }else {
-                            ids.add(stringList.get(0));
-                        }
-                    } else {
-                        ids.add(samplings.get(0).getId());
+                    }
+                    Boolean confirmed = samplingService.confirmSamplingApi(ids, "Y", "N");
+                    if (!confirmed) {
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        return AjaxResult.error("澶勭悊澶辫触");
                     }
                 }
-                Boolean confirmed = samplingService.confirmSamplingApi(ids, "Y", "N");
-                if (!confirmed) {
-                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                    return AjaxResult.error("澶勭悊澶辫触");
-                }
+            } catch (NoTransactionException e) {
+//                throw new RuntimeException(e);
+                log.error(e.getMessage().toString());
             }
         }
 

--
Gitblit v1.8.0