From 7d702f59202496e28a80582b4aeeab2a9b9da76d Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期一, 14 十月 2024 15:05:16 +0800
Subject: [PATCH] 修改判断是否需要lis、pacs

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java |  923 +++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 756 insertions(+), 167 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 4096f5e..039a8b7 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
@@ -1,7 +1,11 @@
 package com.ltkj.web.controller.service;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ltkj.common.core.domain.AjaxResult;
 import com.ltkj.common.core.domain.entity.SysUser;
@@ -10,13 +14,23 @@
 import com.ltkj.common.utils.StringUtils;
 import com.ltkj.framework.config.MatchUtils;
 import com.ltkj.hosp.domain.*;
+import com.ltkj.hosp.hisDto.*;
+import com.ltkj.hosp.pacsDto.SavePacsApply;
 import com.ltkj.hosp.service.*;
 import com.ltkj.hosp.vodomain.AddNewReservationConfirm;
 import com.ltkj.hosp.vodomain.LineChartsVo;
 import com.ltkj.hosp.vodomain.PieChartVo;
 import com.ltkj.hosp.vodomain.QjDomainVo;
 import com.ltkj.mall.mallOrderUtils.TjConstants;
+import com.ltkj.system.service.ISysConfigService;
+import com.ltkj.system.service.ISysDeptService;
 import com.ltkj.system.service.ISysUserService;
+import com.ltkj.web.controller.his.HisApiGetMethodService;
+import com.ltkj.web.controller.his.HisApiMethodService;
+import com.ltkj.web.controller.lis.LisApiMethod;
+import com.ltkj.web.controller.pacs.PacsApiMethodService;
+import com.ltkj.web.controller.system.TjOrderController;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
@@ -39,6 +53,7 @@
  * @Date: 2023/9/15 15:57
  */
 
+@Slf4j
 @Service
 @Transactional
 public class TjSysAsyncServiceImpl implements TjAsyncService {
@@ -96,7 +111,36 @@
     private IDictSfxmService dictSfxmService;
     @Autowired
     private ITjRulesService tjRulesService;
-
+    @Autowired
+    private HisApiMethodService controller;
+    @Autowired
+    private HisApiConfigService hisApiConfigService;
+    @Autowired
+    private HisApiGetMethodService hisApiGetMethodService;
+    @Resource
+    private ISysConfigService configService;
+    @Autowired
+    private LtkjJfzhglmxjfxmzdService ltkjJfzhglmxjfxmzdService;
+    @Autowired
+    private LtkjMxjfxmzdService ltkjMxjfxmzdService;
+    @Autowired
+    private LtkjEjjfxmzdService ltkjEjjfxmzdService;
+    @Autowired
+    private LtkjJianchajianyanTreeService ltkjJianchajianyanTreeService;
+    @Autowired
+    private TjProBlService blService;
+    @Resource
+    private ITjFlowingWaterService tjFlowingWaterService;
+    @Resource
+    private ISysDeptService deptService;
+    @Autowired
+    private TjCfService cfService;
+    @Resource
+    private LtkjHysqdService hysqdService;
+    @Autowired
+    private PacsApiMethodService pacsApiMethodService;
+    @Autowired
+    private LisApiMethod lisApiMethod;
 
     @Override
     public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) {
@@ -124,7 +168,7 @@
             redisCache.deleteObject(tjCustomer.getCusIdcard() + "cusId");
         if (null != tbTransitionList && tbTransitionList.size() > 0) {
 
-            tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()));
+            tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()),tjOrder.getCardId());
 
             //淇敼姣忛」鐨勫師浠风幇浠�
             for (TbTransition transition : tbTransitionList) {
@@ -176,7 +220,8 @@
     public void ttextracted(TjOrder tjOrder, TjCustomer tjCustomer, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) {
 
         tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId()));
-        boolean b = tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()));
+        boolean b = tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(),
+                String.valueOf(sysUser.getUserId()),tjOrder.getCardId());
         if (!b) {
             List<TjGroupingPro> proList = groupingProService.list(new LambdaQueryWrapper<TjGroupingPro>().eq(TjGroupingPro::getGroupingId, tjOrder.getGroupId()));
             if (null != proList && proList.size() > 0) {
@@ -244,7 +289,7 @@
             transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), BigDecimal.valueOf(Long.parseLong(tjFlowingWater.getDiscount())), tjOrder.getTjNumber());
         }
 
-        tjOrderDetailService.saveTjPureToneTesByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()));
+        tjOrderDetailService.saveTjPureToneTesByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()),tjOrder.getCardId());
 //        List<TjOrderDetail> list = tjOrderDetailService.getTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()));
 //        if (list != null) {
 //            for (TjOrderDetail tjOrderDetail : list) {
@@ -363,7 +408,11 @@
         wq.isNotNull(TjOrderDetail::getFlowingWaterId);
         wq.eq(TjOrderDetail::getIsSampling, 0);
         List<TjOrderDetail> detailList = tjOrderDetailService.list(wq);
