From 0c89b885bfa36df4e4013916c2a2dfa3273ac7aa Mon Sep 17 00:00:00 2001
From: 赵文轩 <1652863494@qq.com>
Date: 星期五, 01 十一月 2024 08:38:15 +0800
Subject: [PATCH] 2024-11-01

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java |   90 +++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 79 insertions(+), 11 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 5f69744..0d237f9 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,6 +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.SamplingServiceApi;
 import jdk.nashorn.internal.runtime.logging.Logger;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -75,6 +76,12 @@
     private TjSysAsyncServiceImpl tjSysAsyncService;
     @Autowired
     private LisApiMethod lisApiMethod;
+    @Autowired
+    private ISysConfigService configService;
+    @Autowired
+    private ITjSamplingService tjSamplingService;
+    @Autowired
+    private SamplingServiceApi samplingService;
 
 
     //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡
@@ -269,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"))
@@ -288,11 +296,13 @@
                     tree.setCreateTime(DateUtil.date());
                     ltkjJianchajianyanTreeService.save(tree);
                 }
-                TjOrder tjOrder = orderService.getOrderByCardId(cardId);
-                if(null !=tjOrder){
-                    List<TjOrderDetail> dengJi = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
-                    tjSysAsyncService.addCaiYangDengJi(dengJi,!dengJi.isEmpty(),tjOrder, SecurityUtils.getLoginUser().getUser(), null);
-                }
+                // TODO 涓汉浠ュ強鍥綋 鏆備笉鍚戦噰鏍风鐞嗗啓鏁版嵁
+                // HIS鍙戦�佹棤娉曞悎骞舵搷浣� 鏃犳硶鑾峰彇LIS鐨勬楠屽簭鍙� 鏉$爜鏃犳硶鎵撳嵃
+//                TjOrder tjOrder = orderService.getOrderByCardId(cardId);
+//                if(null !=tjOrder){
+//                    List<TjOrderDetail> dengJi = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
+//                    tjSysAsyncService.addCaiYangDengJi(dengJi,!dengJi.isEmpty(),tjOrder, SecurityUtils.getLoginUser().getUser(), null);
+//                }
             }
         }
 
@@ -374,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"))
@@ -570,6 +581,46 @@
         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");
+        if (mergeRequest.equals("Y")){
+            LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber());
+            List<TjSampling> list = tjSamplingService.list(wrapper);
+            log.info("閲囨牱鏁版嵁 ->{}",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() > 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);
+                            }
+                        }
+                        String id = tjSamplingService.mergeCaiYangApi(stringList);
+                        ids.add(id);
+                    } else {
+                        ids.add(samplings.get(0).getId());
+                    }
+                }
+                Boolean confirmed = samplingService.confirmSamplingApi(ids, "Y", "N");
+                if (!confirmed) {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return AjaxResult.error("澶勭悊澶辫触");
+                }
+            }
+        }
 
         //妫�楠岀敵璇�
 //        OutpintestapplyDto dto = new OutpintestapplyDto();
@@ -770,15 +821,32 @@
                     }
                 }
             }
-            // 浣滃簾妫�楠岀敵璇�
+            // 浣滃簾妫�楠岀敵璇� TODO
             if (jysqdh != null && !jysqdh.isEmpty()){
-                for (String sqdh : jysqdh) {
+                List<String> huoQuJysqdhNotBuLu = orderService.getHuoQuJysqdhNotBuLu(order.getCardId());
+                List<String> huoQuJysqdhBuLu = orderService.getHuoQuJysqdhBuLu(order.getCardId());
+                for (String sqdh : huoQuJysqdhNotBuLu) {
                     AjaxResult cancelLisAjaxResult = lisApiMethod.cancel(sqdh, order.getCardId(), customer1.getCusName());
                     log.info("lis璇锋眰杩斿洖 ->{}",JSONUtil.toJsonStr(cancelLisAjaxResult));
-                    String result = cancelLisAjaxResult.get("data").toString();
-                    JSONObject object = JSONUtil.parseObj(result);
-                    String code= object.getStr("ResultCode");
-                    if(code.equals("1")){
+                    if (cancelLisAjaxResult.get("code").toString().equals("200")){
+                        String result = cancelLisAjaxResult.get("data").toString();
+                        JSONObject object = JSONUtil.parseObj(result);
+                        String code= object.getStr("ResultCode");
+                        if(code.equals("1")){
+                            orderService.delHuoQuJysqdh(order.getCardId());
+                        }
+                    } else {
+                        String str = JSONUtil.parseObj(cancelLisAjaxResult.get("result").toString()).getJSONObject("Response").getStr("ResultContent");
+                        if (str.contains("鐢宠宸蹭綔搴�"))
+                            orderService.delHuoQuJysqdh(order.getCardId());
+                    }
+                }
+                for (String s : huoQuJysqdhBuLu) {
+                    ajaxResult = controller.Outpindeltestapply(order.getCardId(), "00029", s);
+                    result2 = getAjaxResult(ajaxResult);
+                    object1 = getJSONObject(result2);
+                    code1 = object1.getStr("ResultCode");
+                    if (code1.equals("0")) {
                         orderService.delHuoQuJysqdh(order.getCardId());
                     }
                 }

--
Gitblit v1.8.0