From e9191e6d4485d94c75f76762b4926439503c20c6 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 14 九月 2023 14:29:10 +0800
Subject: [PATCH] zjh 2023/09/14---1

---
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITbTransitionService.java                |    8 
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjGroupingProService.java               |    2 
 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjAskMedicalHistoryMapper.java            |   15 +
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java         |   81 +++++--
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java         |   42 ---
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjAskMedicalHistoryService.java         |    2 
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderDetailService.java               |    4 
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjGroupingProServiceImpl.java       |    5 
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TbTransitionServiceImpl.java        |   15 +
 ltkj-admin/src/test/java/zjhTest.java                                                  |   25 -
 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java                   |   80 ++++++
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderRemarkService.java               |    4 
 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderRemarkMapper.java                  |   24 +
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderDetailServiceImpl.java       |    7 
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjAskMedicalHistoryServiceImpl.java |    7 
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjAsyncServiceImpl.java             |  295 ++++++--------------------
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java                      |    6 
 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java                  |   17 +
 ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TbTransition.java                         |    3 
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderRemarkServiceImpl.java       |    5 
 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjGroupingProMapper.java                  |    5 
 21 files changed, 329 insertions(+), 323 deletions(-)

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 67959ef..ee7de4a 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
@@ -134,7 +134,7 @@
                             customer.setTjNumber(tjOrder.getTjNumber());
                             customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus()));
                             customer.setOrderId(tjOrder.getOrderId());
-                            customer.setTjTime(tjOrder.getFinishTime());
+                            customer.setTjTime(tjOrder.getCreateTime());
                             customer.setFinishTime(tjOrder.getFinishTime());
                             customer.setCusName(MatchUtils.hideCusName(customer.getCusName()));
                             customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
@@ -211,6 +211,13 @@
                 vo.setZhupdateTime(remark.getUpdateTime());
                 list.add(vo);
             }
+
+            Collections.sort(list, new Comparator<CsProVo>() {
+                @Override
+                public int compare(CsProVo o1, CsProVo o2) {
+                    return o1.getType()-o2.getType();
+                }
+            });
         }
         return AjaxResult.success(list);
     }
@@ -585,37 +592,4 @@
         return AjaxResult.success(map);
     }
 
-    /*private boolean getAjaxResult(@RequestParam(defaultValue = "1") @ApiParam("椤电爜鏁�(榛樿1)") Integer page,
-                                  @RequestParam(defaultValue = "10") @ApiParam("鏄剧ず鏉℃暟(榛樿10)") Integer pageSize,
-                                  List<TjOrder> orderList,
-                                  List<TjCustomer> customerList,
-                                  Map<String, Object> map) {
-        if (null != orderList && orderList.size() > 0) {
-            for (TjOrder tjOrder : orderList) {
-                TjCustomer customer = customerService.selectTjCustomerByCusId(tjOrder.getUserId());
-                if (null == customer) {
-                    continue;
-                }
-                customer.setCusName(MatchUtils.hideCusName(customer.getCusName()));
-                customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
-                customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard()));
-                customer.setTjNumber(tjOrder.getTjNumber());
-                customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus()));
-                customer.setOrderId(tjOrder.getOrderId());
-                customer.setTjTime(tjOrder.getCreateTime());
-                customer.setFinishTime(tjOrder.getFinishTime());
-                if (tjOrder.getFirmId() == null || tjOrder.getFirmId().equals("0")) {
-                    customer.setTjCompName("鏃�");
-                } else {
-                    customer.setTjCompName(compService.getById(tjOrder.getFirmId()).getCnName());
-                }
-                customerList.add(customer);
-            }
-            List<TjCustomer> customers = customerList.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
-            map.put("customers", customers);
-            map.put("total", customerList.size());
-            return true;
-        }
-        return false;
-    }*/
 }
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
index 4c7dad4..338ecb8 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -128,6 +128,9 @@
     @Resource
     private ITjRulesService rulesService;
 
