From b7d7d80a8a9e9ac145a05b5e1d545b6b61fc0cc4 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期五, 30 五月 2025 18:17:33 +0800
Subject: [PATCH] zjh20250530

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java     |   27 ++
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjProjectService.java                |    4 
 ltkj-framework/src/main/java/com/ltkj/framework/web/service/SysLoginService.java    |   11 
 ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java |  411 +++++++++++++++---------------
 ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjProject.java                         |    3 
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java      |    7 
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjProjectController.java    |  143 +++++++++++
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java              |   87 ++++++
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjProjectServiceImpl.java        |   11 
 ltkj-hosp/src/main/resources/mapper/TjCustomerMapper.xml                            |    2 
 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjProjectMapper.java                   |    9 
 ltkj-common/src/main/java/com/ltkj/common/core/domain/model/LoginBody.java          |    3 
 ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjDwDept.java                          |    7 
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysLoginController.java     |    5 
 14 files changed, 517 insertions(+), 213 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
index 1790030..7bb9566 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
@@ -2245,6 +2245,93 @@
         return AjaxResult.success();
     }
 
+
+    public AjaxResult tijianBlshenqing(TjCustomer customer,TjOrder tjOrder, SysUser sysUser,String jxbz) {
+        List<TbTransition> detailList = tbTransitionService.getBlTbTransitionListByCusId(customer.getCusIdcard(), tjOrder.getCardId(),jxbz);
+        pacsApiMethodService.save(tjOrder, customer, detailList);
+        List<TjOrderDetail> detailList1 = tjOrderDetailService.getCaiYangDengJiJxbz(tjOrder.getOrderId(), jxbz);
+        tjSysAsyncService.addCaiYangDengJi(detailList1, !detailList1.isEmpty(), tjOrder, sysUser,null);
+
+        String mergeRequest = configService.selectConfigByKey("use_lis_pacs_is_auto_merge_request");
+        String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix");
+        String isRequestLisAllzx = configService.selectConfigByKey("jcx_is_requestLisAllzx");
+        if (mergeRequest.equals("Y")){
+            if (isRequestLisAllzx != null && isRequestLisAllzx.equals("Y")){
+                log.info("杩涘叆鍥綋鏍规嵁灏忛」鏍囨湰鍚堝苟鍙戦�佹柟娉�");
+                LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
+                wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber());
+                wrapper.eq(TjSampling::getJxbz,jxbz);
+                List<TjSampling> list = tjSamplingService.list(wrapper);
+                List<String> strings = list.stream().map(TjSampling::getProId).collect(Collectors.toList());
+                LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>();
+                wrapper1.in(TjProject::getProParentId,strings);
+                wrapper1.eq(TjProject::getProStatus,0);
+                wrapper1.eq(TjProject::getDeleted,0);
+                wrapper1.groupBy(TjProject::getProId);
+                List<TjProject> tjProjectList = projectService.list(wrapper1);
+                Map<String, List<TjProject>> listMap = tjProjectList.stream().collect(Collectors.groupingBy(TjProject::getSpecimenType));
+                log.info("鍒嗙粍鍚� ->{}",JSONUtil.toJsonStr(listMap));
+                boolean save = lisApiMethod.save(listMap, tjOrder, customer);
+                if (!save) {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return AjaxResult.error("澶勭悊澶辫触");
+                }
+                for (TjSampling tjSampling : list) {
+                    tjSampling.setIsSignFor("0");
+                }
+                tjSamplingService.updateBatchById(list);
+            }else{
+                try {
+                    LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
+                    wrapper.eq(TjSampling::getTjNum,tjOrder.getTjNumber());
+                    wrapper.eq(TjSampling::getJxbz,jxbz);
+                    List<TjSampling> list = tjSamplingService.list(wrapper);
+                    log.info("閲囨牱鏁版嵁 ->{}",JSONUtil.toJsonStr(list));
+                    if (!list.isEmpty()) {
+                        Map<String, List<TjSampling>> listMap = list.stream().collect(Collectors.groupingBy(TjSampling::getSpecimenTypeCode));
+                        log.info("鍒嗙粍鍚� ->{}",JSONUtil.toJsonStr(listMap));
+                        ArrayList<String> ids = new ArrayList<>();
+                        for (Map.Entry<String, List<TjSampling>> entry : listMap.entrySet()) {
+                            log.info("key ->{},val ->{}",entry.getKey(),entry.getValue());
+                            // Lis鏍囨湰浠g爜
+                            String specimenTypeCode = entry.getKey();
+                            List<TjSampling> samplings = entry.getValue();
+                            if (samplings.size() >= 2) {
+                                // 杩涜鍚堝苟
+                                List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList());
+                                //                        log.info("鎻愬彇id ->{}",stringList);
+                                for (int i = 0; i < stringList.size(); i++) {
+                                    String s = stringList.get(i);
+                                    if (tjSamplingService.isMergeItem(s) != 0) {
+                                        stringList.remove(s);
+                                        ids.add(s);
+                                    }
+                                }
+                                if (stringList.size() > 1) {
+                                    String id = tjSamplingService.mergeCaiYangApi(stringList,lis_tmh_prefix);
+                                    ids.add(id);
+                                }else {
+                                    ids.add(stringList.get(0));
+                                }
+                            } else {
+                                ids.add(samplings.get(0).getId());
+                            }
+                        }
+                        Boolean confirmed = samplingService.confirmSamplingApi(ids, "Y", "N");
+                        if (!confirmed) {
+                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                            return AjaxResult.error("澶勭悊澶辫触");
+                        }
+                    }
+                } catch (NoTransactionException e) {
+                    log.error(String.valueOf(e),e.getMessage());
+                }
+            }
+
+        }
+        return AjaxResult.success();
+    }
+
     //閫�璐瑰悗鍙栨秷鎺ヨ瘖浣滃簾鐢宠鍗曠瓑鎿嶄綔
     @Transactional
     public boolean ZfHisApiMethods(TjCustomer customer, TjOrder order,Boolean isUseLisAndPacsRegister) {
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 ccbb6c1..efaad75 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
@@ -180,7 +180,6 @@
     private TjOrderRemarkMapper remarkMapper;
 
 
-
     @Override
     public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) {
         long l = System.currentTimeMillis();
@@ -207,7 +206,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) {
@@ -260,7 +259,7 @@
 
         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()) {
@@ -316,13 +315,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());
@@ -330,7 +329,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) {
@@ -445,12 +444,12 @@
         }
 
         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) {
         try {
             String lis_tmh_prefix = sysConfigService.selectConfigByKey("make_lis_tmh_prefix");
             String config = configService.selectConfigByKey("sfkqdyhis");
@@ -459,7 +458,7 @@
                 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;
+                    if (i > 0) continue;
                     TjSampling sampling = new TjSampling();
                     if (null == projectService.getById(detail.getProId())) continue;
                     TjProject project = projectService.getById(detail.getProId());
@@ -467,19 +466,19 @@
                     String dictLabel = sysDictDataService.selectDictLabel("sys_dict_specimen", project.getSpecimenType());
                     if (null != proParentId && proParentId == 0) {
                         sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix));
-    //                    LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project);
-    //                    if (jyxmzd != null) {
+                        //                    LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project);
+                        //                    if (jyxmzd != null) {
                         if (config.equals("Y") && lisAndPacsRegister)
                             sampling.setJyxmdm(project.getLisXmbm());
                         else sampling.setJyxmdm(String.valueOf(project.getProId()));
                         sampling.setSpecimenTypeCode(project.getSpecimenType());
                         sampling.setSpecimenType(dictLabel);
-    //                        LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>();
-    //                        wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm());
-    //                        LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper);
-    //                        sampling.setSpecimenType(jybbzd.getJybbmc());
-    //                        sampling.setJyxmdm(jyxmzd.getJyxmdm());
-    //                    }
+                        //                        LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>();
+                        //                        wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm());
+                        //                        LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper);
+                        //                        sampling.setSpecimenType(jybbzd.getJybbmc());
+                        //                        sampling.setJyxmdm(jyxmzd.getJyxmdm());
+                        //                    }
                     } else {
                         TjProject project1 = projectService.getById(proParentId);
                         sampling.setJyxh(idUtils.generateLisID(lis_tmh_prefix));
@@ -488,15 +487,15 @@
                         if (config.equals("Y") && lisAndPacsRegister)
                             sampling.setJyxmdm(project1.getLisXmbm());
                         else sampling.setJyxmdm(String.valueOf(project1.getProId()));
-    //                    LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project1);
-    //                    if (jyxmzd != null) {
-    //                        sampling.setSpecimenTypeCode(jyxmzd.getJybbdm());
-    //                        LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>();
-    //                        wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm());
-    //                        LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper);
-    //                        sampling.setSpecimenType(jybbzd.getJybbmc());
-    //                        sampling.setJyxmdm(jyxmzd.getJyxmdm());
-    //                    }
+                        //                    LtkjJyxmzd jyxmzd = lisApiMethod.getJyxmzd(project1);
+                        //                    if (jyxmzd != null) {
+                        //                        sampling.setSpecimenTypeCode(jyxmzd.getJybbdm());
+                        //                        LambdaQueryWrapper<LtkjJybbzd> wrapper = new LambdaQueryWrapper<>();
+                        //                        wrapper.eq(LtkjJybbzd::getJybbdm,jyxmzd.getJybbdm());
+                        //                        LtkjJybbzd jybbzd = jybbzdService.getOne(wrapper);
+                        //                        sampling.setSpecimenType(jybbzd.getJybbmc());
+                        //                        sampling.setJyxmdm(jyxmzd.getJyxmdm());
+                        //                    }
                     }
                     sampling.setSamplingNumber(format);
                     sampling.setTjNum(order.getTjNumber());
