From 27e09a7b8549c5a84891c62b1625adbe81db04fc Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 21 十一月 2024 13:43:46 +0800
Subject: [PATCH] zjh20241121

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java |  190 +++++++++++++++++++++++++---------------------
 1 files changed, 103 insertions(+), 87 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 77ca503..136cd37 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
@@ -18,7 +18,7 @@
 import com.ltkj.web.controller.lis.LisApiMethod;
 import com.ltkj.web.controller.pacs.PacsApiMethodService;
 import com.ltkj.web.controller.service.TjSysAsyncServiceImpl;
-import com.ltkj.web.controller.system.TjSamplingController;
+import com.ltkj.web.controller.system.SamplingServiceApi;
 import jdk.nashorn.internal.runtime.logging.Logger;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -81,7 +81,7 @@
     @Autowired
     private ITjSamplingService tjSamplingService;
     @Autowired
-    private TjSamplingController samplingController;
+    private SamplingServiceApi samplingService;
 
 
     //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡
@@ -276,6 +276,7 @@
                     String mxfyxmbm = detail.getMxfyxmbm();
                     tree.setHisXmdm(mxfyxmbm);
                     tree.setType("妫�楠�");
+                    tree.setService("his");
                     tree.setTjPrice(String.valueOf(detail.getProjg()));
                     LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
                     if (detail.getSfzhfy().equals("1"))
@@ -383,6 +384,7 @@
                     String mxfyxmbm = detail.getMxfyxmbm();
                     tree.setHisXmdm(mxfyxmbm);
                     tree.setType("妫�鏌�");
+                    tree.setService("his");
                     tree.setTjPrice(String.valueOf(detail.getProjg()));
                     LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
                     if (detail.getSfzhfy().equals("1"))
@@ -585,36 +587,42 @@
             LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
             wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber());
             List<TjSampling> list = tjSamplingService.list(wrapper);
-//            log.info("閲囨牱鏁版嵁 ->{}",list);
-            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() > 1){
-                    // 杩涜鍚堝苟
-                    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);
+            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);
+                            ids.add(id);
+                        }else {
+                            ids.add(stringList.get(0));
+                        }
+                    } else {
+                        ids.add(samplings.get(0).getId());
                     }
-                    String id = tjSamplingService.mergeCaiYangApi(stringList);
-                    ids.add(id);
-                }else {
-                    ids.add(samplings.get(0).getId());
                 }
-            }
-            Boolean confirmed = samplingController.confirmSamplingApi(ids, "Y", "Y");
-            if (!confirmed){
-                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return AjaxResult.error("澶勭悊澶辫触");
+                Boolean confirmed = samplingService.confirmSamplingApi(ids, "Y", "N");
+                if (!confirmed) {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return AjaxResult.error("澶勭悊澶辫触");
+                }
             }
         }
 
@@ -787,10 +795,6 @@
         Date dates = new Date();
         final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss");
 
-        List<String> jcsqdh = orderService.getHuoQuJcsqdh(order.getCardId());
-
-        List<String> jysqdh = orderService.getHuoQuJysqdh(order.getCardId());
-
 
         List<String> zlsqdh = orderService.getHuoQuZlsqdh(order.getCardId());
 
@@ -803,25 +807,28 @@
         JSONObject object1 = null;
         String code1 = null;
 
