From 14f9208da19b7030a1c65a40897f9f4146a74d44 Mon Sep 17 00:00:00 2001
From: 赵文轩 <1652863494@qq.com>
Date: 星期五, 01 十一月 2024 08:37:14 +0800
Subject: [PATCH] 增加申请业务类型

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java |   62 ++++++++++++++++++++++++++-----
 1 files changed, 52 insertions(+), 10 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 c09fba6..27ce46e 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
@@ -12,7 +12,6 @@
 import com.ltkj.common.core.domain.entity.SysUser;
 import com.ltkj.common.core.redis.RedisCache;
 import com.ltkj.common.utils.IdUtils;
-import com.ltkj.common.utils.SecurityUtils;
 import com.ltkj.common.utils.StringUtils;
 import com.ltkj.framework.config.MatchUtils;
 import com.ltkj.hosp.domain.*;
@@ -27,12 +26,11 @@
 import com.ltkj.system.service.ISysConfigService;
 import com.ltkj.system.service.ISysDeptService;
 import com.ltkj.system.service.ISysUserService;
-import com.ltkj.web.config.IdcardUtil.IdcardUtil;
 import com.ltkj.web.controller.his.HisApiGetMethodService;
 import com.ltkj.web.controller.his.HisApiMethodService;
 import com.ltkj.web.controller.lis.LisApiMethod;
 import com.ltkj.web.controller.pacs.PacsApiMethodService;
-import com.ltkj.web.controller.system.TjOrderController;
+import com.ltkj.web.controller.system.SamplingServiceApi;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
@@ -150,6 +148,8 @@
     private LtkjJybbzdService jybbzdService;
     @Autowired
     private LisJyflhbService lisJyflhbService;
+    @Autowired
+    private SamplingServiceApi samplingServiceApi;
 
 
     @Override
@@ -576,9 +576,9 @@
     }
 
     @Override
-    @Async("async")
+//    @Async("async")
 //    @Transactional
-    public void iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser) {
+    public Boolean iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser) {
         Date dates = new Date();
         final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss");
 
@@ -995,13 +995,18 @@
 //                }
             }
 
-            List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(),jxbz);
-            addCaiYangDengJi(detailLists,!detailLists.isEmpty(), order, sysUser,jxbz);
+            // TODO 鍜岀鍒扮櫥璁颁竴鏍� 鍙湁閰嶇疆涓殑浠ュ強鏀惰垂绫诲瀷涓轰綋妫�绁ㄦ椂鎵嶅鍔犲埌閲囨牱绠$悊琛�
+            if (lisApiMethod.isUseLisAndPacsRegister(order) && tjFlowingWater.getPayType() == 6L) {
+                List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz);
+                addCaiYangDengJi(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz);
+            }
         }
 
 //        Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
         if(null !=config && config.equals("Y")){
-            tijianbulushenqing(customer,date,order.getCardId(),jxbz,jianChaProjects);
+            AjaxResult result = tijianbulushenqing(customer, date, order.getCardId(), jxbz, jianChaProjects, tjFlowingWater.getPayType() == 6L);
+            if (!result.get("code").toString().equals("200"))
+                return false;
 //            if (useLisAndPacsRegister) {
 //                List<TjProject> projectList2 = jianYanProjects.stream().distinct().collect(Collectors.toList());
                 // 妫�鏌ョ敵璇�
@@ -1268,19 +1273,54 @@
 //            tjChargingStandard.setUpdateId(String.valueOf(sysUser.getUserId()));
 //            chargingStandardService.save(tjChargingStandard);
 //        }
+        return true;
     }
 
 
     //浣撴瀵筯is鐢宠鍗曡皟鐢ㄦ柟娉�
-    public AjaxResult tijianbulushenqing(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects) {
+    public AjaxResult tijianbulushenqing(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects,Boolean isTuanTiPiao) {
         TjOrder order = orderService.getOrderByCardId(cardId);
         if(null !=order){
             List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(),cardId,jxbz);
             Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
             List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>();
-            if (useLisAndPacsRegister) {
+            if (useLisAndPacsRegister && isTuanTiPiao) {
                 // 妫�鏌ョ敵璇�
                 pacsReg(order, customer, jianChaProjects);
+                LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
+                wrapper.eq(TjSampling::getTjNum,order.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 = samplingServiceApi.confirmSamplingApi(ids, "Y", "N");
+                    if (!confirmed)
+                        return AjaxResult.error("澶勭悊澶辫触");
+                }
             }else {
                 //妫�楠岀敵璇�
                 OutpintestapplyDto dto = new OutpintestapplyDto();
@@ -1364,6 +1404,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"))
@@ -1465,6 +1506,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"))

--
Gitblit v1.8.0