@@ -518,9 +517,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);
@@ -532,12 +531,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);
                         }
@@ -545,10 +544,10 @@
                 }
 
             }
-            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()));
             }
         } catch (Exception e) {
             log.error(e.getMessage());
@@ -610,11 +609,11 @@
                 } else {
                     deptname = dept.getDeptName();
                 }
-                String xb= tjCustomerService.getSexByTjh(order.getTjNumber());
+                String xb = tjCustomerService.getSexByTjh(order.getTjNumber());
 
                 StringBuilder ssyszys = new StringBuilder();
                 StringBuilder ssyszyjgs = new StringBuilder();
-                List<Map<String, Object>> jianyilis=new ArrayList<>();
+                List<Map<String, Object>> jianyilis = new ArrayList<>();
                 for (TjOrderDetail detail : tjOrderDetailList) {
                     detail.setTjStatus(1L);
                     LambdaQueryWrapper<TjStandard> wq0 = new LambdaQueryWrapper<>();
@@ -630,11 +629,11 @@
                     wq.eq(TjOrderYcxm::getJcxm, detail.getProName());
                     ycxmService.remove(wq);
                     if (detail.getExceptionDesc() == 1) {
-                        if(tjProject.getSfcyyc()==0){
+                        if (tjProject.getSfcyyc() == 0) {
                             String replacedAll = detail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "")
                                     .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "").replaceAll("鈼�", "");
 
-                            if(!detail.getProName().contains("鑸掑紶鍘�") && !detail.getProName().contains("鏀剁缉鍘�")){
+                            if (!detail.getProName().contains("鑸掑紶鍘�") && !detail.getProName().contains("鏀剁缉鍘�")) {
 
                                 List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(detail.getProId().toString(), replacedAll, "", order.getTjNumber()
                                         , replacedAll, detail.getProResult());
@@ -643,9 +642,9 @@
                                 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);
+                                    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");
@@ -665,8 +664,8 @@
                                         ycxm.setJynr(JSONUtil.toJsonStr(mapList));
                                     }
                                     ycxmService.updateById(ycxm);
-                                }else {
-                                    TjOrderYcxm orderYcxm =new TjOrderYcxm();
+                                } else {
+                                    TjOrderYcxm orderYcxm = new TjOrderYcxm();
                                     orderYcxm.setTjh(order.getTjNumber());
                                     orderYcxm.setParentName(tjProject.getProName());
                                     orderYcxm.setJcxm(detail.getProName());
@@ -680,7 +679,7 @@
                                     orderYcxm.setJyjc("0");
                                     ycxmService.save(orderYcxm);
                                 }
-                            }else {
+                            } else {
 
                                 List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(detail.getProId().toString()
                                         , replacedAll, "", order.getTjNumber(), replacedAll, detail.getProResult());
@@ -689,9 +688,9 @@
                                 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);
