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 | 1084 ++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 770 insertions(+), 314 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 039a8b7..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
@@ -3,6 +3,7 @@
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.IdUtil;
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
@@ -10,7 +11,7 @@
 import com.ltkj.common.core.domain.AjaxResult;
 import com.ltkj.common.core.domain.entity.SysUser;
 import com.ltkj.common.core.redis.RedisCache;
-import com.ltkj.common.utils.SecurityUtils;
+import com.ltkj.common.utils.IdUtils;
 import com.ltkj.common.utils.StringUtils;
 import com.ltkj.framework.config.MatchUtils;
 import com.ltkj.hosp.domain.*;
@@ -29,7 +30,7 @@
 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;
@@ -141,6 +142,15 @@
     private PacsApiMethodService pacsApiMethodService;
     @Autowired
     private LisApiMethod lisApiMethod;
+    @Autowired
+    private IdUtils idUtils;
+    @Autowired
+    private LtkjJybbzdService jybbzdService;
+    @Autowired
+    private LisJyflhbService lisJyflhbService;
+    @Autowired
+    private SamplingServiceApi samplingServiceApi;
+
 
     @Override
     public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) {
@@ -224,7 +234,7 @@
                 String.valueOf(sysUser.getUserId()),tjOrder.getCardId());
         if (!b) {
             List<TjGroupingPro> proList = groupingProService.list(new LambdaQueryWrapper<TjGroupingPro>().eq(TjGroupingPro::getGroupingId, tjOrder.getGroupId()));
-            if (null != proList && proList.size() > 0) {
+            if (null != proList && !proList.isEmpty()) {
                 for (TjGroupingPro groupingPro : proList) {
                     TjOrderDetail detail = new TjOrderDetail();
 //                if (null != transition.getPacId()) {
@@ -403,25 +413,46 @@
             chargingStandardService.save(tjChargingStandard);
         }
 
-        LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>();
-        wq.eq(TjOrderDetail::getOrderId, order.getOrderId());
-        wq.isNotNull(TjOrderDetail::getFlowingWaterId);
-        wq.eq(TjOrderDetail::getIsSampling, 0);
-        List<TjOrderDetail> detailList = tjOrderDetailService.list(wq);
-        addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser);
+//        LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>();
+//        wq.eq(TjOrderDetail::getOrderId, order.getOrderId());
+//        wq.isNotNull(TjOrderDetail::getFlowingWaterId);
+//        wq.eq(TjOrderDetail::getIsSampling, 0);
+//        List<TjOrderDetail> detailList = tjOrderDetailService.list(wq);
+        List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId());
+        addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser,null);
     }
 
-    public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser) {
+    public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser,String jxbz) {
         if (null != detailList && detailList1) {
             String format = DateUtil.format(new Date(), "yyMMddHHmmssSSS");
             for (TjOrderDetail detail : detailList) {
                 TjSampling sampling = new TjSampling();
                 if (null == projectService.getById(detail.getProId())) continue;
-                Long proParentId = projectService.getById(detail.getProId()).getProParentId();
+                TjProject project = projectService.getById(detail.getProId());
+                Long proParentId = project.getProParentId();
                 if (null != proParentId && proParentId == 0) {
-                    sampling.setSpecimenType(projectService.getById(detail.getProId()).getSpecimenType());
+                    sampling.setJyxh(idUtils.generateLisID());
+                    LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project);
+                    if (jyxmzd != null) {
+                        sampling.setSpecimenTypeCode(jyxmzd.getJybbdm());
+                        LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>();
+                        wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm());
+                        LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper);
+                        sampling.setSpecimenType(jybbzd.getJybbmc());
+                        sampling.setJyxmdm(jyxmzd.getJyxmdm());
+                    }
                 } else {
-                    sampling.setSpecimenType(projectService.getById(projectService.getById(detail.getProId()).getProParentId()).getSpecimenType());
+                    TjProject project1 = projectService.getById(proParentId);
+                    sampling.setJyxh(idUtils.generateLisID());
+                    LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project1);
+                    if (jyxmzd != null) {
+                        sampling.setSpecimenTypeCode(jyxmzd.getJybbdm());
+                        LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>();
+                        wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm());
+                        LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper);
+                        sampling.setSpecimenType(jybbzd.getJybbmc());
+                        sampling.setJyxmdm(jyxmzd.getJyxmdm());
+                    }
                 }
                 sampling.setSamplingNumber(format);
                 sampling.setTjNum(order.getTjNumber());
@@ -439,8 +470,37 @@
                 sampling.setUpdateTime(new Date());
                 sampling.setCreateId(String.valueOf(sysUser.getUserId()));
                 sampling.setUpdateId(String.valueOf(sysUser.getUserId()));
+                sampling.setJxbz(jxbz);
                 samplingService.save(sampling);
             }
+        }
+        String config = configService.selectConfigByKey("sfkqdyhis");
+        if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))){
+            AjaxResult ajaxResult = lisApiMethod.getJyFlHb();
+            if (ajaxResult.get("code").toString().equals("200")){
+                String str = ajaxResult.get("data").toString();
+                str = str.replace("=", ":");
+                JSONArray array = JSONUtil.parseArray(str);
+                for (Object o : array) {
+                    JSONObject object = (JSONObject) o;
+                    LisJyflhb lisJyflhb = new LisJyflhb();
+                    lisJyflhb.setHbhxm(object.getStr("hbhxm"));
+                    lisJyflhb.setFlmc(object.getStr("flmc"));
+                    lisJyflhb.setMc(object.getStr("mc"));
+                    lisJyflhb.setFlbm(object.getStr("flbm"));
+                    LambdaQueryWrapper<LisJyflhb> wrapper = new LambdaQueryWrapper<>();
+                    wrapper.eq(LisJyflhb::getFlbm,lisJyflhb.getFlbm());
+                    LisJyflhb jyflhb = lisJyflhbService.getOne(wrapper);
+                    if (jyflhb == null) {
+                        lisJyflhb.setId(IdUtil.getSnowflake().nextId());
+                        lisJyflhbService.save(lisJyflhb);
+                    }else {
+                        lisJyflhb.setId(jyflhb.getId());
+                        lisJyflhbService.updateById(lisJyflhb);
+                    }
+                }
+            }
+
         }
     }
 
@@ -516,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");
 
@@ -540,24 +600,22 @@
 
         String config = configService.selectConfigByKey("sfkqdyhis");
 
