From 045dc3a1be1c2980458c6cf20de9e2f2efe7e15d Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期四, 26 十二月 2024 18:06:13 +0800
Subject: [PATCH] 20241226

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java |   75 ++++++++++++++++++
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java        |   36 ++++----
 ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java   |    4 
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderDetailServiceImpl.java      |   20 +++++
 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderDetailMapper.java                 |   30 ++++++-
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderDetailService.java              |   17 ++++
 6 files changed, 156 insertions(+), 26 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
index 0896958..97fdb0a 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
@@ -740,8 +740,8 @@
                     addCaiYangDengJi(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz);
                 }
             }else {
-                tjOrderDetailService.updateTjOrderDetailsFlowingWaterIdByJxbz(order.getOrderId().toString(),jxbz,tjFlowingWater.getTjSerialNumber().toString());
-                orderRemarkService.updateTjOrderRemarkSfbzByJxbz(order.getOrderId().toString(),jxbz,tjFlowingWater.getTjSerialNumber().toString());
+//                tjOrderDetailService.updateTjOrderDetailsFlowingWaterIdByJxbz(order.getOrderId().toString(),jxbz,tjFlowingWater.getTjSerialNumber().toString());
+//                orderRemarkService.updateTjOrderRemarkSfbzByJxbz(order.getOrderId().toString(),jxbz,tjFlowingWater.getTjSerialNumber().toString());
 
                 List<TjOrderDetail> detailLists = tjOrderDetailService.getCaiYangDengJiJxbz(order.getOrderId(), jxbz);
                 addCaiYangDengJiByDiaoYongShiTu(detailLists, !detailLists.isEmpty(), order, sysUser, jxbz);
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java
index c2b1249..4969ee3 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java
@@ -1630,25 +1630,27 @@
     if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
         for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
             TjProject project = projectService.getById(tjOrderDetail.getProId());
-            //鍒ゆ柇璇ラ」鐩槸鍚﹂渶瑕佹墦鍗版姤鍛�
-            if ("N".equals(project.getNeedReport())) {
-                continue;
-            }
-            List<TjRules> rulesList = tjRulesService.getTjRulesListByTjNumAndProId(tjNumber, tjOrderDetail.getProId());
-            tjOrderDetail.setRulesList(rulesList);
-            tjOrderDetail.setProject(project);
-            if (null != remark.getDoctorName()) {
-                SysUser byId = userService.getById(remark.getDoctorName());
-                if (byId != null) {
-                    tjOrderDetail.setDoctorName(userService.getById(remark.getDoctorName()).getNickName());
+            if(null != project){
+                //鍒ゆ柇璇ラ」鐩槸鍚﹂渶瑕佹墦鍗版姤鍛�
+                if ("N".equals(project.getNeedReport())) {
+                    continue;
                 }
-            } else {
-                tjOrderDetail.setDoctorName(null);
+                List<TjRules> rulesList = tjRulesService.getTjRulesListByTjNumAndProId(tjNumber, tjOrderDetail.getProId());
+                tjOrderDetail.setRulesList(rulesList);
+                tjOrderDetail.setProject(project);
+                if (null != remark.getDoctorName()) {
+                    SysUser byId = userService.getById(remark.getDoctorName());
+                    if (byId != null) {
+                        tjOrderDetail.setDoctorName(userService.getById(remark.getDoctorName()).getNickName());
+                    }
+                } else {
+                    tjOrderDetail.setDoctorName(null);
+                }
+                if(StringUtil.isBlank(tjOrderDetail.getProResult())){
+                    tjOrderDetail.setProResult(project.getProDefault());
+                }
+                tjOrderDetailList.add(tjOrderDetail);
             }
-            if(StringUtil.isBlank(tjOrderDetail.getProResult())){
-                tjOrderDetail.setProResult(project.getProDefault());
-            }
-            tjOrderDetailList.add(tjOrderDetail);
         }
     }
     Map<String, Object> map = new HashMap<>();
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java
index d459020..a5ca054 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java
@@ -6,7 +6,9 @@
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.StrUtil;
 import cn.hutool.extra.pinyin.PinyinUtil;
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
@@ -611,12 +613,13 @@
             if (null != customerList && !customerList.isEmpty()) {
                     LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
                     wq1.in(TjOrder::getUserId,customerList.stream().map(TjCustomer::getCusId).collect(Collectors.toList()));
-                    wq1.eq(TjOrder::getCheckStatus, 0);
+//                    wq1.eq(TjOrder::getCheckStatus, 0);
+                    wq1.isNotNull(TjOrder::getReportTime);
                     wq1.orderByDesc(TjOrder::getCreateTime);
                     List<TjOrder> tjOrders = orderService.list(wq1);
                     if (null != tjOrders && !tjOrders.isEmpty()) {
                         for (TjOrder order : tjOrders) {
-                            TjCustomer customer = customerService.getById(order);
+                            TjCustomer customer = customerService.getById(order.getUserId());
                             LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>();
                             wq2.eq(TjOrderDetail::getOrderId, order.getOrderId());
                             List<TjOrderDetail> detailList = detailService.list(wq2);
@@ -644,7 +647,8 @@
                                     tjRefundVo.setTjFlowingWater(water);
                                     tjRefundVo.setTjNumber(order.getTjNumber());
                                     tjRefundVo.setTjOrderId(String.valueOf(order.getOrderId()));
-                                    tjCollectFeesVoList.add(tjRefundVo);
+                                    TjCollectFeesVo vo = BeanUtil.copyProperties(tjRefundVo, TjCollectFeesVo.class);
+                                    tjCollectFeesVoList.add(vo);
                                 }
                             }
                         }
@@ -760,6 +764,71 @@
         return AjaxResult.error("鏆傛椂娌℃湁鏁版嵁");
     }
 