-        if (null != detailList && detailList.size() > 0) {
+        addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser);
+    }
+
+    public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser) {
+        if (null != detailList && detailList1) {
             String format = DateUtil.format(new Date(), "yyMMddHHmmssSSS");
             for (TjOrderDetail detail : detailList) {
                 TjSampling sampling = new TjSampling();
@@ -468,13 +517,48 @@
 
     @Override
     @Async("async")
+//    @Transactional
     public void iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser) {
-        List<TjConsumables> list2 = new ArrayList<>();
+        Date dates = new Date();
+        final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss");
+
+        String jxbz = DateUtil.format(dates, "yyyyMMddHHmmss")+order.getOrderId();
+
+        tjFlowingWater.setJxbz(jxbz);
+        tjFlowingWaterService.updateById(tjFlowingWater);
+
+        TjProBl proBl=new TjProBl();
+        proBl.setTjh(order.getTjNumber());
+        proBl.setBldh(jxbz);
+        proBl.setBlsj(date);
+        proBl.setBlrdm(sysUser.getUserName());
+        proBl.setBlrmc(sysUser.getNickName());
+        proBl.setBlje(String.valueOf(tjFlowingWater.getPaidIn()));
+        blService.save(proBl);
+
         String[] tjProIds = tjFlowingWater.getTjProIds();
+
+        String config = configService.selectConfigByKey("sfkqdyhis");
+
+        //妫�楠�
+        List<OutpintestapplyDetailsDto> detailsDtos = new ArrayList<>();
+
+        //妫�鏌�
+        List<OutpintestapplyDetailsDto> detailsDtoss = new ArrayList<>();
+
+
+        //澶勭疆
+        List<OutpintestapplyDetailsDto> detailDtos = new ArrayList<>();
+
+        List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>();
+
+        List<TjProject>  projectList=new ArrayList<>();
+
         for (String tjProId : tjProIds) {
-            LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>();
-            wqq.eq(TbTransition::getCusId, customer.getCusIdcard());
-            TjProject project = projectService.selectTjProjectByProId(Long.valueOf(tjProId));
+//            LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>();
+//            wqq.eq(TbTransition::getCusId, customer.getCusIdcard());
+//            wqq.isNull(TbTransition::getTjNum);
+            TjProject project = projectService.getById(Long.valueOf(tjProId));
             if (null != project && project.getProParentId() == 0) {
                 TjOrderRemark tjOrderRemark = new TjOrderRemark();
                 tjOrderRemark.setProId(Long.valueOf(tjProId));
@@ -482,165 +566,682 @@
                 tjOrderRemark.setDeptId(project.getDeptId());
                 tjOrderRemark.setTjNumber(order.getTjNumber());
                 tjOrderRemark.setCreateBy(sysUser.getNickName());
-                tjOrderRemark.setCreateTime(new Date());
+                tjOrderRemark.setCreateTime(dates);
                 tjOrderRemark.setUpdateBy(sysUser.getNickName());
-                tjOrderRemark.setUpdateTime(new Date());
+                tjOrderRemark.setUpdateTime(dates);
                 tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId()));
                 tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId()));
+                tjOrderRemark.setJxbz(jxbz);
                 orderRemarkService.save(tjOrderRemark);
 
                 List<Long> proIds = projectService.getTjProjectListBySoneId(tjProId).stream().map(TjProject::getProId).collect(Collectors.toList());
                 TjOrderDetail detail = new TjOrderDetail();
                 detail.setTjStatus(0L);
                 detail.setOrderId(tjFlowingWater.getOrderId());
-                detail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber()));
+//                detail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber()));
                 detail.setProId(Long.valueOf(tjProId));
                 detail.setIsAddition("Y");
                 detail.setCreateBy(sysUser.getNickName());
-                detail.setCreateTime(new Date());
+                detail.setCreateTime(dates);
                 detail.setUpdateBy(sysUser.getNickName());
-                detail.setUpdateTime(new Date());
+                detail.setUpdateTime(dates);
                 detail.setCreateId(String.valueOf(sysUser.getUserId()));
                 detail.setUpdateId(String.valueOf(sysUser.getUserId()));
+                detail.setJxbz(jxbz);
                 tjOrderDetailService.save(detail);
                 for (Long proId : proIds) {
                     TjOrderDetail detail1 = new TjOrderDetail();
                     detail1.setTjStatus(0L);
                     detail1.setOrderId(tjFlowingWater.getOrderId());
-                    detail1.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber()));
+//                    detail1.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber()));
                     detail1.setProId(proId);
                     detail1.setIsAddition("Y");
-                    detail.setCreateBy(sysUser.getNickName());
-                    detail.setCreateTime(new Date());
-                    detail.setUpdateBy(sysUser.getNickName());
-                    detail.setUpdateTime(new Date());
-                    detail.setCreateId(String.valueOf(sysUser.getUserId()));
-                    detail.setUpdateId(String.valueOf(sysUser.getUserId()));
+                    detail1.setCreateBy(sysUser.getNickName());
+                    detail1.setCreateTime(dates);
+                    detail1.setUpdateBy(sysUser.getNickName());
+                    detail1.setUpdateTime(dates);
+                    detail1.setCreateId(String.valueOf(sysUser.getUserId()));
+                    detail1.setUpdateId(String.valueOf(sysUser.getUserId()));
+                    detail1.setJxbz(jxbz);
                     tjOrderDetailService.save(detail1);
                 }
-                wqq.in(TbTransition::getProId, proIds);
-            } else {
+//                wqq.in(TbTransition::getProId, proIds);
 
-                wqq.in(TbTransition::getProId, Arrays.asList(tjProIds));
-
-                TjProject projects = projectService.selectTjProjectByProId(Long.valueOf(tjProId));
-                if (null != projects) {
-                    TjProject projectss = projectService.selectTjProjectByProId(projects.getProParentId());
-                    if (null != projectss) {
-                        TjOrderRemark tjOrderRemark = new TjOrderRemark();
-                        tjOrderRemark.setProId(Long.valueOf(tjProId));
-                        tjOrderRemark.setProName(projectss.getProName());
-                        tjOrderRemark.setDeptId(projectss.getDeptId());
-                        tjOrderRemark.setTjNumber(order.getTjNumber());
-                        tjOrderRemark.setCreateBy(sysUser.getNickName());
-                        tjOrderRemark.setCreateTime(new Date());
-                        tjOrderRemark.setUpdateBy(sysUser.getNickName());
-                        tjOrderRemark.setUpdateTime(new Date());
-                        tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId()));
-                        tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId()));
-                        orderRemarkService.save(tjOrderRemark);
+                if(null !=config && config.equals("Y")){
+                //妫�楠�
+//                if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && (project.getDeptId() == 241L || project.getDeptId() == 317L)) {
+                if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJyDeptIds().contains(project.getDeptId().toString())) {
+                    if (null != project.getHisXmbm()) {
+                        OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+                        detailsDto.setMxfyxmbm(project.getHisXmbm());
+                        if (project.getSfzhfy().equals("Y")) {
+                            detailsDto.setSfzhfy("1");
+                        } else {
+                            detailsDto.setSfzhfy("0");
+                        }
+                        detailsDto.setSl(project.getSl());
+                        detailsDtos.add(detailsDto);
+                    }
+                    if(project.getProId()==1740177341251154377L){
+                        OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+                        detilsDto.setYpbm("00006670");
+                        detilsDto.setPcbm("06");
+                        detilsDto.setSl("1");
+                        detilsDto.setDj("60");
+                        detilsDto.setDcjl("1");
+                        detilsDto.setPj("60");
+                        detilsDto.setJj("60");
+                        detilsDto.setJldw("");
+                        detilsDto.setTjbm("");
+                        detilsDto.setPs("");
+                        detilsDto.setPsbm("");
+                        detilsDto.setYyts("");
+                        detilsDto.setXtph("");
+                        detilsDto.setScph("");
+                        detilsDto.setYpxq("");
+                        detilsDto.setCdbm("");
+                        detilsDto.setKfdw("");
+                        detilsDto.setYfdw("");
+                        detilsDto.setYysm("");
+                        detilsDto.setFzbl("1");
+                        detilsDto.setZh("0");
+                        outpinmedicapplyDetilsDtos.add(detilsDto);
                     }
                 }
