From 53d149f491dba554ee035599059a1bf65ea92df2 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期三, 12 二月 2025 17:36:13 +0800
Subject: [PATCH] 增加手动同步lis接口

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java | 1490 +++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 1,229 insertions(+), 261 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 8ff0582..c489848 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
@@ -9,7 +9,9 @@
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ltkj.common.core.domain.AjaxResult;
+import com.ltkj.common.core.domain.entity.SysDept;
 import com.ltkj.common.core.domain.entity.SysUser;
 import com.ltkj.common.core.redis.RedisCache;
 import com.ltkj.common.utils.IdUtils;
@@ -159,6 +161,17 @@
     private TjSamplingMapper tjSamplingMapper;
     @Autowired
     private ISysConfigService sysConfigService;
+    @Resource
+    private ITjXdPictureService xdPictureService;
+    @Autowired
+    private TjOutpinmedicXmService tjOutpinmedicXmService;
+    @Autowired
+    private TjOrderYcxmService ycxmService;
+    @Autowired
+    private ITjRulesService rulesService;
+    @Autowired
+    private ITjProAdvicerulesService tjProAdvicerulesService;
+
 
 
     @Override
@@ -426,10 +439,14 @@
 
         List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId());
         addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser,null);
+        List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(order.getTjNumber());
+        xdPictureService.saveBatch(xdPictureList);
     }
 
     public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser,String jxbz) {
         String lis_tmh_prefix = sysConfigService.selectConfigByKey("make_lis_tmh_prefix");
+        String config = configService.selectConfigByKey("sfkqdyhis");
+        Boolean lisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
         if (null != detailList && detailList1) {
             String format = DateUtil.format(new Date(), "yyMMddHHmmssSSS");
             for (TjOrderDetail detail : detailList) {
@@ -437,29 +454,39 @@
                 if (null == projectService.getById(detail.getProId())) continue;
                 TjProject project = projectService.getById(detail.getProId());
                 Long proParentId = project.getProParentId();
+                String dictLabel = sysDictDataService.selectDictLabel("sys_dict_specimen", project.getSpecimenType());
                 if (null != proParentId && proParentId == 0) {
                     sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix));
-                    LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project);
-                    if (jyxmzd != null) {
-                        sampling.setSpecimenTypeCode(jyxmzd.getJybbdm());
-                        LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>();
-                        wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm());
-                        LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper);
-                        sampling.setSpecimenType(jybbzd.getJybbmc());
-                        sampling.setJyxmdm(jyxmzd.getJyxmdm());
-                    }
+//                    LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project);
+//                    if (jyxmzd != null) {
+                    if (config.equals("Y") && lisAndPacsRegister)
+                        sampling.setJyxmdm(project.getLisXmbm());
+                    else sampling.setJyxmdm(String.valueOf(project.getProId()));
+                    sampling.setSpecimenTypeCode(project.getSpecimenType());
+                    sampling.setSpecimenType(dictLabel);
+//                        LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>();
+//                        wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm());
+//                        LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper);
+//                        sampling.setSpecimenType(jybbzd.getJybbmc());
+//                        sampling.setJyxmdm(jyxmzd.getJyxmdm());
+//                    }
                 } else {
                     TjProject project1 = projectService.getById(proParentId);
                     sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix));
-                    LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project1);
-                    if (jyxmzd != null) {
-                        sampling.setSpecimenTypeCode(jyxmzd.getJybbdm());
-                        LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>();
-                        wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm());
-                        LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper);
-                        sampling.setSpecimenType(jybbzd.getJybbmc());
-                        sampling.setJyxmdm(jyxmzd.getJyxmdm());
-                    }
+                    sampling.setSpecimenTypeCode(project1.getSpecimenType());
+                    sampling.setSpecimenType(dictLabel);
+                    if (config.equals("Y") && lisAndPacsRegister)
+                        sampling.setJyxmdm(project1.getLisXmbm());
+                    else sampling.setJyxmdm(String.valueOf(project1.getProId()));
+//                    LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project1);
+//                    if (jyxmzd != null) {
+//                        sampling.setSpecimenTypeCode(jyxmzd.getJybbdm());
+//                        LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>();
+//                        wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm());
+//                        LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper);
+//                        sampling.setSpecimenType(jybbzd.getJybbmc());
+//                        sampling.setJyxmdm(jyxmzd.getJyxmdm());
+//                    }
                 }
                 sampling.setSamplingNumber(format);
                 sampling.setTjNum(order.getTjNumber());
@@ -481,7 +508,6 @@
                 samplingService.save(sampling);
             }
         }