+    @Autowired
+    private ITjAskMedicalHistoryService tjAskMedicalHistoryService;
+
 
     /**
      * 鏌ヨ浣撴璁板綍鍒楄〃
@@ -858,9 +861,9 @@
 
             //涓汉
             if ("2".equals(tjOrder.getTjType())) {
-//                asyncService.extracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
 
-                asyncService.newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
+//                asyncService.newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
+                newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
             }
             return AjaxResult.success(tjNumber);
         }
@@ -936,6 +939,7 @@
         } else {
             tbTransitionList = redisCache.getCacheList(cusId);
         }
+        //濂楅
         if (null != packId && !packId.equals("")) {
             Long pacId = Long.valueOf(packId.toString());
             List<TbTransition> list = transitionService.getTbTransitionListByCusIdAndPac(cusId, String.valueOf(pacId));
@@ -949,11 +953,12 @@
                 List<TjPackageProject> ppList = tjPackageProjectService.getTjPackageProjectListByPacId(String.valueOf(pacId));
                 if (null != ppList && ppList.size() > 0) {
                     //寮傛淇濆瓨鏁版嵁搴�
-                    asyncService.addRedisTransitionPac(cusId, pacId, ppList);
+//                    asyncService.addRedisTransitionPac(cusId, pacId, ppList);
+                    asyncService.saveRedisTransitionByPacId(cusId, pacId,proIds);
                     for (TjPackageProject tjPackageProject : ppList) {
                         TjProject project = projectService.getTjProjectById(String.valueOf(tjPackageProject.getProId()));
                         if (null != project) {
-                            BigDecimal divide = tjPackageProject.getPriceNow().divide(project.getProPrice(), 5, RoundingMode.DOWN);
+                            BigDecimal divide = tjPackageProject.getPriceNow().divide(project.getProPrice(), 5, RoundingMode.HALF_DOWN);
                             List<TjProject> tjProSonList = projectService.getTjProjectListBySoneId(String.valueOf(project.getProId()));
                             if (null != tjProSonList && tjProSonList.size() > 0) {
                                 //addRedisTransitionPac(cusId, tbTransitionList, pacId, tjPackageProject, project, divide, tjProSonList);
@@ -961,11 +966,6 @@
                                     TbTransition tbTransition = new TbTransition();
                                     tbTransition.setCusId(cusId);
                                     tbTransition.setPacId(pacId);
-//                                    if (null != tjProject.getProPrice()) {
-//                                        tbTransition.setOrdPrice(tjProject.getProPrice());
-//                                    } else {
-//                                        tbTransition.setOrdPrice(BigDecimal.valueOf(0.00));
-//                                    }
                                     if (null != tjPackageProject.getPriceNow() && divide.compareTo(BigDecimal.valueOf(0)) > 0) {
                                         tbTransition.setNowPrice(tjProject.getProPrice().multiply(divide).setScale(2, RoundingMode.HALF_DOWN));
                                         tbTransition.setOrdPrice(tjProject.getProPrice().multiply(divide).setScale(2, RoundingMode.HALF_DOWN));
@@ -989,8 +989,13 @@
                 }
             }
         }
+
+        //鍗曢」
         if (null != proIds && proIds.size() > 0) {
-            asyncService.addRedisTransitionPro(cusId, proIds);
+            //寮傛淇濆瓨鏁版嵁搴撹〃
+//            asyncService.addRedisTransitionPro(cusId, proIds);
+            asyncService.saveRedisTransitionByPacId(cusId,null,proIds);
+
             for (Long proId : proIds) {
                 List<TbTransition> transitions = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId));
                 if (null != transitions && transitions.size() > 0) {
@@ -1000,7 +1005,6 @@
                 if (null != project) {
                     List<TjProject> tjProSonList = projectService.getTjProjectListBySoneId(String.valueOf(project.getProId()));
                     if (null != tjProSonList && tjProSonList.size() > 0) {
-                        //寮傛淇濆瓨鏁版嵁搴撹〃
                         for (TjProject tjProject : tjProSonList) {
                             List<TbTransition> transitionss = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(tjProject.getProId()));
                             if (null != transitionss && transitionss.size() > 0) {
@@ -1296,9 +1300,6 @@
         List<Map<String, Object>> list = new ArrayList<>();
         for (Map.Entry<Long, List<TbTransition>> entry : collect.entrySet()) {
             Map<String, Object> map = new HashMap<>();
-            LambdaQueryWrapper<TbTransition> wq = new LambdaQueryWrapper<>();
-            wq.eq(TbTransition::getCusId, cusId);
-            wq.eq(TbTransition::getParentProId, entry.getKey());
             Long pacId = entry.getValue().get(0).getPacId();
             if (null != pacId) {
                 TjPackage aPackage = tjPackageService.getById(entry.getValue().get(0).getPacId());
@@ -1315,21 +1316,20 @@
                 for (TbTransition tbTransition : tbTransitionList) {
                     money1 = money1.add(tbTransition.getOrdPrice());
                     money2 = money2.add(tbTransition.getNowPrice());
-                    if (tbTransition.getOrdPrice().compareTo(BigDecimal.valueOf(0)) == 0 || tbTransition.getNowPrice().compareTo(BigDecimal.valueOf(0)) == 0) {
-                        tbTransition.setDiscount("0");
-                    } else {
-                        tbTransition.setDiscount((tbTransition.getNowPrice()).divide(tbTransition.getOrdPrice(), BigDecimal.ROUND_CEILING).toString());
-                    }
-                    if (null != tbTransition.getPacId()) {
-                        tbTransition.setPacPrice(tjPackageService.getById(tbTransition.getPacId()).getPrice());
-                    }
-                    if (null != tbTransition.getParentProId()) {
-                        tbTransition.setPacPrice(projectService.getTjProjectById(String.valueOf(tbTransition.getParentProId())).getProPrice());
-                    }
+//                    if (tbTransition.getOrdPrice().compareTo(BigDecimal.valueOf(0)) == 0 || tbTransition.getNowPrice().compareTo(BigDecimal.valueOf(0)) == 0) {
+//                        tbTransition.setDiscount("0");
+//                    } else {
+//                        tbTransition.setDiscount((tbTransition.getNowPrice()).divide(tbTransition.getOrdPrice(), BigDecimal.ROUND_CEILING).toString());
+//                    }
+//                    if (null != tbTransition.getPacId()) {
+//                        tbTransition.setPacPrice(tjPackageService.getById(tbTransition.getPacId()).getPrice());
+//                    }
+//                    if (null != tbTransition.getParentProId()) {
+//                        tbTransition.setPacPrice(projectService.getTjProjectById(String.valueOf(tbTransition.getParentProId())).getProPrice());
+//                    }
                 }
 //                map.put("ordPrice", money1.setScale(Integer.parseInt(configService.selectConfigByKey("sys.price.save")), Integer.parseInt(configService.selectConfigByKey("sys.price"))));
 //                map.put("nowPrice", money2.setScale(Integer.parseInt(configService.selectConfigByKey("sys.price.save")), Integer.parseInt(configService.selectConfigByKey("sys.price"))));
-
                 map.put("ordPrice", money1);
                 map.put("nowPrice", money2);
             }
@@ -1548,4 +1548,33 @@
         wq.eq(TbTransition::getCusId,cusId);
         return AjaxResult.success(transitionService.remove(wq));
     }
+
+    public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) {
+        long l = System.currentTimeMillis();
+
+
+        tjAskMedicalHistoryService.updateTjAskMedicalHistoryByCusId(tjOrder.getTjNumber(),sysUser.getNickName(),String.valueOf(sysUser.getUserId()), String.valueOf(tjCustomer.getCusId()));
+
+        tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(),String.valueOf(tjOrder.getOrderId()),sysUser.getNickName(),String.valueOf(sysUser.getUserId()));
+        //淇敼姣忛」鐨勫師浠风幇浠�
+        transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(),discount);
+
+        //娣诲姞remark琛ㄦ暟鎹�
+        remarkService.saveTjOrderRemarkByOrderId(tjOrder.getTjNumber(),sysUser.getNickName(),String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId()));
+
+        //鍒ゆ柇鏄惁浜ら挶
+        if ("1".equals(tjOrder.getTjType())) {
+            if (null != tjReservation && tjReservation.getPayType() == 1) {
+                tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
+                        sysUser.getNickName(), String.valueOf(sysUser.getUserId()),String.valueOf(tjFlowingWater.getTjSerialNumber()));
+            }
+        }
+        if (tjFlowingWater.getPayStasus() == 1) {
+            tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
+                    sysUser.getNickName(), String.valueOf(sysUser.getUserId()),String.valueOf(tjFlowingWater.getTjSerialNumber()));
+        }
+
+        System.out.println("杩欐浠g爜鏃堕棿"+( l - (System.currentTimeMillis()) ));
+    }
+
 }
diff --git a/ltkj-admin/src/test/java/zjhTest.java b/ltkj-admin/src/test/java/zjhTest.java
index 2904714..da82a9b 100644
--- a/ltkj-admin/src/test/java/zjhTest.java
+++ b/ltkj-admin/src/test/java/zjhTest.java
@@ -1,6 +1,8 @@
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.ltkj.LtkjApplication;
 import com.ltkj.hosp.domain.TjOrder;
 import com.ltkj.hosp.service.*;
@@ -12,6 +14,8 @@
 import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringRunner;
+import org.yaml.snakeyaml.events.Event;
+
 import javax.annotation.Resource;
 import java.io.BufferedReader;
 import java.io.IOException;
@@ -46,27 +50,6 @@
     private ITjOrderRemarkService remarkService;
     @Test
     public void test() {
-//        List<TjOrder> list = tjOrderService.list();
-//        for (TjOrder order : list) {
-//            if(null !=order.getConfirmStatus()){
-//                if(order.getConfirmStatus().equals("0")){
-//                    if(order.getCheckStatus()==0){
-//                        order.setStatus(301);
-//                    }else {
-//                        order.setStatus(401);
-//                    }
-//                }else {
-//                    order.setStatus(299);
-//                }
-//            }else {
-//                if(order.getCheckStatus()==0){
-//                    order.setStatus(288);
-//                }else {
-//                    order.setStatus(401);
-//                }
-//            }
-//            tjOrderService.updateById(order);
-//        }
         log.info("鍢垮樋!!!");
     }
 
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TbTransition.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TbTransition.java
index b5d8e03..ce9c98f 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TbTransition.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TbTransition.java
@@ -34,7 +34,8 @@
 
     @TableId(type = IdType.ASSIGN_ID)
     @ApiModelProperty(value = "涓婚敭")
-    private String id;
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long id;
 
     @ApiModelProperty(value = "瀹㈡埛id")
     private String cusId;
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java
index e96c429..f2a01c9 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java
@@ -3,10 +3,7 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ltkj.hosp.domain.TbTransition;
-import org.apache.ibatis.annotations.Delete;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.*;
 
 import java.math.BigDecimal;
 import java.util.Date;
@@ -93,4 +90,79 @@
 
     @Select("SELECT MAX(a.create_time) FROM tb_transition a WHERE a.cus_id=#{cusId} ")
     Date getTbTransitionCreateTimeByCusId(String cusId);
+
+
+    @Update("UPDATE tb_transition a SET \n" +
+            "a.ord_price=a.now_price,\n" +
+            "a.now_price=a.ord_price*#{discount}" +
+            " WHERE a.cus_id=#{cusId} ")
+    boolean updateTbTransitionPriceByCusId(@Param("cusId")String cusId,@Param("discount")BigDecimal discount);
+
+
+    @Insert("INSERT INTO tb_transition(\n" +
+            "   cus_id,\n" +
+            "   pac_id,\n" +
+            "   pac_name,\n" +
+            "   pro_id,\n" +
+            "   pro_name,\n" +
+            "   parent_pro_id,\n" +
+            "   parent_pro_name,\n" +
+            "   ord_price,\n" +
+            "   now_price,\n" +
+            "   create_time,\n" +
+            "   pro_check_method,\n" +
+            "   pro_type\n" +
+            ")\n" +
+            "SELECT\n" +
+            "\t#{cusId},\n" +
+            "\ta.pac_id,\n" +
+            "\td.pac_name,\n" +
+            "\tc.pro_id,\n" +
+            "\tc.pro_name,\n" +
+            "\tb.pro_id,\n" +
+            "\tb.pro_name,\n" +
+            "\tTRUNCATE(c.pro_price * (TRUNCATE ( a.price_now / b.pro_price, 5 )),2),\n" +
+            "\tTRUNCATE(c.pro_price * (TRUNCATE ( a.price_now / b.pro_price, 5 )),2),\n" +
+            "\tSYSDATE(),\n" +
+            "\tc.pro_check_method,\n" +
+            "\tIFNULL(c.pro_type,'')\n" +
+            "FROM\n" +
+            "\ttj_package_project a\n" +
+            "\tLEFT JOIN tj_project b ON a.pro_id = b.pro_id\n" +
+            "\tLEFT JOIN tj_project c ON b.pro_id = c.pro_parent_id\n" +
+            "\tLEFT JOIN tj_package d ON a.pac_id=d.pac_id\n" +
+            "\t\n" +
+            "\tWHERE a.pac_id=#{pacId}")
+    void saveRedisTransitionByPacId(@Param("cusId") String cusId,@Param("pacId") Long pacId);
+
+
+    @Insert("INSERT INTO tb_transition(\n" +
+            "   cus_id,\n" +
+            "   pro_id,\n" +
+            "   pro_name,\n" +
+            "   parent_pro_id,\n" +
+            "   parent_pro_name,\n" +
+            "   ord_price,\n" +
+            "   now_price,\n" +
+            "   create_time,\n" +
+            "   pro_check_method,\n" +
+            "   pro_type\n" +
+            ")\n" +
+            "SELECT\n" +
+            "\t#{cusId},\n" +
+            "\tb.pro_id,\n" +
+            "\tb.pro_name,\n" +
+            "\ta.pro_id,\n" +
+            "\ta.pro_name,\n" +
+            "\tb.pro_price,\n" +
+            "\tb.pro_price,\n" +
+            "\tSYSDATE(),\n" +
+            "\tb.pro_check_method,\n" +
+            "\tIFNULL(b.pro_type,'')\n" +
+            "FROM\n" +
+            "\ttj_project a\n" +
+            "\tLEFT JOIN tj_project b ON b.pro_parent_id = a.pro_id \n" +
+            "WHERE\n" +
+            "\ta.pro_id = #{proId} ")
+    void saveRedisTransitionByProId(@Param("cusId")String cusId,@Param("proId") Long proId);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjAskMedicalHistoryMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjAskMedicalHistoryMapper.java
index 1d068eb..5da7e32 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjAskMedicalHistoryMapper.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjAskMedicalHistoryMapper.java
@@ -7,6 +7,8 @@
 import com.ltkj.hosp.domain.TjAskHistorys;
 import com.ltkj.hosp.domain.TjCatering;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
 
 /**
  * 闂瘖Mapper鎺ュ彛
@@ -88,4 +90,17 @@
          * @return 缁撴灉
          */
         public int deleteTjAskHistorysByAskId(Long askId);
