From d12e3914e9e823a3038335a8f9e0b525343d965b Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期五, 04 七月 2025 17:39:38 +0800
Subject: [PATCH] zjh20250704

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java | 3044 ++++++++++++++++++++++++++++++-----------------------------
 1 files changed, 1,541 insertions(+), 1,503 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 66d92b1..94ff9d9 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
@@ -773,193 +773,200 @@
 //    @Async("async")
 //    @Transactional
     public Boolean iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser, String jxbz) {
-        Date dates = new Date();
-        final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss");
+      try {
+          Date dates = new Date();
+          final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss");
 
-        tjFlowingWater.setJxbz(jxbz);
-        tjFlowingWaterService.updateById(tjFlowingWater);
+          tjFlowingWater.setJxbz(jxbz);
+          tjFlowingWaterService.updateById(tjFlowingWater);
 
-        TjProBl proBl = new TjProBl();
-        proBl.setTjh(order.getTjNumber());
-        proBl.setBldh(jxbz);
-        proBl.setBlsj(date);
-        proBl.setBlrdm(sysUser.getUserName());
-        proBl.setBlrmc(sysUser.getNickName());
-        proBl.setBlje(String.valueOf(tjFlowingWater.getPaidIn()));
-        blService.save(proBl);
+          TjProBl proBl = new TjProBl();
+          proBl.setTjh(order.getTjNumber());
+          proBl.setBldh(jxbz);
+          proBl.setBlsj(date);
+          proBl.setBlrdm(sysUser.getUserName());
+          proBl.setBlrmc(sysUser.getNickName());
+          proBl.setBlje(String.valueOf(tjFlowingWater.getPaidIn()));
+          blService.save(proBl);
 
-        String[] tjProIds = tjFlowingWater.getTjProIds();
+          String[] tjProIds = tjFlowingWater.getTjProIds();
 
-        String config = configService.selectConfigByKey("sfkqdyhis");
+          String config = configService.selectConfigByKey("sfkqdyhis");
 
-        List<TjProject> projectList = new ArrayList<>();
+          List<TjProject> projectList = new ArrayList<>();
 
 //        ArrayList<TjOrderDetail> tjOrderDetails = new ArrayList<>();
-        for (String tjProId : tjProIds) {
-            TjProject project = projectService.getById(Long.valueOf(tjProId));
-            if (null != project && project.getProParentId() == 0) {
-                TjOrderRemark tjOrderRemark = new TjOrderRemark();
-                tjOrderRemark.setProId(Long.valueOf(tjProId));
-                tjOrderRemark.setProName(project.getProName());
-                tjOrderRemark.setDeptId(project.getDeptId());
-                tjOrderRemark.setTjNumber(order.getTjNumber());
-                tjOrderRemark.setCreateBy(sysUser.getNickName());
-                tjOrderRemark.setCreateTime(dates);
-                tjOrderRemark.setUpdateBy(sysUser.getNickName());
-                tjOrderRemark.setUpdateTime(dates);
-                tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId()));
-                tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId()));
-                tjOrderRemark.setJxbz(jxbz);
-                orderRemarkService.save(tjOrderRemark);
+          for (String tjProId : tjProIds) {
+              TjProject project = projectService.getById(Long.valueOf(tjProId));
+              if (null != project && project.getProParentId() == 0) {
+                  TjOrderRemark tjOrderRemark = new TjOrderRemark();
+                  tjOrderRemark.setProId(Long.valueOf(tjProId));
+                  tjOrderRemark.setProName(project.getProName());
+                  tjOrderRemark.setDeptId(project.getDeptId());
+                  tjOrderRemark.setTjNumber(order.getTjNumber());
+                  tjOrderRemark.setCreateBy(sysUser.getNickName());
+                  tjOrderRemark.setCreateTime(dates);
+                  tjOrderRemark.setUpdateBy(sysUser.getNickName());
+                  tjOrderRemark.setUpdateTime(dates);
+                  tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId()));
+                  tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId()));
+                  tjOrderRemark.setJxbz(jxbz);
+                  orderRemarkService.save(tjOrderRemark);
 
-                List<Long> proIds = projectService.getTjProjectListBySoneId(tjProId).stream().map(TjProject::getProId).collect(Collectors.toList());
-                TjOrderDetail detail = new TjOrderDetail();
-                detail.setTjStatus(0L);
-                detail.setOrderId(tjFlowingWater.getOrderId());
+                  List<Long> proIds = projectService.getTjProjectListBySoneId(tjProId).stream().map(TjProject::getProId).collect(Collectors.toList());
+                  TjOrderDetail detail = new TjOrderDetail();
+                  detail.setTjStatus(0L);
+                  detail.setOrderId(tjFlowingWater.getOrderId());
 //                detail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber()));
-                detail.setProId(Long.valueOf(tjProId));
-                detail.setIsAddition("Y");
-                detail.setCreateBy(sysUser.getNickName());
-                detail.setCreateTime(dates);
-                detail.setUpdateBy(sysUser.getNickName());
-                detail.setUpdateTime(dates);
-                detail.setCreateId(String.valueOf(sysUser.getUserId()));
-                detail.setUpdateId(String.valueOf(sysUser.getUserId()));
-                detail.setJxbz(jxbz);
-                tjOrderDetailService.save(detail);
-                for (Long proId : proIds) {
-                    TjOrderDetail detail1 = new TjOrderDetail();
-                    detail1.setTjStatus(0L);
-                    detail1.setOrderId(tjFlowingWater.getOrderId());
+                  detail.setProId(Long.valueOf(tjProId));
+                  detail.setIsAddition("Y");
+                  detail.setCreateBy(sysUser.getNickName());
+                  detail.setCreateTime(dates);
+                  detail.setUpdateBy(sysUser.getNickName());
+                  detail.setUpdateTime(dates);
+                  detail.setCreateId(String.valueOf(sysUser.getUserId()));
+                  detail.setUpdateId(String.valueOf(sysUser.getUserId()));
+                  detail.setJxbz(jxbz);
+                  tjOrderDetailService.save(detail);
+                  for (Long proId : proIds) {
+                      TjOrderDetail detail1 = new TjOrderDetail();
+                      detail1.setTjStatus(0L);
+                      detail1.setOrderId(tjFlowingWater.getOrderId());
 //                    detail1.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber()));
-                    detail1.setProId(proId);
-                    detail1.setIsAddition("Y");
-                    detail1.setCreateBy(sysUser.getNickName());
-                    detail1.setCreateTime(dates);
-                    detail1.setUpdateBy(sysUser.getNickName());
-                    detail1.setUpdateTime(dates);
-                    detail1.setCreateId(String.valueOf(sysUser.getUserId()));
-                    detail1.setUpdateId(String.valueOf(sysUser.getUserId()));
-                    detail1.setJxbz(jxbz);
-                    tjOrderDetailService.save(detail1);
-                }
+                      detail1.setProId(proId);
+                      detail1.setIsAddition("Y");
+                      detail1.setCreateBy(sysUser.getNickName());
+                      detail1.setCreateTime(dates);
+                      detail1.setUpdateBy(sysUser.getNickName());
+                      detail1.setUpdateTime(dates);
+                      detail1.setCreateId(String.valueOf(sysUser.getUserId()));
+                      detail1.setUpdateId(String.valueOf(sysUser.getUserId()));
+                      detail1.setJxbz(jxbz);
+                      tjOrderDetailService.save(detail1);
+                  }
 
-            } else {
+              } else {
 
-                //濡傛灉璇ラ」鐩瓨鍦� 鍒� 涓嶄繚瀛�
+                  //濡傛灉璇ラ」鐩瓨鍦� 鍒� 涓嶄繚瀛�
 
-                TjOrderDetail orderDetail = tjOrderDetailService.getTjOrderDetailByOrderId(String.valueOf(tjFlowingWater.getOrderId()), tjProId);
+                  TjOrderDetail orderDetail = tjOrderDetailService.getTjOrderDetailByOrderId(String.valueOf(tjFlowingWater.getOrderId()), tjProId);
 //                if(null !=orderDetail) continue;
-                if (null != orderDetail) {
-                    detailMapper.updateTjOrderDetailDel(orderDetail.getOrderDetailId().toString());
-                }
+                  if (null != orderDetail) {
+                      detailMapper.updateTjOrderDetailDel(orderDetail.getOrderDetailId().toString());
+                  }
 
-                TjProject projects = projectService.selectTjProjectByProId(Long.valueOf(tjProId));
-                if (null != projects) {
-                    TjProject projectss = projectService.getById(projects.getProParentId());
-                    if (null != projectss && projectss.getProParentId() == 0L) {
-                        projectList.add(projectss);
-                    }
-                }
-                TjOrderDetail detail = new TjOrderDetail();
-                detail.setTjStatus(0L);
-                detail.setOrderId(tjFlowingWater.getOrderId());
-                detail.setProId(Long.valueOf(tjProId));
-                detail.setIsAddition("Y");
-                detail.setCreateBy(sysUser.getNickName());
-                detail.setCreateTime(dates);
-                detail.setUpdateBy(sysUser.getNickName());
-                detail.setUpdateTime(dates);
-                detail.setCreateId(String.valueOf(sysUser.getUserId()));
-                detail.setUpdateId(String.valueOf(sysUser.getUserId()));
-                detail.setJxbz(jxbz);
-                tjOrderDetailService.save(detail);
+                  TjProject projects = projectService.selectTjProjectByProId(Long.valueOf(tjProId));
+                  if (null != projects) {
+                      TjProject projectss = projectService.getById(projects.getProParentId());
+                      if (null != projectss && projectss.getProParentId() == 0L) {
+                          projectList.add(projectss);
+                      }
+                  }
+                  TjOrderDetail detail = new TjOrderDetail();
+                  detail.setTjStatus(0L);
+                  detail.setOrderId(tjFlowingWater.getOrderId());
+                  detail.setProId(Long.valueOf(tjProId));
+                  detail.setIsAddition("Y");
+                  detail.setCreateBy(sysUser.getNickName());
+                  detail.setCreateTime(dates);
+                  detail.setUpdateBy(sysUser.getNickName());
+                  detail.setUpdateTime(dates);
+                  detail.setCreateId(String.valueOf(sysUser.getUserId()));
+                  detail.setUpdateId(String.valueOf(sysUser.getUserId()));
+                  detail.setJxbz(jxbz);
+                  tjOrderDetailService.save(detail);
 //                tjOrderDetails.add(detail);
 
-            }
+              }
 
-            List<TbTransition> tbTransitionList = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(customer.getCusIdcard(), tjProId);
-            if (null != tbTransitionList && !tbTransitionList.isEmpty()) {
-                for (TbTransition transition : tbTransitionList) {
-                    transitionService.updateTbTransitionById(transition.getId().toString(), jxbz, order.getTjNumber(), order.getCardId(),
-                            transition.getOrdPrice().multiply(BigDecimal.valueOf(Double.parseDouble(tjFlowingWater.getDiscount())).divide(BigDecimal.valueOf(10))));
-                }
-            }
+              List<TbTransition> tbTransitionList = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(customer.getCusIdcard(), tjProId);
+              if (null != tbTransitionList && !tbTransitionList.isEmpty()) {
+                  for (TbTransition transition : tbTransitionList) {
+                      transitionService.updateTbTransitionById(transition.getId().toString(), jxbz, order.getTjNumber(), order.getCardId(),
+                              transition.getOrdPrice().multiply(BigDecimal.valueOf(Double.parseDouble(tjFlowingWater.getDiscount())).divide(BigDecimal.valueOf(10))));
+                  }
+              }
 
