From 769f5f1c452560ab044fee905c1c514c9ca373bb Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 10 七月 2025 17:45:13 +0800
Subject: [PATCH] zjh20250710

---
 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjProjectMapper.java                    |    4 +
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjProjectService.java                 |    1 
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java       |    7 +-
 ltkj-hosp/src/main/resources/mapper/TjProjectMapper.xml                              |    2 
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java |   12 +--
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java               |    2 
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjProjectServiceImpl.java         |    5 +
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCompPayController.java     |  140 ++++++++++++++++++++++++++++++++++++----------
 ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjCompPayInfo.java                      |    4 +
 9 files changed, 132 insertions(+), 45 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 203a321..c56b4a0 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
@@ -2917,7 +2917,7 @@
 
         List<String> jysqdh = orderService.getHuoQuJysqdh(order.getCardId());
             //2.1.6.5 浣滃簾闂ㄨ瘖妫�鏌ョ敵璇�
-            if (null != jcsqdh && jcsqdh.size()>0) {
+            if (null != jcsqdh && !jcsqdh.isEmpty()) {
                 for (String s : jcsqdh) {
                     AjaxResult result = controller.Outpindelexamapply(order.getCardId(), ysbm, s);
                     String result1 = getAjaxResult(result);
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCompPayController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCompPayController.java
index a53098f..81dcc3b 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCompPayController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCompPayController.java
@@ -8,9 +8,11 @@
 import com.ltkj.hosp.domain.*;
 import com.ltkj.hosp.service.*;
 import com.ltkj.hosp.vodomain.TeamTjPeopleVo;
+import com.mysql.cj.util.StringUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import jodd.util.StringUtil;
 import org.aspectj.weaver.AjAttribute;
 import org.springframework.web.bind.annotation.*;
 import com.ltkj.common.core.controller.BaseController;
@@ -20,7 +22,12 @@
 import java.lang.annotation.ElementType;
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import static com.ltkj.framework.datasource.DynamicDataSourceContextHolder.log;
 
 /**
  * 浣撴鍗曚綅缂磋垂涓籆ontroller
@@ -50,6 +57,10 @@
     private ITjCustomerService customerService;
     @Resource
     private ITjDwDeptService dwDeptService;
+    @Resource
+    private ITjDwGroupingService dwGroupingService;
+    @Resource
+    private ITjOrderRemarkService remarkService;
     /**
      * 鍥綋浣撴鏀惰垂鎺ュ彛
      */
@@ -99,7 +110,7 @@
             wq.eq(TjCompPayInfo::getTjCompPayId,tjCompPay.getId());
             List<TjCompPayInfo> list = payInfoService.list(wq);
             BigDecimal bigDecimal=new BigDecimal("0.00");
-            if(null !=list && list.size()>0){
+            if(null !=list && !list.isEmpty()){
                 for (TjCompPayInfo payInfo : list) {
                     bigDecimal=bigDecimal.add(payInfo.getTransactionAmount());
                 }
@@ -129,18 +140,57 @@
     @GetMapping
     @ApiOperation(value = "鎵�鏈夊叕鍙镐綋妫�鏀惰垂鏁版嵁鏌ヨ鎺ュ彛")
     public AjaxResult list(@RequestParam(required = false) @ApiParam(value = "鍗曚綅id") String compId) {
+
+        List<TjReservation> rightList = reservationService.list(new LambdaQueryWrapper<TjReservation>().eq(TjReservation::getCompanyId, compId));
+
+        Map<String, List<TjReservation>> collect = rightList.stream().collect(Collectors.groupingBy(TjReservation::getPacId));
+
+        if (!collect.isEmpty()) {
+            for (Map.Entry<String, List<TjReservation>> entry : collect.entrySet()) {
+                BigDecimal compPay = new BigDecimal("0.00");
+                for (TjReservation reservation : entry.getValue()) {
+                    TjDwGrouping dwGrouping = dwGroupingService.getById(reservation.getGroupingId());
+                    compPay = compPay.add(dwGrouping.getYsPrice());
+                }
+                LambdaQueryWrapper<TjTeamSelectRecord> wq = new LambdaQueryWrapper<>();
+                wq.eq(TjTeamSelectRecord::getTeamNo, entry.getValue().get(0).getTeamNo());
+                wq.eq(TjTeamSelectRecord::getPacId, entry.getKey());
+                wq.eq(TjTeamSelectRecord::getCompId,compId);
+                TjTeamSelectRecord recordServiceOne = selectRecordService.getOne(wq);
+                if (null != recordServiceOne) {
+                    recordServiceOne.setPacId(entry.getKey());
+                    recordServiceOne.setCompId(compId);
+                    recordServiceOne.setTeamNo(entry.getValue().get(0).getTeamNo());
+                    recordServiceOne.setTransactionAmount(new BigDecimal("0.00"));
+                    recordServiceOne.setCount(entry.getValue().size());
+                    recordServiceOne.setDifference(compPay);
+                    selectRecordService.updateById(recordServiceOne);
+                } else {
+                    TjTeamSelectRecord selectRecord = new TjTeamSelectRecord();
+                    selectRecord.setCompId(compId);
+                    selectRecord.setPacId(entry.getKey());
+                    selectRecord.setTeamNo(entry.getValue().get(0).getTeamNo());
+                    selectRecord.setTransactionAmount(new BigDecimal("0.00"));
+                    selectRecord.setCount(entry.getValue().size());
+                    selectRecord.setDifference(compPay);
+                    selectRecordService.save(selectRecord);
+                }
+            }
+        }
+
         LambdaQueryWrapper<TjTeamSelectRecord>wq0=new LambdaQueryWrapper<>();
         if(null !=compId){
             wq0.eq(TjTeamSelectRecord::getCompId,compId);
         }
         wq0.ne(TjTeamSelectRecord::getDifference,0);
         List<TjTeamSelectRecord> selectRecordList = selectRecordService.list(wq0);
-        if(null !=selectRecordList && selectRecordList.size()>0){
+        if(null !=selectRecordList && !selectRecordList.isEmpty()){
             for(TjTeamSelectRecord selectRecord : selectRecordList){
-                TjDwDept dwDept = dwDeptService.getById(selectRecord.getPacId());
-                if(null !=dwDept){
-                    selectRecord.setPacName(dwDept.getDwDeptName());
-                    selectRecord.setSigningPrice(dwDept.getSigningPrice());
+                TjDwGrouping dwGrouping = dwGroupingService.getById(selectRecord.getPacId());
+
+                if(null !=dwGrouping){
+                    selectRecord.setPacName(dwGrouping.getGroupingName());
+                    selectRecord.setSigningPrice(dwGrouping.getSigningPrice());
                 }
                 LambdaQueryWrapper<TjCompPay>wq1=new LambdaQueryWrapper<>();
                 wq1.eq(TjCompPay::getCompId,compId);
@@ -150,8 +200,8 @@
                     LambdaQueryWrapper<TjCompPayInfo>wq=new LambdaQueryWrapper<>();
                     wq.eq(TjCompPayInfo::getTjCompPayId,compPay.getId());
                     selectRecord.setPayInfoList(payInfoService.list(wq));
-                    selectRecord.setCopeWith(compPay.getCopeWith());
-                    selectRecord.setDifference(compPay.getDifference());
+                    selectRecord.setCopeWith(selectRecord.getDifference());
+                    selectRecord.setDifference(selectRecord.getDifference());
                     selectRecord.setPayer(compService.getById(compPay.getCompId()).getContactPerson());
                     selectRecord.setSjCount(orderService.count(new LambdaQueryWrapper<TjOrder>().eq(TjOrder::getTeamNo,compPay.getTeamNo())));
                     TjCompPayInfo payInfo = new TjCompPayInfo();
@@ -170,34 +220,60 @@
      */
     @GetMapping("/getTeamTjPeopleList")
     @ApiOperation(value = "鏍规嵁鍥㈤槦浣撴缂栧彿鍥㈤槦浜哄憳浣撴鎯呭喌鏌ヨ")
-    public AjaxResult getTeamTjPeopleList(@RequestParam @ApiParam(value = "鍥㈤槦缂栧彿") String teamNo) {
+    public AjaxResult getTeamTjPeopleList(@RequestParam @ApiParam(value = "鍥㈤槦缂栧彿") String teamNo,
+                                          @RequestParam(required = false) @ApiParam(value = "鍗曚綅id") String pacId) {
 
-        List<TjReservation> reservationList = reservationService.list(new LambdaQueryWrapper<TjReservation>().eq(TjReservation::getTeamNo,teamNo));
-        if (null != reservationList && reservationList.size() > 0) {
-            List<TeamTjPeopleVo> voList = new ArrayList<>();
-            for (TjReservation reservation : reservationList) {
-                TeamTjPeopleVo vo = new TeamTjPeopleVo();
-                vo.setName(reservation.getName());
-                TjCustomer customer = customerService.getOne(new LambdaQueryWrapper<TjCustomer>().eq(TjCustomer::getCusIdcard, reservation.getIdCard()));
-                if (null != customer) {
-                    TjOrder tjOrder = orderService.getOne(new LambdaQueryWrapper<TjOrder>().eq(TjOrder::getUserId, customer.getCusId()).eq(TjOrder::getTeamNo, teamNo));
-                    if (null != tjOrder) {
-                        if (null != tjOrder.getFinishTime()) {
-                            vo.setTjStatus("宸插畬鎴�");
-                            vo.setTjTime(tjOrder.getFinishTime());
-                        } else {
-                            vo.setTjStatus("鏈畬鎴�");
-                        }
-                    } else {
-                        vo.setTjStatus("鏈� 妫�");
+        try {
+            Map<String,Object> map=new HashMap<>();
+            LambdaQueryWrapper<TjReservation> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(TjReservation::getTeamNo, teamNo);
+            if(StringUtil.isNotBlank(pacId))wrapper.eq(TjReservation::getPacId, pacId);
+            List<TjReservation> reservationList = reservationService.list(wrapper);
+            if (null != reservationList && !reservationList.isEmpty()) {
+                List<TeamTjPeopleVo> syList = new ArrayList<>();
+                List<TeamTjPeopleVo> yjwjzList = new ArrayList<>();
+                List<TeamTjPeopleVo> wjList = new ArrayList<>();
+                for (TjReservation reservation : reservationList) {
+                    TeamTjPeopleVo vo = new TeamTjPeopleVo();
+                    vo.setName(reservation.getName());
+                    TjCustomer customer = null;
+                    try {
+                        customer = customerService.getOne(new LambdaQueryWrapper<TjCustomer>().eq(TjCustomer::getCusIdcard, reservation.getIdCard()));
+                    } catch (Exception e) {
+                        log.error("鏍规嵁鍥㈤槦缂栧彿鏌ヨ鍥㈤槦棰勭害淇℃伅寮傚父"+reservation.getIdCard());
+                        throw new RuntimeException(e);
                     }
-                } else {
-                    vo.setTjStatus("鏈� 妫�");
+                    if (null != customer) {
+                        TjOrder tjOrder = orderService.getOne(new LambdaQueryWrapper<TjOrder>().eq(TjOrder::getUserId, customer.getCusId()).eq(TjOrder::getTeamNo, teamNo));
+                        if (null != tjOrder) {
+                            int sfwc = remarkService.panduaniswancheng(tjOrder.getTjNumber());
+                            if (sfwc==0) {
+                                vo.setTjStatus("宸插畬鎴�");
+                                vo.setTjTime(tjOrder.getCreateTime());
+                            } else {
+                                vo.setTjStatus("鍦� 妫�");
+                            }
+                            yjwjzList.add(vo);
+                        } else {
+                            vo.setTjStatus("鏈� 妫�");
+                            wjList.add(vo);
+                        }
+                    }else {
+                        vo.setTjStatus("鏈� 妫�");
+                        wjList.add(vo);
+                    }
+                    syList.add(vo);
+
                 }
-                voList.add(vo);
+                map.put("syList",syList);
+                map.put("yjwjzList",yjwjzList);
+                map.put("wjList",wjList);
+                return AjaxResult.success(map);
             }
-            return AjaxResult.success(voList);
+            return AjaxResult.success(null);
+        } catch (Exception e) {
+            log.error("鏌ヨ鍥㈤槦浣撴浜哄憳淇℃伅寮傚父");
+            throw new RuntimeException(e);
         }
-        return AjaxResult.success(null);
     }
 }
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 2403675..b6508b4 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
@@ -2929,9 +2929,10 @@
             obj.putOpt("pro_name", tbTransition.getProName());
             BigDecimal ordPrice = tbTransition.getOrdPrice();
             obj.putOpt("zongjia", ordPrice);
-            QueryWrapper<TjProject> queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("pro_id", tbTransition.getProId());
-            TjProject tjProject = projectService.getOne(queryWrapper);
+//            QueryWrapper<TjProject> queryWrapper = new QueryWrapper<>();
+//            queryWrapper.eq("pro_id", tbTransition.getProId());
+//            TjProject tjProject = projectService.getOne(queryWrapper);
+            TjProject tjProject = projectService.getTjProjectByIdNodel(tbTransition.getProId());
             Integer num = tjProject.getSl();
             obj.putOpt("num", num);
             BigDecimal price = ordPrice.divide(new BigDecimal(num));
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java
index 756d268..6e754e6 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java
@@ -764,7 +764,7 @@
 
         //鍥綋浜烘暟
         int tramNum = 0;
-        if (null != rightList && rightList.size() > 0) {
+        if (null != rightList && !rightList.isEmpty()) {
             String teamNo = PinyinUtil.getFirstLetter(dwDept.getDwName(), "") + DateUtil.format(new Date(), "yyMMddHHmmss");
             for (TjReservation reservation : rightList) {
                 TjDwGrouping dwGrouping = dwGroupingService.getById(reservation.getGroupingId());
@@ -867,7 +867,6 @@
         Date date = new Date();
 
         //寮傛鏁版嵁
-//        asyncService.addNewReservationConfirm(rightList);
         asyncService.saveNewReservationConfirm(rightList);
 
         //浣撴鍗曚綅閮ㄩ棬
@@ -896,7 +895,6 @@
 
                 TjDwGrouping dwGrouping = dwGroupingService.getById(reservation.getGroupingId());
 
-//                TjDwDept dwDept = dwDeptService.getById(dwGrouping.getDwDeptId());
 
                 LambdaQueryWrapper<TjReservation> wq = new LambdaQueryWrapper<>();
                 wq.eq(TjReservation::getIdCard, reservation.getIdCard());
@@ -927,7 +925,6 @@
 
                 reservation.setPacId(dwGrouping.getId());
                 compPay = compPay.add(dwGrouping.getYsPrice());
-//                reservation.setTjType(String.valueOf(1));
                 reservation.setTeamNo(teamNo);
                 reservation.setYxts(dto.getYxts());
                 tjReservationService.save(reservation);
@@ -957,14 +954,13 @@
                 compPayService.save(tjCompPay);
             }
 
-//            .filter(a-> null != a.getPacId())
-
-            Map<String, List<TjReservation>> collect = rightList.stream().collect(Collectors.groupingBy(TjReservation::getPacId));
+   /*         Map<String, List<TjReservation>> collect = rightList.stream().collect(Collectors.groupingBy(TjReservation::getPacId));
 
             if (!collect.isEmpty()) {
                 for (Map.Entry<String, List<TjReservation>> entry : collect.entrySet()) {
                     LambdaQueryWrapper<TjTeamSelectRecord> wq = new LambdaQueryWrapper<>();
                     wq.eq(TjTeamSelectRecord::getTeamNo, teamNo);
+                    wq.eq(TjTeamSelectRecord::getPacId, entry.getKey());
                     wq.eq(TjTeamSelectRecord::getCompId, dto.getDwId());
                     TjTeamSelectRecord recordServiceOne = selectRecordService.getOne(wq);
                     if (null != recordServiceOne) {
@@ -986,7 +982,7 @@
                         selectRecordService.save(selectRecord);
                     }
                 }
-            }
+            }*/
             return AjaxResult.success("棰勭害鎴愬姛");
         }
         return AjaxResult.error("璇烽�夋嫨棰勭害瀵硅薄");
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjCompPayInfo.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjCompPayInfo.java
index b92e467..bc2c944 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjCompPayInfo.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjCompPayInfo.java
@@ -75,6 +75,10 @@
     @ApiModelProperty(value = "鏀舵浜�")
     private String payee;
 
+    @ApiModelProperty(value = "濂楅id")
+    @TableField(exist = false)
+    private String pacId;
+
     @Override
     public String toString() {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
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 fa3bf82..5d70a2d 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
@@ -212,5 +212,9 @@
     List<TjProject> selectTjProjectListByBz();
 
 
+    @Select("SELECT * FROM tj_project a WHERE a.pro_id=#{proId}")
+    TjProject getTjProjectByIdNodel(Long proId);
+
+
 
 }
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 ae2079a..d82e0f0 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
@@ -149,4 +149,5 @@
 
     List<TjProject> selectTjProjectListByBz();
 
+    TjProject getTjProjectByIdNodel(Long proId);
 }
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 4f4feb2..e19a91b 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
@@ -363,4 +363,9 @@
         return tjProjectMapper.selectTjProjectListByBz();
     }
 
+    @Override
+    public TjProject getTjProjectByIdNodel(Long proId) {
+        return tjProjectMapper.getTjProjectByIdNodel(proId);
+    }
+
 }
diff --git a/ltkj-hosp/src/main/resources/mapper/TjProjectMapper.xml b/ltkj-hosp/src/main/resources/mapper/TjProjectMapper.xml
index 9a891c5..7095993 100644
--- a/ltkj-hosp/src/main/resources/mapper/TjProjectMapper.xml
+++ b/ltkj-hosp/src/main/resources/mapper/TjProjectMapper.xml
@@ -238,7 +238,7 @@
             <if test="nr != null ">and (pro_name  like concat('%', #{nr}, '%')
                  or pro_eng_name  like concat('%', #{nr}, '%'))</if>
         <if test="null !=xb and xb !='' ">
-                 and (pro_sex=#{xb} or isnull(pro_sex)) </if>
+                 and (pro_sex=#{xb} or isnull(pro_sex) or pro_sex=2 ) </if>
         </where>
 
 

--
Gitblit v1.8.0