+
+    @Update("UPDATE tj_ask_medical_history a SET \n" +
+            "\n" +
+            "a.tj_num=#{tjNum},\n" +
+            "a.update_time=SYSDATE(),\n" +
+            "a.update_by=#{userName},\n" +
+            "a.update_id=#{userId}\n" +
+
+            "WHERE" +
+
+            " a.cus_id=#{cusId} \n" +
+            "AND ISNULL(a.tj_num)")
+    boolean updateTjAskMedicalHistoryByCusId(@Param("tjNum") String tjNum,@Param("userName") String userName,@Param("userId") String userId,@Param("cusId") String cusId);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjGroupingProMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjGroupingProMapper.java
index b147624..5a31e85 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjGroupingProMapper.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjGroupingProMapper.java
@@ -5,7 +5,9 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ltkj.hosp.domain.TjGroupingPro;
 import com.ltkj.hosp.vodomain.AddNewReservationConfirm;
+import org.apache.ibatis.annotations.Insert;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
 /**
@@ -82,4 +84,7 @@
 
     @Select("DELETE FROM tj_grouping_pro a WHERE a.grouping_id =#{groupingId}")
     void deletedTjGroupingProByGroupingId(String groupingId);
+//
+//    @Insert("")
+//    boolean saveTjOrderDetailsByGroupId(@Param("groupingId") String groupingId,@Param("userName")  String userName,@Param("userId")  String userId,@Param("orderId")String orderId);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java
index 2b4af99..f71e330 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java
@@ -5,9 +5,7 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ltkj.hosp.domain.TjOrderDetail;
 import com.ltkj.hosp.domain.TjProject;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.*;
 
 /**
  * 浣撴椤圭洰鏄庣粏Mapper鎺ュ彛
@@ -108,7 +106,7 @@
     List<TjOrderDetail> getTjOrderDetailList(@Param("startDate") String startDate,@Param("endDate") String endDate);
 
 
-    @Select("\tINSERT INTO tj_order_detail(\n" +
+    @Insert("\tINSERT INTO tj_order_detail(\n" +
             "\torder_detail_id,\n" +
             "  order_id,\n" +
             "  pro_id,\n" +
@@ -125,5 +123,14 @@
             "\tUNION\n" +
             "  \n" +
             "\tSELECT DISTINCT a.parent_pro_id,#{orderId},a.parent_pro_id,IFNULL(b.pro_default,''),'0',SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0) FROM tb_transition a LEFT JOIN tj_project b ON a.parent_pro_id=b.pro_id  WHERE a.cus_id=#{cusId}")
-    List<TjOrderDetail> saveTjOrderDetailsByCusId(@Param("cusId")String cusId,@Param("orderId")String orderId,@Param("userName")String userName,@Param("userId") String userId);
+     boolean saveTjOrderDetailsByCusId(@Param("cusId")String cusId,@Param("orderId")String orderId,@Param("userName")String userName,@Param("userId") String userId);
+
+
+    @Update("UPDATE tj_order_detail a SET\n" +
+            "a.flowing_water_id=#{ls} ,\n" +
+            "a.update_time=SYSDATE(),\n" +
+            "a.update_by=#{userName},\n" +
+            "a.update_id=#{userId}\n" +
+            "WHERE a.order_id=#{orderId}")
+    boolean updateTjOrderDetailsByOrderId(@Param("orderId")String orderId,@Param("userName")String userName,@Param("userId") String userId,@Param("ls")String ls);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderRemarkMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderRemarkMapper.java
index fa51cc1..99fbc85 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderRemarkMapper.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderRemarkMapper.java
@@ -4,10 +4,7 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ltkj.hosp.domain.TjOrderRemark;
-import org.apache.ibatis.annotations.Delete;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.*;
 
 /**
  * 鍖荤敓澶囨敞Mapper鎺ュ彛
@@ -48,4 +45,23 @@
 
     @Select("SELECT GROUP_CONCAT(pro_id ORDER BY pro_id) AS names FROM tj_order_remark WHERE tj_number=#{tjNumber} AND type=3 AND deleted='0' ")
     String getTjOrderRemarkProIdList(String tjNumber);
+
+
+
+    @Insert("INSERT INTO tj_order_remark(\n" +
+            "pro_id,\n" +
+            "dept_id,\n" +
+            "create_time,\n" +
+            "create_by,\n" +
+            "create_id,\n" +
+            "tj_number,\n" +
+            "update_by,\n" +
+            "update_time,\n" +
+            "update_id\n" +
+            ")\n" +
+            "\n" +
+            "SELECT b.pro_id,b.dept_id,SYSDATE(),#{userName},#{userId},#{tjNumber},#{userName},SYSDATE(),#{userId} FROM tj_order_detail a " +
+            "LEFT JOIN tj_project b ON a.pro_id=b.pro_id WHERE a.order_id=#{orderId} AND\n" +
+            "b.pro_parent_id=0")
+    boolean saveTjOrderRemarkByOrderId(@Param("tjNumber")String tjNumber,@Param("userName") String userName,@Param("userId") String userId,@Param("orderId")String orderId);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITbTransitionService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITbTransitionService.java
index a365319..5b19339 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITbTransitionService.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITbTransitionService.java
@@ -89,4 +89,12 @@
 
     //鏍规嵁韬唤璇佸彿鑾峰彇鏈�澶ф椂闂�
     public Date getTbTransitionCreateTimeByCusId(String cusId);
+
+
+    //鏍规嵁韬唤璇佸彿淇敼涓存椂琛ㄤ腑鐨勭幇浠峰拰鍘熶环
+    public boolean updateTbTransitionPriceByCusId(String cusId,BigDecimal discount);
+
+    void saveRedisTransitionByPacId(String cusId, Long pacId);
+
+    void saveRedisTransitionByProId(String cusId, Long proId);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjAskMedicalHistoryService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjAskMedicalHistoryService.java
index 018422a..5812620 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjAskMedicalHistoryService.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjAskMedicalHistoryService.java
@@ -60,4 +60,6 @@
      * @return 缁撴灉
      */
     public int deleteTjAskMedicalHistoryByAskId(Long askId);