-        }
-        // TODO 鍜岀鍒扮櫥璁颁竴鏍� 鍙湁閰嶇疆涓殑浠ュ強鏀惰垂绫诲瀷涓轰綋妫�绁ㄦ椂鎵嶅鍔犲埌閲囨牱绠$悊琛�
+          }
+          // TODO 鍜岀鍒扮櫥璁颁竴鏍� 鍙湁閰嶇疆涓殑浠ュ強鏀惰垂绫诲瀷涓轰綋妫�绁ㄦ椂鎵嶅鍔犲埌閲囨牱绠$悊琛�
 //        tjOrderDetails = new ArrayList<>();
 
-        ArrayList<TjProject> jianChaProjects = new ArrayList<>();
+          ArrayList<TjProject> jianChaProjects = new ArrayList<>();
 
-        if (!projectList.isEmpty()) {
-            List<TjProject> list = projectList.stream().distinct().collect(Collectors.toList());
-            for (TjProject project : list) {
+          if (!projectList.isEmpty()) {
+              List<TjProject> list = projectList.stream().distinct().collect(Collectors.toList());
+              for (TjProject project : list) {
 
-                TjOrderRemark orderRemark = orderRemarkService.getTjOrderRemarkByTjNumAndProParentId(order.getTjNumber(), String.valueOf(project.getProId()));
-                if (null != orderRemark) {
-                    remarkMapper.updateTjOrderRemarkdel(orderRemark.getRemarkId().toString());
-                }
+                  TjOrderRemark orderRemark = orderRemarkService.getTjOrderRemarkByTjNumAndProParentId(order.getTjNumber(), String.valueOf(project.getProId()));
+                  if (null != orderRemark) {
+                      remarkMapper.updateTjOrderRemarkdel(orderRemark.getRemarkId().toString());
+                  }
 
-                TjOrderRemark tjOrderRemark = new TjOrderRemark();
-                tjOrderRemark.setProId(project.getProId());
-                tjOrderRemark.setProName(project.getProName());
-                tjOrderRemark.setDeptId(project.getDeptId());
-                tjOrderRemark.setTjNumber(order.getTjNumber());
-                tjOrderRemark.setCreateBy(sysUser.getNickName());
-                tjOrderRemark.setCreateTime(dates);
-                tjOrderRemark.setUpdateBy(sysUser.getNickName());
-                tjOrderRemark.setUpdateTime(dates);
-                tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId()));
-                tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId()));
-                tjOrderRemark.setJxbz(jxbz);
-                orderRemarkService.save(tjOrderRemark);
+                  TjOrderRemark tjOrderRemark = new TjOrderRemark();
+                  tjOrderRemark.setProId(project.getProId());
+                  tjOrderRemark.setProName(project.getProName());
+                  tjOrderRemark.setDeptId(project.getDeptId());
+                  tjOrderRemark.setTjNumber(order.getTjNumber());
+                  tjOrderRemark.setCreateBy(sysUser.getNickName());
+                  tjOrderRemark.setCreateTime(dates);
+                  tjOrderRemark.setUpdateBy(sysUser.getNickName());
+                  tjOrderRemark.setUpdateTime(dates);
+                  tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId()));
+                  tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId()));
+                  tjOrderRemark.setJxbz(jxbz);
+                  orderRemarkService.save(tjOrderRemark);
 
 
-                TjOrderDetail orderDetail = tjOrderDetailService.getTjOrderDetailByOrderId(String.valueOf(tjFlowingWater.getOrderId()), project.getProId().toString());
-                if (null != orderDetail) {
-                    detailMapper.updateTjOrderDetailDel(orderDetail.getOrderDetailId().toString());
-                }
+                  TjOrderDetail orderDetail = tjOrderDetailService.getTjOrderDetailByOrderId(String.valueOf(tjFlowingWater.getOrderId()), project.getProId().toString());
+                  if (null != orderDetail) {
+                      detailMapper.updateTjOrderDetailDel(orderDetail.getOrderDetailId().toString());
+                  }
 
-                TjOrderDetail detail1 = new TjOrderDetail();
-                detail1.setTjStatus(0L);
-                detail1.setOrderId(tjFlowingWater.getOrderId());
-                detail1.setProId(project.getProId());
-                detail1.setIsAddition("Y");
-                detail1.setCreateBy(sysUser.getNickName());
-                detail1.setCreateTime(dates);
-                detail1.setUpdateBy(sysUser.getNickName());
-                detail1.setUpdateTime(dates);
-                detail1.setCreateId(String.valueOf(sysUser.getUserId()));
-                detail1.setUpdateId(String.valueOf(sysUser.getUserId()));
-                detail1.setJxbz(jxbz);
-                tjOrderDetailService.save(detail1);
+                  TjOrderDetail detail1 = new TjOrderDetail();
+                  detail1.setTjStatus(0L);
+                  detail1.setOrderId(tjFlowingWater.getOrderId());
+                  detail1.setProId(project.getProId());
+                  detail1.setIsAddition("Y");
+                  detail1.setCreateBy(sysUser.getNickName());
+                  detail1.setCreateTime(dates);
+                  detail1.setUpdateBy(sysUser.getNickName());
+                  detail1.setUpdateTime(dates);
+                  detail1.setCreateId(String.valueOf(sysUser.getUserId()));
+                  detail1.setUpdateId(String.valueOf(sysUser.getUserId()));
+                  detail1.setJxbz(jxbz);
+                  tjOrderDetailService.save(detail1);
 //                tjOrderDetails.add(detail1);
-                if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJcDeptIds().contains(project.getDeptId().toString())) {
-                    if (null != project.getHisXmbm()) {
-                        jianChaProjects.add(project);
-                    }
-                }
-            }
+                  if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJcDeptIds().contains(project.getDeptId().toString())) {
+                      if (null != project.getHisXmbm()) {
+                          jianChaProjects.add(project);
+                      }
+                  }
+              }
 
-            // TODO 鍜岀鍒扮櫥璁颁竴鏍� 鍙湁閰嶇疆涓殑浠ュ強鏀惰垂绫诲瀷涓轰綋妫�绁ㄦ椂鎵嶅鍔犲埌閲囨牱绠$悊琛�
-            if (config.equalsIgnoreCase("Y")) {
-                List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz);
-                addCaiYangDengJi(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz);
-                String isUseMx = configService.selectConfigByKey("jcxhis_is_use_mx");
-                AjaxResult result;
-                if (isUseMx.equalsIgnoreCase("Y"))
-                    result = tijianbulushenqing(customer, date, order.getCardId(), jxbz, jianChaProjects, (tjFlowingWater.getPayType() == 6L || tjFlowingWater.getPayStasus() == 1L));
-                else
-                    result = tijianbulushenqingJinchuanNew(customer, date, order.getCardId(), jxbz, jianChaProjects,(tjFlowingWater.getPayType() == 6L || tjFlowingWater.getPayStasus() == 1L));
-                return result.get("code").toString().equals("200");
-            } else {
-                List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz);
-                addCaiYangDengJiByDiaoYongShiTu(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz);
-            }
-        }
-
-        return true;
+              // TODO 鍜岀鍒扮櫥璁颁竴鏍� 鍙湁閰嶇疆涓殑浠ュ強鏀惰垂绫诲瀷涓轰綋妫�绁ㄦ椂鎵嶅鍔犲埌閲囨牱绠$悊琛�
+              if (config.equalsIgnoreCase("Y")) {
+                  List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz);
+                  addCaiYangDengJi(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz);
+                  String isUseMx = configService.selectConfigByKey("jcxhis_is_use_mx");
+                  AjaxResult result;
+                  try {
+                      if (isUseMx.equalsIgnoreCase("Y"))
+                          result = tijianbulushenqing(customer, date, order.getCardId(), jxbz, jianChaProjects, (tjFlowingWater.getPayType() == 6L || tjFlowingWater.getPayStasus() == 1L));
+                      else
+                          result = tijianbulushenqingJinchuanNew(customer, date, order.getCardId(), jxbz, jianChaProjects,(tjFlowingWater.getPayType() == 6L || tjFlowingWater.getPayStasus() == 1L));
+                  } catch (Exception e) {
+                      throw new RuntimeException(e);
+                  }
+                  return result.get("code").toString().equals("200");
+              } else {
+                  List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz);
+                  addCaiYangDengJiByDiaoYongShiTu(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz);
+              }
+          }
+          return true;
+      }catch (Exception e){
+          throw new RuntimeException(e);
+      }
     }
 
     public void addCaiYangDengJiByDiaoYongShiTu(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser, String jxbz) {
@@ -1046,6 +1053,7 @@
             }
         } catch (Exception e) {
             log.error(e.getMessage());
+            throw new RuntimeException();
         }
     }
 