-        String config = configService.selectConfigByKey("sfkqdyhis");
         if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))){
             AjaxResult ajaxResult = lisApiMethod.getJyFlHb();
             if (ajaxResult.get("code").toString().equals("200")){
@@ -559,17 +585,69 @@
 
     @Override
     @Async("async")
-    public void updateOrdeltile(List<TjOrderDetail> tjOrderDetailList, SysUser sysUser, TjOrder order) {
-        for (TjOrderDetail detail : tjOrderDetailList) {
-            detail.setTjStatus(1L);
-            LambdaQueryWrapper<TjStandard> wq0 = new LambdaQueryWrapper<>();
-            wq0.eq(TjStandard::getProId, detail.getProId());
-            detail.setUpdateBy(sysUser.getNickName());
-            detail.setUpdateTime(new Date());
-            detail.setCreateId(String.valueOf(sysUser.getUserId()));
-            detail.setUpdateId(String.valueOf(sysUser.getUserId()));
-            tjOrderDetailService.updateById(detail);
+    public void updateOrdeltile(List<TjOrderDetail> tjOrderDetailList, SysUser sysUser, TjOrder order,TjOrderRemark orderRemark) {
+        String deptname="";
+        TjProject tjProject = projectService.getById(orderRemark.getProId());
+        if(null !=tjProject){
+            SysDept dept = deptService.getById(tjProject.getDeptId());
+            if(dept.getParentId()!=100L){
+                deptname= deptService.getprentks(dept.getParentId().toString());
+            }else {
+                deptname=dept.getDeptName();
+            }
+
+
+            for (TjOrderDetail detail : tjOrderDetailList) {
+                detail.setTjStatus(1L);
+                LambdaQueryWrapper<TjStandard> wq0 = new LambdaQueryWrapper<>();
+                wq0.eq(TjStandard::getProId, detail.getProId());
+                detail.setUpdateBy(sysUser.getNickName());
+                detail.setUpdateTime(new Date());
+                detail.setCreateId(String.valueOf(sysUser.getUserId()));
+                detail.setUpdateId(String.valueOf(sysUser.getUserId()));
+                tjOrderDetailService.updateById(detail);
+                try {
+                    LambdaQueryWrapper<TjOrderYcxm> wq=new LambdaQueryWrapper<>();
+                    wq.eq(TjOrderYcxm::getTjh,order.getTjNumber());
+                    wq.eq(TjOrderYcxm::getJcxm,detail.getProName());
+                    TjOrderYcxm ycxm = ycxmService.getOne(wq);
+                    if(null !=ycxm){
+                        ycxm.setJcjg(detail.getProResult());
+                        List<Map<String,Object>> maps= rulesService.getyichangxiangmujianyiguize(detail.getProId().toString()
+                                ,"","",order.getTjNumber()
+                                ,detail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "")
+                                        .replaceAll("[ 娴嬪畾妫�娴媇","")
+                                ,detail.getProResult());
+
+                        String[] split = detail.getProResult().split("銆倈,|锛�");
+                        List<Map<String,Object>> mapList=new ArrayList<>();
+                        for (String s : split) {
+                            s = s.replaceAll("\n", "");
+//                                        Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s);
+                            Map<String,Object> mapss= tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname,s,"0");
+                            if(null !=mapss && !mapss.isEmpty()){
+                                Object bt = mapss.get("bt");
+                                Object nr = mapss.get("nr");
+                                if(null !=bt || null !=nr){
+
+                                } mapList.add(mapss);
+                            }
+                        }
+
+                        if(null != maps && !maps.isEmpty()){
+                            ycxm.setJynr(JSONUtil.toJsonStr(maps));
+                        }
+                        if( !mapList.isEmpty()){
+                            ycxm.setJynr(JSONUtil.toJsonStr(mapList));
+                        }
+                        ycxmService.updateById(ycxm);
+                        if(detail.getExceptionDesc()==0)ycxmService.remove(wq);
+                    }
+                } catch (Exception e) {
+                }
+            }
         }
+
     }
 
     @Override
@@ -747,23 +825,19 @@
 
             // TODO 鍜岀鍒扮櫥璁颁竴鏍� 鍙湁閰嶇疆涓殑浠ュ強鏀惰垂绫诲瀷涓轰綋妫�绁ㄦ椂鎵嶅鍔犲埌閲囨牱绠$悊琛�
             if(config.equalsIgnoreCase("Y")){
-                if (lisApiMethod.isUseLisAndPacsRegister(order) && tjFlowingWater.getPayType() == 6L) {
+//                if (lisApiMethod.isUseLisAndPacsRegister(order) && tjFlowingWater.getPayType() == 6L) {
                     List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz);
                     addCaiYangDengJi(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz);
-                }
+//                }
+                 AjaxResult result = tijianbulushenqing(customer, date, order.getCardId(), jxbz, jianChaProjects, tjFlowingWater.getPayType() == 6L);
+                 if (!result.get("code").toString().equals("200"))
+                     return false;
             }else {
-//                tjOrderDetailService.updateTjOrderDetailsFlowingWaterIdByJxbz(order.getOrderId().toString(),jxbz,tjFlowingWater.getTjSerialNumber().toString());
-//                orderRemarkService.updateTjOrderRemarkSfbzByJxbz(order.getOrderId().toString(),jxbz,tjFlowingWater.getTjSerialNumber().toString());
-
                 List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz);
                 addCaiYangDengJiByDiaoYongShiTu(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz);
             }
         }
