From 2a9583fd376451ca77a0400af7f3a02d1b80e7f5 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期二, 24 六月 2025 18:04:34 +0800
Subject: [PATCH] 2025-06-24

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java |  500 ++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 293 insertions(+), 207 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 c489848..b5915c4 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,6 +1,5 @@
 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.core.util.IdUtil;
@@ -14,11 +13,11 @@
 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;
 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.idutil.IdUtils;
 import com.ltkj.hosp.mapper.TjSamplingMapper;
 import com.ltkj.hosp.pacsDto.SavePacsApply;
 import com.ltkj.hosp.service.*;
@@ -38,7 +37,6 @@
 import com.ltkj.web.controller.system.SamplingServiceApi;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -46,8 +44,6 @@
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.util.*;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -173,7 +169,6 @@
     private ITjProAdvicerulesService tjProAdvicerulesService;
 
 
-
     @Override
     public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) {
         long l = System.currentTimeMillis();
@@ -200,7 +195,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()),tjOrder.getCardId());
+            tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(), String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), tjOrder.getCardId());
 
             //淇敼姣忛」鐨勫師浠风幇浠�
             for (TbTransition transition : tbTransitionList) {
@@ -248,12 +243,12 @@
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     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()),tjOrder.getCardId());
+                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.isEmpty()) {
@@ -309,13 +304,13 @@
             if (null != tjReservation && tjReservation.getPayType() == 1) {
                 tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
                         sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
-                orderRemarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(),tjFlowingWater.getTjSerialNumber().toString());
+                orderRemarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
             }
         }
         if (tjFlowingWater.getPayStasus() == 1) {
             tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
                     sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
-            orderRemarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(),tjFlowingWater.getTjSerialNumber().toString());
+            orderRemarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
         }
         if (tjFlowingWater.getDiscount() == null) {
             transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), new BigDecimal(10), tjOrder.getTjNumber());
@@ -323,7 +318,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()),tjOrder.getCardId());
+        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) {
@@ -360,7 +355,7 @@
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void collectFees(TjOrder order, List<TjConsumables> list2, List<TbTransition> tbTransitionList, SysUser sysUser, String discount) {
 //        orderRemarkService.deletedOrderRemarkByTjNum(order.getTjNumber());
 //        redisCache.deleteObject("getOrderDetailByProParentId" + order.getTjNumber());
@@ -438,18 +433,20 @@
         }
 
         List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId());
-        addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser,null);
+        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) {
+    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) {
+                int i = samplingService.isExistProId(order.getTjNumber(), String.valueOf(detail.getProId()));
+                if(i>0) continue;
                 TjSampling sampling = new TjSampling();
                 if (null == projectService.getById(detail.getProId())) continue;
                 TjProject project = projectService.getById(detail.getProId());
@@ -508,9 +505,9 @@
                 samplingService.save(sampling);
             }
         }