+    /**
+     * 浣撴宸叉敹璐规湭鏀惰垂淇℃伅鏌ヨ鎺ュ彛
+     */
+    @GetMapping("/findTjChargedButNotChargedByTjNumN")
+    @ApiOperation(value = "浣撴宸叉敹璐规湭鏀惰垂淇℃伅鏌ヨ鎺ュ彛")
+    public AjaxResult findTjChargedButNotChargedByTjNumN(@RequestParam @ApiParam(value = "0鏈即璐�1宸茬即璐�") Integer type,
+                                                        @RequestParam @ApiParam(value = "浣撴鍙�") String OrderId,
+                                                         @RequestParam String tjSerialNumber) {
+        if (null != OrderId) {
+            TjOrder order = orderService.getById(OrderId);
+            if (null != order) {
+                List<TjProject> tjProjectList = null;
+                TjFlowingWater water = tjFlowingWaterService.getById(tjSerialNumber);
+                if (type == 0) {
+                    if (StrUtil.isBlank(water.getJxbz()))
+                        tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNullAndJxbzIsNull(OrderId);
+                    else tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNullN(OrderId,water.getJxbz());
+                } else {
+                    if (StrUtil.isBlank(water.getJxbz()))
+                        tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNotNullAndJxbzIsNull(OrderId);
+                    else tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNotNullN(OrderId,water.getJxbz());
+                }
+                String pacId = transitionService.selectPacIdByTbTransitionTjNumAndProId(order.getTjNumber(),order.getCardId());
+                String s = tjFlowingWaterService.getDiscount(OrderId);
+                if (null != tjProjectList && !tjProjectList.isEmpty()) {
+                    for (TjProject project : tjProjectList) {
+                        if (project.getProParentId() == 0) {
+                            if (null != pacId) {
+                                TjPackageProject pp = tjPackageProjectService.getOne(new LambdaQueryWrapper<TjPackageProject>().eq(TjPackageProject::getPacId, pacId)
+                                        .eq(TjPackageProject::getProId, String.valueOf(project.getProId())));
+                                if (null != pp) {
+                                    project.setProPrice(pp.getPriceNow());
+                                    project.setProOrdPrice(pp.getPriceNow().multiply(new BigDecimal(s)));
+                                } else {
+                                    project.setProPrice(project.getProPrice().setScale(2));
+                                    project.setProOrdPrice(project.getProPrice().multiply(new BigDecimal(s)).setScale(2));
+                                }
+                            } else {
+                                project.setProPrice(project.getProPrice().setScale(2));
+                                project.setProOrdPrice(project.getProPrice().multiply(new BigDecimal(s)).setScale(2));
+                            }
+                        }
+                    }
+
+                    List<TjFlowingWater> list = tjFlowingWaterService.list(new LambdaQueryWrapper<TjFlowingWater>()
+                            .eq(TjFlowingWater::getOrderId, order)
+                            .eq(TjFlowingWater::getPayStasus, 2));
+                    if (null != list && !list.isEmpty()) {
+                        List<TjProject> projectList = projectService.getTjProListByPacIdAndDeptId(pacId);
+                        if(null !=projectList && !projectList.isEmpty()){
+                            for (TjProject project : projectList) {
+                                project.setProOrdPrice(tjPackageProjectService.getPacProPriceByPacIdAndPro(project.getProId(),pacId)
+                                        .multiply(new BigDecimal(s)).setScale(2));
+                                tjProjectList.add(project);
+                            }
+                        }
+
+                    }
+                }
+                return AjaxResult.success(tjProjectList);
+            }
+        }
+        return AjaxResult.error("鏆傛椂娌℃湁鏁版嵁");
+    }
+
 
     /**
      * 浣撴閫�璐归」鐩煡璇㈡帴鍙�
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 a87e5a8..395f5d3 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
@@ -79,11 +79,33 @@
     public List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNotNull(String orderId);
 
     /**
+     * 鏌ヨ宸茬即璐归」鐩�
+     */
+    @Select("SELECT * FROM tj_project p WHERE p.pro_parent_id =0 AND p.pro_id IN (\n" +
+            "  SELECT a.pro_id FROM tj_order_detail a WHERE !ISNULL(flowing_water_id) AND order_id=#{orderId} and a.deleted=0 and a.jxbz = #{jxbz} )")
+    public List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNotNullN(@Param("orderId") String orderId,@Param("jxbz") String jxbz);
+
+    @Select("SELECT * FROM tj_project p WHERE p.pro_parent_id =0 AND p.pro_id IN (\n" +
+            "  SELECT a.pro_id FROM tj_order_detail a WHERE !ISNULL(flowing_water_id) AND order_id=#{orderId} and a.deleted=0 and a.jxbz is null )")
+    List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNotNullAndJxbzIsNull(String orderId);
+
+    /**
      * 鏌ヨ鏈即璐归」鐩�
      */
     @Select("SELECT * FROM tj_project p WHERE p.pro_parent_id =0 AND p.pro_id IN (\n" +
             "  SELECT a.pro_id FROM tj_order_detail a WHERE ISNULL(flowing_water_id) AND order_id=#{orderId} and a.deleted=0 )")
     public List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNull(String orderId);