+
+    boolean updateTjAskMedicalHistoryByCusId(String tjNum,String userName, String userId,String cusId);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjGroupingProService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjGroupingProService.java
index a712bed..cafce87 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjGroupingProService.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjGroupingProService.java
@@ -65,4 +65,6 @@
 
 
     void deletedTjGroupingProByGroupingId(String groupingId);
+
+//    boolean saveTjOrderDetailsByGroupId(String groupingId,String userName, String userId,String orderId);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderDetailService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderDetailService.java
index 2c6aeb4..934437a 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderDetailService.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderDetailService.java
@@ -91,5 +91,7 @@
 
     List<TjOrderDetail> getTjOrderDetailList(String startDate,String endDate);
 
-    List<TjOrderDetail> saveTjOrderDetailsByCusId(String cusId,String orderId,String userName, String userId);
+    boolean saveTjOrderDetailsByCusId(String cusId,String orderId,String userName, String userId);
+
+    boolean updateTjOrderDetailsByOrderId(String orderId,String userName, String userId,String ls);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderRemarkService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderRemarkService.java
index 1dc9a65..1da1907 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderRemarkService.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderRemarkService.java
@@ -2,6 +2,7 @@
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ltkj.hosp.domain.TjOrderDetail;
 import com.ltkj.hosp.domain.TjOrderRemark;
 
 import java.util.List;