@@ -1054,691 +1062,229 @@
     private static ArrayList<String> ids = null;
 
     public AjaxResult tijianbulushenqingJinchuanNew(TjCustomer customer, String date, String cardId, String jxbz, ArrayList<TjProject> jianChaProjects, Boolean isTuanTiPiao) {
-        mapJinchuan = new ArrayList<>();
-        ids = new ArrayList<>();
-        tijianbulushenqingOld(customer, date, cardId, jxbz, jianChaProjects, isTuanTiPiao);
+        try {
+            mapJinchuan = new ArrayList<>();
+            ids = new ArrayList<>();
+            tijianbulushenqingOld(customer, date, cardId, jxbz, jianChaProjects, isTuanTiPiao);
 
-        tijianbulushenqingJinchuan(customer, date, cardId, jxbz, jianChaProjects, isTuanTiPiao);
-        return AjaxResult.success();
-        //return AjaxResult.success();
+            tijianbulushenqingJinchuan(customer, date, cardId, jxbz, jianChaProjects, isTuanTiPiao);
+            return AjaxResult.success();
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
     }
 
     public AjaxResult tijianbulushenqingJinchuan(TjCustomer customer, String date, String cardId, String jxbz, ArrayList<TjProject> jianChaProjects, Boolean isTuanTiPiao) {
-        TjOrder order = orderService.getOrderByCardId(cardId);
-        if (null != order) {
-            String dept = configService.selectConfigByKey("request_default_dept");
-            String ysbm = configService.selectConfigByKey("request_default_ysbm");
-            String ysmc = configService.selectConfigByKey("request_default_ysmc");
-            String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix");
-            List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(), cardId, jxbz);
-            Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
-            List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos = new ArrayList<>();
-            if (useLisAndPacsRegister && isTuanTiPiao) {
-                // 妫�鏌ョ敵璇�
-                pacsReg(order, customer, jianChaProjects);
-                LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
-                wrapper.eq(TjSampling::getTjNum, order.getTjNumber());
-                wrapper.eq(TjSampling::getJxbz, jxbz);
-                List<TjSampling> list = tjSamplingService.list(wrapper);
-                log.info("閲囨牱鏁版嵁 ->{}", JSONUtil.toJsonStr(list));
-                if (!list.isEmpty()) {
-                    Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode));
-                    log.info("鍒嗙粍鍚� ->{}", JSONUtil.toJsonStr(listMap));
-//                    ArrayList<String> ids = new ArrayList<>();
-                    for (Map.Entry<String, List<TjSampling>> entry : listMap.entrySet()) {
-                        log.info("key ->{},val ->{}", entry.getKey(), entry.getValue());
-                        // Lis鏍囨湰浠g爜
-                        String specimenTypeCode = entry.getKey();
-                        List<TjSampling> samplings = entry.getValue();
-                        if (samplings.size() >= 2) {
-                            // 杩涜鍚堝苟
-                            List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList());
-//                            log.info("鎻愬彇id ->{}",stringList);
-                            for (int i = 0; i < stringList.size(); i++) {
-                                String s = stringList.get(i);
-                                if (tjSamplingService.isMergeItem(s) != 0) {
-                                    stringList.remove(s);
-                                    ids.add(s);
+        try {
+            TjOrder order = orderService.getOrderByCardId(cardId);
+            if (null != order) {
+                String dept = configService.selectConfigByKey("request_default_dept");
+                String ysbm = configService.selectConfigByKey("request_default_ysbm");
+                String ysmc = configService.selectConfigByKey("request_default_ysmc");
+                String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix");
+                List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(), cardId, jxbz);
+                Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
+                List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos = new ArrayList<>();
+                if (useLisAndPacsRegister && isTuanTiPiao) {
+                    // 妫�鏌ョ敵璇�
+                    pacsReg(order, customer, jianChaProjects);
+                    LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
+                    wrapper.eq(TjSampling::getTjNum, order.getTjNumber());
+                    wrapper.eq(TjSampling::getJxbz, jxbz);
+                    List<TjSampling> list = tjSamplingService.list(wrapper);
+                    log.info("閲囨牱鏁版嵁 ->{}", JSONUtil.toJsonStr(list));
+                    if (!list.isEmpty()) {
+                        Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode));
+                        log.info("鍒嗙粍鍚� ->{}", JSONUtil.toJsonStr(listMap));
+    //                    ArrayList<String> ids = new ArrayList<>();
+                        for (Map.Entry<String, List<TjSampling>> entry : listMap.entrySet()) {
+                            log.info("key ->{},val ->{}", entry.getKey(), entry.getValue());
+                            // Lis鏍囨湰浠g爜
+                            String specimenTypeCode = entry.getKey();
+                            List<TjSampling> samplings = entry.getValue();
+                            if (samplings.size() >= 2) {
+                                // 杩涜鍚堝苟
+                                List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList());
+    //                            log.info("鎻愬彇id ->{}",stringList);
+                                for (int i = 0; i < stringList.size(); i++) {
+                                    String s = stringList.get(i);
+                                    if (tjSamplingService.isMergeItem(s) != 0) {
+                                        stringList.remove(s);
+                                        ids.add(s);
+                                    }
                                 }
-                            }
-                            if (stringList.size() > 1) {
-                                String id = tjSamplingService.mergeCaiYangApi(stringList, lis_tmh_prefix);
-                                ids.add(id);
+                                if (stringList.size() > 1) {
+                                    String id = tjSamplingService.mergeCaiYangApi(stringList, lis_tmh_prefix);
+                                    ids.add(id);
+                                } else {
+                                    ids.add(stringList.get(0));
+                                }
                             } else {
-                                ids.add(stringList.get(0));
+                                ids.add(samplings.get(0).getId());
                             }
-                        } else {
-                            ids.add(samplings.get(0).getId());
                         }
-                    }
 
-                    Boolean confirmed = samplingServiceApi.confirmSamplingApi(ids.stream().distinct().collect(Collectors.toList()), "Y", "N");
-                    if (!confirmed)
-                        return AjaxResult.error("澶勭悊澶辫触");
-                }
-            } else {
-                List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list();
-                //妫�楠岀敵璇�
-                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()) {
-                        List<TjProject> notNull = projects.stream().filter(i -> i.getSpecimenType() != null).collect(Collectors.toList());
-                        List<TjProject> isNull = projects.stream().filter(i -> i.getSpecimenType() == null).collect(Collectors.toList());
-                        Map<String, List<TjProject>> listMap = notNull.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType));
-                        if (!isNull.isEmpty())
-                            listMap.put("", isNull);
-                        for (Map.Entry<String, List<TjProject>> entry : listMap.entrySet()) {
-                            OutpintestapplyDto dto = new OutpintestapplyDto();
-                            dto.setHisRegistrationId(cardId);
-                            dto.setSfzh(customer.getCusIdcard());
-                            dto.setSqysbm(ysbm);
-                            dto.setMzksbm(dept);
-                            dto.setSjrq(date);
-                            dto.setCzybm(ysbm);
-                            dto.setCzyksbm(dept);
-                            dto.setSfjz("0");
-                            List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>();
-                            List<TjProject> value = entry.getValue();
-                            for (TjProject project : value) {
-                                LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
-                                wrapper.eq(TjProject::getProParentId, project.getProId());
-                                if (!mapJinchuan.isEmpty()) {
-                                    wrapper.notIn(TjProject::getProId, mapJinchuan);
-                                    wrapper.notIn(TjProject::getProParentId, mapJinchuan);
-                                }
-                                List<TjProject> list = projectService.list(wrapper);
-                                for (TjProject tjProject : list) {
-                                    if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
-                                        OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
-                                        detailsDto.setMxfyxmbm(tjProject.getHisXmbm());
-                                        if (tjProject.getSfzhfy().equals("Y")) {
-                                            detailsDto.setSfzhfy("1");
-                                        } else {
-                                            detailsDto.setSfzhfy("0");
-                                        }
-                                        detailsDto.setSl(tjProject.getSl());
-                                        detailsDto.setProjg(tjProject.getProPrice());
-                                        detailsDtos.add(detailsDto);
-                                    }
-                                }
-                                if (!outpinmedicXms.isEmpty()) {
-                                    outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> {
-                                        OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto();
-                                        detilsDto.setYpbm(i.getYpbm());
-                                        detilsDto.setPcbm(i.getPcbm());
-                                        detilsDto.setSl(i.getSl());
-                                        detilsDto.setDj(i.getDj());
-                                        detilsDto.setDcjl(i.getDcjl());
-                                        detilsDto.setPj(i.getPj());
-                                        detilsDto.setJj(i.getJj());
-                                        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.setYpmc(i.getYpmc());
-                                        detilsDto.setFzbl(i.getFzbl());
-                                        detilsDto.setZh(i.getZh());
-                                        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.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);
-                                    }
-                                    // 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);
-//                }
-                                }
-                            }
-                        }
+                        Boolean confirmed = samplingServiceApi.confirmSamplingApi(ids.stream().distinct().collect(Collectors.toList()), "Y", "N");
+                        if (!confirmed)
+                            return AjaxResult.error("澶勭悊澶辫触");
                     }
-                }
-
-                //闂ㄨ瘖妫�鏌ョ敵璇�
-//        List<TbTransition> detailLists = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
-                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);
-                    List<Long> proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList());
-                    if (!proIds.isEmpty()) {
-                        QueryWrapper<TjProject> wrapper4 = new QueryWrapper<>();
-                        wrapper4.select("sum(sl) as sl", "pro_id"
-                                , "pro_parent_id", "pro_name", "his_xmbm", "his_xmmc"
-                                , "pro_price");
-                        wrapper4.in("pro_parent_id", proIds);
-                        wrapper4.groupBy("his_xmbm");
-                        if (!mapJinchuan.isEmpty()) {
-                            wrapper4.notIn("pro_id", mapJinchuan);
-                            wrapper4.notIn("pro_parent_id", mapJinchuan);
-                        }
-                        projects = projectService.list(wrapper4);
+                } else {
+                    List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list();
+                    //妫�楠岀敵璇�
+                    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()) {
-                            List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>();
-                            for (TjProject project : projects) {
-                                if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
-                                    if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
-                                        OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
-                                        detailsDto.setMxfyxmbm(project.getHisXmbm());
-                                        detailsDto.setSfzhfy("0");
-                                        detailsDto.setSl(project.getSl());
-                                        detailsDto.setProjg(project.getProPrice());
-                                        detailsDtoss.add(detailsDto);
+                            List<TjProject> notNull = projects.stream().filter(i -> i.getSpecimenType() != null).collect(Collectors.toList());
+                            List<TjProject> isNull = projects.stream().filter(i -> i.getSpecimenType() == null).collect(Collectors.toList());
+                            Map<String, List<TjProject>> listMap = notNull.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType));
+                            if (!isNull.isEmpty())
+                                listMap.put("", isNull);
+                            for (Map.Entry<String, List<TjProject>> entry : listMap.entrySet()) {
+                                OutpintestapplyDto dto = new OutpintestapplyDto();
+                                dto.setHisRegistrationId(cardId);
+                                dto.setSfzh(customer.getCusIdcard());
+                                dto.setSqysbm(ysbm);
+                                dto.setMzksbm(dept);
+                                dto.setSjrq(date);
+                                dto.setCzybm(ysbm);
+                                dto.setCzyksbm(dept);
+                                dto.setSfjz("0");
+                                List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>();
+                                List<TjProject> value = entry.getValue();
+                                for (TjProject project : value) {
+                                    LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
+                                    wrapper.eq(TjProject::getProParentId, project.getProId());
+                                    if (!mapJinchuan.isEmpty()) {
+                                        wrapper.notIn(TjProject::getProId, mapJinchuan);
+                                        wrapper.notIn(TjProject::getProParentId, mapJinchuan);
                                     }
-                                }
-                            }
-                            List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList());
-                            if (!outpinmedicXms.isEmpty()) {
-                                outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> {
-                                    OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto();
-                                    detilsDto.setYpbm(i.getYpbm());
-                                    detilsDto.setPcbm(i.getPcbm());
-                                    detilsDto.setSl(i.getSl());
-                                    detilsDto.setDj(i.getDj());
-                                    detilsDto.setDcjl(i.getDcjl());
-                                    detilsDto.setPj(i.getPj());
-                                    detilsDto.setJj(i.getJj());
-                                    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.setYpmc(i.getYpmc());
-                                    detilsDto.setFzbl(i.getFzbl());
-                                    detilsDto.setZh(i.getZh());
-                                    outpinmedicapplyDetilsDtos.add(detilsDto);
-                                });
-                            }
-                            if (!detailsDtoss.isEmpty()) {
-                                OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto();
-                                outpinexamapplyDto.setHisRegistrationId(cardId);
-                                outpinexamapplyDto.setSfzh(customer.getCusIdcard());
-                                outpinexamapplyDto.setSqysbm(ysbm);
-                                outpinexamapplyDto.setMzksbm(dept);
-                                outpinexamapplyDto.setCzybm(ysbm);
-                                outpinexamapplyDto.setCzyksbm(dept);
-                                outpinexamapplyDto.setSfjz("0");
-                                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());
+                                    List<TjProject> list = projectService.list(wrapper);
+                                    for (TjProject tjProject : list) {
+                                        if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
+                                            OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+                                            detailsDto.setMxfyxmbm(tjProject.getHisXmbm());
+                                            if (tjProject.getSfzhfy().equals("Y")) {
+                                                detailsDto.setSfzhfy("1");
+                                            } else {
+                                                detailsDto.setSfzhfy("0");
+                                            }
+                                            detailsDto.setSl(tjProject.getSl());
+                                            detailsDto.setProjg(tjProject.getProPrice());
+                                            detailsDtos.add(detailsDto);
                                         }
-                                        tree.setCreateTime(DateUtil.date());
-                                        ltkjJianchajianyanTreeService.save(tree);
+                                    }
+                                    if (!outpinmedicXms.isEmpty()) {
+                                        outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> {
+                                            OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto();
+                                            detilsDto.setYpbm(i.getYpbm());
+                                            detilsDto.setPcbm(i.getPcbm());
+                                            detilsDto.setSl(i.getSl());
+                                            detilsDto.setDj(i.getDj());
+                                            detilsDto.setDcjl(i.getDcjl());
+                                            detilsDto.setPj(i.getPj());
+                                            detilsDto.setJj(i.getJj());
+                                            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.setYpmc(i.getYpmc());
+                                            detilsDto.setFzbl(i.getFzbl());
+                                            detilsDto.setZh(i.getZh());
+                                            outpinmedicapplyDetilsDtos.add(detilsDto);
+                                        });
                                     }
                                 }