-        if(null !=config && config.equals("Y")){
-            AjaxResult result = tijianbulushenqing(customer, date, order.getCardId(), jxbz, jianChaProjects, tjFlowingWater.getPayType() == 6L);
-            if (!result.get("code").toString().equals("200"))
-                return false;
-        }
+
         return true;
     }
 
@@ -850,6 +924,861 @@
 
 
     //浣撴瀵筯is鐢宠鍗曡皟鐢ㄦ柟娉�
+//    public AjaxResult tijianbulushenqing(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects,Boolean isTuanTiPiao) {
+//        TjOrder order = orderService.getOrderByCardId(cardId);
+//        if(null !=order){
+//            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 {
+//                //妫�楠岀敵璇�
+//                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()) {
+//                                    OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+//                                    detailsDto.setMxfyxmbm(project.getHisXmbm());
+//                                    if (project.getSfzhfy().equals("Y")) {
+//                                        detailsDto.setSfzhfy("1");
+//                                    } else {
+//                                        detailsDto.setSfzhfy("0");
+//                                    }
+//                                    detailsDto.setSl(project.getSl());
+//                                    detailsDto.setProjg(project.getProPrice());
+//                                    detailsDtos.add(detailsDto);
+//                                }
+//                                if(project.getProId()==1740177341251154377L){
+//                                    OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+//                                    detilsDto.setYpbm("00006670");
+//                                    detilsDto.setPcbm("06");
+//                                    detilsDto.setSl("1");
+//                                    detilsDto.setDj("60");
+//                                    detilsDto.setDcjl("1");
+//                                    detilsDto.setPj("60");
+//                                    detilsDto.setJj("60");
+//                                    detilsDto.setJldw("");
+//                                    detilsDto.setTjbm("");
+//                                    detilsDto.setPs("");
+//                                    detilsDto.setPsbm("");
+//                                    detilsDto.setYyts("");
+//                                    detilsDto.setXtph("");
+//                                    detilsDto.setScph("");
+//                                    detilsDto.setYpxq("");
+//                                    detilsDto.setCdbm("");
+//                                    detilsDto.setKfdw("");
+//                                    detilsDto.setYfdw("");
+//                                    detilsDto.setYysm("");
+//                                    detilsDto.setFzbl("1");
+//                                    detilsDto.setZh("0");
+//                                    outpinmedicapplyDetilsDtos.add(detilsDto);
+//                                }
+//                            }
+//                        }
+//                    }
+//                }
+//                if (!detailsDtos.isEmpty()) {
+//                    dto.setDetails(detailsDtos);
+//                    AjaxResult ajaxResult1 = controller.Outpintestapply(dto);
+//                    String result5 = getAjaxResult(ajaxResult1);
+//                    JSONObject object3 = getJSONObject(result5);
+//                    String code3 = object3.getStr("ResultCode");
+//                    if (code3.equals("0")) {
+//                        List<OutpintestapplyDetailsDto> details = dto.getDetails();
+//                        for (OutpintestapplyDetailsDto detail : details) {
+//                            LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
+//                            tree.setJxbz(jxbz);
+//                            tree.setCardId(dto.getHisRegistrationId());
+//                            tree.setPationid(customer.getPationId());
+//                            JSONObject resultData = object3.getJSONObject("ResultData");
+//                            tree.setSqdh(resultData.getStr("jysqdh"));
+//                            tree.setFyhj(resultData.getStr("fyhj"));
+//                            String mxfyxmbm = detail.getMxfyxmbm();
+//                            tree.setHisXmdm(mxfyxmbm);
+//                            tree.setType("妫�楠�");
+//                            tree.setService("his");
+//                            tree.setTjPrice(String.valueOf(detail.getProjg()));
+//                            LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
+//                            if (detail.getSfzhfy().equals("1"))
+//                                wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
+//                            else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
+//                            List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
+//                            if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
+//                                String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
+//                                LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
+//                                wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
+//                                LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
+//                                LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
+//                                wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
+//                                LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
+//                                tree.setXmfl(ejjfxmzd.getYjkmdm());
+//                            }
+//                            tree.setCreateTime(DateUtil.date());
+//                            ltkjJianchajianyanTreeService.save(tree);
+//                        }
+//                    }
+//                }
+//
+//                //闂ㄨ瘖妫�鏌ョ敵璇�
+//                OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto();
+//                outpinexamapplyDto.setHisRegistrationId(cardId);
+//                outpinexamapplyDto.setSfzh(customer.getCusIdcard());
+//                outpinexamapplyDto.setSqysbm(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()) {
+//                                    OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+//                                    detailsDto.setMxfyxmbm(project.getHisXmbm());
+//                                    if (project.getSfzhfy().equals("Y")) {
+//                                        detailsDto.setSfzhfy("1");
+//                                    } else {
+//                                        detailsDto.setSfzhfy("0");
+//                                    }
+//                                    detailsDto.setSl(project.getSl());
+//                                    detailsDto.setProjg(project.getProPrice());
+//                                    detailsDtoss.add(detailsDto);
+//                                }
+//                                if(project.getProId()==1740177341251154377L){
+//                                    OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+//                                    detilsDto.setYpbm("00006670");
+//                                    detilsDto.setPcbm("06");
+//                                    detilsDto.setSl("1");
+//                                    detilsDto.setDj("60");
+//                                    detilsDto.setDcjl("1");
+//                                    detilsDto.setPj("60");
+//                                    detilsDto.setJj("60");
+//                                    detilsDto.setJldw("");
+//                                    detilsDto.setTjbm("");
+//                                    detilsDto.setPs("");
+//                                    detilsDto.setPsbm("");
+//                                    detilsDto.setYyts("");
+//                                    detilsDto.setXtph("");
+//                                    detilsDto.setScph("");
+//                                    detilsDto.setYpxq("");
+//                                    detilsDto.setCdbm("");
+//                                    detilsDto.setKfdw("");
+//                                    detilsDto.setYfdw("");
+//                                    detilsDto.setYysm("");
+//                                    detilsDto.setFzbl("1");
+//                                    detilsDto.setZh("0");
+//                                    outpinmedicapplyDetilsDtos.add(detilsDto);
+//                                }
+//                            }
+//                        }
+//                    }
+//                }
+//                if (!detailsDtoss.isEmpty()) {
+//                    outpinexamapplyDto.setDetails(detailsDtoss);
+//                    AjaxResult ajaxResult2 = controller.Outpinexamapply(outpinexamapplyDto);
+//                    String result6 = getAjaxResult(ajaxResult2);
+//                    JSONObject object5 = getJSONObject(result6);
+//                    String code4 = object5.getStr("ResultCode");
+//                    if (code4.equals("0")) {
+//                        List<OutpintestapplyDetailsDto> details = outpinexamapplyDto.getDetails();
+//                        for (OutpintestapplyDetailsDto detail : details) {
+//                            LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
+//                            tree.setJxbz(jxbz);
+//                            tree.setCardId(outpinexamapplyDto.getHisRegistrationId());
+//                            tree.setPationid(customer.getPationId());
+//                            JSONObject resultData = object5.getJSONObject("ResultData");
+//                            tree.setSqdh(resultData.getStr("jcsqdh"));
+//                            tree.setFyhj(resultData.getStr("fyhj"));
+//                            String mxfyxmbm = detail.getMxfyxmbm();
+//                            tree.setHisXmdm(mxfyxmbm);
+//                            tree.setType("妫�鏌�");
+//                            tree.setService("his");
+//                            tree.setTjPrice(String.valueOf(detail.getProjg()));
+//                            LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
+//                            if (detail.getSfzhfy().equals("1"))
+//                                wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
+//                            else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
+//                            List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
+//                            if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
+//                                String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
+//                                LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
+//                                wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
+//                                LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
+//                                LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
+//                                wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
+//                                LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
+//                                tree.setXmfl(ejjfxmzd.getYjkmdm());
+//                            }
+//                            tree.setCreateTime(DateUtil.date());
+//                            ltkjJianchajianyanTreeService.save(tree);
+//                        }
+//                    }
+//                }
+//
+//                //闂ㄨ瘖娌荤枟澶勭疆鐢宠
+//                OutpintreatapplyDto dao = new OutpintreatapplyDto();
+//                dao.setHisRegistrationId(cardId);
+//                dao.setSfzh(customer.getCusIdcard());
+//                dao.setSqysbm(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()) {
+//                                    OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+//                                    detailsDto.setMxfyxmbm(project.getHisXmbm());
+//                                    if (project.getSfzhfy().equals("Y")) {
+//                                        detailsDto.setSfzhfy("1");
+//                                    } else {
+//                                        detailsDto.setSfzhfy("0");
+//                                    }
+//                                    detailsDto.setSl(project.getSl());
+//                                    detailsDto.setProjg(project.getProPrice());
+//                                    detailDtos.add(detailsDto);
+//                                }
+//                                if(project.getProId()==1740177341251154377L){
+//                                    OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+//                                    detilsDto.setYpbm("00006670");
+//                                    detilsDto.setPcbm("06");
+//                                    detilsDto.setSl("1");
+//                                    detilsDto.setDj("60");
+//                                    detilsDto.setDcjl("1");
+//                                    detilsDto.setPj("60");
+//                                    detilsDto.setJj("60");
+//                                    detilsDto.setJldw("");
+//                                    detilsDto.setTjbm("");
+//                                    detilsDto.setPs("");
+//                                    detilsDto.setPsbm("");
+//                                    detilsDto.setYyts("");
+//                                    detilsDto.setXtph("");
+//                                    detilsDto.setScph("");
+//                                    detilsDto.setYpxq("");
+//                                    detilsDto.setCdbm("");
+//                                    detilsDto.setKfdw("");
+//                                    detilsDto.setYfdw("");
+//                                    detilsDto.setYysm("");
+//                                    detilsDto.setFzbl("1");
+//                                    detilsDto.setZh("0");
+//                                    outpinmedicapplyDetilsDtos.add(detilsDto);
+//                                }
+//                            }
+//                        }
+//                    }
+//                }
+//                if (!detailDtos.isEmpty()) {
+//                    dao.setDetails(detailDtos);
+//                    AjaxResult mzylyzsq1 = controller.Outpintreatapply(dao);
+//                    String mzylyzsq2 = getAjaxResult(mzylyzsq1);
+//                    JSONObject mzylyzsq3 = getJSONObject(mzylyzsq2);
+//                    String code5 = mzylyzsq3.getStr("ResultCode");
+//                    if (code5.equals("0")) {
+//                        List<OutpintestapplyDetailsDto> details1 = dao.getDetails();
+//                        for (OutpintestapplyDetailsDto detail : details1) {
+//                            LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
+//                            tree.setJxbz(jxbz);
+//                            tree.setCardId(dao.getHisRegistrationId());
+//                            tree.setPationid(customer.getPationId());
+//                            JSONObject resultData = mzylyzsq3.getJSONObject("ResultData");
+//                            tree.setSqdh(resultData.getStr("zlczh"));
+//                            tree.setFyhj(resultData.getStr("fyhj"));
+//                            String mxfyxmbm = detail.getMxfyxmbm();
+//                            tree.setHisXmdm(mxfyxmbm);
+//                            tree.setType("澶勭疆");
+//                            tree.setTjPrice(String.valueOf(detail.getProjg()));
+//                            LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
+//                            if (detail.getSfzhfy().equals("1"))
+//                                wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
+//                            else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
+//                            List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
+//                            if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
+//                                String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
+//                                LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
+//                                wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
+//                                LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
+//                                LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
+//                                wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
+//                                LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
+//                                tree.setXmfl(ejjfxmzd.getYjkmdm());
+//                            }
+//                            tree.setCreateTime(DateUtil.date());
+//                            ltkjJianchajianyanTreeService.save(tree);
+//                        }
+//                    }
+//                }
+//
+//                //鑽搧鐢宠
+//                if(!outpinmedicapplyDetilsDtos.isEmpty()){
+//                    OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
+//                    dto1.setHisRegistrationId(cardId);
+//                    dto1.setSfzh(customer.getCusIdcard());
+//                    dto1.setSqysbm(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();
+//    }
+
+    /**/
+//    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<>();
+//            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 {
+//                //妫�楠岀敵璇�
+//                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(project.getProId()==1740177341251154377L){
+//                                        OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+//                                        detilsDto.setYpbm("00006670");
+//                                        detilsDto.setPcbm("06");
+//                                        detilsDto.setSl("1");
+//                                        detilsDto.setDj("60");
+//                                        detilsDto.setDcjl("1");
+//                                        detilsDto.setPj("60");
+//                                        detilsDto.setJj("60");
+//                                        detilsDto.setJldw("");
+//                                        detilsDto.setTjbm("");
+//                                        detilsDto.setPs("");
+//                                        detilsDto.setPsbm("");
+//                                        detilsDto.setYyts("");
+//                                        detilsDto.setXtph("");
+//                                        detilsDto.setScph("");
+//                                        detilsDto.setYpxq("");
+//                                        detilsDto.setCdbm("");
+//                                        detilsDto.setKfdw("");
+//                                        detilsDto.setYfdw("");
+//                                        detilsDto.setYysm("");
+//                                        detilsDto.setFzbl("1");
+//                                        detilsDto.setZh("0");
+//                                        outpinmedicapplyDetilsDtos.add(detilsDto);
+//                                    }
+//                                }
+//                            }
+//                            if (!detailsDtos.isEmpty()) {
+//                                dto.setDetails(detailsDtos);
+//                                AjaxResult ajaxResult1 = controller.Outpintestapply(dto);
+//                                String result5 = getAjaxResult(ajaxResult1);
+//                                JSONObject object3 = getJSONObject(result5);
+//                                String code3 = object3.getStr("ResultCode");
+//                                if (code3.equals("0")) {
+//                                    List<OutpintestapplyDetailsDto> details = dto.getDetails();
+//                                    for (OutpintestapplyDetailsDto detail : details) {
+//                                        LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
+//                                        tree.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);
+////                }
+//                                }
+//                            }
+//                        }
+//                    }
+//                }
+//
+//                //闂ㄨ瘖妫�鏌ョ敵璇�
+////        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);
+//                    if (null != projects && !projects.isEmpty()) {
+//                        for (TjProject project : projects) {
+//                            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<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>();
+//                            if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
+//                                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());
+//                                        detailsDtoss.add(detailsDto);
+//                                    }
+//                                }
+//                                if(project.getProId()==1740177341251154377L){
+//                                    OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+//                                    detilsDto.setYpbm("00006670");
+//                                    detilsDto.setPcbm("06");
+//                                    detilsDto.setSl("1");
+//                                    detilsDto.setDj("60");
+//                                    detilsDto.setDcjl("1");
+//                                    detilsDto.setPj("60");
+//                                    detilsDto.setJj("60");
+//                                    detilsDto.setJldw("");
+//                                    detilsDto.setTjbm("");
+//                                    detilsDto.setPs("");
+//                                    detilsDto.setPsbm("");
+//                                    detilsDto.setYyts("");
+//                                    detilsDto.setXtph("");
+//                                    detilsDto.setScph("");
+//                                    detilsDto.setYpxq("");
+//                                    detilsDto.setCdbm("");
+//                                    detilsDto.setKfdw("");
+//                                    detilsDto.setYfdw("");
+//                                    detilsDto.setYysm("");
+//                                    detilsDto.setFzbl("1");
+//                                    detilsDto.setZh("0");
+//                                    outpinmedicapplyDetilsDtos.add(detilsDto);
+//                                }
+//                            }
+//                            if (!detailsDtoss.isEmpty()) {
+//                                outpinexamapplyDto.setDetails(detailsDtoss);
+//                                AjaxResult ajaxResult2 = controller.Outpinexamapply(outpinexamapplyDto);
+//                                String result6 = getAjaxResult(ajaxResult2);
+//                                JSONObject object5 = getJSONObject(result6);
+//                                String code4 = object5.getStr("ResultCode");
+//                                if (code4.equals("0")) {
+//                                    List<OutpintestapplyDetailsDto> details = outpinexamapplyDto.getDetails();
+//                                    for (OutpintestapplyDetailsDto detail : details) {
+//                                        LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
+//                                        tree.setJxbz(jxbz);
+//                                        tree.setCardId(outpinexamapplyDto.getHisRegistrationId());
+//                                        tree.setPationid(customer.getPationId());
+//                                        JSONObject resultData = object5.getJSONObject("ResultData");
+//                                        tree.setSqdh(resultData.getStr("jcsqdh"));
+//                                        tree.setFyhj(resultData.getStr("fyhj"));
+//                                        String mxfyxmbm = detail.getMxfyxmbm();
+//                                        tree.setHisXmdm(mxfyxmbm);
+//                                        tree.setType("妫�鏌�");
+//                                        tree.setService("his");
+//                                        tree.setTjPrice(String.valueOf(detail.getProjg()));
+//                                        LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
+//                                        if (detail.getSfzhfy().equals("1"))
+//                                            wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
+//                                        else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
+//                                        List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
+//                                        if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
+//                                            String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
+//                                            LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
+//                                            wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
+//                                            LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
+//                                            LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
+//                                            wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
+//                                            LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
+//                                            tree.setXmfl(ejjfxmzd.getYjkmdm());
+//                                        }
+//                                        tree.setCreateTime(DateUtil.date());
+//                                        ltkjJianchajianyanTreeService.save(tree);
+//                                    }
+//                                }
+//                            }
+//                        }
+//                    }
+//                }
+//
+//                //闂ㄨ瘖娌荤枟澶勭疆鐢宠
+//                OutpintreatapplyDto dao = new OutpintreatapplyDto();
+//                dao.setHisRegistrationId(cardId);
+//                dao.setSfzh(customer.getCusIdcard());
+//                dao.setSqysbm(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);
+//                    if (null != projects && !projects.isEmpty()) {
+//                        for (TjProject project : projects) {
+//                            List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
+//                            if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
+//                                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());
+//                                        detailDtos.add(detailsDto);
+//                                    }
+//                                }
+//                                if(project.getProId()==1740177341251154377L){
+//                                    OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+//                                    detilsDto.setYpbm("00006670");
+//                                    detilsDto.setPcbm("06");
+//                                    detilsDto.setSl("1");
+//                                    detilsDto.setDj("60");
+//                                    detilsDto.setDcjl("1");
+//                                    detilsDto.setPj("60");
+//                                    detilsDto.setJj("60");
+//                                    detilsDto.setJldw("");
+//                                    detilsDto.setTjbm("");
+//                                    detilsDto.setPs("");
+//                                    detilsDto.setPsbm("");
+//                                    detilsDto.setYyts("");
+//                                    detilsDto.setXtph("");
+//                                    detilsDto.setScph("");
+//                                    detilsDto.setYpxq("");
+//                                    detilsDto.setCdbm("");
+//                                    detilsDto.setKfdw("");
+//                                    detilsDto.setYfdw("");
+//                                    detilsDto.setYysm("");
+//                                    detilsDto.setFzbl("1");
+//                                    detilsDto.setZh("0");
+//                                    outpinmedicapplyDetilsDtos.add(detilsDto);
+//                                }
+//                            }
+//                            if (!detailDtos.isEmpty()) {
+//                                dao.setDetails(detailDtos);
+//                                AjaxResult mzylyzsq1 = controller.Outpintreatapply(dao);
+//                                String mzylyzsq2 = getAjaxResult(mzylyzsq1);
+//                                JSONObject mzylyzsq3 = getJSONObject(mzylyzsq2);
+//                                String code5 = mzylyzsq3.getStr("ResultCode");
+//                                if (code5.equals("0")) {
+//                                    List<OutpintestapplyDetailsDto> details1 = dao.getDetails();
+//                                    for (OutpintestapplyDetailsDto detail : details1) {
+//                                        LtkjJianchajianyanTree tree = new LtkjJianchajianyanTree();
+//                                        tree.setJxbz(jxbz);
+//                                        tree.setCardId(dao.getHisRegistrationId());
+//                                        tree.setPationid(customer.getPationId());
+//                                        JSONObject resultData = mzylyzsq3.getJSONObject("ResultData");
+//                                        tree.setSqdh(resultData.getStr("zlczh"));
+//                                        tree.setFyhj(resultData.getStr("fyhj"));
+//                                        String mxfyxmbm = detail.getMxfyxmbm();
+//                                        tree.setHisXmdm(mxfyxmbm);
+//                                        tree.setType("澶勭疆");
+//                                        tree.setTjPrice(String.valueOf(detail.getProjg()));
+//                                        LambdaQueryWrapper<LtkjJfzhglmxjfxmzd> wrapper1 = new LambdaQueryWrapper<>();
+//                                        if (detail.getSfzhfy().equals("1"))
+//                                            wrapper1.eq(LtkjJfzhglmxjfxmzd::getZhxmdm, mxfyxmbm);
+//                                        else wrapper1.eq(LtkjJfzhglmxjfxmzd::getXmdm, mxfyxmbm);
+//                                        List<LtkjJfzhglmxjfxmzd> ltkjJfzhglmxjfxmzds = ltkjJfzhglmxjfxmzdService.list(wrapper1);
+//                                        if (ltkjJfzhglmxjfxmzds != null && !ltkjJfzhglmxjfxmzds.isEmpty()) {
+//                                            String xmdm = ltkjJfzhglmxjfxmzds.get(0).getXmdm();
+//                                            LambdaQueryWrapper<LtkjMxjfxmzd> wrapper2 = new LambdaQueryWrapper<>();
+//                                            wrapper2.eq(LtkjMxjfxmzd::getXmdm, xmdm);
+//                                            LtkjMxjfxmzd mxjfxmzd = ltkjMxjfxmzdService.getOne(wrapper2);
+//                                            LambdaQueryWrapper<LtkjEjjfxmzd> wrapper3 = new LambdaQueryWrapper<>();
+//                                            wrapper3.eq(LtkjEjjfxmzd::getEjkmdm, mxjfxmzd.getEjkmdm());
+//                                            LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3);
+//                                            tree.setXmfl(ejjfxmzd.getYjkmdm());
+//                                        }
+//                                        tree.setCreateTime(DateUtil.date());
+//                                        ltkjJianchajianyanTreeService.save(tree);
+//                                    }
+//                                }
+//                            }
+//                        }
+//                    }
+//                }
+//
+//                //鑽搧鐢宠
+//                if(!outpinmedicapplyDetilsDtos.isEmpty()){
+//                    OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
+//                    dto1.setHisRegistrationId(cardId);
+//                    dto1.setSfzh(customer.getCusIdcard());
+//                    dto1.setSqysbm(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();
+//    }
+
     public AjaxResult tijianbulushenqing(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects,Boolean isTuanTiPiao) {
         TjOrder order = orderService.getOrderByCardId(cardId);
         if(null !=order){
@@ -880,7 +1809,7 @@
                         if (samplings.size() >= 2){
                             // 杩涜鍚堝苟
                             List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList());
-                            log.info("鎻愬彇id ->{}",stringList);
+//                            log.info("鎻愬彇id ->{}",stringList);
                             for (int i = 0; i < stringList.size(); i++) {
                                 String s = stringList.get(i);
                                 if (tjSamplingService.isMergeItem(s) != 0) {
@@ -903,18 +1832,8 @@
                         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()));
@@ -923,131 +1842,162 @@
                     wq.in(TjProject::getDeptId,deptService.getJyDeptIds());
                     List<TjProject> projects = projectService.list(wq);
                     if (null != projects && !projects.isEmpty()) {
-                        for (TjProject project : projects) {
-                            if (0 == project.getProParentId() && project.getProPrice().compareTo(BigDecimal.ZERO) != 0) {
-                                if (null != project.getHisXmbm()) {
-                                    OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
-                                    detailsDto.setMxfyxmbm(project.getHisXmbm());
-                                    if (project.getSfzhfy().equals("Y")) {
-                                        detailsDto.setSfzhfy("1");
-                                    } else {
-                                        detailsDto.setSfzhfy("0");
+                        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);
                                     }
-                                    detailsDto.setSl(project.getSl());
-                                    detailsDto.setProjg(project.getProPrice());
-                                    detailsDtos.add(detailsDto);
                                 }
-                                if(project.getProId()==1740177341251154377L){
-                                    OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
-                                    detilsDto.setYpbm("00006670");
-                                    detilsDto.setPcbm("06");
-                                    detilsDto.setSl("1");
-                                    detilsDto.setDj("60");
-                                    detilsDto.setDcjl("1");
-                                    detilsDto.setPj("60");
-                                    detilsDto.setJj("60");
-                                    detilsDto.setJldw("");
-                                    detilsDto.setTjbm("");
-                                    detilsDto.setPs("");
-                                    detilsDto.setPsbm("");
-                                    detilsDto.setYyts("");
-                                    detilsDto.setXtph("");
-                                    detilsDto.setScph("");
-                                    detilsDto.setYpxq("");
-                                    detilsDto.setCdbm("");
-                                    detilsDto.setKfdw("");
-                                    detilsDto.setYfdw("");
-                                    detilsDto.setYysm("");
-                                    detilsDto.setFzbl("1");
-                                    detilsDto.setZh("0");
-                                    outpinmedicapplyDetilsDtos.add(detilsDto);
+                                if (!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());
+                            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);
+//                }
+                                }
                             }
-                            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()) {
-                                    OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
-                                    detailsDto.setMxfyxmbm(project.getHisXmbm());
-                                    if (project.getSfzhfy().equals("Y")) {
-                                        detailsDto.setSfzhfy("1");
-                                    } else {
+                    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);
                                     }
-                                    detailsDto.setSl(project.getSl());
-                                    detailsDto.setProjg(project.getProPrice());
-                                    detailsDtoss.add(detailsDto);
                                 }
