From 4f53785c3f435d49829782bbbc5cc5ffd96ed9b9 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期三, 13 九月 2023 16:48:19 +0800
Subject: [PATCH] zjh 2023/09/13---5

---
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderDetailServiceImpl.java |    7 +++
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java   |   14 ++++---
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjAsyncServiceImpl.java       |   73 ++++++++++++++++++++++++++++++++++++
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java                |    3 +
 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java            |   20 ++++++++++
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderDetailService.java         |    3 +
 6 files changed, 114 insertions(+), 6 deletions(-)

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 e28c260..4c7dad4 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
@@ -132,7 +132,7 @@
     /**
      * 鏌ヨ浣撴璁板綍鍒楄〃
      */
-    @PreAuthorize("@ss.hasPermi('hosp:order:list')")
+//    @PreAuthorize("@ss.hasPermi('hosp:order:list')")
     @GetMapping("/list")
     @ApiOperation(value = "鏌ヨ浣撴璁板綍鍒楄〃(榛樿)")
     public TableDataInfo list(TjOrder tjOrder) {
@@ -703,7 +703,7 @@
     /**
      * 瀵煎嚭浣撴璁板綍鍒楄〃
      */
-    @PreAuthorize("@ss.hasPermi('hosp:order:export')")
+//    @PreAuthorize("@ss.hasPermi('hosp:order:export')")
     @Log(title = "浣撴璁板綍", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     @ApiOperation(value = "瀵煎嚭浣撴璁板綍鍒楄〃")
@@ -717,7 +717,7 @@
     /**
      * 鑾峰彇浣撴璁板綍璇︾粏淇℃伅
      */
-    @PreAuthorize("@ss.hasPermi('hosp:order:query')")
+//    @PreAuthorize("@ss.hasPermi('hosp:order:query')")
     @GetMapping(value = "/{orderId}")
     @ApiOperation(value = "鑾峰彇浣撴璁板綍璇︾粏淇℃伅")
     public AjaxResult getInfo(@PathVariable("orderId") Long orderId) {
@@ -858,7 +858,9 @@
 
             //涓汉
             if ("2".equals(tjOrder.getTjType())) {
-                asyncService.extracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
+//                asyncService.extracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
+
+                asyncService.newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
             }
             return AjaxResult.success(tjNumber);
         }
@@ -869,7 +871,7 @@
     /**
      * 淇敼浣撴璁板綍
      */
-    @PreAuthorize("@ss.hasPermi('hosp:order:edit')")
+//    @PreAuthorize("@ss.hasPermi('hosp:order:edit')")
     @Log(title = "浣撴璁板綍", businessType = BusinessType.UPDATE)
     @PutMapping
     @ApiOperation(value = "淇敼浣撴璁板綍")
@@ -880,7 +882,7 @@
     /**
      * 鍒犻櫎浣撴璁板綍
      */
-    @PreAuthorize("@ss.hasPermi('hosp:order:remove')")
+//    @PreAuthorize("@ss.hasPermi('hosp:order:remove')")
     @Log(title = "浣撴璁板綍", businessType = BusinessType.DELETE)
     @DeleteMapping("/{orderIds}")
     @ApiOperation(value = "鍒犻櫎浣撴璁板綍")
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 f667ea3..2b4af99 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
@@ -106,4 +106,24 @@
 
     @Select("SELECT * FROM tj_order_detail WHERE exception_desc='1'AND deleted='0' AND create_time BETWEEN IFNULL('${startDate}','1970-01-01 00:00:00') AND IFNULL('${endDate}',SYSDATE())")
     List<TjOrderDetail> getTjOrderDetailList(@Param("startDate") String startDate,@Param("endDate") String endDate);
+
+
+    @Select("\tINSERT INTO tj_order_detail(\n" +
+            "\torder_detail_id,\n" +
+            "  order_id,\n" +
+            "  pro_id,\n" +
+            "  pro_result,\n" +
+            "  tj_status,\n" +
+            "  create_time,\n" +
+            "  create_by,\n" +
+            "  is_sampling,\n" +
+            "  create_id,\n" +
+            "  pro_type) \n" +
+            "  \n" +
+            "     SELECT a.id,#{orderId},a.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.pro_id=b.pro_id  WHERE a.cus_id=#{cusId} \n" +
+            "\t\t\n" +
+            "\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);
 }
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 e0aa55a..2c6aeb4 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
@@ -3,6 +3,7 @@
 import java.util.List;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ltkj.common.core.domain.entity.SysUser;
 import com.ltkj.hosp.domain.TjOrderDetail;
 import com.ltkj.hosp.domain.TjProject;
 import org.apache.ibatis.annotations.Select;
@@ -89,4 +90,6 @@
 
 
     List<TjOrderDetail> getTjOrderDetailList(String startDate,String endDate);
+
+    List<TjOrderDetail> saveTjOrderDetailsByCusId(String cusId,String orderId,String userName, String userId);
 }
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 fde8b72..cf33c20 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
@@ -18,6 +18,9 @@
      //涓汉鐧昏鏃跺紓姝ュ鐞�
      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);
+
     //鍥綋鐧昏鏃跺紓姝ュ鐞�
     void ttextracted(TjOrder tjOrder, TjCustomer tjCustomer, SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater);
 
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 4a2a106..71727b9 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
@@ -193,6 +193,79 @@
     }
 
     @Override
+    public void newSaveextracted(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) {
+
+            tjOrderDetailService.saveTjOrderDetailsByCusId(tjCustomer.getCusIdcard(),String.valueOf(tjOrder.getOrderId()),sysUser.getNickName(),String.valueOf(sysUser.getUserId()));
+
+            //淇敼姣忛」鐨勫師浠风幇浠�
+            for (TbTransition transition : tbTransitionList) {
+                transition.setOrdPrice(transition.getNowPrice());
+                transition.setNowPrice(transition.getNowPrice().multiply(discount));
+                transitionService.updateById(transition);
+            }
+        }
+        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
     @Async("async")
     public void ttextracted(TjOrder tjOrder, TjCustomer tjCustomer,SysUser sysUser, TjReservation tjReservation, TjFlowingWater tjFlowingWater) {
         LambdaQueryWrapper<TjAskMedicalHistory> wq=new LambdaQueryWrapper<>();
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 8ec518b..f8c9f5e 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
@@ -3,6 +3,7 @@
 import java.util.List;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ltkj.common.core.domain.entity.SysUser;
 import com.ltkj.common.utils.DateUtils;
 import com.ltkj.hosp.domain.TjProject;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -131,4 +132,10 @@
     public List<TjOrderDetail> getTjOrderDetailList(String startDate,String endDate) {
         return tjOrderDetailMapper.getTjOrderDetailList(startDate,endDate);
     }
+
+    @Override
+    public List<TjOrderDetail> saveTjOrderDetailsByCusId(String cusId,String orderId, String userName, String userId) {
+        return tjOrderDetailMapper.saveTjOrderDetailsByCusId(cusId,orderId,userName,userId);
+    }
+
 }

--
Gitblit v1.8.0