-                            }
-                        }
-                    }
-                }
-
-                //闂ㄨ瘖娌荤枟澶勭疆鐢宠
-                OutpintreatapplyDto dao = new OutpintreatapplyDto();
-                dao.setHisRegistrationId(cardId);
-                dao.setSfzh(customer.getCusIdcard());
-                dao.setSqysbm(ysbm);
-                dao.setMzksbm(dept);
-                dao.setSjrq(date);
-                dao.setCzybm(ysbm);
-                dao.setCzyksbm(dept);
-                dao.setSfjz("0");
-//        List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
-                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);
-                    List<Long> proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList());
-                    if (!proIds.isEmpty()) {
-                        QueryWrapper<TjProject> wrapper4 = new QueryWrapper<>();
-                        wrapper4.select("sum(sl) as sl", "pro_id"
-                                , "pro_parent_id", "pro_name", "his_xmbm", "his_xmmc"
-                                , "pro_price");
-                        wrapper4.in("pro_parent_id", proIds);
-                        wrapper4.groupBy("his_xmbm");
-                        if (!mapJinchuan.isEmpty()) {
-                            wrapper4.notIn("pro_id", mapJinchuan);
-                            wrapper4.notIn("pro_parent_id", mapJinchuan);
-                        }
-                        projects = projectService.list(wrapper4);
-                        if (null != projects && !projects.isEmpty()) {
-                            List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
-                            for (TjProject project : projects) {
-                                if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
-                                    OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
-                                    detailsDto.setMxfyxmbm(project.getHisXmbm());
-                                    detailsDto.setSfzhfy("0");
-                                    detailsDto.setSl(project.getSl());
-                                    detailsDto.setProjg(project.getProPrice());
-                                    detailDtos.add(detailsDto);
-                                }
-                            }
-                            List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList());
-                            if (!outpinmedicXms.isEmpty()) {
-                                outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> {
-                                    OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto();
-                                    detilsDto.setYpbm(i.getYpbm());
-                                    detilsDto.setPcbm(i.getPcbm());
-                                    detilsDto.setSl(i.getSl());
-                                    detilsDto.setDj(i.getDj());
-                                    detilsDto.setDcjl(i.getDcjl());
-                                    detilsDto.setPj(i.getPj());
-                                    detilsDto.setJj(i.getJj());
-                                    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.setYpmc(i.getYpmc());
-                                    detilsDto.setFzbl(i.getFzbl());
-                                    detilsDto.setZh(i.getZh());
-                                    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());
+                                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.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);
                                         }
-                                        tree.setCreateTime(DateUtil.date());
-                                        ltkjJianchajianyanTreeService.save(tree);
+                                    }else {
+                                        throw new RuntimeException();
                                     }
                                 }
                             }
                         }
                     }
-                }
 
-                //鑽搧鐢宠
-                if (!outpinmedicapplyDetilsDtos.isEmpty()) {
-                    OutpinmedicapplyDto dto1 = new OutpinmedicapplyDto();
-                    dto1.setHisRegistrationId(cardId);
-                    dto1.setSfzh(customer.getCusIdcard());
-                    dto1.setSqysbm(ysbm);
-                    dto1.setMzksbm(dept);
-                    dto1.setSjrq(date);
-                    String yfbm = configService.selectConfigByKey("chufang_yfbm");
-                    String mzzd = configService.selectConfigByKey("chufang_mzzd");
-                    String czybm = configService.selectConfigByKey("chufang_czybm");
-                    String czyksbm = configService.selectConfigByKey("chufang_czyksbm");
-                    String cflxbm = configService.selectConfigByKey("chufang_cflxbm");
-                    if (czybm.equalsIgnoreCase("N"))
-                        dto1.setCzybm(ysbm);
-                    else dto1.setCzybm(czybm);
-                    if (czyksbm.equalsIgnoreCase("N"))
-                        dto1.setCzyksbm(dept);
-                    else dto1.setCzyksbm(dept);
-                    dto1.setCflxbm(cflxbm);
-                    if (yfbm.equalsIgnoreCase("N"))
-                        dto1.setYfbm("1");
-                    else dto1.setYfbm(yfbm);
-                    dto1.setFyts("1");
-                    if (mzzd.equalsIgnoreCase("N"))
-                        dto1.setMzzd("");
-                    else dto1.setMzzd(mzzd);
-                    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(ysbm);
-                            cf.setSqysxm(ysmc);
-                            cf.setMzksbn(dept);
-                            cf.setSqrq(date);
-                            cf.setCzybm(ysbm);
-                            cf.setYpbm(detilsDto.getYpbm());
-                            cf.setYpmc(detilsDto.getYpmc());
-                            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();
-    }
-
-    //    浣撴瀵筯is鐢宠鍗曡皟鐢ㄦ柟娉�
-    public AjaxResult tijianbulushenqingOld(TjCustomer customer, String date, String cardId, String jxbz, ArrayList<TjProject> jianChaProjects, Boolean isTuanTiPiao) {
-        TjOrder order = orderService.getOrderByCardId(cardId);
-        if (null != order) {
-            String dept = configService.selectConfigByKey("request_default_dept");
-            String ysbm = configService.selectConfigByKey("request_default_ysbm");
-            String ysmc = configService.selectConfigByKey("request_default_ysmc");
-            String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix");
-            List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(), cardId, jxbz);
-            Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
-            List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos = new ArrayList<>();
-            if (useLisAndPacsRegister && isTuanTiPiao) {
-                // 妫�鏌ョ敵璇�
-                pacsReg(order, customer, jianChaProjects);
-                LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
-                wrapper.eq(TjSampling::getTjNum, order.getTjNumber());
-                wrapper.eq(TjSampling::getJxbz, jxbz);
-                List<TjSampling> list = tjSamplingService.list(wrapper);
-                log.info("閲囨牱鏁版嵁 ->{}", JSONUtil.toJsonStr(list));
-                if (!list.isEmpty()) {
-                    Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode));
-                    log.info("鍒嗙粍鍚� ->{}", JSONUtil.toJsonStr(listMap));
-                    ArrayList<String> ids = new ArrayList<>();
-                    for (Map.Entry<String, List<TjSampling>> entry : listMap.entrySet()) {
-                        log.info("key ->{},val ->{}", entry.getKey(), entry.getValue());
-                        // Lis鏍囨湰浠g爜
-                        String specimenTypeCode = entry.getKey();
-                        List<TjSampling> samplings = entry.getValue();
-                        if (samplings.size() >= 2) {
-                            // 杩涜鍚堝苟
-                            List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList());
-                            log.info("鎻愬彇id ->{}", stringList);
-                            for (int i = 0; i < stringList.size(); i++) {
-                                String s = stringList.get(i);
-                                if (tjSamplingService.isMergeItem(s) != 0) {
-                                    stringList.remove(s);
-                                    ids.add(s);
-                                }
+                    //闂ㄨ瘖妫�鏌ョ敵璇�
+    //        List<TbTransition> detailLists = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
+                    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);
+                        List<Long> proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList());
+                        if (!proIds.isEmpty()) {
+                            QueryWrapper<TjProject> wrapper4 = new QueryWrapper<>();
+                            wrapper4.select("sum(sl) as sl", "pro_id"
+                                    , "pro_parent_id", "pro_name", "his_xmbm", "his_xmmc"
+                                    , "pro_price");
+                            wrapper4.in("pro_parent_id", proIds);
+                            wrapper4.groupBy("his_xmbm");
+                            if (!mapJinchuan.isEmpty()) {
+                                wrapper4.notIn("pro_id", mapJinchuan);
+                                wrapper4.notIn("pro_parent_id", mapJinchuan);
                             }
-                            if (stringList.size() > 1) {
-                                String id = tjSamplingService.mergeCaiYangApi(stringList, lis_tmh_prefix);
-                                ids.add(id);
-                            } else {
-                                ids.add(stringList.get(0));
-                            }
-                        } else {
-                            ids.add(samplings.get(0).getId());
-                        }
-                    }
-//                    Boolean confirmed = samplingServiceApi.confirmSamplingApi(ids, "Y", "N");
-//                    if (!confirmed)
-//                        return AjaxResult.error("澶勭悊澶辫触");
-                }
-            } else {
-                List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list();
-                //妫�楠岀敵璇�
-                OutpintestapplyDto dto = new OutpintestapplyDto();
-                dto.setHisRegistrationId(cardId);
-                dto.setSfzh(customer.getCusIdcard());
-                dto.setSqysbm(ysbm);
-                dto.setMzksbm(dept);
-                dto.setSjrq(date);
-                dto.setCzybm(ysbm);
-                dto.setCzyksbm(dept);
-                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()) {
-                                    if (project.getSfzhfy().equals("Y")) {
-                                        mapJinchuan.add(project.getProId().toString());
-                                        OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
-                                        detailsDto.setMxfyxmbm(project.getHisXmbm());
-                                        if (project.getSfzhfy().equals("Y")) {
-                                            detailsDto.setSfzhfy("1");
-                                        } else {
+                            projects = projectService.list(wrapper4);
+                            if (null != projects && !projects.isEmpty()) {
+                                List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>();
+                                for (TjProject project : projects) {
+                                    if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
+                                        if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
+                                            OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+                                            detailsDto.setMxfyxmbm(project.getHisXmbm());
                                             detailsDto.setSfzhfy("0");
+                                            detailsDto.setSl(project.getSl());
+                                            detailsDto.setProjg(project.getProPrice());
+                                            detailsDtoss.add(detailsDto);
                                         }
-                                        detailsDto.setSl(project.getSl());
-                                        detailsDto.setProjg(project.getProPrice());
-                                        detailsDtos.add(detailsDto);
-                                    }
-                                }
-                                if (!outpinmedicXms.isEmpty()) {
-                                    outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> {
-                                        OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto();
-                                        detilsDto.setYpbm(i.getYpbm());
-                                        detilsDto.setPcbm(i.getPcbm());
-                                        detilsDto.setSl(i.getSl());
-                                        detilsDto.setDj(i.getDj());
-                                        detilsDto.setDcjl(i.getDcjl());
-                                        detilsDto.setPj(i.getPj());
-                                        detilsDto.setJj(i.getJj());
-                                        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.setYpmc(i.getYpmc());
-                                        detilsDto.setFzbl(i.getFzbl());
-                                        detilsDto.setZh(i.getZh());
-                                        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(ysbm);
-                outpinexamapplyDto.setMzksbm(dept);
-                outpinexamapplyDto.setCzybm(ysbm);
-                outpinexamapplyDto.setCzyksbm(dept);
-                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()) {
-                                    if (project.getSfzhfy().equals("Y")) {
-                                        mapJinchuan.add(project.getProParentId().toString());
-                                        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);
                                     }
                                 }
                                 List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList());
@@ -1770,75 +1316,436 @@
                                         outpinmedicapplyDetilsDtos.add(detilsDto);
                                     });
                                 }
+                                if (!detailsDtoss.isEmpty()) {
+                                    OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto();
+                                    outpinexamapplyDto.setHisRegistrationId(cardId);
+                                    outpinexamapplyDto.setSfzh(customer.getCusIdcard());
+                                    outpinexamapplyDto.setSqysbm(ysbm);
+                                    outpinexamapplyDto.setMzksbm(dept);
+                                    outpinexamapplyDto.setCzybm(ysbm);
+                                    outpinexamapplyDto.setCzyksbm(dept);
+                                    outpinexamapplyDto.setSfjz("0");
+                                    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);
+                                        }
+                                    }else {
+                                        throw new RuntimeException();
+                                    }
+                                }
                             }
                         }
                     }
