From 5f1d1c462bbf49bc6a22b9e17b49733bcc1e0bc6 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期五, 20 六月 2025 19:01:13 +0800
Subject: [PATCH] zjh20250620

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java |  103 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 72 insertions(+), 31 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
index efaad75..66d92b1 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
@@ -42,6 +42,7 @@
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
@@ -473,6 +474,7 @@
                         else sampling.setJyxmdm(String.valueOf(project.getProId()));
                         sampling.setSpecimenTypeCode(project.getSpecimenType());
                         sampling.setSpecimenType(dictLabel);
+                        sampling.setYb(project.getYb());
                         //                        LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>();
                         //                        wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm());
                         //                        LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper);
@@ -484,6 +486,7 @@
                         sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix));
                         sampling.setSpecimenTypeCode(project1.getSpecimenType());
                         sampling.setSpecimenType(dictLabel);
+                        sampling.setYb(project.getYb());
                         if (config.equals("Y") && lisAndPacsRegister)
                             sampling.setJyxmdm(project1.getLisXmbm());
                         else sampling.setJyxmdm(String.valueOf(project1.getProId()));
@@ -2439,9 +2442,12 @@
             String ysmc = configService.selectConfigByKey("request_default_ysmc");
             String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix");
             List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(), cardId, jxbz);
-            Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
+//            Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
             List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos = new ArrayList<>();
-            if (useLisAndPacsRegister && isTuanTiPiao) {
+            String isRequestLisAllzx = configService.selectConfigByKey("jcx_is_requestLisAllzx");
+
+            if (isTuanTiPiao) {
+
                 // 妫�鏌ョ敵璇�
                 pacsReg(order, customer, jianChaProjects);
                 LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
@@ -2449,40 +2455,75 @@
                 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 (isRequestLisAllzx != null && isRequestLisAllzx.equalsIgnoreCase("Y")){
+                    log.info("琛ュ綍椤圭洰杩涘叆鍥綋鏍规嵁灏忛」鏍囨湰鍚堝苟鍙戦�佹柟娉�");
+
+                    if(null !=list && !list.isEmpty()){
+                        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(p->p.getSpecimenType()+"_"+p.getYb()));
+
+                            log.info("鍒嗙粍鍚� ->{}",JSONUtil.toJsonStr(listMap));
+                            boolean save = lisApiMethod.save(listMap, order, customer);
+                            if (!save) {
+                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                                return AjaxResult.error("澶勭悊澶辫触");
                             }
-                            if (stringList.size() > 1) {
-                                String id = tjSamplingService.mergeCaiYangApi(stringList, lis_tmh_prefix);
-                                ids.add(id);
-                            } else {
-                                ids.add(stringList.get(0));
+                            for (TjSampling tjSampling : list) {
+                                tjSampling.setIsSignFor("0");
                             }
-                        } else {
-                            ids.add(samplings.get(0).getId());
+                            tjSamplingService.updateBatchById(list);
                         }
                     }
-                    Boolean confirmed = samplingServiceApi.confirmSamplingApi(ids, "Y", "N");
-                    if (!confirmed)
-                        return AjaxResult.error("澶勭悊澶辫触");
+
+
+                }else {
+                    if (!list.isEmpty()) {
+//                    Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode));
+                        Map<String, List<TjSampling>> listMap = list.stream()
+                                .collect(Collectors.groupingBy(p->p.getSpecimenTypeCode()+"_"+p.getYb()));
+
+                        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 = samplingServiceApi.confirmSamplingApi(ids, "Y", "N");
+                        if (!confirmed)
+                            return AjaxResult.error("澶勭悊澶辫触");
+                    }
                 }
+
             } else {
                 List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list();
                 //妫�楠岀敵璇�

--
Gitblit v1.8.0