-        //妫�楠�
-        List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>();
-
-        //妫�鏌�
-        List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>();
-
-
-        //澶勭疆
-        List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
-
-        List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>();
+//        //妫�楠�
+//        List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>();
+//
+//        //妫�鏌�
+//        List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>();
+//
+//
+//        //澶勭疆
+//        List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
+//
+//        List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>();
 
         List<TjProject>  projectList=new ArrayList<>();
 
+        ArrayList<TjOrderDetail> tjOrderDetails = new ArrayList<>();
         for (String tjProId : tjProIds) {
-//            LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>();
-//            wqq.eq(TbTransition::getCusId, customer.getCusIdcard());
-//            wqq.isNull(TbTransition::getTjNum);
             TjProject project = projectService.getById(Long.valueOf(tjProId));
             if (null != project && project.getProParentId() == 0) {
                 TjOrderRemark tjOrderRemark = new TjOrderRemark();
@@ -605,145 +663,138 @@
                     detail1.setJxbz(jxbz);
                     tjOrderDetailService.save(detail1);
                 }
-//                wqq.in(TbTransition::getProId, proIds);
 
                 if(null !=config && config.equals("Y")){
                 //妫�楠�
-//                if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && (project.getDeptId() == 241L || project.getDeptId() == 317L)) {
-                if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJyDeptIds().contains(project.getDeptId().toString())) {
-                    if (null != project.getHisXmbm()) {
-                        OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
-                        detailsDto.setMxfyxmbm(project.getHisXmbm());
-                        if (project.getSfzhfy().equals("Y")) {
-                            detailsDto.setSfzhfy("1");
-                        } else {
-                            detailsDto.setSfzhfy("0");
-                        }
-                        detailsDto.setSl(project.getSl());
-                        detailsDtos.add(detailsDto);
-                    }
-                    if(project.getProId()==1740177341251154377L){
-                        OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
-                        detilsDto.setYpbm("00006670");
-                        detilsDto.setPcbm("06");
-                        detilsDto.setSl("1");
-                        detilsDto.setDj("60");
-                        detilsDto.setDcjl("1");
-                        detilsDto.setPj("60");
-                        detilsDto.setJj("60");
-                        detilsDto.setJldw("");
-                        detilsDto.setTjbm("");
-                        detilsDto.setPs("");
-                        detilsDto.setPsbm("");
-                        detilsDto.setYyts("");
-                        detilsDto.setXtph("");
-                        detilsDto.setScph("");
-                        detilsDto.setYpxq("");
-                        detilsDto.setCdbm("");
-                        detilsDto.setKfdw("");
-                        detilsDto.setYfdw("");
-                        detilsDto.setYysm("");
-                        detilsDto.setFzbl("1");
-                        detilsDto.setZh("0");
-                        outpinmedicapplyDetilsDtos.add(detilsDto);
-                    }
-                }
+//                if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJyDeptIds().contains(project.getDeptId().toString())) {
+//                    if (null != project.getHisXmbm()) {
+//                        OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+//                        detailsDto.setMxfyxmbm(project.getHisXmbm());
+//                        if (project.getSfzhfy().equals("Y")) {
+//                            detailsDto.setSfzhfy("1");
+//                        } else {
+//                            detailsDto.setSfzhfy("0");
+//                        }
+//                        detailsDto.setSl(project.getSl());
+//                        detailsDtos.add(detailsDto);
+//                    }
+//                    if(project.getProId()==1740177341251154377L){
+//                        OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+//                        detilsDto.setYpbm("00006670");
+//                        detilsDto.setPcbm("06");
+//                        detilsDto.setSl("1");
+//                        detilsDto.setDj("60");
+//                        detilsDto.setDcjl("1");
+//                        detilsDto.setPj("60");
+//                        detilsDto.setJj("60");
+//                        detilsDto.setJldw("");
+//                        detilsDto.setTjbm("");
+//                        detilsDto.setPs("");
+//                        detilsDto.setPsbm("");
+//                        detilsDto.setYyts("");
+//                        detilsDto.setXtph("");
+//                        detilsDto.setScph("");
+//                        detilsDto.setYpxq("");
+//                        detilsDto.setCdbm("");
+//                        detilsDto.setKfdw("");
+//                        detilsDto.setYfdw("");
+//                        detilsDto.setYysm("");
+//                        detilsDto.setFzbl("1");
+//                        detilsDto.setZh("0");
+//                        outpinmedicapplyDetilsDtos.add(detilsDto);
+//                    }
+//                }
 
                 //妫�鏌�
-//                if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 &&
-//                        (project.getDeptId() == 247 || project.getDeptId() == 248 || project.getDeptId() == 249 ||
-//                                project.getDeptId() == 250 || project.getDeptId() == 251 || project.getDeptId() == 252 ||
-//                                project.getDeptId() == 271 || project.getDeptId() == 273 || project.getDeptId() == 274 ||
-//                                project.getDeptId() == 275 || project.getDeptId() == 298)) {
-                    if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJcDeptIds().contains(project.getDeptId().toString())) {
-                    if (null != project.getHisXmbm()) {
-                        OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
-                        detailsDto.setMxfyxmbm(project.getHisXmbm());
-                        if (project.getSfzhfy().equals("Y")) {
-                            detailsDto.setSfzhfy("1");
-                        } else {
-                            detailsDto.setSfzhfy("0");
-                        }
-                        detailsDto.setSl(project.getSl());
-                        detailsDtoss.add(detailsDto);
-                    }
-                        if(project.getProId()==1740177341251154377L){
-                            OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
-                            detilsDto.setYpbm("00006670");
-                            detilsDto.setPcbm("06");
-                            detilsDto.setSl("1");
-                            detilsDto.setDj("60");
-                            detilsDto.setDcjl("1");
-                            detilsDto.setPj("60");
-                            detilsDto.setJj("60");
-                            detilsDto.setJldw("");
-                            detilsDto.setTjbm("");
-                            detilsDto.setPs("");
-                            detilsDto.setPsbm("");
-                            detilsDto.setYyts("");
-                            detilsDto.setXtph("");
-                            detilsDto.setScph("");
-                            detilsDto.setYpxq("");
-                            detilsDto.setCdbm("");
-                            detilsDto.setKfdw("");
-                            detilsDto.setYfdw("");
-                            detilsDto.setYysm("");
-                            detilsDto.setFzbl("1");
-                            detilsDto.setZh("0");
-                            outpinmedicapplyDetilsDtos.add(detilsDto);
-                        }
-                }
+
+//                    if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJcDeptIds().contains(project.getDeptId().toString())) {
+//                    if (null != project.getHisXmbm()) {
+//                        OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+//                        detailsDto.setMxfyxmbm(project.getHisXmbm());
+//                        if (project.getSfzhfy().equals("Y")) {
+//                            detailsDto.setSfzhfy("1");
+//                        } else {
+//                            detailsDto.setSfzhfy("0");
+//                        }
+//                        detailsDto.setSl(project.getSl());
+//                        detailsDtoss.add(detailsDto);
+//                    }
+//                        if(project.getProId()==1740177341251154377L){
+//                            OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+//                            detilsDto.setYpbm("00006670");
+//                            detilsDto.setPcbm("06");
+//                            detilsDto.setSl("1");
+//                            detilsDto.setDj("60");
+//                            detilsDto.setDcjl("1");
+//                            detilsDto.setPj("60");
+//                            detilsDto.setJj("60");
+//                            detilsDto.setJldw("");
+//                            detilsDto.setTjbm("");
+//                            detilsDto.setPs("");
+//                            detilsDto.setPsbm("");
+//                            detilsDto.setYyts("");
+//                            detilsDto.setXtph("");
+//                            detilsDto.setScph("");
+//                            detilsDto.setYpxq("");
+//                            detilsDto.setCdbm("");
+//                            detilsDto.setKfdw("");
+//                            detilsDto.setYfdw("");
+//                            detilsDto.setYysm("");
+//                            detilsDto.setFzbl("1");
+//                            detilsDto.setZh("0");
+//                            outpinmedicapplyDetilsDtos.add(detilsDto);
+//                        }
+//                }
 
                 //澶勭疆