-                }
-                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());
+
+                    //闂ㄨ瘖娌荤枟澶勭疆鐢宠
+                    OutpintreatapplyDto dao = new OutpintreatapplyDto();
+                    dao.setHisRegistrationId(cardId);
+                    dao.setSfzh(customer.getCusIdcard());
+                    dao.setSqysbm(ysbm);
+                    dao.setMzksbm(dept);
+                    dao.setSjrq(date);
+                    dao.setCzybm(ysbm);
+                    dao.setCzyksbm(dept);
+                    dao.setSfjz("0");
+    //        List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
+                    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);
+                        List<Long> proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList());
+                        if (!proIds.isEmpty()) {
+                            QueryWrapper<TjProject> wrapper4 = new QueryWrapper<>();
+                            wrapper4.select("sum(sl) as sl", "pro_id"
+                                    , "pro_parent_id", "pro_name", "his_xmbm", "his_xmmc"
+                                    , "pro_price");
+                            wrapper4.in("pro_parent_id", proIds);
+                            wrapper4.groupBy("his_xmbm");
+                            if (!mapJinchuan.isEmpty()) {
+                                wrapper4.notIn("pro_id", mapJinchuan);
+                                wrapper4.notIn("pro_parent_id", mapJinchuan);
                             }
-                            tree.setCreateTime(DateUtil.date());
-                            ltkjJianchajianyanTreeService.save(tree);
+                            projects = projectService.list(wrapper4);
+                            if (null != projects && !projects.isEmpty()) {
+                                List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
+                                for (TjProject project : projects) {
+                                    if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
+                                        OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+                                        detailsDto.setMxfyxmbm(project.getHisXmbm());
+                                        detailsDto.setSfzhfy("0");
+                                        detailsDto.setSl(project.getSl());
+                                        detailsDto.setProjg(project.getProPrice());
+                                        detailDtos.add(detailsDto);
+                                    }
+                                }
+                                List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList());
+                                if (!outpinmedicXms.isEmpty()) {
+                                    outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> {
+                                        OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto();
+                                        detilsDto.setYpbm(i.getYpbm());
+                                        detilsDto.setPcbm(i.getPcbm());
+                                        detilsDto.setSl(i.getSl());
+                                        detilsDto.setDj(i.getDj());
+                                        detilsDto.setDcjl(i.getDcjl());
+                                        detilsDto.setPj(i.getPj());
+                                        detilsDto.setJj(i.getJj());
+                                        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.setYpmc(i.getYpmc());
+                                        detilsDto.setFzbl(i.getFzbl());
+                                        detilsDto.setZh(i.getZh());
+                                        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);
+                                        }
+                                    }else {
+                                        throw new RuntimeException();
+                                    }
+                                }
+                            }
+                        }
+                    }
+
+                    //鑽搧鐢宠
+                    if (!outpinmedicapplyDetilsDtos.isEmpty()) {
+                        OutpinmedicapplyDto dto1 = new OutpinmedicapplyDto();
+                        dto1.setHisRegistrationId(cardId);
+                        dto1.setSfzh(customer.getCusIdcard());
+                        dto1.setSqysbm(ysbm);
+                        dto1.setMzksbm(dept);
+                        dto1.setSjrq(date);
+                        String yfbm = configService.selectConfigByKey("chufang_yfbm");
+                        String mzzd = configService.selectConfigByKey("chufang_mzzd");
+                        String czybm = configService.selectConfigByKey("chufang_czybm");
+                        String czyksbm = configService.selectConfigByKey("chufang_czyksbm");
+                        String cflxbm = configService.selectConfigByKey("chufang_cflxbm");
+                        if (czybm.equalsIgnoreCase("N"))
+                            dto1.setCzybm(ysbm);
+                        else dto1.setCzybm(czybm);
+                        if (czyksbm.equalsIgnoreCase("N"))
+                            dto1.setCzyksbm(dept);
+                        else dto1.setCzyksbm(dept);
+                        dto1.setCflxbm(cflxbm);
+                        if (yfbm.equalsIgnoreCase("N"))
+                            dto1.setYfbm("1");
+                        else dto1.setYfbm(yfbm);
+                        dto1.setFyts("1");
+                        if (mzzd.equalsIgnoreCase("N"))
+                            dto1.setMzzd("");
+                        else dto1.setMzzd(mzzd);
+                        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(ysbm);
+                                cf.setSqysxm(ysmc);
+                                cf.setMzksbn(dept);
+                                cf.setSqrq(date);
+                                cf.setCzybm(ysbm);
+                                cf.setYpbm(detilsDto.getYpbm());
+                                cf.setYpmc(detilsDto.getYpmc());
+                                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);
+                            }
+                        }else {
+                            throw new RuntimeException();
                         }
                     }
                 }
+            }
+            return AjaxResult.success();
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
 
-                //闂ㄨ瘖娌荤枟澶勭疆鐢宠
-                OutpintreatapplyDto dao = new OutpintreatapplyDto();
-                dao.setHisRegistrationId(cardId);
-                dao.setSfzh(customer.getCusIdcard());
-                dao.setSqysbm(ysbm);
-                dao.setMzksbm(dept);
-                dao.setSjrq(date);
-                dao.setCzybm(ysbm);
-                dao.setCzyksbm(dept);
-                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()) {
-                                    {
+    //    浣撴瀵筯is鐢宠鍗曡皟鐢ㄦ柟娉�
+    public AjaxResult tijianbulushenqingOld(TjCustomer customer, String date, String cardId, String jxbz, ArrayList<TjProject> jianChaProjects, Boolean isTuanTiPiao) {
+        try {
+            TjOrder order = orderService.getOrderByCardId(cardId);
+            if (null != order) {
+                String dept = configService.selectConfigByKey("request_default_dept");
+                String ysbm = configService.selectConfigByKey("request_default_ysbm");
+                String ysmc = configService.selectConfigByKey("request_default_ysmc");
+                String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix");
+                List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(), cardId, jxbz);
+                Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
+                List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos = new ArrayList<>();
+                if (useLisAndPacsRegister && isTuanTiPiao) {
+                    // 妫�鏌ョ敵璇�
+                    pacsReg(order, customer, jianChaProjects);
+                    LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
+                    wrapper.eq(TjSampling::getTjNum, order.getTjNumber());
+                    wrapper.eq(TjSampling::getJxbz, jxbz);
+                    List<TjSampling> list = tjSamplingService.list(wrapper);
+                    log.info("閲囨牱鏁版嵁 ->{}", JSONUtil.toJsonStr(list));
+                    if (!list.isEmpty()) {
+                        Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode));
+                        log.info("鍒嗙粍鍚� ->{}", JSONUtil.toJsonStr(listMap));
+                        ArrayList<String> ids = new ArrayList<>();
+                        for (Map.Entry<String, List<TjSampling>> entry : listMap.entrySet()) {
+                            log.info("key ->{},val ->{}", entry.getKey(), entry.getValue());
+                            // Lis鏍囨湰浠g爜
+                            String specimenTypeCode = entry.getKey();
+                            List<TjSampling> samplings = entry.getValue();
+                            if (samplings.size() >= 2) {
+                                // 杩涜鍚堝苟
+                                List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList());
+                                log.info("鎻愬彇id ->{}", stringList);
+                                for (int i = 0; i < stringList.size(); i++) {
+                                    String s = stringList.get(i);
+                                    if (tjSamplingService.isMergeItem(s) != 0) {
+                                        stringList.remove(s);
+                                        ids.add(s);
+                                    }
+                                }
+                                if (stringList.size() > 1) {
+                                    String id = tjSamplingService.mergeCaiYangApi(stringList, lis_tmh_prefix);
+                                    ids.add(id);
+                                } else {
+                                    ids.add(stringList.get(0));
+                                }
+                            } else {
+                                ids.add(samplings.get(0).getId());
+                            }
+                        }
+    //                    Boolean confirmed = samplingServiceApi.confirmSamplingApi(ids, "Y", "N");
+    //                    if (!confirmed)
+    //                        return AjaxResult.error("澶勭悊澶辫触");
+                    }
+                } else {
+                    List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list();
+                    //妫�楠岀敵璇�
+                    OutpintestapplyDto dto = new OutpintestapplyDto();
+                    dto.setHisRegistrationId(cardId);
+                    dto.setSfzh(customer.getCusIdcard());
+                    dto.setSqysbm(ysbm);
+                    dto.setMzksbm(dept);
+                    dto.setSjrq(date);
+                    dto.setCzybm(ysbm);
+                    dto.setCzyksbm(dept);
+                    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()) {
+                                        if (project.getSfzhfy().equals("Y")) {
+                                            mapJinchuan.add(project.getProId().toString());
+                                            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 (!outpinmedicXms.isEmpty()) {
+                                        outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> {
+                                            OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto();
+                                            detilsDto.setYpbm(i.getYpbm());
+                                            detilsDto.setPcbm(i.getPcbm());
+                                            detilsDto.setSl(i.getSl());
+                                            detilsDto.setDj(i.getDj());
+                                            detilsDto.setDcjl(i.getDcjl());
+                                            detilsDto.setPj(i.getPj());
+                                            detilsDto.setJj(i.getJj());
+                                            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.setYpmc(i.getYpmc());
+                                            detilsDto.setFzbl(i.getFzbl());
+                                            detilsDto.setZh(i.getZh());
+                                            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);
+                            }
+                        }else {
+                            throw new RuntimeException();
+                        }
+                    }
+
+                    //闂ㄨ瘖妫�鏌ョ敵璇�
+                    OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto();
+                    outpinexamapplyDto.setHisRegistrationId(cardId);
+                    outpinexamapplyDto.setSfzh(customer.getCusIdcard());
+                    outpinexamapplyDto.setSqysbm(ysbm);
+                    outpinexamapplyDto.setMzksbm(dept);
+                    outpinexamapplyDto.setCzybm(ysbm);
+                    outpinexamapplyDto.setCzyksbm(dept);
+                    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()) {
                                         if (project.getSfzhfy().equals("Y")) {
                                             mapJinchuan.add(project.getProParentId().toString());
                                             OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
@@ -1850,147 +1757,266 @@
                                             }
                                             detailsDto.setSl(project.getSl());
                                             detailsDto.setProjg(project.getProPrice());
-                                            detailDtos.add(detailsDto);
+                                            detailsDtoss.add(detailsDto);
                                         }
-
-//                                        mapJinchuan.add(project.getProParentId().toString());
-//                                        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);
+                                    }
+                                    List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList());
+                                    if (!outpinmedicXms.isEmpty()) {
+                                        outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> {
+                                            OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto();
+                                            detilsDto.setYpbm(i.getYpbm());
+                                            detilsDto.setPcbm(i.getPcbm());
+                                            detilsDto.setSl(i.getSl());
+                                            detilsDto.setDj(i.getDj());
+                                            detilsDto.setDcjl(i.getDcjl());
+                                            detilsDto.setPj(i.getPj());
+                                            detilsDto.setJj(i.getJj());
+                                            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.setYpmc(i.getYpmc());
+                                            detilsDto.setFzbl(i.getFzbl());
+                                            detilsDto.setZh(i.getZh());
+                                            outpinmedicapplyDetilsDtos.add(detilsDto);
+                                        });
                                     }
                                 }
-                                List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList());
-                                if (!outpinmedicXms.isEmpty()) {
-                                    outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> {
-                                        OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto();
-                                        detilsDto.setYpbm(i.getYpbm());
-                                        detilsDto.setPcbm(i.getPcbm());
-                                        detilsDto.setSl(i.getSl());
-                                        detilsDto.setDj(i.getDj());
-                                        detilsDto.setDcjl(i.getDcjl());
-                                        detilsDto.setPj(i.getPj());
-                                        detilsDto.setJj(i.getJj());
-                                        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.setYpmc(i.getYpmc());
-                                        detilsDto.setFzbl(i.getFzbl());
-                                        detilsDto.setZh(i.getZh());
-                                        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);
+                            }
+                        }else {
+                            throw new RuntimeException();
+                        }
+                    }
+
+                    //闂ㄨ瘖娌荤枟澶勭疆鐢宠
+                    OutpintreatapplyDto dao = new OutpintreatapplyDto();
+                    dao.setHisRegistrationId(cardId);
+                    dao.setSfzh(customer.getCusIdcard());
+                    dao.setSqysbm(ysbm);
+                    dao.setMzksbm(dept);
+                    dao.setSjrq(date);
+                    dao.setCzybm(ysbm);
+                    dao.setCzyksbm(dept);
+                    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()) {
+                                        {
+
+                                            if (project.getSfzhfy().equals("Y")) {
+                                                mapJinchuan.add(project.getProParentId().toString());
+                                                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);
+                                            }
+
+    //                                        mapJinchuan.add(project.getProParentId().toString());
+    //                                        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);
+                                        }
+                                    }
+                                    List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList());
+                                    if (!outpinmedicXms.isEmpty()) {
+                                        outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> {
+                                            OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto();
+                                            detilsDto.setYpbm(i.getYpbm());
+                                            detilsDto.setPcbm(i.getPcbm());
+                                            detilsDto.setSl(i.getSl());
+                                            detilsDto.setDj(i.getDj());
+                                            detilsDto.setDcjl(i.getDcjl());
+                                            detilsDto.setPj(i.getPj());
+                                            detilsDto.setJj(i.getJj());
+                                            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.setYpmc(i.getYpmc());
+                                            detilsDto.setFzbl(i.getFzbl());
+                                            detilsDto.setZh(i.getZh());
+                                            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());
+                    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);
                             }