+                                    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");
@@ -713,7 +712,7 @@
                             }
                         }
                     } else {
-                        if(detail.getProName().contains("鑸掑紶鍘�") || detail.getProName().contains("鏀剁缉鍘�")){
+                        if (detail.getProName().contains("鑸掑紶鍘�") || detail.getProName().contains("鏀剁缉鍘�")) {
                             ssyszys.append(detail.getProName()).append("/");
                             ssyszyjgs.append(detail.getProResult()).append("/");
 
@@ -724,17 +723,17 @@
 
                 // 浣跨敤 stream 杩囨护鍑� proName 涓� "鑸掑紶鍘�" 鎴� "鏀剁缉鍘�" 鐨勫厓绱�
                 List<TjOrderDetail> filteredList = tjOrderDetailList.stream()
-                        .filter(a -> ("鑸掑紶鍘�".equals(a.getProName()) || "鏀剁缉鍘�".equals(a.getProName())) && a.getExceptionDesc()==1)
+                        .filter(a -> ("鑸掑紶鍘�".equals(a.getProName()) || "鏀剁缉鍘�".equals(a.getProName())) && a.getExceptionDesc() == 1)
                         .collect(Collectors.toList());
-                if(StrUtil.isNotBlank(ssyszys.toString())){
+                if (StrUtil.isNotBlank(ssyszys.toString())) {
 
                     LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
                     wq.eq(TjOrderYcxm::getTjh, order.getTjNumber());
-                    wq.like(TjOrderYcxm::getJcxm,"鑸掑紶鍘�");
+                    wq.like(TjOrderYcxm::getJcxm, "鑸掑紶鍘�");
                     ycxmService.remove(wq);
 
-                    if(!filteredList.isEmpty()){
-                        TjOrderYcxm orderYcxm =new TjOrderYcxm();
+                    if (!filteredList.isEmpty()) {
+                        TjOrderYcxm orderYcxm = new TjOrderYcxm();
                         orderYcxm.setTjh(order.getTjNumber());
                         orderYcxm.setParentName(tjProject.getProName());
                         orderYcxm.setJcxm(ssyszys.toString().replaceFirst("/$", ""));
@@ -770,14 +769,14 @@
     @Override
 //    @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);
@@ -790,7 +789,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) {
@@ -848,14 +847,14 @@
 
                 TjOrderDetail orderDetail = tjOrderDetailService.getTjOrderDetailByOrderId(String.valueOf(tjFlowingWater.getOrderId()), tjProId);
 //                if(null !=orderDetail) continue;
-                if(null !=orderDetail) {
+                if (null != orderDetail) {
                     detailMapper.updateTjOrderDetailDel(orderDetail.getOrderDetailId().toString());
                 }
 
                 TjProject projects = projectService.selectTjProjectByProId(Long.valueOf(tjProId));
                 if (null != projects) {
                     TjProject projectss = projectService.getById(projects.getProParentId());
-                    if (null != projectss && projectss.getProParentId()==0L) {
+                    if (null != projectss && projectss.getProParentId() == 0L) {
                         projectList.add(projectss);
                     }
                 }
@@ -876,10 +875,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))));
                 }
             }
@@ -890,12 +889,12 @@
 
         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 orderRemark = orderRemarkService.getTjOrderRemarkByTjNumAndProParentId(order.getTjNumber(), String.valueOf(project.getProId()));
-                if(null !=orderRemark){
+                if (null != orderRemark) {
                     remarkMapper.updateTjOrderRemarkdel(orderRemark.getRemarkId().toString());
                 }
 
@@ -915,7 +914,7 @@
 
 
                 TjOrderDetail orderDetail = tjOrderDetailService.getTjOrderDetailByOrderId(String.valueOf(tjFlowingWater.getOrderId()), project.getProId().toString());
-                if(null !=orderDetail) {
+                if (null != orderDetail) {
                     detailMapper.updateTjOrderDetailDel(orderDetail.getOrderDetailId().toString());
                 }
 
@@ -933,26 +932,25 @@
                 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 (lisApiMethod.isUseLisAndPacsRegister(order) && tjFlowingWater.getPayType() == 6L) {
-                    List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz);
-                    addCaiYangDengJi(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz);
-//                }
+            if (config.equalsIgnoreCase("Y")) {
+                List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz);
+                addCaiYangDengJi(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz);
                 String isUseMx = configService.selectConfigByKey("jcxhis_is_use_mx");
                 AjaxResult result;
                 if (isUseMx.equalsIgnoreCase("Y"))
-                    result = tijianbulushenqing(customer, date, order.getCardId(), jxbz, jianChaProjects, tjFlowingWater.getPayType() == 6L);
-                else result = tijianbulushenqingJinchuanNew (customer, date, order.getCardId(), jxbz, jianChaProjects, tjFlowingWater.getPayType() == 6L);
+                    result = tijianbulushenqing(customer, date, order.getCardId(), jxbz, jianChaProjects, (tjFlowingWater.getPayType() == 6L || tjFlowingWater.getPayStasus() == 1L));
+                else
+                    result = tijianbulushenqingJinchuanNew(customer, date, order.getCardId(), jxbz, jianChaProjects,(tjFlowingWater.getPayType() == 6L || tjFlowingWater.getPayStasus() == 1L));
                 return result.get("code").toString().equals("200");
-            }else {
+            } else {
                 List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz);
                 addCaiYangDengJiByDiaoYongShiTu(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz);
             }
@@ -961,7 +959,7 @@
         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) {
         try {
             String lis_tmh_prefix = sysConfigService.selectConfigByKey("make_lis_tmh_prefix");
             if (null != detailList && detailList1) {
@@ -969,7 +967,7 @@
                 String format = DateUtil.format(date, "yyMMddHHmmssSSS");
                 for (TjOrderDetail detail : detailList) {
                     int i = samplingService.isExistProId(order.getTjNumber(), String.valueOf(detail.getProId()));
-                    if(i>0) continue;
+                    if (i > 0) continue;
 
                     TjSampling sampling = new TjSampling();
                     if (null == projectService.getById(detail.getProId())) continue;
@@ -1011,9 +1009,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);
@@ -1025,12 +1023,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);
                         }
@@ -1038,53 +1036,58 @@
                 }
 
             }
-            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()));
             }
         } catch (Exception e) {
             log.error(e.getMessage());
         }
     }
 