-        if (isUseLisAndPacsRegister){
+//        if (isUseLisAndPacsRegister){
             TjCustomer customer1 = customerService.getById(order.getUserId());
             // 浣滃簾妫�鏌ョ敵璇�
-            if (jcsqdh != null && !jcsqdh.isEmpty()){
-                for (String sqdh : jcsqdh) {
-                    AjaxResult cancelPacsAjaxResult = pacsApiMethodService.updatePacsApply(sqdh, order.getCardId(), customer1.getCusName());
-                    String result = cancelPacsAjaxResult.get("data").toString();
-                    JSONObject object = JSONUtil.parseObj(result);
-                    String code = object.getStr("ResultCode");
-                    if(code.equals("1")){
-                        orderService.delHuoQuJcsqdh(order.getCardId());
-                    }
+        List<String> bljcsqdhByPacs = orderService.getBljcsqdhByPacs(order.getCardId());
+        if (bljcsqdhByPacs != null && !bljcsqdhByPacs.isEmpty()){
+            for (String sqdh : bljcsqdhByPacs) {
+                AjaxResult cancelPacsAjaxResult = pacsApiMethodService.updatePacsApply(sqdh, order.getCardId(), customer1.getCusName());
+                String result = cancelPacsAjaxResult.get("data").toString();
+                JSONObject object = JSONUtil.parseObj(result);
+                String code = object.getStr("ResultCode");
+                if(code.equals("1")){
+                    orderService.delHuoQuJcsqdh(order.getCardId());
                 }
             }
+        }
             // 浣滃簾妫�楠岀敵璇�
-            if (jysqdh != null && !jysqdh.isEmpty()){
-                for (String sqdh : jysqdh) {
-                    AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName());
-                    log.info("lis璇锋眰杩斿洖 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult));
+        List<String> bljysqdhByLis = orderService.getBljysqdhByLis(order.getCardId());
+        if (bljysqdhByLis != null && !bljysqdhByLis.isEmpty()){
+            for (String sqdh : bljysqdhByLis) {
+                AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName());
+                log.info("lis璇锋眰杩斿洖 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult));
+                if (cancelLisAjaxResult.get("code").toString().equals("200")){
                     String result = cancelLisAjaxResult.get("data").toString();
                     JSONObject object = JSONUtil.parseObj(result);
                     String code= object.getStr("ResultCode");
@@ -830,8 +837,12 @@
                     }
                 }
             }
+        }
 
-        }else {
+//        }else {
+        List<String> jcsqdh = orderService.getHuoQuJcsqdh(order.getCardId());
+
+        List<String> jysqdh = orderService.getHuoQuJysqdh(order.getCardId());
             //2.1.6.5 浣滃簾闂ㄨ瘖妫�鏌ョ敵璇�
             if (null != jcsqdh && jcsqdh.size()>0) {
                 for (String s : jcsqdh) {
@@ -889,7 +900,7 @@
                     }
                 }
             }
-        }
+//        }
 
         //2.1.3 闂ㄨ瘖鍖荤敓鍙栨秷鎺ヨ瘖
         ajaxResult = controller.Outpinunconapply(order.getCardId(), date, "00029");
@@ -906,14 +917,11 @@
 
     //浣滃簾琛ュ綍椤圭洰
     public boolean ZfBlXm(List<String> bldhs, TjOrder order) {
-
+        log.info("bldhs ->{}",JSONUtil.toJsonStr(bldhs));
         if(null !=bldhs && bldhs.size()>0){
+            log.info("杩涘叆鍒ゆ柇");
             try {
                 for (String bldh : bldhs) {
-                    List<String> jcsqdh = orderService.getHuoQuBlJcsqdh(order.getCardId(),bldh);
-
-                    List<String> jysqdh = orderService.getHuoQuBlJysqdh(order.getCardId(),bldh);
-
 
                     List<String> zlsqdh = orderService.getHuoQuBlZlsqdh(order.getCardId(),bldh);
 
@@ -924,42 +932,50 @@
                     String result2 = null;
                     JSONObject object1 = null;
                     String code1 = null;
-
-                    if (lisApiMethod.isUseLisAndPacsRegister(order)) {
-                        TjCustomer customer1 = customerService.getById(order.getUserId());
-                        // 浣滃簾妫�鏌ョ敵璇�
-                        if (jcsqdh != null && !jcsqdh.isEmpty()){
-                            for (String sqdh : jcsqdh) {
-                                AjaxResult cancelPacsAjaxResult = pacsApiMethodService.updatePacsApply(sqdh, order.getCardId(), customer1.getCusName());
-                                log.info("浣滃簾妫�鏌� pacs杩斿洖 ->{}",JSONUtil.toJsonStr(cancelPacsAjaxResult));
-                                String result = cancelPacsAjaxResult.get("data").toString();
-                                JSONObject object = JSONUtil.parseObj(result);
-                                String code = object.getStr("ResultCode");
-                                if(code.equals("1")){
-                                    orderService.delHuoQuBlJcsqdh(order.getCardId(),bldh);
-                                }else {
-                                    return false;
-                                }
+                    log.info("鏌ヨ鍓�");
+//                    if (lisApiMethod.isUseLisAndPacsRegister(order)) {
+                    TjCustomer customer1 = customerService.getById(order.getUserId());
+                    log.info("customer1 ->{}",customer1);
+                    List<String> bljcsqdhByPacs = orderService.getBljcsqdhByPacs(order.getCardId(), bldh);
+                    log.info("bljcsqdhByPacs ->{}",bljcsqdhByPacs);
+                    // 浣滃簾妫�鏌ョ敵璇�
+                    if (bljcsqdhByPacs != null && !bljcsqdhByPacs.isEmpty()){
+                        for (String sqdh : bljcsqdhByPacs) {
+                            AjaxResult cancelPacsAjaxResult = pacsApiMethodService.updatePacsApply(sqdh, order.getCardId(), customer1.getCusName());
+                            log.info("浣滃簾妫�鏌� pacs杩斿洖 ->{}",JSONUtil.toJsonStr(cancelPacsAjaxResult));
+                            String result = cancelPacsAjaxResult.get("data").toString();
+                            JSONObject object = JSONUtil.parseObj(result);
+                            String code = object.getStr("ResultCode");
+                            if(code.equals("1")){
+                                orderService.delHuoQuBlJcsqdh(order.getCardId(),bldh);
+                            }else {
+                                return false;
                             }
                         }
-                        // 浣滃簾妫�楠岀敵璇�
-                        if (jysqdh != null && !jysqdh.isEmpty()){
-                            for (String sqdh : jysqdh) {
-                                AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName());
-                                log.info("浣滃簾妫�楠� pacs杩斿洖 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult));
-                                String result = cancelLisAjaxResult.get("data").toString();
-                                JSONObject object = JSONUtil.parseObj(result);
-                                String code= object.getStr("ResultCode");
-                                if(code.equals("1")){
-                                    orderService.delHuoQuBlJysqdh(order.getCardId(),bldh);
-                                }else {
-                                    return false;
-                                }
+                    }
+                    List<String> bljysqdhByLis = orderService.getBljysqdhByLis(order.getCardId(), bldh);
+                    log.info("bljysqdhByLis ->{}",bljysqdhByLis);
+                    // 浣滃簾妫�楠岀敵璇�
+                    if (bljysqdhByLis != null && !bljysqdhByLis.isEmpty()){
+                        for (String sqdh : bljysqdhByLis) {
+                            AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName());
+                            log.info("浣滃簾妫�楠� pacs杩斿洖 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult));
+                            String result = cancelLisAjaxResult.get("data").toString();
+                            JSONObject object = JSONUtil.parseObj(result);
+                            String code= object.getStr("ResultCode");
+                            if(code.equals("1")){
+                                orderService.delHuoQuBlJysqdh(order.getCardId(),bldh);
+                            }else {
+                                return false;
                             }
                         }
+                    }
 
-                    }else {
-                        //2.1.6.5 浣滃簾闂ㄨ瘖妫�鏌ョ敵璇�
+                    List<String> jcsqdh = orderService.getHuoQuBlJcsqdh(order.getCardId(),bldh);
+
+                    List<String> jysqdh = orderService.getHuoQuBlJysqdh(order.getCardId(),bldh);
+//                    }else {
+//                        2.1.6.5 浣滃簾闂ㄨ瘖妫�鏌ョ敵璇�
                         if (null != jcsqdh && jcsqdh.size()>0) {
                             for (String s : jcsqdh) {
                                 AjaxResult result = controller.Outpindelexamapply(order.getCardId(), "00029", s);
@@ -1018,11 +1034,11 @@
                                 }
                             }
                         }
-                    }
+//                    }
                     return true;
                 }
             } catch (Exception e) {
-                e.printStackTrace();
+                log.error(e.getMessage());
                 return false;
             }
         }

--
Gitblit v1.8.0