-                            tree.setCreateTime(DateUtil.date());
-                            ltkjJianchajianyanTreeService.save(tree);
+                        }else {
+                            throw new RuntimeException();
                         }
                     }
-                }
-/*
-                //鑽搧鐢宠
-                if(!outpinmedicapplyDetilsDtos.isEmpty()){
-                    OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
-                    dto1.setHisRegistrationId(cardId);
-                    dto1.setSfzh(customer.getCusIdcard());
-                    dto1.setSqysbm(ysbm);
-                    dto1.setMzksbm(dept);
-                    dto1.setSjrq(date);
-                    dto1.setCzybm(ysbm);
-                    dto1.setCzyksbm(dept);
-                    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(ysbm);
-                            cf.setSqysxm(ysmc);
-                            cf.setMzksbn(dept);
-                            cf.setSqrq(date);
-                            cf.setCzybm(ysbm);
-                            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);
+    /*
+                    //鑽搧鐢宠
+                    if(!outpinmedicapplyDetilsDtos.isEmpty()){
+                        OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
+                        dto1.setHisRegistrationId(cardId);
+                        dto1.setSfzh(customer.getCusIdcard());
+                        dto1.setSqysbm(ysbm);
+                        dto1.setMzksbm(dept);
+                        dto1.setSjrq(date);
+                        dto1.setCzybm(ysbm);
+                        dto1.setCzyksbm(dept);
+                        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(ysbm);
+                                cf.setSqysxm(ysmc);
+                                cf.setMzksbn(dept);
+                                cf.setSqrq(date);
+                                cf.setCzybm(ysbm);
+                                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();
+        } catch (Exception e) {
+            throw new RuntimeException(e);
         }
-        return AjaxResult.success();
     }
 
     /**/
@@ -2435,143 +2461,257 @@
 //    }
 
     public AjaxResult tijianbulushenqing(TjCustomer customer, String date, String cardId, String jxbz, ArrayList<TjProject> jianChaProjects, Boolean isTuanTiPiao) {
-        TjOrder order = orderService.getOrderByCardId(cardId);
-        if (null != order) {
-            String dept = configService.selectConfigByKey("request_default_dept");
-            String ysbm = configService.selectConfigByKey("request_default_ysbm");
-            String ysmc = configService.selectConfigByKey("request_default_ysmc");
-            String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix");
-            List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(), cardId, jxbz);
-//            Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
-            List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos = new ArrayList<>();
-            String isRequestLisAllzx = configService.selectConfigByKey("jcx_is_requestLisAllzx");
+        try {
+            TjOrder order = orderService.getOrderByCardId(cardId);
+            if (null != order) {
+                String dept = configService.selectConfigByKey("request_default_dept");
+                String ysbm = configService.selectConfigByKey("request_default_ysbm");
+                String ysmc = configService.selectConfigByKey("request_default_ysmc");
+                String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix");
+                List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(), cardId, jxbz);
+    //            Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
+                List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos = new ArrayList<>();
+                String isRequestLisAllzx = configService.selectConfigByKey("jcx_is_requestLisAllzx");
 
-            if (isTuanTiPiao) {
+                if (isTuanTiPiao) {
 
-                // 妫�鏌ョ敵璇�
-                pacsReg(order, customer, jianChaProjects);
-                LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
-                wrapper.eq(TjSampling::getTjNum, order.getTjNumber());
-                wrapper.eq(TjSampling::getJxbz, jxbz);
-                List<TjSampling> list = tjSamplingService.list(wrapper);
-                log.info("閲囨牱鏁版嵁 ->{}", JSONUtil.toJsonStr(list));
+                    // 妫�鏌ョ敵璇�
+                    pacsReg(order, customer, jianChaProjects);
+                    LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
+                    wrapper.eq(TjSampling::getTjNum, order.getTjNumber());
+                    wrapper.eq(TjSampling::getJxbz, jxbz);
+                    List<TjSampling> list = tjSamplingService.list(wrapper);
+                    log.info("閲囨牱鏁版嵁 ->{}", JSONUtil.toJsonStr(list));
 
-                if (isRequestLisAllzx != null && isRequestLisAllzx.equalsIgnoreCase("Y")){
-                    log.info("琛ュ綍椤圭洰杩涘叆鍥綋鏍规嵁灏忛」鏍囨湰鍚堝苟鍙戦�佹柟娉�");
+                    if (isRequestLisAllzx != null && isRequestLisAllzx.equalsIgnoreCase("Y")){
+                        log.info("琛ュ綍椤圭洰杩涘叆鍥綋鏍规嵁灏忛」鏍囨湰鍚堝苟鍙戦�佹柟娉�");
 
-                    if(null !=list && !list.isEmpty()){
-                        List<String> strings = list.stream().map(TjSampling::getProId).collect(Collectors.toList());
-                        LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>();
-                        wrapper1.in(TjProject::getProParentId,strings);
-                        wrapper1.eq(TjProject::getProStatus,0);
-                        wrapper1.groupBy(TjProject::getProId);
-                        List<TjProject> tjProjectList = projectService.list(wrapper1);
-                        if(null !=  tjProjectList && !tjProjectList.isEmpty()){
-                            Map<String, List<TjProject>> listMap = tjProjectList.stream()
-                                    .collect(Collectors.groupingBy(p->p.getSpecimenType()+"_"+p.getYb()));
+                        if(null !=list && !list.isEmpty()){
+                            List<String> strings = list.stream().map(TjSampling::getProId).collect(Collectors.toList());
+                            LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>();
+                            wrapper1.in(TjProject::getProParentId,strings);
+                            wrapper1.eq(TjProject::getProStatus,0);
+                            wrapper1.groupBy(TjProject::getProId);
+                            List<TjProject> tjProjectList = projectService.list(wrapper1);
+                            if(null !=  tjProjectList && !tjProjectList.isEmpty()){
+                                Map<String, List<TjProject>> listMap = tjProjectList.stream()
+                                        .collect(Collectors.groupingBy(p->p.getSpecimenType()+"_"+p.getYb()));
 
-                            log.info("鍒嗙粍鍚� ->{}",JSONUtil.toJsonStr(listMap));
-                            boolean save = lisApiMethod.save(listMap, order, customer);
-                            if (!save) {
-                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                                return AjaxResult.error("澶勭悊澶辫触");
-                            }
-                            for (TjSampling tjSampling : list) {
-                                tjSampling.setIsSignFor("0");
-                            }
-                            tjSamplingService.updateBatchById(list);
-                        }
-                    }
-
-
-                }else {
-                    if (!list.isEmpty()) {
-//                    Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode));
-                        Map<String, List<TjSampling>> listMap = list.stream()
-                                .collect(Collectors.groupingBy(p->p.getSpecimenTypeCode()+"_"+p.getYb()));
-
-                        log.info("鍒嗙粍鍚� ->{}", JSONUtil.toJsonStr(listMap));
-                        ArrayList<String> ids = new ArrayList<>();
-                        for (Map.Entry<String, List<TjSampling>> entry : listMap.entrySet()) {
-                            log.info("key ->{},val ->{}", entry.getKey(), entry.getValue());
-                            // Lis鏍囨湰浠g爜
-                            String specimenTypeCode = entry.getKey();
-                            List<TjSampling> samplings = entry.getValue();
-                            if (samplings.size() >= 2) {
-                                // 杩涜鍚堝苟
-                                List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList());
-//                            log.info("鎻愬彇id ->{}",stringList);
-                                for (int i = 0; i < stringList.size(); i++) {
-                                    String s = stringList.get(i);
-                                    if (tjSamplingService.isMergeItem(s) != 0) {
-                                        stringList.remove(s);
-                                        ids.add(s);
-                                    }
+                                log.info("鍒嗙粍鍚� ->{}",JSONUtil.toJsonStr(listMap));
+                                boolean save = lisApiMethod.save(listMap, order, customer);
+                                if (!save) {
+                                    throw new RuntimeException();
                                 }
-                                if (stringList.size() > 1) {
-                                    String id = tjSamplingService.mergeCaiYangApi(stringList, lis_tmh_prefix);
-                                    ids.add(id);
-                                } else {
-                                    ids.add(stringList.get(0));
+                                for (TjSampling tjSampling : list) {
+                                    tjSampling.setIsSignFor("0");
                                 }
-                            } else {
-                                ids.add(samplings.get(0).getId());
+                                tjSamplingService.updateBatchById(list);
                             }
                         }
-                        Boolean confirmed = samplingServiceApi.confirmSamplingApi(ids, "Y", "N");
-                        if (!confirmed)
-                            return AjaxResult.error("澶勭悊澶辫触");
-                    }
-                }
 
-            } else {
-                List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list();
-                //妫�楠岀敵璇�
-                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()) {
-                        List<TjProject> notNull = projects.stream().filter(i -> i.getSpecimenType() != null).collect(Collectors.toList());
-                        List<TjProject> isNull = projects.stream().filter(i -> i.getSpecimenType() == null).collect(Collectors.toList());
-                        Map<String, List<TjProject>> listMap = notNull.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType));
-                        if (!isNull.isEmpty())
-                            listMap.put("", isNull);
-                        for (Map.Entry<String, List<TjProject>> entry : listMap.entrySet()) {
-                            OutpintestapplyDto dto = new OutpintestapplyDto();
-                            dto.setHisRegistrationId(cardId);
-                            dto.setSfzh(customer.getCusIdcard());
-                            dto.setSqysbm(ysbm);
-                            dto.setMzksbm(dept);
-                            dto.setSjrq(date);
-                            dto.setCzybm(ysbm);
-                            dto.setCzyksbm(dept);
-                            dto.setSfjz("0");
-                            List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>();
-                            List<TjProject> value = entry.getValue();
-                            for (TjProject project : value) {
-                                LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
-                                wrapper.eq(TjProject::getProParentId, project.getProId());
-                                List<TjProject> list = projectService.list(wrapper);
-                                for (TjProject tjProject : list) {
-                                    if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
-                                        OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
-                                        detailsDto.setMxfyxmbm(tjProject.getHisXmbm());
-                                        if (tjProject.getSfzhfy().equals("Y")) {
-                                            detailsDto.setSfzhfy("1");
-                                        } else {
-                                            detailsDto.setSfzhfy("0");
+
+                    }else {
+                        if (!list.isEmpty()) {
+    //                    Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode));
+                            Map<String, List<TjSampling>> listMap = list.stream()
+                                    .collect(Collectors.groupingBy(p->p.getSpecimenTypeCode()+"_"+p.getYb()));
+
+                            log.info("鍒嗙粍鍚� ->{}", JSONUtil.toJsonStr(listMap));
+                            ArrayList<String> ids = new ArrayList<>();
+                            for (Map.Entry<String, List<TjSampling>> entry : listMap.entrySet()) {
+                                log.info("key ->{},val ->{}", entry.getKey(), entry.getValue());
+                                // Lis鏍囨湰浠g爜
+                                String specimenTypeCode = entry.getKey();
+                                List<TjSampling> samplings = entry.getValue();
+                                if (samplings.size() >= 2) {
+                                    // 杩涜鍚堝苟
+                                    List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList());
+    //                            log.info("鎻愬彇id ->{}",stringList);
+                                    for (int i = 0; i < stringList.size(); i++) {
+                                        String s = stringList.get(i);
+                                        if (tjSamplingService.isMergeItem(s) != 0) {
+                                            stringList.remove(s);
+                                            ids.add(s);
                                         }
-                                        detailsDto.setSl(tjProject.getSl());
-                                        detailsDto.setProjg(tjProject.getProPrice());
-                                        detailsDtos.add(detailsDto);
+                                    }
+                                    if (stringList.size() > 1) {
+                                        String id = tjSamplingService.mergeCaiYangApi(stringList, lis_tmh_prefix);
+                                        ids.add(id);
+                                    } else {
+                                        ids.add(stringList.get(0));
+                                    }
+                                } else {
+                                    ids.add(samplings.get(0).getId());
+                                }
+                            }
+                            Boolean confirmed = samplingServiceApi.confirmSamplingApi(ids, "Y", "N");
+                            if (!confirmed)
+                                throw new RuntimeException();
+                        }
+                    }
+
+                } else {
+                    List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list();
+                    //妫�楠岀敵璇�
+                    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()) {
+                            List<TjProject> notNull = projects.stream().filter(i -> i.getSpecimenType() != null).collect(Collectors.toList());
+                            List<TjProject> isNull = projects.stream().filter(i -> i.getSpecimenType() == null).collect(Collectors.toList());
+                            Map<String, List<TjProject>> listMap = notNull.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType));
+                            if (!isNull.isEmpty())
+                                listMap.put("", isNull);
+                            for (Map.Entry<String, List<TjProject>> entry : listMap.entrySet()) {
+                                OutpintestapplyDto dto = new OutpintestapplyDto();
+                                dto.setHisRegistrationId(cardId);
+                                dto.setSfzh(customer.getCusIdcard());
+                                dto.setSqysbm(ysbm);
+                                dto.setMzksbm(dept);
+                                dto.setSjrq(date);
+                                dto.setCzybm(ysbm);
+                                dto.setCzyksbm(dept);
+                                dto.setSfjz("0");
+                                List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>();
+                                List<TjProject> value = entry.getValue();
+                                for (TjProject project : value) {
+                                    LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
+                                    wrapper.eq(TjProject::getProParentId, project.getProId());
+                                    List<TjProject> list = projectService.list(wrapper);
+                                    for (TjProject tjProject : list) {
+                                        if (StrUtil.isNotBlank(tjProject.getHisXmbm()) && tjProject.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
+                                            OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+                                            detailsDto.setMxfyxmbm(tjProject.getHisXmbm());
+                                            if (tjProject.getSfzhfy().equals("Y")) {
+                                                detailsDto.setSfzhfy("1");
+                                            } else {
+                                                detailsDto.setSfzhfy("0");
+                                            }
+                                            detailsDto.setSl(tjProject.getSl());
+                                            detailsDto.setProjg(tjProject.getProPrice());
+                                            detailsDtos.add(detailsDto);
+                                        }
+                                    }
+                                    if (!outpinmedicXms.isEmpty()) {
+                                        outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> {
+                                            OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto();
+                                            detilsDto.setYpbm(i.getYpbm());
+                                            detilsDto.setPcbm(i.getPcbm());
+                                            detilsDto.setSl(i.getSl());
+                                            detilsDto.setDj(i.getDj());
+                                            detilsDto.setDcjl(i.getDcjl());
+                                            detilsDto.setPj(i.getPj());
+                                            detilsDto.setJj(i.getJj());
+                                            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.setYpmc(i.getYpmc());
+                                            detilsDto.setFzbl(i.getFzbl());
+                                            detilsDto.setZh(i.getZh());
+                                            detilsDto.setCflx(i.getCflx());
+                                            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.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);
+                                        }
+                                        // 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);
+    //                }
+                                    }else {
+                                        throw new RuntimeException();
+                                    }
+                                }
+                            }
+                        }
+                    }
+
+                    //闂ㄨ瘖妫�鏌ョ敵璇�
+    //        List<TbTransition> detailLists = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
+                    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);
+                        List<Long> proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList());
+                        if (!proIds.isEmpty()) {
+                            QueryWrapper<TjProject> wrapper4 = new QueryWrapper<>();
+                            wrapper4.select("sum(sl) as sl", "pro_id"
+                                    , "pro_parent_id", "pro_name", "his_xmbm", "his_xmmc"
+                                    , "pro_price");
+                            wrapper4.in("pro_parent_id", proIds);
+                            wrapper4.groupBy("his_xmbm");
+                            projects = projectService.list(wrapper4);
+                            if (null != projects && !projects.isEmpty()) {
+                                List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>();
+                                for (TjProject project : projects) {
+                                    if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
+                                        if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
+                                            OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+                                            detailsDto.setMxfyxmbm(project.getHisXmbm());
+                                            detailsDto.setSfzhfy("0");
+                                            detailsDto.setSl(project.getSl());
+                                            detailsDto.setProjg(project.getProPrice());
+                                            detailsDtoss.add(detailsDto);
+                                        }
+                                    }
+                                }
+                                List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList());
                                 if (!outpinmedicXms.isEmpty()) {
-                                    outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> {
+                                    outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> {
                                         OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto();
                                         detilsDto.setYpbm(i.getYpbm());
                                         detilsDto.setPcbm(i.getPcbm());
@@ -2599,410 +2739,308 @@
                                         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.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());
+                                if (!detailsDtoss.isEmpty()) {
+                                    OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto();
+                                    outpinexamapplyDto.setHisRegistrationId(cardId);
+                                    outpinexamapplyDto.setSfzh(customer.getCusIdcard());
+                                    outpinexamapplyDto.setSqysbm(ysbm);
+                                    outpinexamapplyDto.setMzksbm(dept);
+                                    outpinexamapplyDto.setCzybm(ysbm);
+                                    outpinexamapplyDto.setCzyksbm(dept);
+                                    outpinexamapplyDto.setSfjz("0");
+                                    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);
                                         }
-                                        tree.setCreateTime(DateUtil.date());
-                                        ltkjJianchajianyanTreeService.save(tree);
+                                    }else {
+                                        throw new RuntimeException();
+
                                     }