-                                if(project.getProId()==1740177341251154377L){
+                            }
+                            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("00006670");
-                                    detilsDto.setPcbm("06");
-                                    detilsDto.setSl("1");
-                                    detilsDto.setDj("60");
-                                    detilsDto.setDcjl("1");
-                                    detilsDto.setPj("60");
-                                    detilsDto.setJj("60");
+                                    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("");
@@ -1060,52 +2010,61 @@
                                     detilsDto.setKfdw("");
                                     detilsDto.setYfdw("");
                                     detilsDto.setYysm("");
-                                    detilsDto.setFzbl("1");
-                                    detilsDto.setZh("0");
+                                    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());
+                                        }
+                                        tree.setCreateTime(DateUtil.date());
+                                        ltkjJianchajianyanTreeService.save(tree);
+                                    }
                                 }
                             }
-                        }
-                    }
-                }
-                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);
                         }
                     }
                 }
@@ -1121,36 +2080,43 @@
                 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()) {
+                    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());
-                                    if (project.getSfzhfy().equals("Y")) {
-                                        detailsDto.setSfzhfy("1");
-                                    } else {
-                                        detailsDto.setSfzhfy("0");
-                                    }
+                                    detailsDto.setSfzhfy("0");
                                     detailsDto.setSl(project.getSl());
                                     detailsDto.setProjg(project.getProPrice());
                                     detailDtos.add(detailsDto);
                                 }