-//                if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 &&
-//                        (project.getDeptId() == 100 || project.getDeptId() == 240 || project.getDeptId() == 253 ||
-//                                project.getDeptId() == 254 || project.getDeptId() == 255 || project.getDeptId() == 257 ||
-//                                project.getDeptId() == 258 || project.getDeptId() == 259 || project.getDeptId() == 269 ||
-//                                project.getDeptId() == 270)) {
-                    if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getCzDeptIds().contains(project.getDeptId().toString())) {
-                    if (null != project.getHisXmbm()) {
-                        OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
-                        detailsDto.setMxfyxmbm(project.getHisXmbm());
-                        if (project.getSfzhfy().equals("Y")) {
-                            detailsDto.setSfzhfy("1");
-                        } else {
-                            detailsDto.setSfzhfy("0");
-                        }
-                        detailsDto.setSl(project.getSl());
-                        detailDtos.add(detailsDto);
-                    }
-                    if(project.getProId()==1740177341251154377L){
-                            OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
-                            detilsDto.setYpbm("00006670");
-                            detilsDto.setPcbm("06");
-                            detilsDto.setSl("1");
-                            detilsDto.setDj("60");
-                            detilsDto.setDcjl("1");
-                            detilsDto.setPj("60");
-                            detilsDto.setJj("60");
-                            detilsDto.setJldw("");
-                            detilsDto.setTjbm("");
-                            detilsDto.setPs("");
-                            detilsDto.setPsbm("");
-                            detilsDto.setYyts("");
-                            detilsDto.setXtph("");
-                            detilsDto.setScph("");
-                            detilsDto.setYpxq("");
-                            detilsDto.setCdbm("");
-                            detilsDto.setKfdw("");
-                            detilsDto.setYfdw("");
-                            detilsDto.setYysm("");
-                            detilsDto.setFzbl("1");
-                            detilsDto.setZh("0");
-                            outpinmedicapplyDetilsDtos.add(detilsDto);
-                        }
-                }
+
+//                    if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getCzDeptIds().contains(project.getDeptId().toString())) {
+//                    if (null != project.getHisXmbm()) {
+//                        OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+//                        detailsDto.setMxfyxmbm(project.getHisXmbm());
+//                        if (project.getSfzhfy().equals("Y")) {
+//                            detailsDto.setSfzhfy("1");
+//                        } else {
+//                            detailsDto.setSfzhfy("0");
+//                        }
+//                        detailsDto.setSl(project.getSl());
+//                        detailDtos.add(detailsDto);
+//                    }
+//                    if(project.getProId()==1740177341251154377L){
+//                            OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+//                            detilsDto.setYpbm("00006670");
+//                            detilsDto.setPcbm("06");
+//                            detilsDto.setSl("1");
+//                            detilsDto.setDj("60");
+//                            detilsDto.setDcjl("1");
+//                            detilsDto.setPj("60");
+//                            detilsDto.setJj("60");
+//                            detilsDto.setJldw("");
+//                            detilsDto.setTjbm("");
+//                            detilsDto.setPs("");
+//                            detilsDto.setPsbm("");
+//                            detilsDto.setYyts("");
+//                            detilsDto.setXtph("");
+//                            detilsDto.setScph("");
+//                            detilsDto.setYpxq("");
+//                            detilsDto.setCdbm("");
+//                            detilsDto.setKfdw("");
+//                            detilsDto.setYfdw("");
+//                            detilsDto.setYysm("");
+//                            detilsDto.setFzbl("1");
+//                            detilsDto.setZh("0");
+//                            outpinmedicapplyDetilsDtos.add(detilsDto);
+//                        }
+//                }
             }
 