-                                    // 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);
-//                }
                                 }
                             }
                         }
                     }
-                }
 
-                //闂ㄨ瘖妫�鏌ョ敵璇�
-//        List<TbTransition> detailLists = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
-                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);
-                    List<Long> proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList());
-                    if (!proIds.isEmpty()) {
-                        QueryWrapper<TjProject> wrapper4 = new QueryWrapper<>();
-                        wrapper4.select("sum(sl) as sl", "pro_id"
-                                , "pro_parent_id", "pro_name", "his_xmbm", "his_xmmc"
-                                , "pro_price");
-                        wrapper4.in("pro_parent_id", proIds);
-                        wrapper4.groupBy("his_xmbm");
-                        projects = projectService.list(wrapper4);
-                        if (null != projects && !projects.isEmpty()) {
-                            List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>();
-                            for (TjProject project : projects) {
-                                if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
+                    //闂ㄨ瘖娌荤枟澶勭疆鐢宠
+                    OutpintreatapplyDto dao = new OutpintreatapplyDto();
+                    dao.setHisRegistrationId(cardId);
+                    dao.setSfzh(customer.getCusIdcard());
+                    dao.setSqysbm(ysbm);
+                    dao.setMzksbm(dept);
+                    dao.setSjrq(date);
+                    dao.setCzybm(ysbm);
+                    dao.setCzyksbm(dept);
+                    dao.setSfjz("0");
+    //        List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
+                    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);
+                        List<Long> proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList());
+                        if (!proIds.isEmpty()) {
+                            QueryWrapper<TjProject> wrapper4 = new QueryWrapper<>();
+                            wrapper4.select("sum(sl) as sl", "pro_id"
+                                    , "pro_parent_id", "pro_name", "his_xmbm", "his_xmmc"
+                                    , "pro_price");
+                            wrapper4.in("pro_parent_id", proIds);
+                            wrapper4.groupBy("his_xmbm");
+                            projects = projectService.list(wrapper4);
+                            if (null != projects && !projects.isEmpty()) {
+                                List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
+                                for (TjProject project : projects) {
                                     if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
                                         OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
                                         detailsDto.setMxfyxmbm(project.getHisXmbm());
                                         detailsDto.setSfzhfy("0");
                                         detailsDto.setSl(project.getSl());
                                         detailsDto.setProjg(project.getProPrice());
-                                        detailsDtoss.add(detailsDto);
+                                        detailDtos.add(detailsDto);
                                     }
                                 }
-                            }
-                            List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList());
-                            if (!outpinmedicXms.isEmpty()) {
-                                outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> {
-                                    OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto();
-                                    detilsDto.setYpbm(i.getYpbm());
-                                    detilsDto.setPcbm(i.getPcbm());
-                                    detilsDto.setSl(i.getSl());
-                                    detilsDto.setDj(i.getDj());
-                                    detilsDto.setDcjl(i.getDcjl());
-                                    detilsDto.setPj(i.getPj());
-                                    detilsDto.setJj(i.getJj());
-                                    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.setYpmc(i.getYpmc());
-                                    detilsDto.setFzbl(i.getFzbl());
-                                    detilsDto.setZh(i.getZh());
-                                    detilsDto.setCflx(i.getCflx());
-                                    outpinmedicapplyDetilsDtos.add(detilsDto);
-                                });
-                            }
-                            if (!detailsDtoss.isEmpty()) {
-                                OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto();
-                                outpinexamapplyDto.setHisRegistrationId(cardId);
-                                outpinexamapplyDto.setSfzh(customer.getCusIdcard());
-                                outpinexamapplyDto.setSqysbm(ysbm);
-                                outpinexamapplyDto.setMzksbm(dept);
-                                outpinexamapplyDto.setCzybm(ysbm);
-                                outpinexamapplyDto.setCzyksbm(dept);
-                                outpinexamapplyDto.setSfjz("0");
-                                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());
+                                List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList());
+                                if (!outpinmedicXms.isEmpty()) {
+                                    outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> {
+                                        OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto();
+                                        detilsDto.setYpbm(i.getYpbm());
+                                        detilsDto.setPcbm(i.getPcbm());
+                                        detilsDto.setSl(i.getSl());
+                                        detilsDto.setDj(i.getDj());
+                                        detilsDto.setDcjl(i.getDcjl());
+                                        detilsDto.setPj(i.getPj());
+                                        detilsDto.setJj(i.getJj());
+                                        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.setYpmc(i.getYpmc());
+                                        detilsDto.setFzbl(i.getFzbl());
+                                        detilsDto.setZh(i.getZh());
+                                        detilsDto.setCflx(i.getCflx());
+                                        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);
                                         }
-                                        tree.setCreateTime(DateUtil.date());
-                                        ltkjJianchajianyanTreeService.save(tree);
+                                    }else {
+                                        throw new RuntimeException();
                                     }
                                 }
                             }
                         }
                     }
-                }
 