-                                if(project.getProId()==1740177341251154377L){
+                            }
+                            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("00006670");
-                                    detilsDto.setPcbm("06");
-                                    detilsDto.setSl("1");
-                                    detilsDto.setDj("60");
-                                    detilsDto.setDcjl("1");
-                                    detilsDto.setPj("60");
-                                    detilsDto.setJj("60");
+                                    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("");
@@ -1163,51 +2129,52 @@
                                     detilsDto.setKfdw("");
                                     detilsDto.setYfdw("");
                                     detilsDto.setYysm("");
-                                    detilsDto.setFzbl("1");
-                                    detilsDto.setZh("0");
+                                    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);
+                                    }
                                 }
                             }
-                        }
-                    }
-                }
-                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);
                         }
                     }
                 }
@@ -1248,7 +2215,7 @@
                             cf.setSqrq(date);
                             cf.setCzybm(ysbm);
                             cf.setYpbm(detilsDto.getYpbm());
-                            cf.setYpmc("灏跨礌[14C]鍛兼皵璇曢獙鑽洅");
+                            cf.setYpmc(detilsDto.getYpmc());
                             cf.setSl(String.valueOf(detilsDto.getSl()));
                             cf.setDj(String.valueOf(detilsDto.getDj()));
                             cf.setDcjl(String.valueOf(detilsDto.getDcjl()));
@@ -1657,7 +2624,8 @@
                     @Override
                     public void run() {
                         try {
-                            transitionService.saveTemoTransitionByGroupingId(reservation.getIdCard(), reservation.getGroupingId());
+//                            transitionService.saveTemoTransitionByGroupingId(reservation.getIdCard(), reservation.getGroupingId());
+                            transitionService.ttsaveTemoTransitionByGroupingId(reservation.getIdCard(),"0",reservation.getGroupingId());
 
                             threadPool.shutdown();
                         } catch (Exception e) {

--
Gitblit v1.8.0