-        if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))){
+        if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))) {
             AjaxResult ajaxResult = lisApiMethod.getJyFlHb();
-            if (ajaxResult.get("code").toString().equals("200")){
+            if (ajaxResult.get("code").toString().equals("200")) {
                 String str = ajaxResult.get("data").toString();
                 str = str.replace("=", ":");
                 JSONArray array = JSONUtil.parseArray(str);
@@ -522,12 +519,12 @@
                     lisJyflhb.setMc(object.getStr("mc"));
                     lisJyflhb.setFlbm(object.getStr("flbm"));
                     LambdaQueryWrapper<LisJyflhb> wrapper = new LambdaQueryWrapper<>();
-                    wrapper.eq(LisJyflhb::getFlbm,lisJyflhb.getFlbm());
+                    wrapper.eq(LisJyflhb::getFlbm, lisJyflhb.getFlbm());
                     LisJyflhb jyflhb = lisJyflhbService.getOne(wrapper);
                     if (jyflhb == null) {
                         lisJyflhb.setId(IdUtil.getSnowflake().nextId());
                         lisJyflhbService.save(lisJyflhb);
-                    }else {
+                    } else {
                         lisJyflhb.setId(jyflhb.getId());
                         lisJyflhbService.updateById(lisJyflhb);
                     }
@@ -535,15 +532,15 @@
             }
 
         }
-        if (StrUtil.isNotBlank(jxbz)){
-            tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId()),jxbz);
-        }else {
-            tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId()));
+        if (StrUtil.isNotBlank(jxbz)) {
+            tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), jxbz);
+        } else {
+            tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()));
         }
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void abandonCheck(String tjNumber, TjOrder tjOrder, List<TjOrderDetail> list, SysUser sysUser) {
         for (TjOrderDetail tjOrderDetail : list) {
             LambdaQueryWrapper<TjProject> wq1 = new LambdaQueryWrapper<>();
@@ -584,74 +581,163 @@
     }
 
     @Override
-    @Async("async")
-    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();
-            }
+    //@Async("async")
+    public void updateOrdeltile(List<TjOrderDetail> tjOrderDetailList, SysUser sysUser, TjOrder order, TjOrderRemark orderRemark) {
+
+        try {
+            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();
+                }
+                String xb= tjCustomerService.getSexByTjh(order.getTjNumber());
+
+                StringBuilder ssyszys = new StringBuilder();
+                StringBuilder ssyszyjgs = new StringBuilder();
+                List<Map<String, Object>> jianyilis=new ArrayList<>();
+                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);
+
+                        LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
+                        wq.eq(TjOrderYcxm::getTjh, order.getTjNumber());
+                        wq.eq(TjOrderYcxm::getJcxm, detail.getProName());
+                        ycxmService.remove(wq);
+                        if (detail.getExceptionDesc() == 1) {
+                          if(tjProject.getSfcyyc()==0){
+                              String replacedAll = detail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "")
+                                      .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "").replaceAll("鈼�", "");
+
+                              if(!detail.getProName().contains("鑸掑紶鍘�") && !detail.getProName().contains("鏀剁缉鍘�")){
+
+                                  List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(detail.getProId().toString(), replacedAll, "", order.getTjNumber()
+                                          , replacedAll, detail.getProResult());
 
 
-            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("[銆�,锛�:锛�.\\s]+");
+                                  List<Map<String, Object>> mapList = new ArrayList<>();
+                                  for (String s : split) {
+                                      s = s.replaceAll("\n", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "").replaceAll(" ","")
+                                              .replaceAll("鐥�","").replaceAll("[0-9]", "");
+                                      Map<String, Object> mapss = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname, s, "0",xb);
+                                      if (null != mapss && !mapss.isEmpty()) {
+                                          Object bt = mapss.get("bt");
+                                          Object nr = mapss.get("nr");
+                                          if (null != bt || null != nr) {
 
-                        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);
+                                      }
+                                  }
+                                  TjOrderYcxm ycxm = ycxmService.getOne(wq);
+                                  if (null != ycxm) {
+                                      ycxm.setJcjg(detail.getProResult());
+                                      if (null != maps && !maps.isEmpty()) {
+                                          ycxm.setJynr(JSONUtil.toJsonStr(maps));
+                                      }
+                                      if (!mapList.isEmpty()) {
+                                          ycxm.setJynr(JSONUtil.toJsonStr(mapList));
+                                      }
+                                      ycxmService.updateById(ycxm);
+                                  }else {
+                                      TjOrderYcxm orderYcxm =new TjOrderYcxm();
+                                      orderYcxm.setTjh(order.getTjNumber());
+                                      orderYcxm.setParentName(tjProject.getProName());
+                                      orderYcxm.setJcxm(detail.getProName());
+                                      orderYcxm.setJcjg(detail.getProResult());
+                                      if (null != maps && !maps.isEmpty()) {
+                                          orderYcxm.setJynr(JSONUtil.toJsonStr(maps));
+                                      }
+                                      if (!mapList.isEmpty()) {
+                                          orderYcxm.setJynr(JSONUtil.toJsonStr(mapList));
+                                      }
+                                      orderYcxm.setJyjc("0");
+                                      ycxmService.save(orderYcxm);
+                                  }
+                              }else {
 
-                                } mapList.add(mapss);
+                                  List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(detail.getProId().toString()
+                                          , replacedAll, "", order.getTjNumber(), replacedAll, detail.getProResult());
+
+
+                                  String[] split = detail.getProResult().split("[銆�,锛�:锛�.\\s]+");
+                                  List<Map<String, Object>> mapList = new ArrayList<>();
+                                  for (String s : split) {
+                                      s = s.replaceAll("\n", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "");;
+                                      //                                        Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s);
+                                      Map<String, Object> mapss = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname, s, "0",xb);
+                                      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()) {
+                                      jianyilis.addAll(maps);
+                                  }
+                                  if (!mapList.isEmpty()) {
+                                      jianyilis.addAll(mapList);
+                                  }
+                                  ssyszys.append(detail.getProName()).append("/");
+                                  ssyszyjgs.append(detail.getProResult()).append("/");
+                              }
+                          }
+                        } else {
+                            if(detail.getProName().contains("鑸掑紶鍘�") || detail.getProName().contains("鏀剁缉鍘�")){
+                                ssyszys.append(detail.getProName()).append("/");
+                                ssyszyjgs.append(detail.getProResult()).append("/");
+
                             }
-                        }
 