-//                List<Long> proIds = projectService.getTjProjectListBySoneId(tjProId).stream().map(TjProject::getProId).collect(Collectors.toList());
+
+                //妫�鏌�
+//                if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 &&
+//                        (project.getDeptId() == 247 || project.getDeptId() == 248 || project.getDeptId() == 249 ||
+//                                project.getDeptId() == 250 || project.getDeptId() == 251 || project.getDeptId() == 252 ||
+//                                project.getDeptId() == 271 || project.getDeptId() == 273 || project.getDeptId() == 274 ||
+//                                project.getDeptId() == 275 || project.getDeptId() == 298)) {
+                    if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJcDeptIds().contains(project.getDeptId().toString())) {
+                    if (null != project.getHisXmbm()) {
+                        OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+                        detailsDto.setMxfyxmbm(project.getHisXmbm());
+                        if (project.getSfzhfy().equals("Y")) {
+                            detailsDto.setSfzhfy("1");
+                        } else {
+                            detailsDto.setSfzhfy("0");
+                        }
+                        detailsDto.setSl(project.getSl());
+                        detailsDtoss.add(detailsDto);
+                    }
+                        if(project.getProId()==1740177341251154377L){
+                            OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+                            detilsDto.setYpbm("00006670");
+                            detilsDto.setPcbm("06");
+                            detilsDto.setSl("1");
+                            detilsDto.setDj("60");
+                            detilsDto.setDcjl("1");
+                            detilsDto.setPj("60");
+                            detilsDto.setJj("60");
+                            detilsDto.setJldw("");
+                            detilsDto.setTjbm("");
+                            detilsDto.setPs("");
+                            detilsDto.setPsbm("");
+                            detilsDto.setYyts("");
+                            detilsDto.setXtph("");
+                            detilsDto.setScph("");
+                            detilsDto.setYpxq("");
+                            detilsDto.setCdbm("");
+                            detilsDto.setKfdw("");
+                            detilsDto.setYfdw("");
+                            detilsDto.setYysm("");
+                            detilsDto.setFzbl("1");
+                            detilsDto.setZh("0");
+                            outpinmedicapplyDetilsDtos.add(detilsDto);
+                        }
+                }
+
+                //澶勭疆
+//                if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 &&
+//                        (project.getDeptId() == 100 || project.getDeptId() == 240 || project.getDeptId() == 253 ||
+//                                project.getDeptId() == 254 || project.getDeptId() == 255 || project.getDeptId() == 257 ||
+//                                project.getDeptId() == 258 || project.getDeptId() == 259 || project.getDeptId() == 269 ||
+//                                project.getDeptId() == 270)) {
+                    if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getCzDeptIds().contains(project.getDeptId().toString())) {
+                    if (null != project.getHisXmbm()) {
+                        OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+                        detailsDto.setMxfyxmbm(project.getHisXmbm());
+                        if (project.getSfzhfy().equals("Y")) {
+                            detailsDto.setSfzhfy("1");
+                        } else {
+                            detailsDto.setSfzhfy("0");
+                        }
+                        detailsDto.setSl(project.getSl());
+                        detailDtos.add(detailsDto);
+                    }
+                    if(project.getProId()==1740177341251154377L){
+                            OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+                            detilsDto.setYpbm("00006670");
+                            detilsDto.setPcbm("06");
+                            detilsDto.setSl("1");
+                            detilsDto.setDj("60");
+                            detilsDto.setDcjl("1");
+                            detilsDto.setPj("60");
+                            detilsDto.setJj("60");
+                            detilsDto.setJldw("");
+                            detilsDto.setTjbm("");
+                            detilsDto.setPs("");
+                            detilsDto.setPsbm("");
+                            detilsDto.setYyts("");
+                            detilsDto.setXtph("");
+                            detilsDto.setScph("");
+                            detilsDto.setYpxq("");
+                            detilsDto.setCdbm("");
+                            detilsDto.setKfdw("");
+                            detilsDto.setYfdw("");
+                            detilsDto.setYysm("");
+                            detilsDto.setFzbl("1");
+                            detilsDto.setZh("0");
+                            outpinmedicapplyDetilsDtos.add(detilsDto);
+                        }
+                }
+            }
+
+
+
+            } else {
+//                wqq.in(TbTransition::getProId, Arrays.asList(tjProIds));
+                TjProject projects = projectService.selectTjProjectByProId(Long.valueOf(tjProId));
+                if (null != projects) {
+                    TjProject projectss = projectService.getById(projects.getProParentId());
+                    if (null != projectss && projectss.getProParentId()==0L) {
+                        projectList.add(projectss);
+                    }
+                }
                 TjOrderDetail detail = new TjOrderDetail();
                 detail.setTjStatus(0L);
                 detail.setOrderId(tjFlowingWater.getOrderId());
-                detail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber()));
                 detail.setProId(Long.valueOf(tjProId));
                 detail.setIsAddition("Y");
                 detail.setCreateBy(sysUser.getNickName());
-                detail.setCreateTime(new Date());
+                detail.setCreateTime(dates);
                 detail.setUpdateBy(sysUser.getNickName());
-                detail.setUpdateTime(new Date());
+                detail.setUpdateTime(dates);
                 detail.setCreateId(String.valueOf(sysUser.getUserId()));
                 detail.setUpdateId(String.valueOf(sysUser.getUserId()));
+                detail.setJxbz(jxbz);
                 tjOrderDetailService.save(detail);