-
-
             } else {
-//                wqq.in(TbTransition::getProId, Arrays.asList(tjProIds));
+
+                //濡傛灉璇ラ」鐩瓨鍦� 鍒� 涓嶄繚瀛�
+
+                TjOrderDetail orderDetail = tjOrderDetailService.getTjOrderDetailByOrderId(String.valueOf(tjFlowingWater.getOrderId()), tjProId);
+                if(null !=orderDetail) continue;
+
                 TjProject projects = projectService.selectTjProjectByProId(Long.valueOf(tjProId));
                 if (null != projects) {
                     TjProject projectss = projectService.getById(projects.getProParentId());
@@ -764,27 +815,26 @@
                 detail.setUpdateId(String.valueOf(sysUser.getUserId()));
                 detail.setJxbz(jxbz);
                 tjOrderDetailService.save(detail);
+                tjOrderDetails.add(detail);
 
             }
 
-//            List<TbTransition> tbTransitionList = transitionService.list(wqq);
             List<TbTransition> tbTransitionList = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(customer.getCusIdcard(),tjProId);
             if (null != tbTransitionList && !tbTransitionList.isEmpty()) {
                 for (TbTransition transition : tbTransitionList) {
-//                    transition.setJxbz(jxbz);
-//                    transition.setTjNum(order.getTjNumber());
-//                    transition.setCardId(order.getCardId());
-//                    transition.setNowPrice(transition.getOrdPrice().multiply(BigDecimal.valueOf(Double.parseDouble(tjFlowingWater.getDiscount())).divide(BigDecimal.valueOf(10))));
-//                    transitionService.updateById(transition);
                     transitionService.updateTbTransitionById(transition.getId().toString(),jxbz,order.getTjNumber(),order.getCardId(),
                             transition.getOrdPrice().multiply(BigDecimal.valueOf(Double.parseDouble(tjFlowingWater.getDiscount())).divide(BigDecimal.valueOf(10))));
                 }
             }
 
         }
+        List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(),jxbz);
+        addCaiYangDengJi(detailList,!detailList.isEmpty(), order, sysUser,jxbz);
+
+        tjOrderDetails = new ArrayList<>();
 
         ArrayList<TjProject> jianChaProjects = new ArrayList<>();
-        ArrayList<TjProject> jianYanProjects = new ArrayList<>();
+//        ArrayList<TjProject> jianYanProjects = new ArrayList<>();
 
         if(!projectList.isEmpty()){
             List<TjProject> list = projectList.stream().distinct().collect(Collectors.toList());
@@ -816,159 +866,155 @@
                 detail1.setUpdateId(String.valueOf(sysUser.getUserId()));
                 detail1.setJxbz(jxbz);
                 tjOrderDetailService.save(detail1);
-                if(null !=config && config.equals("Y")){
+                tjOrderDetails.add(detail1);
+//                if(null !=config && config.equals("Y")){
                     //妫�楠�
-//                    if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && (project.getDeptId() == 241L || project.getDeptId() == 317L)) {
-                    if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJyDeptIds().contains(project.getDeptId().toString())) {
-                        if (null != project.getHisXmbm()) {
-                            jianYanProjects.add(project);
-                            OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
-
-                            detailsDto.setMxfyxmbm(project.getHisXmbm());
-
-                            if (project.getSfzhfy().equals("Y")) {
-                                detailsDto.setSfzhfy("1");
-                            } else {
-                                detailsDto.setSfzhfy("0");
-                            }
-                            detailsDto.setSl(project.getSl());
-                            detailsDtos.add(detailsDto);
-                        }
-                        if(project.getProId()==1740177341251154377L){
-                            OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
-                            detilsDto.setYpbm("00006670");
-                            detilsDto.setPcbm("06");
-                            detilsDto.setSl("1");
-                            detilsDto.setDj("60");
-                            detilsDto.setDcjl("1");
-                            detilsDto.setPj("60");
-                            detilsDto.setJj("60");
-                            detilsDto.setJldw("");
-                            detilsDto.setTjbm("");
-                            detilsDto.setPs("");
-                            detilsDto.setPsbm("");
-                            detilsDto.setYyts("");
-                            detilsDto.setXtph("");
-                            detilsDto.setScph("");
-                            detilsDto.setYpxq("");
-                            detilsDto.setCdbm("");
-                            detilsDto.setKfdw("");
-                            detilsDto.setYfdw("");
-                            detilsDto.setYysm("");
-                            detilsDto.setFzbl("1");
-                            detilsDto.setZh("0");
-                            outpinmedicapplyDetilsDtos.add(detilsDto);
-                        }
-                    }
+//                    if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJyDeptIds().contains(project.getDeptId().toString())) {
+//                        if (null != project.getHisXmbm()) {
+//                            jianYanProjects.add(project);
+//                            OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+//
+//                            detailsDto.setMxfyxmbm(project.getHisXmbm());
+//
+//                            if (project.getSfzhfy().equals("Y")) {
+//                                detailsDto.setSfzhfy("1");
+//                            } else {
+//                                detailsDto.setSfzhfy("0");
+//                            }
+//                            detailsDto.setSl(project.getSl());
+//                            detailsDtos.add(detailsDto);
+//                        }
+//                        if(project.getProId()==1740177341251154377L){
+//                            OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+//                            detilsDto.setYpbm("00006670");
+//                            detilsDto.setPcbm("06");
+//                            detilsDto.setSl("1");
+//                            detilsDto.setDj("60");
+//                            detilsDto.setDcjl("1");
+//                            detilsDto.setPj("60");
+//                            detilsDto.setJj("60");
+//                            detilsDto.setJldw("");
+//                            detilsDto.setTjbm("");
+//                            detilsDto.setPs("");
+//                            detilsDto.setPsbm("");
+//                            detilsDto.setYyts("");
+//                            detilsDto.setXtph("");
+//                            detilsDto.setScph("");
+//                            detilsDto.setYpxq("");
+//                            detilsDto.setCdbm("");
+//                            detilsDto.setKfdw("");
+//                            detilsDto.setYfdw("");
+//                            detilsDto.setYysm("");
+//                            detilsDto.setFzbl("1");
+//                            detilsDto.setZh("0");
+//                            outpinmedicapplyDetilsDtos.add(detilsDto);
+//                        }
+//                    }
 
                     //妫�鏌�
-//                    if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 &&
-//                            (project.getDeptId() == 247L || project.getDeptId() == 248L || project.getDeptId() == 249L ||
-//                                    project.getDeptId() == 250L || project.getDeptId() == 251L || project.getDeptId() == 252L ||
-//                                    project.getDeptId() == 271L || project.getDeptId() == 273L || project.getDeptId() == 274L ||
-//                                    project.getDeptId() == 275L || project.getDeptId() == 298L)) {
+
                         if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJcDeptIds().contains(project.getDeptId().toString())) {
                         if (null != project.getHisXmbm()) {
                             jianChaProjects.add(project);
-                            OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
-                            detailsDto.setMxfyxmbm(project.getHisXmbm());
-                            if (project.getSfzhfy().equals("Y")) {
-                                detailsDto.setSfzhfy("1");
-                            } else {
-                                detailsDto.setSfzhfy("0");
-                            }
-                            detailsDto.setSl(project.getSl());
-                            detailsDtoss.add(detailsDto);
+//                            OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+//                            detailsDto.setMxfyxmbm(project.getHisXmbm());
+//                            if (project.getSfzhfy().equals("Y")) {
+//                                detailsDto.setSfzhfy("1");
+//                            } else {
+//                                detailsDto.setSfzhfy("0");
+//                            }
+//                            detailsDto.setSl(project.getSl());
+//                            detailsDtoss.add(detailsDto);
                         }
-                            if(project.getProId()==1740177341251154377L){
-                                OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
-                                detilsDto.setYpbm("00006670");
-                                detilsDto.setPcbm("06");
-                                detilsDto.setSl("1");
-                                detilsDto.setDj("60");
-                                detilsDto.setDcjl("1");
-                                detilsDto.setPj("60");
-                                detilsDto.setJj("60");
-                                detilsDto.setJldw("");
-                                detilsDto.setTjbm("");
-                                detilsDto.setPs("");
-                                detilsDto.setPsbm("");
-                                detilsDto.setYyts("");
-                                detilsDto.setXtph("");
-                                detilsDto.setScph("");
-                                detilsDto.setYpxq("");
-                                detilsDto.setCdbm("");
-                                detilsDto.setKfdw("");
-                                detilsDto.setYfdw("");
-                                detilsDto.setYysm("");
-                                detilsDto.setFzbl("1");
-                                detilsDto.setZh("0");
-                                outpinmedicapplyDetilsDtos.add(detilsDto);
-                            }
+//                            if(project.getProId()==1740177341251154377L){
+//                                OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+//                                detilsDto.setYpbm("00006670");
+//                                detilsDto.setPcbm("06");
+//                                detilsDto.setSl("1");
+//                                detilsDto.setDj("60");
+//                                detilsDto.setDcjl("1");
+//                                detilsDto.setPj("60");
+//                                detilsDto.setJj("60");
+//                                detilsDto.setJldw("");
+//                                detilsDto.setTjbm("");
+//                                detilsDto.setPs("");
+//                                detilsDto.setPsbm("");
+//                                detilsDto.setYyts("");
+//                                detilsDto.setXtph("");
+//                                detilsDto.setScph("");
+//                                detilsDto.setYpxq("");
+//                                detilsDto.setCdbm("");
+//                                detilsDto.setKfdw("");
+//                                detilsDto.setYfdw("");
+//                                detilsDto.setYysm("");
+//                                detilsDto.setFzbl("1");
+//                                detilsDto.setZh("0");
+//                                outpinmedicapplyDetilsDtos.add(detilsDto);
+//                            }
                     }
 
                     //澶勭疆