+
+    /**
+     * 鏌ヨ鏈即璐归」鐩�
+     */
+    @Select("SELECT * FROM tj_project p WHERE p.pro_parent_id =0 AND p.pro_id IN (\n" +
+            "  SELECT a.pro_id FROM tj_order_detail a WHERE ISNULL(flowing_water_id) AND order_id=#{orderId} and a.deleted=0 and a.jxbz = #{jxbz} )")
+    public List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNullN(@Param("orderId") String orderId,@Param("jxbz") String jxbz);
+
+    @Select("SELECT * FROM tj_project p WHERE p.pro_parent_id =0 AND p.pro_id IN (\n" +
+            "  SELECT a.pro_id FROM tj_order_detail a WHERE ISNULL(flowing_water_id) AND order_id=#{orderId} and a.deleted=0 and a.jxbz is null )")
+    List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNullAndJxbzIsNull(String orderId);
 
 
     @Select("SELECT * FROM tj_order_detail WHERE order_id=#{orderId} AND !ISNULL(flowing_water_id) AND deleted='0'")
@@ -121,12 +143,12 @@
             "  create_id,\n" +
             "  pro_type) \n" +
             "  \n" +
-            "  SELECT #{orderId},a.pro_id,IFNULL(b.pro_default,''),'0',SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0)" +
+            "  SELECT #{orderId},a.pro_id,IFNULL(trim(b.pro_default),null),'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} AND a.card_id=#{cardId} \n" +
             "\t\t\n" +
             "\tUNION\n" +
             "  \n" +