-//                for (Long proId : proIds) {
+
+            }
+
+//            List<TbTransition> tbTransitionList = transitionService.list(wqq);
+            List<TbTransition> tbTransitionList = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(customer.getCusIdcard(),tjProId);
+            if (null != tbTransitionList && !tbTransitionList.isEmpty()) {
+                for (TbTransition transition : tbTransitionList) {
+//                    transition.setJxbz(jxbz);
+//                    transition.setTjNum(order.getTjNumber());
+//                    transition.setCardId(order.getCardId());
+//                    transition.setNowPrice(transition.getOrdPrice().multiply(BigDecimal.valueOf(Double.parseDouble(tjFlowingWater.getDiscount())).divide(BigDecimal.valueOf(10))));
+//                    transitionService.updateById(transition);
+                    transitionService.updateTbTransitionById(transition.getId().toString(),jxbz,order.getTjNumber(),order.getCardId(),
+                            transition.getOrdPrice().multiply(BigDecimal.valueOf(Double.parseDouble(tjFlowingWater.getDiscount())).divide(BigDecimal.valueOf(10))));
+                }
+            }
+
+        }
+
+        ArrayList<TjProject> jianChaProjects = new ArrayList<>();
+        ArrayList<TjProject> jianYanProjects = new ArrayList<>();
+
+        if(!projectList.isEmpty()){
+            List<TjProject> list = projectList.stream().distinct().collect(Collectors.toList());
+            for (TjProject project : list) {
+                TjOrderRemark tjOrderRemark = new TjOrderRemark();
+                tjOrderRemark.setProId(project.getProId());
+                tjOrderRemark.setProName(project.getProName());
+                tjOrderRemark.setDeptId(project.getDeptId());
+                tjOrderRemark.setTjNumber(order.getTjNumber());
+                tjOrderRemark.setCreateBy(sysUser.getNickName());
+                tjOrderRemark.setCreateTime(dates);
+                tjOrderRemark.setUpdateBy(sysUser.getNickName());
+                tjOrderRemark.setUpdateTime(dates);
+                tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId()));
+                tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId()));
+                tjOrderRemark.setJxbz(jxbz);
+                orderRemarkService.save(tjOrderRemark);
+
                 TjOrderDetail detail1 = new TjOrderDetail();
                 detail1.setTjStatus(0L);
                 detail1.setOrderId(tjFlowingWater.getOrderId());
-                detail1.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber()));
-                detail1.setProId(Long.valueOf(tjProId));
+                detail1.setProId(project.getProId());
                 detail1.setIsAddition("Y");
-                detail.setCreateBy(sysUser.getNickName());
-                detail.setCreateTime(new Date());
-                detail.setUpdateBy(sysUser.getNickName());
-                detail.setUpdateTime(new Date());
-                detail.setCreateId(String.valueOf(sysUser.getUserId()));
-                detail.setUpdateId(String.valueOf(sysUser.getUserId()));
+                detail1.setCreateBy(sysUser.getNickName());
+                detail1.setCreateTime(dates);
+                detail1.setUpdateBy(sysUser.getNickName());
+                detail1.setUpdateTime(dates);
+                detail1.setCreateId(String.valueOf(sysUser.getUserId()));
+                detail1.setUpdateId(String.valueOf(sysUser.getUserId()));
+                detail1.setJxbz(jxbz);
                 tjOrderDetailService.save(detail1);