-    private static List<String> mapJinchuan=null;
-    public AjaxResult tijianbulushenqingJinchuanNew(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects,Boolean isTuanTiPiao) {
-        mapJinchuan=new ArrayList<>();
-        tijianbulushenqingOld( customer,date, cardId, jxbz, jianChaProjects, isTuanTiPiao);
+    private static List<String> mapJinchuan = null;
 
-        tijianbulushenqingJinchuan( customer,date, cardId, jxbz, jianChaProjects, isTuanTiPiao);
+    private static ArrayList<String> ids = null;
+
+    public AjaxResult tijianbulushenqingJinchuanNew(TjCustomer customer, String date, String cardId, String jxbz, ArrayList<TjProject> jianChaProjects, Boolean isTuanTiPiao) {
+        mapJinchuan = new ArrayList<>();
+        ids = new ArrayList<>();
+        tijianbulushenqingOld(customer, date, cardId, jxbz, jianChaProjects, isTuanTiPiao);
+
+        tijianbulushenqingJinchuan(customer, date, cardId, jxbz, jianChaProjects, isTuanTiPiao);
         return AjaxResult.success();
         //return AjaxResult.success();
     }
-    public AjaxResult tijianbulushenqingJinchuan(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects,Boolean isTuanTiPiao) {
+
+    public AjaxResult tijianbulushenqingJinchuan(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));
-                    ArrayList<String> ids = new ArrayList<>();
+                    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);
@@ -1096,20 +1099,21 @@
                                 }
                             }
                             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());
                         }
                     }
-                    Boolean confirmed = samplingServiceApi.confirmSamplingApi(ids, "Y", "N");
+
+                    Boolean confirmed = samplingServiceApi.confirmSamplingApi(ids.stream().distinct().collect(Collectors.toList()), "Y", "N");
                     if (!confirmed)
                         return AjaxResult.error("澶勭悊澶辫触");
                 }
-            }else {
+            } else {
                 List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list();
                 //妫�楠岀敵璇�
                 if (null != detailList && !detailList.isEmpty()) {
@@ -1117,14 +1121,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);
@@ -1139,7 +1143,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());
                                 if (!mapJinchuan.isEmpty()) {
                                     wrapper.notIn(TjProject::getProId, mapJinchuan);
                                     wrapper.notIn(TjProject::getProParentId, mapJinchuan);
@@ -1161,7 +1165,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());
@@ -1244,15 +1248,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");
                         if (!mapJinchuan.isEmpty()) {
                             wrapper4.notIn("pro_id", mapJinchuan);
@@ -1276,7 +1280,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());
@@ -1369,15 +1373,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");
                         if (!mapJinchuan.isEmpty()) {
                             wrapper4.notIn("pro_id", mapJinchuan);
@@ -1399,7 +1403,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());
@@ -1470,8 +1474,8 @@
                 }
 
                 //鑽搧鐢宠