@@ -26,4 +27,7 @@
 
 
     String getTjOrderRemarkProIdList(String tjNumber);
+
+
+    boolean saveTjOrderRemarkByOrderId(String tjNumber, String userName, String userId,String orderId);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java
index cf33c20..1e1612e 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java
@@ -15,9 +15,6 @@
  */
 public interface TjAsyncService {
 
-     //涓汉鐧昏鏃跺紓姝ュ鐞�
-     void extracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater);
-
     //涓汉鐧昏鏃跺紓姝ュ鐞�
     void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater);
 
@@ -61,6 +58,9 @@
      //娣诲姞涓存椂琛ㄥ椁�
     void addRedisTransitionPac(String cusId, Long pacId, List<TjPackageProject> ppList);
 
+
+    void saveRedisTransitionByPacId(String cusId, Long pacId,List<Long> proIds);
+
      //娣诲姞涓存椂琛ㄥ崟椤�
      void addRedisTransitionPro(String cusId, List<Long> proIds);
 
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TbTransitionServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TbTransitionServiceImpl.java
index e9d7b2c..d1ef082 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TbTransitionServiceImpl.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TbTransitionServiceImpl.java
@@ -130,4 +130,19 @@
     public Date getTbTransitionCreateTimeByCusId(String cusId) {
         return tbTransitionMapper.getTbTransitionCreateTimeByCusId(cusId);
     }
+
+    @Override
+    public boolean updateTbTransitionPriceByCusId(String cusId,BigDecimal discount) {
+        return tbTransitionMapper.updateTbTransitionPriceByCusId(cusId,discount);
+    }
+
+    @Override
+    public void saveRedisTransitionByPacId(String cusId, Long pacId) {
+        tbTransitionMapper.saveRedisTransitionByPacId(cusId,pacId);
+    }
+
+    @Override
+    public void saveRedisTransitionByProId(String cusId, Long proId) {
+        tbTransitionMapper.saveRedisTransitionByProId(cusId,proId);
+    }
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjAskMedicalHistoryServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjAskMedicalHistoryServiceImpl.java
index ee72a60..955e5e4 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjAskMedicalHistoryServiceImpl.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjAskMedicalHistoryServiceImpl.java
@@ -107,7 +107,12 @@
         return tjAskMedicalHistoryMapper.deleteTjAskMedicalHistoryByAskId(askId);
     }
 