-                //闂ㄨ瘖娌荤枟澶勭疆鐢宠
-                OutpintreatapplyDto dao = new OutpintreatapplyDto();
-                dao.setHisRegistrationId(cardId);
-                dao.setSfzh(customer.getCusIdcard());
-                dao.setSqysbm(ysbm);
-                dao.setMzksbm(dept);
-                dao.setSjrq(date);
-                dao.setCzybm(ysbm);
-                dao.setCzyksbm(dept);
-                dao.setSfjz("0");
-//        List<TbTransition> details = tbTransitionService.getTbTransitionListByCusId(customer.getCusIdcard(),cardId);
-                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);
-                    List<Long> proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList());
-                    if (!proIds.isEmpty()) {
-                        QueryWrapper<TjProject> wrapper4 = new QueryWrapper<>();
-                        wrapper4.select("sum(sl) as sl", "pro_id"
-                                , "pro_parent_id", "pro_name", "his_xmbm", "his_xmmc"
-                                , "pro_price");
-                        wrapper4.in("pro_parent_id", proIds);
-                        wrapper4.groupBy("his_xmbm");
-                        projects = projectService.list(wrapper4);
-                        if (null != projects && !projects.isEmpty()) {
-                            List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
-                            for (TjProject project : projects) {
-                                if (StrUtil.isNotBlank(project.getHisXmbm()) && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
-                                    OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
-                                    detailsDto.setMxfyxmbm(project.getHisXmbm());
-                                    detailsDto.setSfzhfy("0");
-                                    detailsDto.setSl(project.getSl());
-                                    detailsDto.setProjg(project.getProPrice());
-                                    detailDtos.add(detailsDto);
+                    //鑽搧鐢宠 鍘熺増
+    //                if(!outpinmedicapplyDetilsDtos.isEmpty()){
+    //                    OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
+    //                    dto1.setHisRegistrationId(cardId);
+    //                    dto1.setSfzh(customer.getCusIdcard());
+    //                    dto1.setSqysbm(ysbm);
+    //                    dto1.setMzksbm(dept);
+    //                    dto1.setSjrq(date);
+    //                    String yfbm = configService.selectConfigByKey("chufang_yfbm");
+    //                    String mzzd = configService.selectConfigByKey("chufang_mzzd");
+    //                    String czybm = configService.selectConfigByKey("chufang_czybm");
+    //                    String czyksbm = configService.selectConfigByKey("chufang_czyksbm");
+    //                    String cflxbm = configService.selectConfigByKey("chufang_cflxbm");
+    //                    if (czybm.equalsIgnoreCase("N"))
+    //                        dto1.setCzybm(ysbm);
+    //                    else dto1.setCzybm(czybm);
+    //                    if (czyksbm.equalsIgnoreCase("N"))
+    //                        dto1.setCzyksbm(dept);
+    //                    else dto1.setCzyksbm(dept);
+    //                    dto1.setCflxbm(cflxbm);
+    //                    if (yfbm.equalsIgnoreCase("N"))
+    //                        dto1.setYfbm("1");
+    //                    else dto1.setYfbm(yfbm);
+    //                    dto1.setFyts("1");
+    //                    if (mzzd.equalsIgnoreCase("N"))
+    //                        dto1.setMzzd("");
+    //                    else dto1.setMzzd(mzzd);
+    //                    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(ysbm);
+    //                            cf.setSqysxm(ysmc);
+    //                            cf.setMzksbn(dept);
+    //                            cf.setSqrq(date);
+    //                            cf.setCzybm(ysbm);
+    //                            cf.setYpbm(detilsDto.getYpbm());
+    //                            cf.setYpmc(detilsDto.getYpmc());
+    //                            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);
+    //                        }
+    //                    }
+    //                }
+
+
+                    /**
+                     * 鑽搧鐢宠 澶勬柟绫诲瀷缁存姢鍦ㄨ嵂鍝佽〃
+                     */
+                    if (!outpinmedicapplyDetilsDtos.isEmpty()) {
+                        String yfbm = configService.selectConfigByKey("chufang_yfbm");
+                        String mzzd = configService.selectConfigByKey("chufang_mzzd");
+                        String czybm = configService.selectConfigByKey("chufang_czybm");
+                        String czyksbm = configService.selectConfigByKey("chufang_czyksbm");
+    //            String cflxbm = configService.selectConfigByKey("chufang_cflxbm");
+                        Map<String, List<OutpinmedicapplyDetilsDto>> listMap = outpinmedicapplyDetilsDtos.stream().collect(Collectors.groupingBy(OutpinmedicapplyDetilsDto::getCflx));
+                        listMap.forEach((cflx, details) -> {
+                            OutpinmedicapplyDto dto1 = new OutpinmedicapplyDto();
+                            dto1.setHisRegistrationId(cardId);
+                            dto1.setSfzh(customer.getCusIdcard());
+                            dto1.setSqysbm(ysbm);
+                            dto1.setMzksbm(dept);
+                            dto1.setSjrq(date);
+                            if (czybm.equalsIgnoreCase("N"))
+                                dto1.setCzybm(ysbm);
+                            else dto1.setCzybm(czybm);
+                            if (czyksbm.equalsIgnoreCase("N"))
+                                dto1.setCzyksbm(dept);
+                            else dto1.setCzyksbm(czyksbm);
+                            dto1.setCflxbm(cflx);
+                            if (yfbm.equalsIgnoreCase("N"))
+                                dto1.setYfbm("1");
+                            else dto1.setYfbm(yfbm);
+                            dto1.setFyts("1");
+                            if (mzzd.equalsIgnoreCase("N"))
+                                dto1.setMzzd("");
+                            else dto1.setMzzd(mzzd);
+                            dto1.setDetails(details);
+                            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");
+                                String cfh = resultData.getStr("cfh");
+                                log.info("鑽搧鐢宠鍚庣殑澶勬柟鍙锋槸: " + cfh + "  outpinmedicapplyDetilsDtos 閲岄潰鐨勫�间负: " + outpinmedicapplyDetilsDtos.toString());
+                                for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
+                                    TjCf cf = new TjCf();
+                                    cf.setCardId(cardId);
+                                    cf.setSfzh(customer.getCusIdcard());
+                                    cf.setCfh(cfh);
+                                    cf.setSqysbm(ysbm);
+                                    cf.setSqysxm(ysmc);
+                                    cf.setMzksbn(dept);
+                                    cf.setSqrq(date);
+                                    cf.setCzybm(ysbm);
+                                    cf.setYpbm(detilsDto.getYpbm());
+                                    cf.setYpmc(detilsDto.getYpmc());
+                                    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);
                                 }
+                            }else {
+                                throw new RuntimeException();
                             }
-                            List<Long> proParentIds = projects.stream().map(TjProject::getProParentId).distinct().collect(Collectors.toList());
-                            if (!outpinmedicXms.isEmpty()) {
-                                outpinmedicXms.stream().filter(i -> proParentIds.contains(i.getProId())).forEach(i -> {
-                                    OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto();
-                                    detilsDto.setYpbm(i.getYpbm());
-                                    detilsDto.setPcbm(i.getPcbm());
-                                    detilsDto.setSl(i.getSl());
-                                    detilsDto.setDj(i.getDj());
-                                    detilsDto.setDcjl(i.getDcjl());
-                                    detilsDto.setPj(i.getPj());
-                                    detilsDto.setJj(i.getJj());
-                                    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.setYpmc(i.getYpmc());
-                                    detilsDto.setFzbl(i.getFzbl());
-                                    detilsDto.setZh(i.getZh());
-                                    detilsDto.setCflx(i.getCflx());
-                                    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(ysbm);
-//                    dto1.setMzksbm(dept);
-//                    dto1.setSjrq(date);
-//                    String yfbm = configService.selectConfigByKey("chufang_yfbm");
-//                    String mzzd = configService.selectConfigByKey("chufang_mzzd");
-//                    String czybm = configService.selectConfigByKey("chufang_czybm");
-//                    String czyksbm = configService.selectConfigByKey("chufang_czyksbm");
-//                    String cflxbm = configService.selectConfigByKey("chufang_cflxbm");
-//                    if (czybm.equalsIgnoreCase("N"))
-//                        dto1.setCzybm(ysbm);
-//                    else dto1.setCzybm(czybm);
-//                    if (czyksbm.equalsIgnoreCase("N"))
-//                        dto1.setCzyksbm(dept);
-//                    else dto1.setCzyksbm(dept);
-//                    dto1.setCflxbm(cflxbm);
-//                    if (yfbm.equalsIgnoreCase("N"))
-//                        dto1.setYfbm("1");
-//                    else dto1.setYfbm(yfbm);
-//                    dto1.setFyts("1");
-//                    if (mzzd.equalsIgnoreCase("N"))
-//                        dto1.setMzzd("");
-//                    else dto1.setMzzd(mzzd);
-//                    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(ysbm);
-//                            cf.setSqysxm(ysmc);
-//                            cf.setMzksbn(dept);
-//                            cf.setSqrq(date);
-//                            cf.setCzybm(ysbm);
-//                            cf.setYpbm(detilsDto.getYpbm());
-//                            cf.setYpmc(detilsDto.getYpmc());
-//                            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);
-//                        }
-//                    }
-//                }
-
-
-                /**
-                 * 鑽搧鐢宠 澶勬柟绫诲瀷缁存姢鍦ㄨ嵂鍝佽〃
-                 */
-                if (!outpinmedicapplyDetilsDtos.isEmpty()) {
-                    String yfbm = configService.selectConfigByKey("chufang_yfbm");
-                    String mzzd = configService.selectConfigByKey("chufang_mzzd");
-                    String czybm = configService.selectConfigByKey("chufang_czybm");
-                    String czyksbm = configService.selectConfigByKey("chufang_czyksbm");
-//            String cflxbm = configService.selectConfigByKey("chufang_cflxbm");
-                    Map<String, List<OutpinmedicapplyDetilsDto>> listMap = outpinmedicapplyDetilsDtos.stream().collect(Collectors.groupingBy(OutpinmedicapplyDetilsDto::getCflx));
-                    listMap.forEach((cflx, details) -> {
-                        OutpinmedicapplyDto dto1 = new OutpinmedicapplyDto();
-                        dto1.setHisRegistrationId(cardId);
-                        dto1.setSfzh(customer.getCusIdcard());
-                        dto1.setSqysbm(ysbm);
-                        dto1.setMzksbm(dept);
-                        dto1.setSjrq(date);
-                        if (czybm.equalsIgnoreCase("N"))
-                            dto1.setCzybm(ysbm);
-                        else dto1.setCzybm(czybm);
-                        if (czyksbm.equalsIgnoreCase("N"))
-                            dto1.setCzyksbm(dept);
-                        else dto1.setCzyksbm(czyksbm);
-                        dto1.setCflxbm(cflx);
-                        if (yfbm.equalsIgnoreCase("N"))
-                            dto1.setYfbm("1");
-                        else dto1.setYfbm(yfbm);
-                        dto1.setFyts("1");
-                        if (mzzd.equalsIgnoreCase("N"))
-                            dto1.setMzzd("");
-                        else dto1.setMzzd(mzzd);
-                        dto1.setDetails(details);
-                        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");
-                            String cfh = resultData.getStr("cfh");
-                            log.info("鑽搧鐢宠鍚庣殑澶勬柟鍙锋槸: " + cfh + "  outpinmedicapplyDetilsDtos 閲岄潰鐨勫�间负: " + outpinmedicapplyDetilsDtos.toString());
-                            for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
-                                TjCf cf = new TjCf();
-                                cf.setCardId(cardId);
-                                cf.setSfzh(customer.getCusIdcard());
-                                cf.setCfh(cfh);
-                                cf.setSqysbm(ysbm);
-                                cf.setSqysxm(ysmc);
-                                cf.setMzksbn(dept);
-                                cf.setSqrq(date);
-                                cf.setCzybm(ysbm);
-                                cf.setYpbm(detilsDto.getYpbm());
-                                cf.setYpmc(detilsDto.getYpmc());
-                                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();
+        } catch (RuntimeException e) {
+            throw new RuntimeException(e);
         }
-        return AjaxResult.success();
     }
 
     public void pacsReg(TjOrder order, TjCustomer customer, ArrayList<TjProject> jianChaProjects) {

--
Gitblit v1.8.0