-                if(!outpinmedicapplyDetilsDtos.isEmpty()){
-                    OutpinmedicapplyDto dto1=new OutpinmedicapplyDto();
+                if (!outpinmedicapplyDetilsDtos.isEmpty()) {
+                    OutpinmedicapplyDto dto1 = new OutpinmedicapplyDto();
                     dto1.setHisRegistrationId(cardId);
                     dto1.setSfzh(customer.getCusIdcard());
                     dto1.setSqysbm(ysbm);
@@ -1501,13 +1505,13 @@
                     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());
@@ -1534,38 +1538,38 @@
         return AjaxResult.success();
     }
 
-//    浣撴瀵筯is鐢宠鍗曡皟鐢ㄦ柟娉�
-    public AjaxResult tijianbulushenqingOld(TjCustomer customer, String date,String cardId,String jxbz,ArrayList<TjProject> jianChaProjects,Boolean isTuanTiPiao) {
+    //    浣撴瀵筯is鐢宠鍗曡皟鐢ㄦ柟娉�
+    public AjaxResult tijianbulushenqingOld(TjCustomer customer, String date, String cardId, String jxbz, ArrayList<TjProject> jianChaProjects, Boolean isTuanTiPiao) {
         TjOrder order = orderService.getOrderByCardId(cardId);
-        if(null !=order){
+        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);
+                            log.info("鎻愬彇id ->{}", stringList);
                             for (int i = 0; i < stringList.size(); i++) {
                                 String s = stringList.get(i);
                                 if (tjSamplingService.isMergeItem(s) != 0) {
@@ -1574,20 +1578,20 @@
                                 }
                             }
                             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());
                         }
                     }
-                    Boolean confirmed = samplingServiceApi.confirmSamplingApi(ids, "Y", "N");
-                    if (!confirmed)
-                        return AjaxResult.error("澶勭悊澶辫触");
+//                    Boolean confirmed = samplingServiceApi.confirmSamplingApi(ids, "Y", "N");
+//                    if (!confirmed)
+//                        return AjaxResult.error("澶勭悊澶辫触");
                 }
-            }else {
+            } else {
                 List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list();
                 //妫�楠岀敵璇�
                 OutpintestapplyDto dto = new OutpintestapplyDto();
@@ -1606,7 +1610,7 @@
                     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()) {
                         for (TjProject project : projects) {
@@ -1628,7 +1632,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());
@@ -1714,7 +1718,7 @@
                 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);
                     if (null != projects && !projects.isEmpty()) {
                         for (TjProject project : projects) {
@@ -1737,7 +1741,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());
@@ -1824,7 +1828,7 @@
                 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);
                     if (null != projects && !projects.isEmpty()) {
                         for (TjProject project : projects) {
@@ -1862,7 +1866,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());
@@ -2427,34 +2431,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);
@@ -2466,12 +2470,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());
                         }
                     }
@@ -2479,7 +2483,7 @@
                     if (!confirmed)
                         return AjaxResult.error("澶勭悊澶辫触");
                 }
-            }else {
+            } else {
                 List<TjOutpinmedicXm> outpinmedicXms = tjOutpinmedicXmService.list();
                 //妫�楠岀敵璇�
                 if (null != detailList && !detailList.isEmpty()) {
@@ -2487,14 +2491,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);
@@ -2509,7 +2513,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) {
@@ -2527,7 +2531,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());
@@ -2611,15 +2615,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()) {
@@ -2639,7 +2643,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());
@@ -2733,15 +2737,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()) {
@@ -2759,7 +2763,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());
@@ -2895,7 +2899,7 @@
                 /**
                  * 鑽搧鐢宠 澶勬柟绫诲瀷缁存姢鍦ㄨ嵂鍝佽〃
                  */
-                if(!outpinmedicapplyDetilsDtos.isEmpty()){
+                if (!outpinmedicapplyDetilsDtos.isEmpty()) {
                     String yfbm = configService.selectConfigByKey("chufang_yfbm");
                     String mzzd = configService.selectConfigByKey("chufang_mzzd");
                     String czybm = configService.selectConfigByKey("chufang_czybm");
@@ -3239,12 +3243,12 @@
 
     @Override
     @Async("async")
-    public void saveRedisTransitionByPacId(String cusId,String cardId, Long pacId, List<Long> proIds) {
+    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);
         }
     }
 