-//                    if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 &&
-//                            (project.getDeptId() == 100L || project.getDeptId() == 240L || project.getDeptId() == 253L ||
-//                                    project.getDeptId() == 254L || project.getDeptId() == 255L || project.getDeptId() == 257L ||
-//                                    project.getDeptId() == 258L || project.getDeptId() == 259L || project.getDeptId() == 269L ||
-//                                    project.getDeptId() == 270L)) {
-                        if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getCzDeptIds().contains(project.getDeptId().toString())) {
-                        if (null != project.getHisXmbm()) {
-                            OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
-                            detailsDto.setMxfyxmbm(project.getHisXmbm());
-                            if (project.getSfzhfy().equals("Y")) {
-                                detailsDto.setSfzhfy("1");
-                            } else {
-                                detailsDto.setSfzhfy("0");
-                            }
-                            detailsDto.setSl(project.getSl());
-                            detailDtos.add(detailsDto);
-                        }
-                            if(project.getProId()==1740177341251154377L){
-                                OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
-                                detilsDto.setYpbm("00006670");
-                                detilsDto.setPcbm("06");
-                                detilsDto.setSl("1");
-                                detilsDto.setDj("60");
-                                detilsDto.setDcjl("1");
-                                detilsDto.setPj("60");
-                                detilsDto.setJj("60");
-                                detilsDto.setJldw("");
-                                detilsDto.setTjbm("");
-                                detilsDto.setPs("");
-                                detilsDto.setPsbm("");
-                                detilsDto.setYyts("");
-                                detilsDto.setXtph("");
-                                detilsDto.setScph("");
-                                detilsDto.setYpxq("");
-                                detilsDto.setCdbm("");
-                                detilsDto.setKfdw("");
-                                detilsDto.setYfdw("");
-                                detilsDto.setYysm("");
-                                detilsDto.setFzbl("1");
-                                detilsDto.setZh("0");
-                                outpinmedicapplyDetilsDtos.add(detilsDto);
-                            }
-                    }
-                }
+//                        if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getCzDeptIds().contains(project.getDeptId().toString())) {
+//                        if (null != project.getHisXmbm()) {
+//                            OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+//                            detailsDto.setMxfyxmbm(project.getHisXmbm());
+//                            if (project.getSfzhfy().equals("Y")) {
+//                                detailsDto.setSfzhfy("1");
+//                            } else {
+//                                detailsDto.setSfzhfy("0");
+//                            }
+//                            detailsDto.setSl(project.getSl());
+//                            detailDtos.add(detailsDto);
+//                        }
+//                            if(project.getProId()==1740177341251154377L){
+//                                OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+//                                detilsDto.setYpbm("00006670");
+//                                detilsDto.setPcbm("06");
+//                                detilsDto.setSl("1");
+//                                detilsDto.setDj("60");
+//                                detilsDto.setDcjl("1");
+//                                detilsDto.setPj("60");
+//                                detilsDto.setJj("60");
+//                                detilsDto.setJldw("");
+//                                detilsDto.setTjbm("");
+//                                detilsDto.setPs("");
+//                                detilsDto.setPsbm("");
+//                                detilsDto.setYyts("");
+//                                detilsDto.setXtph("");
+//                                detilsDto.setScph("");
+//                                detilsDto.setYpxq("");
+//                                detilsDto.setCdbm("");
+//                                detilsDto.setKfdw("");
+//                                detilsDto.setYfdw("");
+//                                detilsDto.setYysm("");
+//                                detilsDto.setFzbl("1");
+//                                detilsDto.setZh("0");
+//                                outpinmedicapplyDetilsDtos.add(detilsDto);
+//                            }
+//                    }
+//                }
+            }
+
+            // 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")){
-            if (lisApiMethod.isUseLisAndPacsRegister(order)) {
-                List<TjProject> projectList2 = jianYanProjects.stream().distinct().collect(Collectors.toList());
-                LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>();
-                wq.eq(TjOrderDetail::getOrderId, order.getOrderId());
-                wq.isNotNull(TjOrderDetail::getFlowingWaterId);
-                wq.eq(TjOrderDetail::getIsSampling, 0);
-                List<TjOrderDetail> detailList = tjOrderDetailService.list(wq);
-                addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser);
-
+            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());
                 // 妫�鏌ョ敵璇�
-                pacsReg(order, customer, jianChaProjects);
-            }else {
-                //妫�楠岀敵璇�
+//                pacsReg(order, customer, jianChaProjects);
+//            }else {
+
+
+   /*             //妫�楠岀敵璇�
                 if(!detailsDtos.isEmpty()){
                     OutpintestapplyDto dto = new OutpintestapplyDto();
                     dto.setHisRegistrationId(order.getCardId());
@@ -1003,6 +1049,7 @@
                             tree.setType("妫�楠�");
                             LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
                             wrapper.eq(TjProject::getHisXmbm, mxfyxmbm);
+                            wrapper.eq(TjProject::getProParentId,0);
                             List<TjProject> list = projectService.list(wrapper);
                             String tj_price = "";
                             for (TjProject project : list) {
@@ -1027,6 +1074,9 @@
                             tree.setCreateTime(dates);
                             ltkjJianchajianyanTreeService.save(tree);
                         }
+
+//                        List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId());
+//                        addCaiYangDengJi(detailList,!detailList.isEmpty(), order, sysUser,jxbz);
 
                     }
                 }
@@ -1065,6 +1115,7 @@
                             tree.setType("妫�鏌�");
                             LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
                             wrapper.eq(TjProject::getHisXmbm, mxfyxmbm);
+                            wrapper.eq(TjProject::getProParentId,0);
                             List<TjProject> list = projectService.list(wrapper);
                             String tj_price = "";
                             for (TjProject project : list) {
@@ -1090,9 +1141,9 @@
                             ltkjJianchajianyanTreeService.save(tree);
                         }
                     }
-                }
-            }
-            //鑽搧鐢宠
+                }*/
+//            }
+        /*    //鑽搧鐢宠
             if(!outpinmedicapplyDetilsDtos.isEmpty()){
                 OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
                 dto1.setHisRegistrationId(order.getCardId());
@@ -1175,6 +1226,7 @@
                         tree.setType("澶勭疆");
                         LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
                         wrapper.eq(TjProject::getHisXmbm, mxfyxmbm);
+                        wrapper.eq(TjProject::getProParentId,0);
                         List<TjProject> list = projectService.list(wrapper);
                         String tj_price = "";
                         for (TjProject project : list) {
@@ -1200,7 +1252,7 @@
                         ltkjJianchajianyanTreeService.save(tree);
                     }
                 }
-            }
+            }*/
         }
 
         //鐖堕」鑰楁潗
@@ -1221,9 +1273,417 @@
 //            tjChargingStandard.setUpdateId(String.valueOf(sysUser.getUserId()));
 //            chargingStandardService.save(tjChargingStandard);
 //        }
+        return true;
     }
 