-//                }
-            }
+                if(null !=config && config.equals("Y")){
+                    //妫�楠�
+//                    if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && (project.getDeptId() == 241L || project.getDeptId() == 317L)) {
+                    if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJyDeptIds().contains(project.getDeptId().toString())) {
+                        if (null != project.getHisXmbm()) {
+                            jianYanProjects.add(project);
+                            OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
 
-            List<TbTransition> tbTransitionList = transitionService.list(wqq);
-            if (null != tbTransitionList && tbTransitionList.size() > 0) {
-                for (TbTransition transition : tbTransitionList) {
-                    transition.setNowPrice(transition.getOrdPrice().multiply(BigDecimal.valueOf(Double.parseDouble(tjFlowingWater.getDiscount())).divide(BigDecimal.valueOf(10))));
-                    transitionService.updateById(transition);
-                    TjProject tjProject = projectService.selectTjProjectByProId(transition.getProId());
-                    //瀛愰」
-                    if (null != tjProject) {
-                        TjChargingStandard tjChargingStandard = new TjChargingStandard();
-                        tjChargingStandard.setTjNum(order.getTjNumber());
-                        tjChargingStandard.setProId(transition.getProId());
-                        tjChargingStandard.setPrice(transition.getNowPrice());
-                        tjChargingStandard.setProName(tjProject.getProName());
-                        tjChargingStandard.setCreateBy(sysUser.getNickName());
-                        tjChargingStandard.setCreateTime(new Date());
-                        tjChargingStandard.setUpdateBy(sysUser.getNickName());
-                        tjChargingStandard.setUpdateTime(new Date());
-                        tjChargingStandard.setCreateId(String.valueOf(sysUser.getUserId()));
-                        tjChargingStandard.setUpdateId(String.valueOf(sysUser.getUserId()));
-                        chargingStandardService.save(tjChargingStandard);
-                    }
-                }
-                //鐖堕」
+                            detailsDto.setMxfyxmbm(project.getHisXmbm());
 
-                TjProject parentProject = projectService.selectTjProjectByProId(Long.valueOf(tjProId));
-                if (null != parentProject && parentProject.getProParentId() == 0) {
-                    LambdaQueryWrapper<TjProConsumables> wqqq = new LambdaQueryWrapper<>();
-                    wqqq.eq(TjProConsumables::getProId, parentProject.getProId());
-                    List<TjProConsumables> proConsumables = proConsumablesService.list(wqqq);
-                    if (null != proConsumables && proConsumables.size() > 0) {
-                        for (TjProConsumables tjProConsumables : proConsumables) {
-                            TjConsumables tjConsumables = consumablesService.selectTjConsumablesById(tjProConsumables.getConsumablesId());
-                            list2.add(tjConsumables);
-                        }
-                    }
-
-                } else {
-                    TjProject parentProjects = projectService.getById(tjProId);
-                    if (null != parentProjects) {
-                        LambdaQueryWrapper<TjProConsumables> wqqq = new LambdaQueryWrapper<>();
-                        wqqq.eq(TjProConsumables::getProId, parentProjects.getProId());
-                        List<TjProConsumables> proConsumables = proConsumablesService.list(wqqq);
-                        if (null != proConsumables && proConsumables.size() > 0) {
-                            for (TjProConsumables tjProConsumables : proConsumables) {
-                                TjConsumables tjConsumables = consumablesService.selectTjConsumablesById(tjProConsumables.getConsumablesId());
-                                list2.add(tjConsumables);
+                            if (project.getSfzhfy().equals("Y")) {
+                                detailsDto.setSfzhfy("1");
+                            } else {
+                                detailsDto.setSfzhfy("0");
                             }
+                            detailsDto.setSl(project.getSl());
+                            detailsDtos.add(detailsDto);
                         }
+                        if(project.getProId()==1740177341251154377L){
+                            OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+                            detilsDto.setYpbm("00006670");
+                            detilsDto.setPcbm("06");
+                            detilsDto.setSl("1");
+                            detilsDto.setDj("60");
+                            detilsDto.setDcjl("1");
+                            detilsDto.setPj("60");
+                            detilsDto.setJj("60");
+                            detilsDto.setJldw("");
+                            detilsDto.setTjbm("");
+                            detilsDto.setPs("");
+                            detilsDto.setPsbm("");
+                            detilsDto.setYyts("");
+                            detilsDto.setXtph("");
+                            detilsDto.setScph("");
+                            detilsDto.setYpxq("");
+                            detilsDto.setCdbm("");
+                            detilsDto.setKfdw("");
+                            detilsDto.setYfdw("");
+                            detilsDto.setYysm("");
+                            detilsDto.setFzbl("1");
+                            detilsDto.setZh("0");
+                            outpinmedicapplyDetilsDtos.add(detilsDto);
+                        }
+                    }
+
+                    //妫�鏌�
+//                    if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 &&
+//                            (project.getDeptId() == 247L || project.getDeptId() == 248L || project.getDeptId() == 249L ||
+//                                    project.getDeptId() == 250L || project.getDeptId() == 251L || project.getDeptId() == 252L ||
+//                                    project.getDeptId() == 271L || project.getDeptId() == 273L || project.getDeptId() == 274L ||
+//                                    project.getDeptId() == 275L || project.getDeptId() == 298L)) {
+                        if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJcDeptIds().contains(project.getDeptId().toString())) {
+                        if (null != project.getHisXmbm()) {
+                            jianChaProjects.add(project);
+                            OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+                            detailsDto.setMxfyxmbm(project.getHisXmbm());
+                            if (project.getSfzhfy().equals("Y")) {
+                                detailsDto.setSfzhfy("1");
+                            } else {
+                                detailsDto.setSfzhfy("0");
+                            }
+                            detailsDto.setSl(project.getSl());
+                            detailsDtoss.add(detailsDto);
+                        }
+                            if(project.getProId()==1740177341251154377L){
+                                OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+                                detilsDto.setYpbm("00006670");
+                                detilsDto.setPcbm("06");
+                                detilsDto.setSl("1");
+                                detilsDto.setDj("60");
+                                detilsDto.setDcjl("1");
+                                detilsDto.setPj("60");
+                                detilsDto.setJj("60");
+                                detilsDto.setJldw("");
+                                detilsDto.setTjbm("");
+                                detilsDto.setPs("");
+                                detilsDto.setPsbm("");
+                                detilsDto.setYyts("");
+                                detilsDto.setXtph("");
+                                detilsDto.setScph("");
+                                detilsDto.setYpxq("");
+                                detilsDto.setCdbm("");
+                                detilsDto.setKfdw("");
+                                detilsDto.setYfdw("");
+                                detilsDto.setYysm("");
+                                detilsDto.setFzbl("1");
+                                detilsDto.setZh("0");
+                                outpinmedicapplyDetilsDtos.add(detilsDto);
+                            }
+                    }
+
+                    //澶勭疆
+//                    if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 &&
+//                            (project.getDeptId() == 100L || project.getDeptId() == 240L || project.getDeptId() == 253L ||
+//                                    project.getDeptId() == 254L || project.getDeptId() == 255L || project.getDeptId() == 257L ||
+//                                    project.getDeptId() == 258L || project.getDeptId() == 259L || project.getDeptId() == 269L ||
+//                                    project.getDeptId() == 270L)) {
+                        if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getCzDeptIds().contains(project.getDeptId().toString())) {
+                        if (null != project.getHisXmbm()) {
+                            OutpintestapplyDetailsDto detailsDto = new OutpintestapplyDetailsDto();
+                            detailsDto.setMxfyxmbm(project.getHisXmbm());
+                            if (project.getSfzhfy().equals("Y")) {
+                                detailsDto.setSfzhfy("1");
+                            } else {
+                                detailsDto.setSfzhfy("0");
+                            }
+                            detailsDto.setSl(project.getSl());
+                            detailDtos.add(detailsDto);
+                        }
+                            if(project.getProId()==1740177341251154377L){
+                                OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+                                detilsDto.setYpbm("00006670");
+                                detilsDto.setPcbm("06");
+                                detilsDto.setSl("1");
+                                detilsDto.setDj("60");
+                                detilsDto.setDcjl("1");
+                                detilsDto.setPj("60");
+                                detilsDto.setJj("60");
+                                detilsDto.setJldw("");
+                                detilsDto.setTjbm("");
+                                detilsDto.setPs("");
+                                detilsDto.setPsbm("");
+                                detilsDto.setYyts("");
+                                detilsDto.setXtph("");
+                                detilsDto.setScph("");
+                                detilsDto.setYpxq("");
+                                detilsDto.setCdbm("");
+                                detilsDto.setKfdw("");
+                                detilsDto.setYfdw("");
+                                detilsDto.setYysm("");
+                                detilsDto.setFzbl("1");
+                                detilsDto.setZh("0");
+                                outpinmedicapplyDetilsDtos.add(detilsDto);
+                            }
                     }
                 }
             }
         }