-        /**
+    @Override
+    public boolean updateTjAskMedicalHistoryByCusId(String tjNum, String userName, String userId,String cusId) {
+        return tjAskMedicalHistoryMapper.updateTjAskMedicalHistoryByCusId(tjNum,userName,userId,cusId);
+    }
+
+    /**
          * 鏂板${subTable.functionName}淇℃伅
          *
          * @param tjAskMedicalHistory 闂瘖瀵硅薄
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjAsyncServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjAsyncServiceImpl.java
index 71727b9..d1e678d 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjAsyncServiceImpl.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjAsyncServiceImpl.java
@@ -76,123 +76,6 @@
     private ITjGroupingProService groupingProService;
 
     @Override
-    @Async("async")
-    public void extracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) {
-
-        long l = System.currentTimeMillis();
-
-        LambdaQueryWrapper<TjAskMedicalHistory> wq=new LambdaQueryWrapper<>();
-        wq.eq(TjAskMedicalHistory::getCusId,tjCustomer.getCusId());
-        wq.isNull(TjAskMedicalHistory::getTjNum);
-        TjAskMedicalHistory history = tjAskMedicalHistoryService.getOne(wq);
-        if(null !=history){
-            history.setTjNum(tjOrder.getTjNumber());
-            tjAskMedicalHistoryService.updateById(history);
-        }
-
-        List<TbTransition> tbTransitionList =null;
-        if (redisCache.hasKey(tjCustomer.getCusIdcard())) {
-            tbTransitionList = redisCache.getCacheList(tjCustomer.getCusIdcard());
-            redisCache.deleteObject(tjCustomer.getCusIdcard());
-        }else {
-            LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>();
-            wqq.eq(TbTransition::getCusId, tjCustomer.getCusIdcard());
-            tbTransitionList = transitionService.list(wqq);
-        }
-        if (redisCache.hasKey(tjCustomer.getCusIdcard() + "cusId"))
-            redisCache.deleteObject(tjCustomer.getCusIdcard() + "cusId");
-        if (null != tbTransitionList && tbTransitionList.size() > 0) {
-            //鎵�鏈夊瓙椤�
-            for (TbTransition transition : tbTransitionList) {
-                TjOrderDetail detail = new TjOrderDetail();
-                detail.setOrderId(tjOrder.getOrderId());
-                detail.setProId(transition.getProId());
-                detail.setTjStatus(0L);
-                detail.setCreateBy(sysUser.getNickName());
-                detail.setCreateTime(new Date());
-                detail.setUpdateBy(sysUser.getNickName());
-                detail.setUpdateTime(new Date());
-                detail.setCreateId(String.valueOf(sysUser.getUserId()));
-                detail.setUpdateId(String.valueOf(sysUser.getUserId()));
-                //鑾峰彇璇ラ」鐩殑榛樿鍊艰祴鍊肩粰缁撴灉
-                TjProject tjProject = projectService.selectTjProjectByProId(transition.getProId());
-                if(null !=tjProject){
-                    if(null !=tjProject.getProDefault()){
-                        detail.setProResult(tjProject.getProDefault());
-                    }else {
-                        detail.setProResult(null);
-                    }
-                    detail.setIsSampling(String.valueOf(tjProject.getIsSampling()));
-                }
-                if (null != transition.getPacId()) {
-                    detail.setProType(String.valueOf(transition.getPacId()));
-                }
-                tjOrderDetailService.save(detail);
-                transition.setOrdPrice(transition.getNowPrice());
-                transition.setNowPrice(transition.getNowPrice().multiply(discount));
-                transitionService.updateById(transition);
-
-            }
-            //鐖堕」
-            ArrayList<TbTransition> collect = tbTransitionList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(TbTransition::getParentProId))), ArrayList::new));
-            for (TbTransition transition : collect) {
-                TjOrderDetail detail = new TjOrderDetail();
-                if (null != transition.getPacId()) {
-                    detail.setProType(String.valueOf(transition.getPacId()));
-                }
-                TjProject tjProject = projectService.selectTjProjectByProId(transition.getParentProId());
-                detail.setIsSampling(String.valueOf(tjProject.getIsSampling()));
-                detail.setOrderId(tjOrder.getOrderId());
-                detail.setProId(transition.getParentProId());
-                detail.setTjStatus(0L);
-                detail.setCreateBy(sysUser.getNickName());
-                detail.setCreateTime(new Date());
-                detail.setUpdateBy(sysUser.getNickName());
-                detail.setUpdateTime(new Date());
-                detail.setCreateId(String.valueOf(sysUser.getUserId()));
-                detail.setUpdateId(String.valueOf(sysUser.getUserId()));
-                tjOrderDetailService.save(detail);
-            }
-        }
-        LambdaQueryWrapper<TjOrderDetail> wrapper1 = new LambdaQueryWrapper<>();
-        wrapper1.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId());
-        List<TjOrderDetail> list = tjOrderDetailService.list(wrapper1);
-        if (list != null && list.size()>0) {
-            for (TjOrderDetail tjOrderDetail : list) {
-                TjProject tjProject = projectService.getById(tjOrderDetail.getProId());
-                if(tjProject==null){
-                   continue;
-                }
-                tjOrderDetail.setProject(tjProject);
-                if (tjProject.getProParentId() == 0) {
-                    TjOrderRemark tjOrderRemark = new TjOrderRemark();
-                    tjOrderRemark.setProId(tjProject.getProId());
-                    tjOrderRemark.setProName(tjProject.getProName());
-                    tjOrderRemark.setDeptId(tjProject.getDeptId());
-                    tjOrderRemark.setTjNumber(tjOrder.getTjNumber());
-                    tjOrderRemark.setCreateBy(sysUser.getNickName());
-                    tjOrderRemark.setCreateTime(new Date());
-                    tjOrderRemark.setUpdateBy(sysUser.getNickName());
-                    tjOrderRemark.setUpdateTime(new Date());
-                    tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId()));
-                    tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId()));
-                    orderRemarkService.save(tjOrderRemark);
-                }
-                if ("1".equals(tjOrder.getTjType())) {
-                    if (null != tjReservation && tjReservation.getPayType() == 1) {
-                        tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber()));
-                    }
-                }
-                if(tjFlowingWater.getPayStasus()==1){
-                    tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber()));
-                }
-                tjOrderDetailService.updateById(tjOrderDetail);
-            }
-        }
-        System.out.println("杩欐浠g爜鏃堕棿"+(l-System.currentTimeMillis()));
-    }
-
-    @Override
     public void newSaveextracted(TjOrder tjOrder, TjCustomer tjCustomer, BigDecimal discount, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) {
         long l = System.currentTimeMillis();
 
@@ -268,76 +151,11 @@
     @Override
     @Async("async")
     public void ttextracted(TjOrder tjOrder, TjCustomer tjCustomer,SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) {
-        LambdaQueryWrapper<TjAskMedicalHistory> wq=new LambdaQueryWrapper<>();
-        wq.eq(TjAskMedicalHistory::getCusId,tjCustomer.getCusId());
-        wq.isNull(TjAskMedicalHistory::getTjNum);
-        TjAskMedicalHistory history = tjAskMedicalHistoryService.getOne(wq);
-        if(null !=history){
-            history.setTjNum(tjOrder.getTjNumber());
-            tjAskMedicalHistoryService.updateById(history);
-        }
 
-        List<TbTransition> tbTransitionList =null;
-        if (redisCache.hasKey(tjCustomer.getCusIdcard())) {
-            tbTransitionList = redisCache.getCacheList(tjCustomer.getCusIdcard());
-            redisCache.deleteObject(tjCustomer.getCusIdcard());
-        }else {
-            LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>();
-            wqq.eq(TbTransition::getCusId, tjCustomer.getCusIdcard());
-            tbTransitionList = transitionService.list(wqq);
-        }
-        if (redisCache.hasKey(tjCustomer.getCusIdcard() + "cusId"))
-            redisCache.deleteObject(tjCustomer.getCusIdcard() + "cusId");
-        if (null != tbTransitionList && tbTransitionList.size() > 0) {
-            //鎵�鏈夊瓙椤�
-            for (TbTransition transition : tbTransitionList) {
-                TjOrderDetail detail = new TjOrderDetail();
-                detail.setOrderId(tjOrder.getOrderId());
-                detail.setProId(transition.getProId());
-                detail.setTjStatus(0L);
-                detail.setCreateBy(sysUser.getNickName());
-                detail.setCreateTime(new Date());
-                detail.setUpdateBy(sysUser.getNickName());
-                detail.setUpdateTime(new Date());
-                detail.setCreateId(String.valueOf(sysUser.getUserId()));
-                detail.setUpdateId(String.valueOf(sysUser.getUserId()));
-                //鑾峰彇璇ラ」鐩殑榛樿鍊艰祴鍊肩粰缁撴灉
-                TjProject tjProject = projectService.getById(transition.getProId());
-                if(null !=tjProject){
-                    if(null !=tjProject.getProDefault()){
-                        detail.setProResult(tjProject.getProDefault());
-                    }else {
-                        detail.setProResult(null);
-                    }
-                    detail.setIsSampling(String.valueOf(tjProject.getIsSampling()));
-                }
-                if (null != transition.getPacId()) {
-                    detail.setProType(String.valueOf(transition.getPacId()));
-                }
-                tjOrderDetailService.save(detail);
-            }
-            //鐖堕」
-            ArrayList<TbTransition> collect = tbTransitionList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() ->
-                    new TreeSet<>(Comparator.comparing(TbTransition::getParentProId))), ArrayList::new));
-            for (TbTransition transition : collect) {
-                TjOrderDetail detail = new TjOrderDetail();
-                if (null != transition.getPacId()) {
-                    detail.setProType(String.valueOf(transition.getPacId()));
-                }
-                TjProject tjProject = projectService.selectTjProjectByProId(transition.getParentProId());
-                detail.setIsSampling(String.valueOf(tjProject.getIsSampling()));
-                detail.setOrderId(tjOrder.getOrderId());
-                detail.setProId(transition.getParentProId());
-                detail.setTjStatus(0L);
-                detail.setCreateBy(sysUser.getNickName());
-                detail.setCreateTime(new Date());
-                detail.setUpdateBy(sysUser.getNickName());
-                detail.setUpdateTime(new Date());
-                detail.setCreateId(String.valueOf(sysUser.getUserId()));
-                detail.setUpdateId(String.valueOf(sysUser.getUserId()));
-                tjOrderDetailService.save(detail);
-            }
-        }else {
+        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()));
+        if (!b){
             List<TjGroupingPro> proList = groupingProService.list(new LambdaQueryWrapper<TjGroupingPro>().eq(TjGroupingPro::getGroupingId,tjOrder.getGroupId()));
             if(null !=proList && proList.size()>0){
                 for (TjGroupingPro groupingPro : proList) {
@@ -384,39 +202,54 @@
             }
         }
 
-        List<TjOrderDetail> list = tjOrderDetailService.getTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()));
-        if (list != null) {
-            for (TjOrderDetail tjOrderDetail : list) {
-                TjProject tjProject = projectService.getById(tjOrderDetail.getProId());
-                if(tjProject==null){
-                    continue;
-                }
-                tjOrderDetail.setProject(tjProject);
-                if (tjProject.getProParentId() == 0) {
-                    TjOrderRemark tjOrderRemark = new TjOrderRemark();
-                    tjOrderRemark.setProId(tjProject.getProId());
-                    tjOrderRemark.setProName(tjProject.getProName());
-                    tjOrderRemark.setDeptId(tjProject.getDeptId());
-                    tjOrderRemark.setTjNumber(tjOrder.getTjNumber());
-                    tjOrderRemark.setCreateBy(sysUser.getNickName());
-                    tjOrderRemark.setCreateTime(new Date());
-                    tjOrderRemark.setUpdateBy(sysUser.getNickName());
-                    tjOrderRemark.setUpdateTime(new Date());
-                    tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId()));
-                    tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId()));
-                    orderRemarkService.save(tjOrderRemark);
-                }
-                if ("1".equals(tjOrder.getTjType())) {
-                    if (null != tjReservation && tjReservation.getPayType() == 1) {
-                        tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber()));
-                    }
-                }
-                if(tjFlowingWater.getPayStasus()==1){
-                    tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber()));
-                }
-                tjOrderDetailService.updateById(tjOrderDetail);
+        //娣诲姞remark琛ㄦ暟鎹�
+        orderRemarkService.saveTjOrderRemarkByOrderId(tjOrder.getTjNumber(),sysUser.getNickName(),String.valueOf(sysUser.getUserId()), String.valueOf(tjOrder.getOrderId()));
+
+        //鍒ゆ柇鏄惁浜ら挶
+        if ("1".equals(tjOrder.getTjType())) {
+            if (null != tjReservation && tjReservation.getPayType() == 1) {
+                tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
+                        sysUser.getNickName(), String.valueOf(sysUser.getUserId()),String.valueOf(tjFlowingWater.getTjSerialNumber()));
             }
         }
+        if (tjFlowingWater.getPayStasus() == 1) {
+            tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
+                    sysUser.getNickName(), String.valueOf(sysUser.getUserId()),String.valueOf(tjFlowingWater.getTjSerialNumber()));
+        }
+
+//        List<TjOrderDetail> list = tjOrderDetailService.getTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()));
+//        if (list != null) {
+//            for (TjOrderDetail tjOrderDetail : list) {
+//                TjProject tjProject = projectService.getById(tjOrderDetail.getProId());
+//                if(tjProject==null){
+//                    continue;
+//                }
+//                tjOrderDetail.setProject(tjProject);
+//                if (tjProject.getProParentId() == 0) {
+//                    TjOrderRemark tjOrderRemark = new TjOrderRemark();
+//                    tjOrderRemark.setProId(tjProject.getProId());
+//                    tjOrderRemark.setProName(tjProject.getProName());
+//                    tjOrderRemark.setDeptId(tjProject.getDeptId());
+//                    tjOrderRemark.setTjNumber(tjOrder.getTjNumber());
+//                    tjOrderRemark.setCreateBy(sysUser.getNickName());
+//                    tjOrderRemark.setCreateTime(new Date());
+//                    tjOrderRemark.setUpdateBy(sysUser.getNickName());
+//                    tjOrderRemark.setUpdateTime(new Date());
+//                    tjOrderRemark.setCreateId(String.valueOf(sysUser.getUserId()));
+//                    tjOrderRemark.setUpdateId(String.valueOf(sysUser.getUserId()));
+//                    orderRemarkService.save(tjOrderRemark);
+//                }
+//                if ("1".equals(tjOrder.getTjType())) {
+//                    if (null != tjReservation && tjReservation.getPayType() == 1) {
+//                        tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber()));
+//                    }
+//                }
+//                if(tjFlowingWater.getPayStasus()==1){
+//                    tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber()));
+//                }
+//                tjOrderDetailService.updateById(tjOrderDetail);
+//            }
+//        }
     }
 
     @Override
@@ -898,11 +731,7 @@
                         TbTransition tbTransition = new TbTransition();
                         tbTransition.setCusId(cusId);
                         tbTransition.setPacId(pacId);
-//                        if (null != tjProject.getProPrice()) {
-//                            tbTransition.setOrdPrice(tjProject.getProPrice());
-//                        } else {
-//                            tbTransition.setOrdPrice(BigDecimal.valueOf(0.00));
-//                        }
+
                         if (null != tjPackageProject.getPriceNow() && divide.compareTo(BigDecimal.valueOf(0)) > 0) {
                             tbTransition.setNowPrice(tjProject.getProPrice().multiply(divide).setScale(2,RoundingMode.HALF_DOWN));
                             tbTransition.setOrdPrice(tjProject.getProPrice().multiply(divide).setScale(2,RoundingMode.HALF_DOWN));
@@ -923,6 +752,17 @@
 
                 }
             }
+        }
+    }
+
+    @Override
+    @Async("async")
+    public void saveRedisTransitionByPacId(String cusId, Long pacId,List<Long> proIds) {
+        if(null != pacId){
+            transitionService.saveRedisTransitionByPacId(cusId,pacId);
+        }
+        if(null != proIds && proIds.size() > 0){
+            saveRedisTransitionByProId(cusId,proIds);
         }
     }
 
@@ -1454,4 +1294,15 @@
         }
         return cusName;
     }
+
+
+    //涓存椂琛ㄦ坊鍔犲崟椤�
+    public void saveRedisTransitionByProId(String cusId, List<Long> proIds) {
+        for (Long proId : proIds) {
+            if (null != transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId)) && transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId)).size() > 0) {
+                continue;
+            }
+            transitionService.saveRedisTransitionByProId(cusId,proId);
+        }
+    }
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjGroupingProServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjGroupingProServiceImpl.java
index d13f8a8..cb1cd9a 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjGroupingProServiceImpl.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjGroupingProServiceImpl.java
@@ -100,4 +100,9 @@
     public void deletedTjGroupingProByGroupingId(String groupingId) {
         tjGroupingProMapper.deletedTjGroupingProByGroupingId(groupingId);
     }
+
+//    @Override
+//    public boolean saveTjOrderDetailsByGroupId(String groupingId, String userName, String userId,String orderId) {
+//        return tjGroupingProMapper.saveTjOrderDetailsByGroupId(groupingId,userName,userId,orderId);
+//    }
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderDetailServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderDetailServiceImpl.java
index f8c9f5e..0c116d2 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderDetailServiceImpl.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderDetailServiceImpl.java
@@ -134,8 +134,13 @@
     }
 
     @Override
-    public List<TjOrderDetail> saveTjOrderDetailsByCusId(String cusId,String orderId, String userName, String userId) {
+    public boolean saveTjOrderDetailsByCusId(String cusId,String orderId, String userName, String userId) {
         return tjOrderDetailMapper.saveTjOrderDetailsByCusId(cusId,orderId,userName,userId);
     }
 
+    @Override
+    public boolean updateTjOrderDetailsByOrderId(String orderId, String userName, String userId,String ls) {
+        return tjOrderDetailMapper.updateTjOrderDetailsByOrderId(orderId,userName,userId,ls);
+    }
+
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderRemarkServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderRemarkServiceImpl.java
index 3f97f9b..c953283 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderRemarkServiceImpl.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderRemarkServiceImpl.java
@@ -51,4 +51,9 @@
     public String getTjOrderRemarkProIdList(String tjNumber) {
         return mapper.getTjOrderRemarkProIdList(tjNumber);
     }
+
+    @Override
+    public boolean saveTjOrderRemarkByOrderId(String tjNumber, String userName, String userId,String orderId) {
+        return mapper.saveTjOrderRemarkByOrderId(tjNumber,userName,userId,orderId);
+    }
 }

--
Gitblit v1.8.0