-    private void pacsReg(TjOrder order, TjCustomer customer, ArrayList<TjProject> jianChaProjects) {
+
+    //浣撴瀵筯is鐢宠鍗曡皟鐢ㄦ柟娉�
+    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 && 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();
+                dto.setHisRegistrationId(cardId);
+                dto.setSfzh(customer.getCusIdcard());
+                dto.setSqysbm("00029");
+                dto.setMzksbm("0101");
+                dto.setSjrq(date);
+                dto.setCzybm("00029");
+                dto.setCzyksbm("0101");
+                dto.setSfjz("0");
+
+                List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>();
+                if (null != detailList && !detailList.isEmpty()) {
+                    LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
+                    wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
+//            wq.groupBy(TjProject::getHisXmbm);
+//            wq.in(TjProject::getDeptId, "241", "317");
+                    wq.in(TjProject::getDeptId,deptService.getJyDeptIds());
+                    List<TjProject> projects = projectService.list(wq);
+                    if (null != projects && !projects.isEmpty()) {
+                        for (TjProject project : projects) {
+                            if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
+                                if (null != project.getHisXmbm()) {
+                                    OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+                                    detailsDto.setMxfyxmbm(project.getHisXmbm());
+                                    if (project.getSfzhfy().equals("Y")) {
+                                        detailsDto.setSfzhfy("1");
+                                    } else {
+                                        detailsDto.setSfzhfy("0");
+                                    }
+                                    detailsDto.setSl(project.getSl());
+                                    detailsDto.setProjg(project.getProPrice());
+                                    detailsDtos.add(detailsDto);
+                                }
+                                if(project.getProId()==1740177341251154377L){
+                                    OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+                                    detilsDto.setYpbm("00006670");
+                                    detilsDto.setPcbm("06");
+                                    detilsDto.setSl("1");
+                                    detilsDto.setDj("60");
+                                    detilsDto.setDcjl("1");
+                                    detilsDto.setPj("60");
+                                    detilsDto.setJj("60");
+                                    detilsDto.setJldw("");
+                                    detilsDto.setTjbm("");
+                                    detilsDto.setPs("");
+                                    detilsDto.setPsbm("");
+                                    detilsDto.setYyts("");
+                                    detilsDto.setXtph("");
+                                    detilsDto.setScph("");
+                                    detilsDto.setYpxq("");
+                                    detilsDto.setCdbm("");
+                                    detilsDto.setKfdw("");
+                                    detilsDto.setYfdw("");
+                                    detilsDto.setYysm("");
+                                    detilsDto.setFzbl("1");
+                                    detilsDto.setZh("0");
+                                    outpinmedicapplyDetilsDtos.add(detilsDto);
+                                }
+                            }
+                        }
+                    }
+                }
+                if (!detailsDtos.isEmpty()) {
+                    dto.setDetails(detailsDtos);
+                    AjaxResult ajaxResult1 = controller.Outpintestapply(dto);
+                    String result5 = getAjaxResult(ajaxResult1);
+                    JSONObject object3 = getJSONObject(result5);
+                    String code3 = object3.getStr("ResultCode");
+                    if (code3.equals("0")) {
+                        List<OutpintestapplyDetailsDto> details = dto.getDetails();
+                        for (OutpintestapplyDetailsDto detail : details) {
+                            LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
+                            tree.setJxbz(jxbz);
+                            tree.setCardId(dto.getHisRegistrationId());
+                            tree.setPationid(customer.getPationId());
+                            JSONObject resultData = object3.getJSONObject("ResultData");
+                            tree.setSqdh(resultData.getStr("jysqdh"));
+                            tree.setFyhj(resultData.getStr("fyhj"));
+                            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"))
+                                wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
+                            else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
+                            List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
+                            if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
+                                String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
+                                LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
+                                wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
+                                LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
+                                LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
+                                wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
+                                LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
+                                tree.setXmfl(ejjfxmzd.getYjkmdm());
+                            }
+                            tree.setCreateTime(DateUtil.date());
+                            ltkjJianchajianyanTreeService.save(tree);
+                        }
+                    }
+                }
+
+                //闂ㄨ瘖妫�鏌ョ敵璇�
+                OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto();
+                outpinexamapplyDto.setHisRegistrationId(cardId);
+                outpinexamapplyDto.setSfzh(customer.getCusIdcard());
+                outpinexamapplyDto.setSqysbm("00029");
+                outpinexamapplyDto.setMzksbm("0101");
+                outpinexamapplyDto.setCzybm("00029");
+                outpinexamapplyDto.setCzyksbm("0101");
+                outpinexamapplyDto.setSfjz("0");
+//        List<TbTransition> detailLists = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
+                List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>();
+                if (null != detailList && !detailList.isEmpty()) {
+                    LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
+                    wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
+                    wq.in(TjProject::getDeptId,deptService.getJcDeptIds());
+                    List<TjProject> projects = projectService.list(wq);
+                    if (null != projects && !projects.isEmpty()) {
+                        for (TjProject project : projects) {
+                            if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
+                                if (null != project.getHisXmbm()) {
+                                    OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+                                    detailsDto.setMxfyxmbm(project.getHisXmbm());
+                                    if (project.getSfzhfy().equals("Y")) {
+                                        detailsDto.setSfzhfy("1");
+                                    } else {
+                                        detailsDto.setSfzhfy("0");
+                                    }
+                                    detailsDto.setSl(project.getSl());
+                                    detailsDto.setProjg(project.getProPrice());
+                                    detailsDtoss.add(detailsDto);
+                                }
+                                if(project.getProId()==1740177341251154377L){
+                                    OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+                                    detilsDto.setYpbm("00006670");
+                                    detilsDto.setPcbm("06");
+                                    detilsDto.setSl("1");
+                                    detilsDto.setDj("60");
+                                    detilsDto.setDcjl("1");
+                                    detilsDto.setPj("60");
+                                    detilsDto.setJj("60");
+                                    detilsDto.setJldw("");
+                                    detilsDto.setTjbm("");
+                                    detilsDto.setPs("");
+                                    detilsDto.setPsbm("");
+                                    detilsDto.setYyts("");
+                                    detilsDto.setXtph("");
+                                    detilsDto.setScph("");
+                                    detilsDto.setYpxq("");
+                                    detilsDto.setCdbm("");
+                                    detilsDto.setKfdw("");
+                                    detilsDto.setYfdw("");
+                                    detilsDto.setYysm("");
+                                    detilsDto.setFzbl("1");
+                                    detilsDto.setZh("0");
+                                    outpinmedicapplyDetilsDtos.add(detilsDto);
+                                }
+                            }
+                        }
+                    }
+                }
+                if (!detailsDtoss.isEmpty()) {
+                    outpinexamapplyDto.setDetails(detailsDtoss);
+                    AjaxResult ajaxResult2 = controller.Outpinexamapply(outpinexamapplyDto);
+                    String result6 = getAjaxResult(ajaxResult2);
+                    JSONObject object5 = getJSONObject(result6);
+                    String code4 = object5.getStr("ResultCode");
+                    if (code4.equals("0")) {
+                        List<OutpintestapplyDetailsDto> details = outpinexamapplyDto.getDetails();
+                        for (OutpintestapplyDetailsDto detail : details) {
+                            LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
+                            tree.setJxbz(jxbz);
+                            tree.setCardId(outpinexamapplyDto.getHisRegistrationId());
+                            tree.setPationid(customer.getPationId());
+                            JSONObject resultData = object5.getJSONObject("ResultData");
+                            tree.setSqdh(resultData.getStr("jcsqdh"));
+                            tree.setFyhj(resultData.getStr("fyhj"));
+                            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"))
+                                wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
+                            else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
+                            List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
+                            if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
+                                String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
+                                LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
+                                wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
+                                LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
+                                LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
+                                wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
+                                LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
+                                tree.setXmfl(ejjfxmzd.getYjkmdm());
+                            }
+                            tree.setCreateTime(DateUtil.date());
+                            ltkjJianchajianyanTreeService.save(tree);
+                        }
+                    }
+                }
+
+                //闂ㄨ瘖娌荤枟澶勭疆鐢宠
+                OutpintreatapplyDto dao = new OutpintreatapplyDto();
+                dao.setHisRegistrationId(cardId);
+                dao.setSfzh(customer.getCusIdcard());
+                dao.setSqysbm("00029");
+                dao.setMzksbm("0101");
+                dao.setSjrq(date);
+                dao.setCzybm("00029");
+                dao.setCzyksbm("0101");
+                dao.setSfjz("0");
+//        List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
+                List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
+                if (null != detailList && !detailList.isEmpty()) {
+                    LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>();
+                    wq.in(TjProject::getProId, detailList.stream().map(TbTransition::getParentProId).collect(Collectors.toList()));
+                    wq.in(TjProject::getDeptId,deptService.getCzDeptIds());
+                    List<TjProject> projects = projectService.list(wq);
+                    if (null != projects && !projects.isEmpty()) {
+                        for (TjProject project : projects) {
+                            if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
+                                if (null != project.getHisXmbm()) {
+                                    OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+                                    detailsDto.setMxfyxmbm(project.getHisXmbm());
+                                    if (project.getSfzhfy().equals("Y")) {
+                                        detailsDto.setSfzhfy("1");
+                                    } else {
+                                        detailsDto.setSfzhfy("0");
+                                    }
+                                    detailsDto.setSl(project.getSl());
+                                    detailsDto.setProjg(project.getProPrice());
+                                    detailDtos.add(detailsDto);
+                                }
+                                if(project.getProId()==1740177341251154377L){
+                                    OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+                                    detilsDto.setYpbm("00006670");
+                                    detilsDto.setPcbm("06");
+                                    detilsDto.setSl("1");
+                                    detilsDto.setDj("60");
+                                    detilsDto.setDcjl("1");
+                                    detilsDto.setPj("60");
+                                    detilsDto.setJj("60");
+                                    detilsDto.setJldw("");
+                                    detilsDto.setTjbm("");
+                                    detilsDto.setPs("");
+                                    detilsDto.setPsbm("");
+                                    detilsDto.setYyts("");
+                                    detilsDto.setXtph("");
+                                    detilsDto.setScph("");
+                                    detilsDto.setYpxq("");
+                                    detilsDto.setCdbm("");
+                                    detilsDto.setKfdw("");
+                                    detilsDto.setYfdw("");
+                                    detilsDto.setYysm("");
+                                    detilsDto.setFzbl("1");
+                                    detilsDto.setZh("0");
+                                    outpinmedicapplyDetilsDtos.add(detilsDto);
+                                }
+                            }
+                        }
+                    }
+                }
+                if (!detailDtos.isEmpty()) {
+                    dao.setDetails(detailDtos);
+                    AjaxResult mzylyzsq1 = controller.Outpintreatapply(dao);
+                    String mzylyzsq2 = getAjaxResult(mzylyzsq1);
+                    JSONObject mzylyzsq3 = getJSONObject(mzylyzsq2);
+                    String code5 = mzylyzsq3.getStr("ResultCode");
+                    if (code5.equals("0")) {
+                        List<OutpintestapplyDetailsDto> details1 = dao.getDetails();
+                        for (OutpintestapplyDetailsDto detail : details1) {
+                            LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
+                            tree.setJxbz(jxbz);
+                            tree.setCardId(dao.getHisRegistrationId());
+                            tree.setPationid(customer.getPationId());
+                            JSONObject resultData = mzylyzsq3.getJSONObject("ResultData");
+                            tree.setSqdh(resultData.getStr("zlczh"));
+                            tree.setFyhj(resultData.getStr("fyhj"));
+                            String mxfyxmbm = detail.getMxfyxmbm();
+                            tree.setHisXmdm(mxfyxmbm);
+                            tree.setType("澶勭疆");
+                            tree.setTjPrice(String.valueOf(detail.getProjg()));
+                            LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
+                            if (detail.getSfzhfy().equals("1"))
+                                wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
+                            else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
+                            List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
+                            if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
+                                String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
+                                LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
+                                wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
+                                LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
+                                LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
+                                wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
+                                LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
+                                tree.setXmfl(ejjfxmzd.getYjkmdm());
+                            }
+                            tree.setCreateTime(DateUtil.date());
+                            ltkjJianchajianyanTreeService.save(tree);
+                        }
+                    }
+                }
+
+                //鑽搧鐢宠
+                if(!outpinmedicapplyDetilsDtos.isEmpty()){
+                    OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
+                    dto1.setHisRegistrationId(cardId);
+                    dto1.setSfzh(customer.getCusIdcard());
+                    dto1.setSqysbm("00029");
+                    dto1.setMzksbm("0101");
+                    dto1.setSjrq(date);
+                    dto1.setCzybm("00029");
+                    dto1.setCzyksbm("0101");
+                    dto1.setCflxbm("A");
+                    dto1.setYfbm("1");
+                    dto1.setFyts("1");
+                    dto1.setMzzd("");
+                    dto1.setDetails(outpinmedicapplyDetilsDtos);
+                    AjaxResult result = controller.Outpinmedicapply(dto1);
+                    String result1 = getAjaxResult(result);
+                    JSONObject object = getJSONObject(result1);
+                    String code = object.getStr("ResultCode");
+                    if(null !=code && code.equals("0")){
+                        JSONObject resultData = object.getJSONObject("ResultData");
+//                Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0);
+                        String cfh = resultData.getStr("cfh");
+                        log.info("鑽搧鐢宠鍚庣殑澶勬柟鍙锋槸: "+cfh+"  outpinmedicapplyDetilsDtos 閲岄潰鐨勫�间负: "+outpinmedicapplyDetilsDtos.toString());
+                        for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
+                            TjCf cf=new TjCf();
+                            cf.setJxbz(jxbz);
+                            cf.setCardId(cardId);
+                            cf.setSfzh(customer.getCusIdcard());
+                            cf.setCfh(cfh);
+                            cf.setSqysbm("00029");
+                            cf.setSqysxm("鐜嬪仴钀�");
+                            cf.setMzksbn("0101");
+                            cf.setSqrq(date);
+                            cf.setCzybm("00029");
+                            cf.setYpbm(detilsDto.getYpbm());
+                            cf.setYpmc("灏跨礌[14C]鍛兼皵璇曢獙鑽洅");
+                            cf.setSl(String.valueOf(detilsDto.getSl()));
+                            cf.setDj(String.valueOf(detilsDto.getDj()));
+                            cf.setDcjl(String.valueOf(detilsDto.getDcjl()));
+                            cf.setPj(String.valueOf(detilsDto.getPj()));
+                            cf.setJj(String.valueOf(detilsDto.getJj()));
+                            cf.setCreateTime(new Date());
+                            cfService.save(cf);
+                        }
+                    }
+                }
+            }
+        }
+        return AjaxResult.success();
+    }
+
+    public void pacsReg(TjOrder order, TjCustomer customer, ArrayList<TjProject> jianChaProjects) {
         List<TjProject> projectList1 = jianChaProjects.stream().distinct().collect(Collectors.toList());
         JSONArray array = JSONUtil.createArray();
         ArrayList<SavePacsApply> successPacsList = new ArrayList<>();
@@ -1740,12 +2200,8 @@
             chargingStandardService.save(tjChargingStandard);
         }
 
-        LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>();
-        wq.eq(TjOrderDetail::getOrderId, order.getOrderId());
-        wq.isNotNull(TjOrderDetail::getFlowingWaterId);
-        wq.eq(TjOrderDetail::getIsSampling, 0);
-        List<TjOrderDetail> detailList = tjOrderDetailService.list(wq);
-        addCaiYangDengJi(detailList, detailList.size() > 0, order, sysUser);
+        List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId());
+        addCaiYangDengJi(detailList, detailList.size() > 0, order, sysUser,null);
     }
 
     //棣栭〉楗肩姸鍥剧櫥璁颁汉鏁版帴鍙�

--
Gitblit v1.8.0