+
+        if(null !=config && config.equals("Y")){
+            if (lisApiMethod.isUseLisAndPacsRegister(order)) {
+                List<TjProject> projectList2 = jianYanProjects.stream().distinct().collect(Collectors.toList());
+                LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>();
+                wq.eq(TjOrderDetail::getOrderId, order.getOrderId());
+                wq.isNotNull(TjOrderDetail::getFlowingWaterId);
+                wq.eq(TjOrderDetail::getIsSampling, 0);
+                List<TjOrderDetail> detailList = tjOrderDetailService.list(wq);
+                addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser);
+
+                // 妫�鏌ョ敵璇�
+                pacsReg(order, customer, jianChaProjects);
+            }else {
+                //妫�楠岀敵璇�
+                if(!detailsDtos.isEmpty()){
+                    OutpintestapplyDto dto = new OutpintestapplyDto();
+                    dto.setHisRegistrationId(order.getCardId());
+                    dto.setSfzh(customer.getCusIdcard());
+                    dto.setSqysbm("00029");
+                    dto.setMzksbm("0101");
+                    dto.setSjrq(date);
+                    dto.setCzybm("00029");
+                    dto.setCzyksbm("0101");
+                    dto.setSfjz("0");
+                    dto.setDetails(detailsDtos.stream().distinct().collect(Collectors.toList()));
+                    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.setSfjx("Y");
+                            tree.setJxbz(jxbz);
+                            tree.setCardId(dto.getHisRegistrationId());
+                            LambdaQueryWrapper<TjCustomer> wrapper4 = new LambdaQueryWrapper<>();
+                            wrapper4.eq(TjCustomer::getCardId, tree.getCardId());
+                            TjCustomer tjCustomer = tjCustomerService.getOne(wrapper4);
+                            tree.setPationid(tjCustomer.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("妫�楠�");
+                            LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
+                            wrapper.eq(TjProject::getHisXmbm, mxfyxmbm);
+                            List<TjProject> list = projectService.list(wrapper);
+                            String tj_price = "";
+                            for (TjProject project : list) {
+                                tj_price += project.getProPrice() + "銆�";
+                            }
+                            tree.setTjPrice(tj_price.substring(0, tj_price.length() - 1));
+                            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(dates);
+                            ltkjJianchajianyanTreeService.save(tree);
+                        }
+
+                    }
+                }
+
+                //闂ㄨ瘖妫�鏌ョ敵璇�
+                if(!detailsDtoss.isEmpty()){
+                    OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto();
+                    outpinexamapplyDto.setHisRegistrationId(order.getCardId());
+                    outpinexamapplyDto.setSfzh(customer.getCusIdcard());
+                    outpinexamapplyDto.setSqysbm("00029");
+                    outpinexamapplyDto.setMzksbm("0101");
+                    outpinexamapplyDto.setCzybm("00029");
+                    outpinexamapplyDto.setCzyksbm("0101");
+                    outpinexamapplyDto.setSfjz("0");
+                    outpinexamapplyDto.setDetails(detailsDtoss.stream().distinct().collect(Collectors.toList()));
+                    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.setSfjx("Y");
+                            tree.setJxbz(jxbz);
+                            tree.setCardId(outpinexamapplyDto.getHisRegistrationId());
+                            LambdaQueryWrapper<TjCustomer> wrapper4 = new LambdaQueryWrapper<>();
+                            wrapper4.eq(TjCustomer::getCardId, tree.getCardId());
+                            TjCustomer tjCustomer = tjCustomerService.getOne(wrapper4);
+                            tree.setPationid(tjCustomer.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("妫�鏌�");
+                            LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
+                            wrapper.eq(TjProject::getHisXmbm, mxfyxmbm);
+                            List<TjProject> list = projectService.list(wrapper);
+                            String tj_price = "";
+                            for (TjProject project : list) {
+                                tj_price += project.getProPrice() + "銆�";
+                            }
+                            tree.setTjPrice(tj_price.substring(0, tj_price.length() - 1));
+                            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(dates);
+                            ltkjJianchajianyanTreeService.save(tree);
+                        }
+                    }
+                }
+            }
+            //鑽搧鐢宠
+            if(!outpinmedicapplyDetilsDtos.isEmpty()){
+                OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
+                dto1.setHisRegistrationId(order.getCardId());
+                dto1.setSfzh(customer.getCusIdcard());
+                dto1.setSqysbm("00029");
+                dto1.setMzksbm("0101");
+                dto1.setSjrq(date);
+                dto1.setCzybm("00029");
+                dto1.setCzyksbm("0101");
+                dto1.setCflxbm("A");
+                dto1.setYfbm("1");
+                dto1.setFyts("1");
+                dto1.setMzzd("");
+                dto1.setDetails(outpinmedicapplyDetilsDtos);
+                AjaxResult result = controller.Outpinmedicapply(dto1);
+                String result1 = getAjaxResult(result);
+                JSONObject object = getJSONObject(result1);
+                String code = object.getStr("ResultCode");
+                if(null !=code && code.equals("0")){
+                    JSONObject resultData = object.getJSONObject("ResultData");
+//                    Map<String, Object> resultDatasss = (Map<String, Object>) resultData.get(0);
+                    String cfh = resultData.getStr("cfh");
+
+                    for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
+                        TjCf cf=new TjCf();
+                        cf.setCardId(order.getCardId());
+                        cf.setSfzh(customer.getCusIdcard());
+                        cf.setCfh(cfh);
+                        cf.setSqysbm("00029");
+                        cf.setSqysxm("鐜嬪仴钀�");
+                        cf.setMzksbn("0101");
+                        cf.setSqrq(date);
+                        cf.setCzybm("00029");
+                        cf.setYpbm(detilsDto.getYpbm());
+                        cf.setYpmc("灏跨礌[14C]鍛兼皵璇曢獙鑽洅");
+                        cf.setSl(String.valueOf(detilsDto.getSl()));
+                        cf.setDj(String.valueOf(detilsDto.getDj()));
+                        cf.setDcjl(String.valueOf(detilsDto.getDcjl()));
+                        cf.setPj(String.valueOf(detilsDto.getPj()));
+                        cf.setJj(String.valueOf(detilsDto.getJj()));
+                        cf.setCreateTime(new Date());
+                        cf.setJxbz(jxbz);
+                        cfService.save(cf);
+                    }
+                }
+            }
+
+            //闂ㄨ瘖娌荤枟澶勭疆鐢宠
+            if(!detailDtos.isEmpty()){
+                OutpintreatapplyDto dao = new OutpintreatapplyDto();
+                dao.setHisRegistrationId(order.getCardId());
+                dao.setSfzh(customer.getCusIdcard());
+                dao.setSqysbm("00029");
+                dao.setMzksbm("0101");
+                dao.setSjrq(date);
+                dao.setCzybm("00029");
+                dao.setCzyksbm("0101");
+                dao.setSfjz("0");
+                dao.setDetails(detailDtos.stream().distinct().collect(Collectors.toList()));
+                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.setSfjx("Y");
+                        tree.setJxbz(jxbz);
+                        tree.setCardId(dao.getHisRegistrationId());
+                        LambdaQueryWrapper<TjCustomer> wrapper4 = new LambdaQueryWrapper<>();
+                        wrapper4.eq(TjCustomer::getCardId, tree.getCardId());
+                        TjCustomer tjCustomer = tjCustomerService.getOne(wrapper4);
+                        tree.setPationid(tjCustomer.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("澶勭疆");
+                        LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
+                        wrapper.eq(TjProject::getHisXmbm, mxfyxmbm);
+                        List<TjProject> list = projectService.list(wrapper);
+                        String tj_price = "";
+                        for (TjProject project : list) {
+                            tj_price += project.getProPrice() + "銆�";
+                        }
+                        tree.setTjPrice(tj_price.substring(0, tj_price.length() - 1));
+                        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(dates);
+                        ltkjJianchajianyanTreeService.save(tree);
+                    }
+                }
+            }
+        }
+
         //鐖堕」鑰楁潗
