From 2c19fa65dc87ea8f3d81f84154f4eeabff7f8d00 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 05 六月 2025 12:36:47 +0800
Subject: [PATCH] zjh20250605

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java |  197 +++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 156 insertions(+), 41 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..28223a3 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;
 
@@ -2001,59 +2002,86 @@
             log.error("pacs鐢宠澶辫触 璇ョ櫥璁颁汉鎸傚彿澶辫触, 灏辫瘖鍙蜂负: " + tjOrder.getCardId());
             return AjaxResult.error("鎸傚彿澶辫触!" + result.get("msg").toString());
         }
-
-//        LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>();
-//        wq2.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId());
-//        wq2.isNotNull(TjOrderDetail::getFlowingWaterId);
-//        wq2.eq(TjOrderDetail::getIsSampling, 0);
-//        List<TjOrderDetail> detailList1 = tjOrderDetailService.list(wq2);
         List<TjOrderDetail> detailList1 = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
-//        log.info("TjOrderDetail ->{}",JSONUtil.toJsonStr(detailList1));
         tjSysAsyncService.addCaiYangDengJi(detailList1, !detailList1.isEmpty(), tjOrder, sysUser,null);
 
         String mergeRequest = configService.selectConfigByKey("use_lis_pacs_is_auto_merge_request");
         String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix");
+        String isRequestLisAllzx = configService.selectConfigByKey("jcx_is_requestLisAllzx");
         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);
+            if (isRequestLisAllzx != null && isRequestLisAllzx.equals("Y")){
+                log.info("杩涘叆鍥綋鏍规嵁灏忛」鏍囨湰鍚堝苟鍙戦�佹柟娉�");
+                LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
+                wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber());
+                List<TjSampling> list = tjSamplingService.list(wrapper);
+                List<String> strings = list.stream().map(TjSampling::getProId).collect(Collectors.toList());
+                LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>();
+                wrapper1.in(TjProject::getProParentId,strings);
+                wrapper1.eq(TjProject::getProStatus,0);
+                wrapper1.groupBy(TjProject::getProId);
+                List<TjProject> tjProjectList = projectService.list(wrapper1);
+                if(null !=  tjProjectList && !tjProjectList.isEmpty()){
+                    Map<String, List<TjProject>> listMap = tjProjectList.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType));
+                    log.info("鍒嗙粍鍚� ->{}",JSONUtil.toJsonStr(listMap));
+                    boolean save = lisApiMethod.save(listMap, tjOrder, customer);
+                    if (!save) {
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        return AjaxResult.error("澶勭悊澶辫触");
+                    }
+                    for (TjSampling tjSampling : list) {
+                        tjSampling.setIsSignFor("0");
+                    }
+                    tjSamplingService.updateBatchById(list);
+                }
+
+            }else{
+                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));
+                        Boolean confirmed = samplingService.confirmSamplingApi(ids, "Y", "N");
+                        if (!confirmed) {
+                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                            return AjaxResult.error("澶勭悊澶辫触");
                         }
-                    } else {
-                        ids.add(samplings.get(0).getId());
                     }
-                }
-                Boolean confirmed = samplingService.confirmSamplingApi(ids, "Y", "N");
-                if (!confirmed) {
-                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                    return AjaxResult.error("澶勭悊澶辫触");
+                } catch (NoTransactionException e) {
+//                throw new RuntimeException(e);
+                    log.error(String.valueOf(e),e.getMessage());
                 }
             }
+
         }
 
         //妫�楠岀敵璇�
@@ -2219,6 +2247,93 @@
         return AjaxResult.success();
     }
 
+
+    public AjaxResult tijianBlshenqing(TjCustomer customer,TjOrder tjOrder, SysUser sysUser,String jxbz) {
+        List<TbTransition> detailList = tbTransitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(), tjOrder.getCardId(),jxbz);
+        pacsApiMethodService.save(tjOrder, customer, detailList);
+        List<TjOrderDetail> detailList1 = tjOrderDetailService.getCaiYangDengJiJxbz(tjOrder.getOrderId(), jxbz);
+        tjSysAsyncService.addCaiYangDengJi(detailList1, !detailList1.isEmpty(), tjOrder, sysUser,null);
+
+        String mergeRequest = configService.selectConfigByKey("use_lis_pacs_is_auto_merge_request");
+        String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix");
+        String isRequestLisAllzx = configService.selectConfigByKey("jcx_is_requestLisAllzx");
+        if (mergeRequest.equals("Y")){
+            if (isRequestLisAllzx != null && isRequestLisAllzx.equals("Y")){
+                log.info("杩涘叆鍥綋鏍规嵁灏忛」鏍囨湰鍚堝苟鍙戦�佹柟娉�");
+                LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
+                wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber());
+                wrapper.eq(TjSampling::getJxbz,jxbz);
+                List<TjSampling> list = tjSamplingService.list(wrapper);
+                List<String> strings = list.stream().map(TjSampling::getProId).collect(Collectors.toList());
+                LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>();
+                wrapper1.in(TjProject::getProParentId,strings);
+                wrapper1.eq(TjProject::getProStatus,0);
+                wrapper1.eq(TjProject::getDeleted,0);
+                wrapper1.groupBy(TjProject::getProId);
+                List<TjProject> tjProjectList = projectService.list(wrapper1);
+                Map<String, List<TjProject>> listMap = tjProjectList.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType));
+                log.info("鍒嗙粍鍚� ->{}",JSONUtil.toJsonStr(listMap));
+                boolean save = lisApiMethod.save(listMap, tjOrder, customer);
+                if (!save) {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return AjaxResult.error("澶勭悊澶辫触");
+                }
+                for (TjSampling tjSampling : list) {
+                    tjSampling.setIsSignFor("0");
+                }
+                tjSamplingService.updateBatchById(list);
+            }else{
+                try {
+                    LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
+                    wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber());
+                    wrapper.eq(TjSampling::getJxbz,jxbz);
+                    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());
+                            }
+                        }
+                        Boolean confirmed = samplingService.confirmSamplingApi(ids, "Y", "N");
+                        if (!confirmed) {
+                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                            return AjaxResult.error("澶勭悊澶辫触");
+                        }
+                    }
+                } catch (NoTransactionException e) {
+                    log.error(String.valueOf(e),e.getMessage());
+                }
+            }
+
+        }
+        return AjaxResult.success();
+    }
+
     //閫�璐瑰悗鍙栨秷鎺ヨ瘖浣滃簾鐢宠鍗曠瓑鎿嶄綔
     @Transactional
     public boolean ZfHisApiMethods(TjCustomer customer, TjOrder order,Boolean isUseLisAndPacsRegister) {

--
Gitblit v1.8.0