-                        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);
+                }
+
+                // 浣跨敤 stream 杩囨护鍑� proName 涓� "鑸掑紶鍘�" 鎴� "鏀剁缉鍘�" 鐨勫厓绱�
+                List<TjOrderDetail> filteredList = tjOrderDetailList.stream()
+                        .filter(a -> ("鑸掑紶鍘�".equals(a.getProName()) || "鏀剁缉鍘�".equals(a.getProName())) && a.getExceptionDesc()==1)
+                        .collect(Collectors.toList());
+                if(StrUtil.isNotBlank(ssyszys.toString())){
+
+                    LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
+                    wq.eq(TjOrderYcxm::getTjh, order.getTjNumber());
+                    wq.like(TjOrderYcxm::getJcxm,"鑸掑紶鍘�");
+                    ycxmService.remove(wq);
+
+                    if(!filteredList.isEmpty()){
+                        TjOrderYcxm orderYcxm =new TjOrderYcxm();
+                        orderYcxm.setTjh(order.getTjNumber());
+                        orderYcxm.setParentName(tjProject.getProName());
+                        orderYcxm.setJcxm(ssyszys.toString().replaceFirst("/$", ""));
+                        orderYcxm.setJcjg(ssyszyjgs.toString().replaceFirst("/$", ""));
+                        orderYcxm.setJynr(JSONUtil.toJsonStr(jianyilis));
+                        orderYcxm.setJyjc("0");
+                        ycxmService.save(orderYcxm);
                     }
-                } catch (Exception e) {
                 }
             }
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error(String.valueOf(e));
         }
 
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void updateOrdeltile2(TjOrderDetail detail, SysUser sysUser) {
 //        for (TjOrderDetail detail : tjOrderDetailList) {
         detail.setTjStatus(1L);
@@ -666,16 +752,16 @@
     }
 
     @Override
-//    @Async("async")
+//    //@Async("async")
 //    @Transactional