-        ArrayList<TjConsumables> collect = list2.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(TjConsumables::getId))), ArrayList::new));
-        for (TjConsumables tjConsumables : collect) {
-            TjChargingStandard tjChargingStandard = new TjChargingStandard();
-            tjChargingStandard.setTjNum(order.getTjNumber());
-            tjChargingStandard.setConsumablesId(tjConsumables.getId());
-            tjChargingStandard.setPrice(tjConsumables.getPrice());
-            tjChargingStandard.setProName(tjConsumables.getMakings());
-            tjChargingStandard.setConsumablesName(tjConsumables.getMakings());
-            tjChargingStandard.setCompany(tjConsumables.getSpecifications());
-            tjChargingStandard.setCreateBy(sysUser.getNickName());
-            tjChargingStandard.setCreateTime(new Date());
-            tjChargingStandard.setUpdateBy(sysUser.getNickName());
-            tjChargingStandard.setUpdateTime(new Date());
-            tjChargingStandard.setCreateId(String.valueOf(sysUser.getUserId()));
-            tjChargingStandard.setUpdateId(String.valueOf(sysUser.getUserId()));
-            chargingStandardService.save(tjChargingStandard);
+//        ArrayList<TjConsumables> collect = list2.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(TjConsumables::getId))), ArrayList::new));
+//        for (TjConsumables tjConsumables : collect) {
+//            TjChargingStandard tjChargingStandard = new TjChargingStandard();
+//            tjChargingStandard.setTjNum(order.getTjNumber());
+//            tjChargingStandard.setConsumablesId(tjConsumables.getId());
+//            tjChargingStandard.setPrice(tjConsumables.getPrice());
+//            tjChargingStandard.setProName(tjConsumables.getMakings());
+//            tjChargingStandard.setConsumablesName(tjConsumables.getMakings());
+//            tjChargingStandard.setCompany(tjConsumables.getSpecifications());
+//            tjChargingStandard.setCreateBy(sysUser.getNickName());
+//            tjChargingStandard.setCreateTime(dates);
+//            tjChargingStandard.setUpdateBy(sysUser.getNickName());
+//            tjChargingStandard.setUpdateTime(dates);
+//            tjChargingStandard.setCreateId(String.valueOf(sysUser.getUserId()));
+//            tjChargingStandard.setUpdateId(String.valueOf(sysUser.getUserId()));
+//            chargingStandardService.save(tjChargingStandard);
+//        }
+    }
+
+    private void pacsReg(TjOrder order, TjCustomer customer, ArrayList<TjProject> jianChaProjects) {
+        List<TjProject> projectList1 = jianChaProjects.stream().distinct().collect(Collectors.toList());
+        JSONArray array = JSONUtil.createArray();
+        ArrayList<SavePacsApply> successPacsList = new ArrayList<>();
+        ArrayList<SavePacsApply> errorPacsList = new ArrayList<>();
+        int allTotal = 0;
+        try {
+            allTotal = pacsApiMethodService.saveProjects(order, customer, projectList1, array, successPacsList, errorPacsList);
+        } catch (Exception e) {
+            log.error(e.getMessage());
+            for (Object object : array) {
+                JSONObject jsonObject = (JSONObject) object;
+                pacsApiMethodService.updatePacsApply(jsonObject.getStr("regNo"), jsonObject.getStr("cardId"), jsonObject.getStr("name"));
+            }
+        }
+        log.info("妫�鏌ユ�昏 ->{}涓�", allTotal);
+        if (!errorPacsList.isEmpty()) {
+            log.info("鎴愬姛 ->{}", successPacsList);
+            log.error("澶辫触 ->{}", errorPacsList);
         }
     }
 
@@ -1144,47 +1745,20 @@
         wq.isNotNull(TjOrderDetail::getFlowingWaterId);
         wq.eq(TjOrderDetail::getIsSampling, 0);
         List<TjOrderDetail> detailList = tjOrderDetailService.list(wq);