-            "\tSELECT #{orderId},a.parent_pro_id,IFNULL(b.pro_default,''),'0',SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0) " +
+            "\tSELECT #{orderId},a.parent_pro_id,IFNULL(trim(b.pro_default),null),'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} AND a.card_id=#{cardId} GROUP BY a.parent_pro_id")
      boolean saveTjOrderDetailsByCusId(@Param("cusId")String cusId,@Param("orderId")String orderId,@Param("userName")String userName,@Param("userId") String userId,@Param("cardId") String cardId);
 
@@ -144,12 +166,12 @@
             "  pro_type," +
             "flowing_water_id) \n" +
             "  \n" +
-            "  SELECT #{orderId},a.pro_id,IFNULL(b.pro_default,''),'1',SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0) ,#{sl}" +
+            "  SELECT #{orderId},a.pro_id,IFNULL(trim(b.pro_default),null),'1',SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0) ,#{sl}" +
             "FROM tb_transition a LEFT JOIN tj_project b ON a.pro_id=b.pro_id  WHERE a.cus_id=#{cusId} AND a.card_id=#{cardId} \n" +
             "\t\t\n" +
             "\tUNION\n" +
             "  \n" +
-            "\tSELECT #{orderId},a.parent_pro_id,IFNULL(b.pro_default,''),'0',SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0) ,#{sl}" +
+            "\tSELECT #{orderId},a.parent_pro_id,IFNULL(trim(b.pro_default),null),'0',SYSDATE(),#{userName},b.is_sampling,#{userId},IFNULL(a.pac_id,0) ,#{sl}" +
             " FROM tb_transition a LEFT JOIN tj_project b ON a.parent_pro_id=b.pro_id  WHERE a.cus_id=#{cusId} AND a.card_id=#{cardId} GROUP BY a.parent_pro_id")
     boolean saveJSYTjOrderDetailsByCusId(@Param("cusId")String cusId,@Param("orderId")String orderId,@Param("userName")String userName,@Param("userId") String userId,
                                          @Param("cardId") String cardId,@Param("sl") String sl);
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 5b56df5..55b1b29 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
@@ -72,6 +72,11 @@
      */
     public List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNotNull(String orderId);
 
+    /**
+     * 鏌ヨ宸茬即璐归」鐩�
+     */
+    public List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNotNullN(String orderId,String jxbz);
+
 
 
 
@@ -81,6 +86,18 @@
      */
     public List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNull(String orderId);
 
+    /**
+     * 鏌ヨ鏈即璐归」鐩�
+     */
+    public List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNullAndJxbzIsNull(String orderId);
+
+    /**
+     * 鏌ヨ鏈即璐归」鐩�
+     */
+    public List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNullN(String orderId,String jxbz);
+
+    List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNotNullAndJxbzIsNull(String orderId);
+
 
     public List<TjOrderDetail> getTjOrderDetailListByOrderId(String orderId);
     public List<TjOrderDetail> getTjOrderDetailsByOrderId(String 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 2a9d878..b18c21a 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
@@ -107,11 +107,31 @@
     }
 
     @Override
+    public List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNotNullN(String orderId,String jxbz) {
+        return tjOrderDetailMapper.selectTjOrderDetailListByFlowingWaterIdIsNotNullN(orderId,jxbz);
+    }
+
+    @Override
+    public List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNotNullAndJxbzIsNull(String orderId) {
+        return tjOrderDetailMapper.selectTjOrderDetailListByFlowingWaterIdIsNotNullAndJxbzIsNull(orderId);
+    }
+
+    @Override
     public List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNull(String orderId) {
         return tjOrderDetailMapper.selectTjOrderDetailListByFlowingWaterIdIsNull(orderId);
     }
 
     @Override
+    public List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNullAndJxbzIsNull(String orderId) {
+        return tjOrderDetailMapper.selectTjOrderDetailListByFlowingWaterIdIsNullAndJxbzIsNull(orderId);
+    }
+
+    @Override
+    public List<TjProject> selectTjOrderDetailListByFlowingWaterIdIsNullN(String orderId, String jxbz) {
+        return tjOrderDetailMapper.selectTjOrderDetailListByFlowingWaterIdIsNullN(orderId,jxbz);
+    }
+
+    @Override
     public List<TjOrderDetail> getTjOrderDetailListByOrderId(String orderId) {
         return tjOrderDetailMapper.getTjOrderDetailListByOrderId(orderId);
     }

--
Gitblit v1.8.0