-    public Boolean iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser,String jxbz) {
+    public Boolean iundividualCharges(TjFlowingWater tjFlowingWater, TjOrder order, TjCustomer customer, SysUser sysUser, String jxbz) {
         Date dates = new Date();
         final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss");
 
         tjFlowingWater.setJxbz(jxbz);
         tjFlowingWaterService.updateById(tjFlowingWater);
 
-        TjProBl proBl=new TjProBl();
+        TjProBl proBl = new TjProBl();
         proBl.setTjh(order.getTjNumber());
         proBl.setBldh(jxbz);
         proBl.setBlsj(date);
@@ -688,7 +774,7 @@
 
         String config = configService.selectConfigByKey("sfkqdyhis");
 
-        List<TjProject>  projectList=new ArrayList<>();
+        List<TjProject> projectList = new ArrayList<>();
 
 //        ArrayList<TjOrderDetail> tjOrderDetails = new ArrayList<>();
         for (String tjProId : tjProIds) {
@@ -745,12 +831,12 @@
                 //濡傛灉璇ラ」鐩瓨鍦� 鍒� 涓嶄繚瀛�
 
                 TjOrderDetail orderDetail = tjOrderDetailService.getTjOrderDetailByOrderId(String.valueOf(tjFlowingWater.getOrderId()), tjProId);
-                if(null !=orderDetail) continue;
+                if (null != orderDetail) continue;
 
                 TjProject projects = projectService.selectTjProjectByProId(Long.valueOf(tjProId));
                 if (null != projects) {
                     TjProject projectss = projectService.getById(projects.getProParentId());
-                    if (null != projectss && projectss.getProParentId()==0L) {
+                    if (null != projectss && projectss.getProParentId() == 0L) {
                         projectList.add(projectss);
                     }
                 }
@@ -771,10 +857,10 @@
 
             }
 
-            List<TbTransition> tbTransitionList = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(customer.getCusIdcard(),tjProId);
+            List<TbTransition> tbTransitionList = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(customer.getCusIdcard(), tjProId);
             if (null != tbTransitionList && !tbTransitionList.isEmpty()) {
                 for (TbTransition transition : tbTransitionList) {
-                    transitionService.updateTbTransitionById(transition.getId().toString(),jxbz,order.getTjNumber(),order.getCardId(),
+                    transitionService.updateTbTransitionById(transition.getId().toString(), jxbz, order.getTjNumber(), order.getCardId(),
                             transition.getOrdPrice().multiply(BigDecimal.valueOf(Double.parseDouble(tjFlowingWater.getDiscount())).divide(BigDecimal.valueOf(10))));
                 }
             }
@@ -785,7 +871,7 @@
 
         ArrayList<TjProject> jianChaProjects = new ArrayList<>();
 
-        if(!projectList.isEmpty()){
+        if (!projectList.isEmpty()) {
             List<TjProject> list = projectList.stream().distinct().collect(Collectors.toList());
             for (TjProject project : list) {
                 TjOrderRemark tjOrderRemark = new TjOrderRemark();
@@ -816,23 +902,23 @@
                 detail1.setJxbz(jxbz);
                 tjOrderDetailService.save(detail1);
 //                tjOrderDetails.add(detail1);
-                        if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJcDeptIds().contains(project.getDeptId().toString())) {
-                        if (null != project.getHisXmbm()) {
-                            jianChaProjects.add(project);
-                        }
+                if (project.getProPrice().compareTo(BigDecimal.ZERO) != 0 && deptService.getJcDeptIds().contains(project.getDeptId().toString())) {
+                    if (null != project.getHisXmbm()) {
+                        jianChaProjects.add(project);
                     }
+                }
             }
 
             // TODO 鍜岀鍒扮櫥璁颁竴鏍� 鍙湁閰嶇疆涓殑浠ュ強鏀惰垂绫诲瀷涓轰綋妫�绁ㄦ椂鎵嶅鍔犲埌閲囨牱绠$悊琛�
-            if(config.equalsIgnoreCase("Y")){
+            if (config.equalsIgnoreCase("Y")) {
 //                if (lisApiMethod.isUseLisAndPacsRegister(order) && tjFlowingWater.getPayType() == 6L) {
-                    List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz);
-                    addCaiYangDengJi(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz);
+                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 {
+                AjaxResult result = tijianbulushenqing(customer, date, order.getCardId(), jxbz, jianChaProjects, tjFlowingWater.getPayType() == 6L);
+                if (!result.get("code").toString().equals("200"))
+                    return false;
+            } else {
                 List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz);
                 addCaiYangDengJiByDiaoYongShiTu(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz);
             }
@@ -841,12 +927,14 @@
         return true;
     }
 
-    public void addCaiYangDengJiByDiaoYongShiTu(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser,String jxbz) {
+    public void addCaiYangDengJiByDiaoYongShiTu(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser, String jxbz) {
         String lis_tmh_prefix = sysConfigService.selectConfigByKey("make_lis_tmh_prefix");
         if (null != detailList && detailList1) {
             Date date = new Date();
             String format = DateUtil.format(date, "yyMMddHHmmssSSS");
             for (TjOrderDetail detail : detailList) {
+                int i = samplingService.isExistProId(order.getTjNumber(), String.valueOf(detail.getProId()));
+                if(i>0) continue;
                 TjSampling sampling = new TjSampling();
                 if (null == projectService.getById(detail.getProId())) continue;
                 TjProject project = projectService.getById(detail.getProId());
@@ -887,9 +975,9 @@
             }
         }
         String config = configService.selectConfigByKey("sfkqdyhis");
-        if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))){
+        if (lisApiMethod.isUseLisAndPacsRegister(order) && (null != config && config.equals("Y"))) {
             AjaxResult ajaxResult = lisApiMethod.getJyFlHb();
-            if (ajaxResult.get("code").toString().equals("200")){
+            if (ajaxResult.get("code").toString().equals("200")) {
                 String str = ajaxResult.get("data").toString();
                 str = str.replace("=", ":");
                 JSONArray array = JSONUtil.parseArray(str);
@@ -901,12 +989,12 @@
                     lisJyflhb.setMc(object.getStr("mc"));
                     lisJyflhb.setFlbm(object.getStr("flbm"));
                     LambdaQueryWrapper<LisJyflhb> wrapper = new LambdaQueryWrapper<>();
-                    wrapper.eq(LisJyflhb::getFlbm,lisJyflhb.getFlbm());
+                    wrapper.eq(LisJyflhb::getFlbm, lisJyflhb.getFlbm());
                     LisJyflhb jyflhb = lisJyflhbService.getOne(wrapper);
                     if (jyflhb == null) {
                         lisJyflhb.setId(IdUtil.getSnowflake().nextId());
                         lisJyflhbService.save(lisJyflhb);
-                    }else {
+                    } else {
                         lisJyflhb.setId(jyflhb.getId());
                         lisJyflhbService.updateById(lisJyflhb);
                     }
@@ -914,13 +1002,12 @@
             }
 
         }
-        if (StrUtil.isNotBlank(jxbz)){
-            tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId()),jxbz);
-        }else {
-            tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId()));
+        if (StrUtil.isNotBlank(jxbz)) {
+            tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), jxbz);
+        } else {
+            tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()));
         }
     }