-        if (null != detailList && detailList.size() > 0) {
-            String format = DateUtil.format(new Date(), "yyMMddHHmmssSSS");
-            for (TjOrderDetail detail : detailList) {
-                TjSampling sampling = new TjSampling();
-                if (null == projectService.getById(detail.getProId())) continue;
-                Long proParentId = projectService.getById(detail.getProId()).getProParentId();
-                if (null != proParentId && proParentId == 0) {
-                    sampling.setSpecimenType(projectService.getById(detail.getProId()).getSpecimenType());
-                } else {
-                    sampling.setSpecimenType(projectService.getById(projectService.getById(detail.getProId()).getProParentId()).getSpecimenType());
-                }
-                sampling.setSamplingNumber(format);
-                sampling.setTjNum(order.getTjNumber());
-                sampling.setCusId(String.valueOf(order.getUserId()));
-                if (tjCustomerService.getById(String.valueOf(order.getUserId())) != null) {
-                    sampling.setCusName(tjCustomerService.getById(String.valueOf(order.getUserId())).getCusName());
-                }
-                sampling.setApplicationTime(new Date());
-                sampling.setTjTime(order.getCreateTime());
-                sampling.setProId(String.valueOf(detail.getProId()));
-                sampling.setProName(projectService.getById(detail.getProId()).getProName());
-                sampling.setCreateBy(sysUser.getNickName());
-                sampling.setCreateTime(new Date());
-                sampling.setUpdateBy(sysUser.getNickName());
-                sampling.setUpdateTime(new Date());
-                sampling.setCreateId(String.valueOf(sysUser.getUserId()));
-                sampling.setUpdateId(String.valueOf(sysUser.getUserId()));
-                samplingService.save(sampling);
-            }
-        }
+        addCaiYangDengJi(detailList, detailList.size() > 0, order, sysUser);
     }
 
     //棣栭〉楗肩姸鍥剧櫥璁颁汉鏁版帴鍙�
     private AjaxResult getPieCharts() {
         Map<String, Object> map = new HashMap<>();
 
+        Date date=new Date();
+
         //鑾峰彇浣撴鐧昏鏁�
         LambdaQueryWrapper<TjOrder> wq0 = new LambdaQueryWrapper<>();
-        wq0.between(TjOrder::getCreateTime, DateUtil.lastMonth(), DateUtil.now());
+        wq0.between(TjOrder::getCreateTime,DateUtil.offsetMonth(date,-1),date);
         List<TjOrder> orderCountList = orderService.list(wq0);
-        if (null != orderCountList && orderCountList.size() > 0) {
+        if (null != orderCountList && !orderCountList.isEmpty()) {
             List<PieChartVo> pieChartVoList = getTjorderCountMap(orderCountList);
             map.put("tjdj", pieChartVoList);
         } else {
@@ -1192,11 +1766,13 @@
         }
         //鑾峰彇浣撴寮傚父鏁�
         LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
-        wq1.between(TjOrder::getFinishTime, DateUtil.lastMonth(), DateUtil.now());
-        wq1.eq(TjOrder::getCheckStatus, 1);
-        List<TjOrder> orderAbnormalCountList = orderService.list(wq1);
-        if (null != orderAbnormalCountList && orderAbnormalCountList.size() > 0) {
-            List<PieChartVo> pieChartVoList = getTjorderAbnormalCountMap(orderAbnormalCountList);
+        wq1.between(TjOrder::getCreateTime,DateUtil.offsetMonth(date,-1),date);
+//        wq1.isNotNull(TjOrder::getFinishTime);
+//        wq1.eq(TjOrder::getCheckStatus, 1);
+        List<TjOrder> orderList = orderService.list(wq1);
+        if (null !=orderList && !orderList.isEmpty()) {
+//            List<TjOrder> orderList = orderAbnormalCountList.stream().distinct().collect(Collectors.toList());
+            List<PieChartVo> pieChartVoList = getTjorderAbnormalCountMap(orderList);
             map.put("tjyc", pieChartVoList);
         } else {
             map.put("tjyc", 0);
@@ -1263,14 +1839,14 @@
         int c = 0;
         int d = 0;
         int e = 0;
-        Map<String, Object> map = null;
+        Map<String, Object> map = new HashMap<>();
         for (TjOrder tjOrder : orderList) {
-            map = new HashMap<>();
             LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>();
             wq.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId());
             wq.eq(TjOrderDetail::getExceptionDesc, 1);
             List<TjOrderDetail> list = tjOrderDetailService.list(wq);
-            if (null != list && list.size() > 0) {
+            int count = hysqdService.getHyYcXmCount(tjOrder.getCardId());
+            if ((null != list && !list.isEmpty()) || (count>0)) {
                 TjCustomer customer = tjCustomerService.getById(tjOrder.getUserId());
                 if (null != customer) {
                     int age = DateUtil.ageOfNow(customer.getCusBrithday());
@@ -1286,15 +1862,14 @@
                         e += 1;
                     }
                 }
-                map.put("0-3宀�", a);
-                map.put("3-16宀�", b);
-                map.put("16-40宀�", c);
-                map.put("40-60宀�", d);
-                map.put("60宀佷互涓�", e);
             }
         }
+        map.put("0-3宀�", a);
+        map.put("3-16宀�", b);
+        map.put("16-40宀�", c);
+        map.put("40-60宀�", d);
+        map.put("60宀佷互涓�", e);
         List<PieChartVo> pieChartVoList = new ArrayList<>();
-        assert map != null;
         for (Map.Entry<String, Object> entry : map.entrySet()) {
             PieChartVo pieChartVo = new PieChartVo();
             pieChartVo.setName(entry.getKey());
@@ -1840,6 +2415,17 @@
         return customerList;
     }
 
+    //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡
+    public JSONObject getJSONObject(String builder) {
+        String Response = JSONUtil.parseObj(builder).getStr("Response");
+        return JSONUtil.parseObj(Response);
+    }
+
+    //鑾峰彇鏂规硶杩斿洖鍊间俊鎭�
+    public String getAjaxResult(AjaxResult result) {
+        return result.get("data").toString();
+    }
+
     //鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏
     private List<Map<String, Object>> getAjaxResult(String tjNumber) {
         List<Map<String, Object>> list = new ArrayList<>();
@@ -2034,11 +2620,14 @@
     //涓存椂琛ㄦ坊鍔犲崟椤�
     public void saveRedisTransitionByProId(String cusId,String cardId, List<Long> proIds) {
         for (Long proId : proIds) {
-            List<TbTransition> transitionList = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId));
-            if (null != transitionList && transitionList.size() > 0) {
-                continue;
+            TjProject project = projectService.selectTjProjectByProId(proId);
+            if(null !=project){ //&& (!project.getProName().contains("闈欒剦閲囪")|| !project.getProName().contains("璐�"))
+                List<TbTransition> transitionList = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId));
+                if (null == transitionList || transitionList.size() == 0) {
+                    transitionService.saveRedisTransitionByProId(cusId,cardId, proId);
+                }
             }
-            transitionService.saveRedisTransitionByProId(cusId,cardId, proId);
+//            if(null !=project) transitionService.saveRedisTransitionByProId(cusId,cardId, proId);
         }
     }
 

--
Gitblit v1.8.0