@@ -3354,7 +3358,7 @@
                     public void run() {
                         try {
 //                            transitionService.saveTemoTransitionByGroupingId(reservation.getIdCard(), reservation.getGroupingId());
-                            transitionService.ttsaveTemoTransitionByGroupingId(reservation.getIdCard(),"0",reservation.getGroupingId());
+                            transitionService.ttsaveTemoTransitionByGroupingId(reservation.getIdCard(), "0", reservation.getGroupingId());
 
                             threadPool.shutdown();
                         } catch (Exception e) {
@@ -3479,20 +3483,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);
@@ -3502,11 +3505,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);
@@ -3582,7 +3585,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());
@@ -4354,13 +4357,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);
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysLoginController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysLoginController.java
index d0b0c52..da20150 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysLoginController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysLoginController.java
@@ -98,15 +98,16 @@
         if (loginBody.getMobile()) {
             token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getType(), loginBody.getCode(), loginBody.getUuid());
         } else {
-            token = loginService.Cuslogin(loginBody.getUsername(), loginBody.getPassword(), loginBody.getType(), loginBody.getCode(), loginBody.getUuid());
+            token = loginService.Cuslogin(loginBody.getUsername(),loginBody.getSfzh(), loginBody.getPassword(), loginBody.getType(), loginBody.getCode(), loginBody.getUuid());
             LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>();
             wq.eq(TjCustomer::getCusPhone, loginBody.getUsername());
+            wq.eq(TjCustomer::getCusIdcard, loginBody.getSfzh());
             TjCustomer tjCustomer = customerService.getOne(wq);
             List<Map<String ,Object>> customer = tjCustomerMapper.getCusInfoListByCardAndName(tjCustomer.getCusIdcard(),tjCustomer.getCusName());
             ajax.put("orderList",customer);
         }
         if (null == token) {
-            return success("璇ヨ处鍙锋鍦ㄤ娇鐢ㄤ腑");
+            return AjaxResult.error("鐧诲綍澶辫触!");
         }
         ajax.put(Constants.TOKEN, token);
         return ajax;
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
index 81c1514..e826098 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -1589,7 +1589,12 @@
                                 } catch (NumberFormatException ignored) {
                                 }
                             } else {
-                                tjOrderDetail.setYcbz("");
+//                                tjOrderDetail.setYcbz("");
+                                if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
+                                    tjOrderDetail.setYcbz("");
+
+                                if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
+                                    tjOrderDetail.setYcbz("鈫�");
                                 tjOrderDetail.setProResult(tjOrderDetail.getProResult());
                             }
 
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjProjectController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjProjectController.java
index df245be..85781cc 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjProjectController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjProjectController.java
@@ -662,4 +662,147 @@
             throw new RuntimeException(e);
         }
     }