-
 
 
     //浣撴瀵筯is鐢宠鍗曡皟鐢ㄦ柟娉�
@@ -1779,34 +1866,34 @@
 //        return AjaxResult.success();
 //    }
 
-    public AjaxResult tijianbulushenqing(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects,Boolean isTuanTiPiao) {
+    public AjaxResult tijianbulushenqing(TjCustomer customer, String date, String cardId, String jxbz, ArrayList<TjProject> jianChaProjects, Boolean isTuanTiPiao) {
         TjOrder order = orderService.getOrderByCardId(cardId);
-        if(null !=order){
+        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);
+            List<TbTransition> detailList = transitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(), cardId, jxbz);
             Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order);
-            List<OutpinmedicapplyDetilsDto> outpinmedicapplyDetilsDtos =new ArrayList<>();
+            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);
+                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()){
+                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));
+                    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());
+                        log.info("key ->{},val ->{}", entry.getKey(), entry.getValue());
                         // Lis鏍囨湰浠g爜
                         String specimenTypeCode = entry.getKey();
                         List<TjSampling> samplings = entry.getValue();
-                        if (samplings.size() >= 2){
+                        if (samplings.size() >= 2) {
                             // 杩涜鍚堝苟
                             List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList());
 //                            log.info("鎻愬彇id ->{}",stringList);
@@ -1818,12 +1905,12 @@
                                 }
                             }
                             if (stringList.size() > 1) {
-                                String id = tjSamplingService.mergeCaiYangApi(stringList,lis_tmh_prefix);
+                                String id = tjSamplingService.mergeCaiYangApi(stringList, lis_tmh_prefix);
                                 ids.add(id);
-                            }else {
+                            } else {
                                 ids.add(stringList.get(0));
                             }
-                        }else {
+                        } else {
                             ids.add(samplings.get(0).getId());
                         }
                     }
@@ -1831,7 +1918,7 @@
                     if (!confirmed)
                         return AjaxResult.error("澶勭悊澶辫触");
                 }