+
+
+    @GetMapping("/getProListByBblx")
+    @ApiOperation(value = "鏌ヨ鏍囨湰瀵瑰簲椤圭洰鎴栨湭瀵瑰簲鏍囨湰鐨勯」鐩�")
+    public AjaxResult getProListByBblx(@ApiParam(value = "鏍囨湰绫诲瀷")@RequestParam(required = false) String bblx) {
+        try {
+            List<TjProject> projectList =tjProjectService.getProListByBblx(bblx);
+            return AjaxResult.success(projectList);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    @GetMapping("/delProByBblx")
+    @ApiOperation(value = "鍒犻櫎椤圭洰瀵瑰簲鏍囨湰")
+    @Transactional
+    public AjaxResult delProByBblx(@ApiParam(value = "椤圭洰ID")@RequestParam(required = false) String proId) {
+        try {
+            TjProject tjProject = tjProjectService.getById(proId);
+            tjProject.setSpecimenType(null);
+            tjProjectService.updateById(tjProject);
+            return AjaxResult.success();
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+
+    @PostMapping("/updateProByBblx")
+    @ApiOperation(value = "淇敼鎵�閫夐」鐩殑鏍囨湰绫诲瀷")
+    @Transactional
+    public AjaxResult updateProByBblx(@ApiParam(value = "椤圭洰ID闆嗗悎")@RequestParam(required = false) List<String> proIds,
+                                      @ApiParam(value = "鏍囨湰绫诲瀷")@RequestParam(required = false)String bblx) {
+        try {
+            if(null !=  proIds && !proIds.isEmpty()){
+                for (String proId : proIds) {
+                    TjProject tjProject = tjProjectService.getById(proId);
+                    tjProject.setSpecimenType(bblx);
+                    tjProjectService.updateById(tjProject);
+                }
+            }
+            return AjaxResult.success();
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+
+
+
+
+
+    @GetMapping("/getProListByBwwh")
+    @ApiOperation(value = "鏌ヨ閮ㄤ綅瀵瑰簲椤圭洰鎴栨湭瀵瑰簲閮ㄤ綅鐨勯」鐩�")
+    public AjaxResult getProListByBwwh(@ApiParam(value = "鏍囨湰绫诲瀷")@RequestParam(required = false) String bw) {
+        try {
+            List<TjProject> projectList =tjProjectService.getProListByBwwh(bw);
+            return AjaxResult.success(projectList);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    @GetMapping("/delProByBbwwh")
+    @ApiOperation(value = "鍒犻櫎椤圭洰瀵瑰簲閮ㄤ綅")
+    @Transactional
+    public AjaxResult delProByBbwwh(@ApiParam(value = "椤圭洰ID")@RequestParam(required = false) String proId) {
+        try {
+            TjProject tjProject = tjProjectService.getById(proId);
+            tjProject.setCheckBw(null);
+            tjProjectService.updateById(tjProject);
+            return AjaxResult.success();
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    @PostMapping("/updateProByBwwh")
+    @ApiOperation(value = "淇敼鎵�閫夐」鐩殑閮ㄤ綅")
+    @Transactional
+    public AjaxResult updateProByBwwh(@ApiParam(value = "椤圭洰ID闆嗗悎")@RequestParam(required = false) List<String> proIds,
+                                      @ApiParam(value = "鏍囨湰绫诲瀷")@RequestParam(required = false)String bw) {
+        try {
+            if(null !=  proIds && !proIds.isEmpty()){
+                for (String proId : proIds) {
+                    TjProject tjProject = tjProjectService.getById(proId);
+                    tjProject.setCheckBw(bw);
+                    tjProjectService.updateById(tjProject);
+                }
+            }
+            return AjaxResult.success();
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+
+//    @PostMapping("/addOrupdateProByBz")
+//    @ApiOperation(value = "鏂板鎴栦慨鏀规墍閫夐」鐩殑瀵瑰簲鐥呯淇℃伅")
+//    @Transactional
+//    public AjaxResult addOrupdateProByBz(@ApiParam(value = "椤圭洰ID闆嗗悎")@RequestParam(required = false) List<String> proIds,
+//                                         @ApiParam(value = "鐥呯ID")@RequestParam(required = false)String bz) {
+//        try {
+//            if(null !=  proIds && !proIds.isEmpty()){
+//                bzProService.remove(new LambdaQueryWrapper<>(TjBzPro.class).eq(TjBzPro::getBzId,bz));
+//                for (String proId : proIds) {
+//                    TjBzPro bzPro=new TjBzPro();
+//                    bzPro.setBzId(Long.valueOf(bz));
+//                    bzPro.setProId(Long.valueOf(proId));
+//                    bzProService.save(bzPro);
+//                }
+//            }
+//            return AjaxResult.success();
+//        } catch (Exception e) {
+//            throw new RuntimeException(e);
+//        }
+//    }
+//
+//
+//    @GetMapping("/getProByBz")
+//    @ApiOperation(value = "鏌ヨ鐥呯瀵瑰簲椤圭洰")
+//    public AjaxResult getProByBz(@ApiParam(value = "鐥呯ID")@RequestParam(required = false)String bz) {
+//        try {
+//            List<TjBzPro> list = bzProService.list(new LambdaQueryWrapper<>(TjBzPro.class).eq(TjBzPro::getBzId, bz));
+//            return AjaxResult.success(list);
+//        } catch (Exception e) {
+//            throw new RuntimeException(e);
+//        }
+//    }
+//
+//
+//    @DeleteMapping("/delProByBz")
+//    @ApiOperation(value = "鍒犻櫎鐥呯瀵瑰簲椤圭洰")
+//    public AjaxResult delProByBz(@ApiParam(value = "鐥呯ID")@RequestParam(required = false)String bz,
+//                                 @ApiParam(value = "椤圭洰ID")@RequestParam(required = false)String proId) {
+//        try {
+//            bzProService.remove(new LambdaQueryWrapper<>(TjBzPro.class).eq(TjBzPro::getBzId,bz).eq(TjBzPro::getProId,proId));
+//            return AjaxResult.success();
+//        } catch (Exception e) {
+//            throw new RuntimeException(e);
+//        }
+//    }
+
 }
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java
index 896e9b6..6e0df17 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java
@@ -1813,6 +1813,33 @@
         }
     }
 
+
+//    @GetMapping("/previewBase64/{flag}/{TjNumber}")
+//    @ApiOperation(value = "涓嬭浇浣撴鎶ュ憡Base64")
+    public String previewBase64( @PathVariable("TjNumber") String tjNumber) {
+        try {
+            TjOrder tjOrder = tjOrderService.getOrderByTjNum(tjNumber);
+            TjCustomer tjCustomer = tjCustomerService.getById( tjOrder.getUserId());
+            String value = configService.selectConfigByKey("path_filePath");
+            String filePath = value + File.separator + tjCustomer.getCusId() + tjNumber + tjCustomer.getCusName() + "_鎶ュ憡.pdf";
+            File f = new File(filePath);
+            //            System.out.println("Base64: " + base64);
+            return fileToBase64(f);
+        } catch (IOException e) {
+            log.error(e.toString());
+            throw new RuntimeException(e);
+        }
+    }
+
+    public static String fileToBase64(File file) throws IOException {
+        try (FileInputStream fileInputStream = new FileInputStream(file)) {
+            byte[] fileBytes = new byte[(int) file.length()];
+            fileInputStream.read(fileBytes);
+            return Base64.getEncoder().encodeToString(fileBytes);
+        }
+    }
+
+
     @GetMapping("/previewprint/{flag}/{TjNumber}/{sfdy}")
     @ApiOperation(value = "涓嬭浇浣撴鎶ュ憡")
     public void previewprint(HttpServletResponse response, @PathVariable("flag") boolean flag, @PathVariable("TjNumber") String tjNumber,@PathVariable("sfdy") String sfdy) {
diff --git a/ltkj-common/src/main/java/com/ltkj/common/core/domain/model/LoginBody.java b/ltkj-common/src/main/java/com/ltkj/common/core/domain/model/LoginBody.java
index 74b805f..1a7e314 100644
--- a/ltkj-common/src/main/java/com/ltkj/common/core/domain/model/LoginBody.java
+++ b/ltkj-common/src/main/java/com/ltkj/common/core/domain/model/LoginBody.java
@@ -24,6 +24,9 @@
     @ApiModelProperty(value = "瀵嗙爜")
     private String password;
 
+    @ApiModelProperty(value = "瀵嗙爜")
+    private String sfzh;
+
     /**
      * 楠岃瘉鐮�
      */
diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/web/service/SysLoginService.java b/ltkj-framework/src/main/java/com/ltkj/framework/web/service/SysLoginService.java
index a3092cf..3a7da03 100644
--- a/ltkj-framework/src/main/java/com/ltkj/framework/web/service/SysLoginService.java
+++ b/ltkj-framework/src/main/java/com/ltkj/framework/web/service/SysLoginService.java
@@ -217,7 +217,7 @@
      * @param password 瀵嗙爜
      * @return 缁撴灉
      */
-    public String Cuslogin(String username, String password, Boolean type,String code,String uuid) {
+    public String Cuslogin(String username,String sfzh, String password, Boolean type,String code,String uuid) {
 
         String aSwitch = configService.selectConfigByKey("captcha_switch");
         if(null !=aSwitch && aSwitch.equalsIgnoreCase("Y")){
@@ -237,9 +237,9 @@
         }
 
 
-        LoginUser loginUser = loadCusByCusname(username, password);
+        LoginUser loginUser = loadCusByCusname(username,sfzh, password);
         if (loginUser == null) {
-            return "鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒";
+            return null;
         }
 //       闄愬埗璐︽埛涓嶅厑璁稿缁堢鐧诲綍
         if (!soloLogin) {
@@ -259,11 +259,12 @@
         return tokenService.createToken(loginUser);
     }
 
-    public LoginUser loadCusByCusname(String username, String password) {
+    public LoginUser loadCusByCusname(String username,String sfzh, String password) {
         LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>();
         wq.eq(TjCustomer::getCusPhone, username);
+        wq.eq(TjCustomer::getCusIdcard, sfzh);
         List<TjCustomer> customerList = customerService.list(wq);
-        if (null == customerList || customerList.size() == 0) {
+        if (null == customerList || customerList.isEmpty()) {
             //throw new ServiceException("鐧诲綍鐢ㄦ埛锛�" + username + " 涓嶅瓨鍦�");
             throw new ServiceException("璐﹀彿鎴栧瘑鐮侀敊璇紝璇锋鏌ワ紒");
         }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjDwDept.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjDwDept.java
index 6df606a..32ca28d 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjDwDept.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjDwDept.java
@@ -1,6 +1,8 @@
 package com.ltkj.hosp.domain;
 
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.ltkj.common.annotation.Excel;
 import com.ltkj.common.core.domain.BaseEntity;
@@ -51,6 +53,11 @@
     private String dwDeptName;
 
 
+    @ApiModelProperty(value = "鐥呯")
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
+    private String bz;
+
+
     /**
      * 绛剧害閲戦
      */
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjProject.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjProject.java
index d5f9e98..b9c270a 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjProject.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjProject.java
@@ -4,6 +4,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
@@ -227,9 +228,11 @@
     private String isSampling;
 
     @ApiModelProperty(value = "鏍囨湰绫诲瀷")
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private String specimenType;
 
     @ApiModelProperty(value = "妫�鏌ラ儴浣�")
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private String checkBw;
 
 
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjProjectMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjProjectMapper.java
index 8dd0c2f..9429211 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjProjectMapper.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjProjectMapper.java
@@ -199,4 +199,13 @@
 
     List<Map<String ,Object>> getLisViewList();
 
+
+    @Select("call getProListByBblx(#{bblx,mode=IN}) ")
+    List<TjProject> getProListByBblx(@Param(value ="bblx")String bblx);
+
+
+    @Select("call getProListByBwwh(#{bw,mode=IN}) ")
+    List<TjProject> getProListByBwwh(String bw);
+
+
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjProjectService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjProjectService.java
index a45d2e8..bde7d45 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjProjectService.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjProjectService.java
@@ -142,4 +142,8 @@
 
     List<Map<String, Object>> zdysqlcx(String sql);
     void zdysqlxg(String sql);
+
+    List<TjProject> getProListByBblx(String bblx);
+
+    List<TjProject> getProListByBwwh(String bw);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjProjectServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjProjectServiceImpl.java
index f02d8eb..da863d8 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjProjectServiceImpl.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjProjectServiceImpl.java
@@ -347,4 +347,15 @@
         tjProjectMapper.zdysqlxg(map);
     }
 
+
+    @Override
+    public List<TjProject> getProListByBblx(String bblx) {
+        return tjProjectMapper.getProListByBblx(bblx);
+    }
+
+    @Override
+    public List<TjProject> getProListByBwwh(String bw) {
+        return tjProjectMapper.getProListByBwwh(bw);
+    }
+
 }
diff --git a/ltkj-hosp/src/main/resources/mapper/TjCustomerMapper.xml b/ltkj-hosp/src/main/resources/mapper/TjCustomerMapper.xml
index 8fbc575..0d64d76 100644
--- a/ltkj-hosp/src/main/resources/mapper/TjCustomerMapper.xml
+++ b/ltkj-hosp/src/main/resources/mapper/TjCustomerMapper.xml
@@ -307,7 +307,7 @@
   JOIN tj_customer c ON o.user_id = c.cus_id
   LEFT JOIN tj_report r ON o.tj_number = r.tj_number
 WHERE
-  c.cus_idcard = #{card} AND c.cus_name = #{name} AND c.deleted = 0
+  c.cus_idcard = #{card} AND c.cus_name = #{name} AND c.deleted = 0 and o.heshou_status = 1
         ORDER BY
         o.create_time DESC
     </select>

--
Gitblit v1.8.0