-            }else {
+            } else {
                 List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list();
                 //妫�楠岀敵璇�
                 if (null != detailList && !detailList.isEmpty()) {
@@ -1839,14 +1926,14 @@
                     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());
+                    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);
+                            listMap.put("", isNull);
                         for (Map.Entry<String, List<TjProject>> entry : listMap.entrySet()) {
                             OutpintestapplyDto dto = new OutpintestapplyDto();
                             dto.setHisRegistrationId(cardId);
@@ -1861,7 +1948,7 @@
                             List<TjProject> value = entry.getValue();
                             for (TjProject project : value) {
                                 LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
-                                wrapper.eq(TjProject::getProParentId,project.getProId());
+                                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) {
@@ -1879,7 +1966,7 @@
                                 }
                                 if (!outpinmedicXms.isEmpty()) {
                                     outpinmedicXms.stream().filter(i -> i.getProId().equals(project.getProId())).forEach(i -> {
-                                        OutpinmedicapplyDetilsDto detilsDto=new OutpinmedicapplyDetilsDto();
+                                        OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto();
                                         detilsDto.setYpbm(i.getYpbm());
                                         detilsDto.setPcbm(i.getPcbm());
                                         detilsDto.setSl(i.getSl());
@@ -1962,15 +2049,15 @@
                 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());
+                    wq.in(TjProject::getDeptId, deptService.getJcDeptIds());
                     List<TjProject> projects = projectService.list(wq);
                     List<Long> proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList());
-                    if (!proIds.isEmpty()){
+                    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.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()) {
@@ -1990,7 +2077,7 @@
                             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();
+                                    OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto();
                                     detilsDto.setYpbm(i.getYpbm());
                                     detilsDto.setPcbm(i.getPcbm());
                                     detilsDto.setSl(i.getSl());
@@ -2083,15 +2170,15 @@
                 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());
+                    wq.in(TjProject::getDeptId, deptService.getCzDeptIds());
                     List<TjProject> projects = projectService.list(wq);
                     List<Long> proIds = projects.stream().map(TjProject::getProId).collect(Collectors.toList());
-                    if (!proIds.isEmpty()){
+                    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.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()) {
@@ -2109,7 +2196,7 @@
                             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();
+                                    OutpinmedicapplyDetilsDto detilsDto = new OutpinmedicapplyDetilsDto();
                                     detilsDto.setYpbm(i.getYpbm());
                                     detilsDto.setPcbm(i.getPcbm());
                                     detilsDto.setSl(i.getSl());
@@ -2180,31 +2267,44 @@
                 }
 
                 //鑽搧鐢宠
-                if(!outpinmedicapplyDetilsDtos.isEmpty()){
-                    OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
+                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");
+                    String yfbm = configService.selectConfigByKey("chufang_yfbm");
+                    String mzzd = configService.selectConfigByKey("chufang_mzzd");
+                    String czybm = configService.selectConfigByKey("chufang_czybm");
+                    String czyksbm = configService.selectConfigByKey("chufang_czyksbm");
+                    String cflxbm = configService.selectConfigByKey("chufang_cflxbm");
+                    if (czybm.equalsIgnoreCase("N"))
+                        dto1.setCzybm(ysbm);
+                    else dto1.setCzybm(czybm);
+                    if (czyksbm.equalsIgnoreCase("N"))
+                        dto1.setCzyksbm(dept);
+                    else dto1.setCzyksbm(dept);
+                    dto1.setCflxbm(cflxbm);
+                    if (yfbm.equalsIgnoreCase("N"))
+                        dto1.setYfbm("1");
+                    else dto1.setYfbm(yfbm);
                     dto1.setFyts("1");
-                    dto1.setMzzd("");
+                    if (mzzd.equalsIgnoreCase("N"))
+                        dto1.setMzzd("");
+                    else dto1.setMzzd(mzzd);
                     dto1.setDetails(outpinmedicapplyDetilsDtos);
                     AjaxResult result = controller.Outpinmedicapply(dto1);
                     String result1 = getAjaxResult(result);
                     JSONObject object = getJSONObject(result1);
                     String code = object.getStr("ResultCode");
-                    if(null !=code && code.equals("0")){
+                    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());
+                        log.info("鑽搧鐢宠鍚庣殑澶勬柟鍙锋槸: " + cfh + "  outpinmedicapplyDetilsDtos 閲岄潰鐨勫�间负: " + outpinmedicapplyDetilsDtos.toString());
                         for (OutpinmedicapplyDetilsDto detilsDto : outpinmedicapplyDetilsDtos) {
-                            TjCf cf=new TjCf();
+                            TjCf cf = new TjCf();
                             cf.setJxbz(jxbz);
                             cf.setCardId(cardId);
                             cf.setSfzh(customer.getCusIdcard());
@@ -2254,7 +2354,7 @@
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void dockerSetCustomerLisByRedis(List<Long> ksproList, String ksId) {
 
         List<TjCustomer> yjAjaxResult = getYjAjaxResult(ksproList);
@@ -2264,14 +2364,14 @@
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void dockerSetYjCustomerByRedis(Long orderId, Long ksId) {
         //宸叉(鍗曚釜瀛樺叆)0鏈,1宸叉
         getDgYjAjaxResult(orderId, ksId);
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void dockerSetWjCustomerByRedis(Long orderId, Long ksId) {
 
         //鏈(鍗曚釜瀛樺叆)0鏈,1宸叉
@@ -2279,7 +2379,7 @@
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void checkSetCustomerLisByRedis(String config) {
         List<TjCustomer> wsResult = getWsResult(config);
         List<TjCustomer> ysResult = getYsResult(config);
@@ -2289,7 +2389,7 @@
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void wCScheckSetCustomerLisByRedis(List<TjOrder> orderList) {
         List<TjCustomer> customerList = new ArrayList<>();
         if (null != orderList && orderList.size() > 0) {
@@ -2324,7 +2424,7 @@
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void yCScheckSetCustomerLisByRedis(List<TjOrder> orderList) {
         List<TjCustomer> customerList = new ArrayList<>();
         if (null != orderList && orderList.size() > 0) {
@@ -2360,7 +2460,7 @@
 
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void tjRefund(List<TjProject> refundPros, String tjNum) {
         for (TjProject refundPro : refundPros) {
             LambdaQueryWrapper<TjProject> wq0 = new LambdaQueryWrapper<>();
@@ -2376,19 +2476,19 @@
             wq2.eq(TjSampling::getTjNum, tjNum);
             wq2.eq(TjSampling::getProId, refundPro.getProId());
             samplingService.remove(wq2);
-            redisCache.deleteCacheMapValue("getOrderDetailByProParentId" + tjNum, String.valueOf(refundPro.getProId()));
+            redisCache.deleteCacheMapValue("getOrderDetailByProParentId:" + tjNum, String.valueOf(refundPro.getProId()));
         }
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void saveSampling() {
         redisCache.setCacheMapValue("sampling", "yqs", getYWqsResult(0));
         redisCache.setCacheMapValue("sampling", "wqs", getYWqsResult(1));
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void tjGoutAsync(List<QjDomainVo> domainVos, SysUser sysUser, Set<String> list) {
         Integer day = 0;
         for (QjDomainVo domainVo : domainVos) {
@@ -2411,7 +2511,7 @@
                 td.setCreateId(String.valueOf(sysUser.getUserId()));
                 td.setUpdateId(String.valueOf(sysUser.getUserId()));
                 discardInspectionService.save(td);
-                redisCache.deleteCacheMapValue("getOrderDetailByProParentId" + domainVo.getTjNumber(), String.valueOf(remark.getProId()));
+                redisCache.deleteCacheMapValue("getOrderDetailByProParentId:" + domainVo.getTjNumber(), String.valueOf(remark.getProId()));
             }
 
             LambdaQueryWrapper<TjProject> wq1 = new LambdaQueryWrapper<>();
@@ -2470,7 +2570,7 @@
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void addRedisTransitionPac(String cusId, Long pacId, List<TjPackageProject> ppList) {
         for (TjPackageProject tjPackageProject : ppList) {
             TjProject project = projectService.getById(tjPackageProject.getProId());
@@ -2509,18 +2609,18 @@
     }
 
     @Override
-    @Async("async")
-    public void saveRedisTransitionByPacId(String cusId,String cardId, Long pacId, List<Long> proIds) {
+    //@Async("async")
+    public void saveRedisTransitionByPacId(String cusId, String cardId, Long pacId, List<Long> proIds) {
         if (null != pacId) {
-            transitionService.saveRedisTransitionByPacId(cusId,cardId ,pacId);
+            transitionService.saveRedisTransitionByPacId(cusId, cardId, pacId);
         }
         if (null != proIds && proIds.size() > 0) {
-            saveRedisTransitionByProId(cusId,cardId, proIds);
+            saveRedisTransitionByProId(cusId, cardId, proIds);
         }
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void addRedisTransitionPro(String cusId, List<Long> proIds) {
         for (Long proId : proIds) {
             if (null != transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId)) && transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId)).size() > 0) {
@@ -2562,7 +2662,7 @@
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void getTjPackageList() {
 
         //鐢蜂汉
@@ -2576,7 +2676,7 @@
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void addNewReservationConfirm(List<TjReservation> rightList) {
         if (null != rightList && rightList.size() > 0) {
             for (TjReservation reservation : rightList) {
@@ -2611,41 +2711,28 @@
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void saveNewReservationConfirm(List<TjReservation> rightList) {
-        if (null != rightList && rightList.size() > 0) {
+        if (null != rightList && !rightList.isEmpty()) {
             //鍒涘缓绾跨▼姹�
-            ExecutorService threadPool = Executors.newFixedThreadPool(rightList.size());
+//            ExecutorService threadPool = Executors.newFixedThreadPool(rightList.size());
             for (TjReservation reservation : rightList) {
                 //鍒犻櫎涔嬪墠鐨勬暟鎹�
                 transitionService.deletedTbTransitionByCusId(reservation.getIdCard());
-                //鑾峰彇绾跨▼
-                threadPool.execute(new Runnable() {
-                    @Override
-                    public void run() {
-                        try {
-//                            transitionService.saveTemoTransitionByGroupingId(reservation.getIdCard(), reservation.getGroupingId());
-                            transitionService.ttsaveTemoTransitionByGroupingId(reservation.getIdCard(),"0",reservation.getGroupingId());
-
-                            threadPool.shutdown();
-                        } catch (Exception e) {
-                            e.printStackTrace();
-                        }
-                    }
-                });
+                transitionService.ttsaveTemoTransitionByGroupingId(reservation.getIdCard(), "0", reservation.getGroupingId());
             }
         }
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void updateCheckType(String tjNum) {
-        redisCache.setCacheMapValue("updateCheckType" + tjNum, tjNum, getAjaxResult(tjNum));
-        redisCache.setHashKeyExpireTime("updateCheckType" + tjNum, 7L, TimeUnit.DAYS);
+        redisCache.setCacheMapValue("updateCheckType:" + tjNum, tjNum, getAjaxResult(tjNum));
+        redisCache.setHashKeyExpireTime("updateCheckType:" + tjNum, 7L, TimeUnit.DAYS);
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void getPrintOrderList(List<TjOrder> list) {
 
         redisCache.setCacheMapValue("getPrintOrderList", "0", extracted(0, list));
@@ -2654,32 +2741,32 @@
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void getDictSfxms() {
         List<DictSfxm> dictSfxm = getDictSfxm();
         redisCache.setCacheObject("getDictSfxms", dictSfxm);
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void getOrderDetailByProParentId(String tjNumber, Map<String, Object> map, String proParentId) {
         if (null != map && !map.isEmpty()) {
-            redisCache.setCacheMapValue("getOrderDetailByProParentId" + tjNumber, proParentId, map);
+            redisCache.setCacheMapValue("getOrderDetailByProParentId:" + tjNumber, proParentId, map);
         } else {
-            redisCache.setCacheMapValue("getOrderDetailByProParentId" + tjNumber, proParentId, getOrderDetailByProParentId(proParentId, tjNumber));
+            redisCache.setCacheMapValue("getOrderDetailByProParentId:" + tjNumber, proParentId, getOrderDetailByProParentId(proParentId, tjNumber));
         }
-        redisCache.setHashKeyExpireTime("getOrderDetailByProParentId" + tjNumber, 7L, TimeUnit.DAYS);
+        redisCache.setHashKeyExpireTime("getOrderDetailByProParentId:" + tjNumber, 7L, TimeUnit.DAYS);
 
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void getLineChart() {
         redisCache.setCacheObject("getLineChart", getLineCharts());
     }
 
     @Override
-    @Async("async")
+    //@Async("async")
     public void getPieChart() {
         redisCache.setCacheObject("getPieChart", getPieCharts());
     }
@@ -2750,20 +2837,19 @@
         }
 
         List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId());
-        addCaiYangDengJi(detailList, detailList.size() > 0, order, sysUser,null);
+        addCaiYangDengJi(detailList, detailList.size() > 0, order, sysUser, null);
     }
-
 
 
     //棣栭〉楗肩姸鍥剧櫥璁颁汉鏁版帴鍙�
     private AjaxResult getPieCharts() {
         Map<String, Object> map = new HashMap<>();
 
-        Date date=new Date();
+        Date date = new Date();
 
         //鑾峰彇浣撴鐧昏鏁�
         LambdaQueryWrapper<TjOrder> wq0 = new LambdaQueryWrapper<>();
-        wq0.between(TjOrder::getCreateTime,DateUtil.offsetMonth(date,-1),date);
+        wq0.between(TjOrder::getCreateTime, DateUtil.offsetMonth(date, -1), date);
         List<TjOrder> orderCountList = orderService.list(wq0);
         if (null != orderCountList && !orderCountList.isEmpty()) {
             List<PieChartVo> pieChartVoList = getTjorderCountMap(orderCountList);
@@ -2773,11 +2859,11 @@
         }
         //鑾峰彇浣撴寮傚父鏁�
         LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
-        wq1.between(TjOrder::getCreateTime,DateUtil.offsetMonth(date,-1),date);
+        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()) {
+        if (null != orderList && !orderList.isEmpty()) {
 //            List<TjOrder> orderList = orderAbnormalCountList.stream().distinct().collect(Collectors.toList());
             List<PieChartVo> pieChartVoList = getTjorderAbnormalCountMap(orderList);
             map.put("tjyc", pieChartVoList);
@@ -2853,7 +2939,7 @@
             wq.eq(TjOrderDetail::getExceptionDesc, 1);
             List<TjOrderDetail> list = tjOrderDetailService.list(wq);
             int count = hysqdService.getHyYcXmCount(tjOrder.getCardId());
-            if ((null != list && !list.isEmpty()) || (count>0)) {
+            if ((null != list && !list.isEmpty()) || (count > 0)) {
                 TjCustomer customer = tjCustomerService.getById(tjOrder.getUserId());
                 if (null != customer) {
                     int age = DateUtil.ageOfNow(customer.getCusBrithday());
@@ -3625,13 +3711,13 @@
     }
 
     //涓存椂琛ㄦ坊鍔犲崟椤�
-    public void saveRedisTransitionByProId(String cusId,String cardId, List<Long> proIds) {
+    public void saveRedisTransitionByProId(String cusId, String cardId, List<Long> proIds) {
         for (Long proId : proIds) {
             TjProject project = projectService.selectTjProjectByProId(proId);
-            if(null !=project){ //&& (!project.getProName().contains("闈欒剦閲囪")|| !project.getProName().contains("璐�"))
+            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