From ad4326adc4ccad14f090fba5acb435deab8260db Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期二, 22 七月 2025 16:09:14 +0800
Subject: [PATCH] zjh20250722

---
 ltkj-admin/src/test/java/zjhTest.java                                             |   40 +++++++++++++++++---
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderServiceImpl.java        |    5 ++
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjReservationService.java          |    4 ++
 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjReservationMapper.java             |   22 +++++++++++
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjReservationServiceImpl.java  |   11 +++++
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java |    5 --
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCompPayController.java  |   13 ++++--
 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderMapper.java                   |    5 ++
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderService.java                |    1 
 9 files changed, 90 insertions(+), 16 deletions(-)

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 4382f88..18e7d1f 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
@@ -154,7 +154,8 @@
     @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));
+//        List<TjReservation> rightList = reservationService.list(new LambdaQueryWrapper<TjReservation>().eq(TjReservation::getCompanyId, compId));
+        List<TjReservation> rightList = reservationService.getFirimSfList(compId);
 
         Map<String, List<TjReservation>> collect = rightList.stream().collect(Collectors.groupingBy(TjReservation::getPacId));
 
@@ -191,8 +192,7 @@
         List<TjTeamSelectRecord> selectRecordList = selectRecordService.list(wq0);
         if(null !=selectRecordList && !selectRecordList.isEmpty()){
             for(TjTeamSelectRecord selectRecord : selectRecordList){
-                selectRecord.setSjCount(orderService.count(new LambdaQueryWrapper<TjOrder>()
-                        .eq(TjOrder::getTeamNo,selectRecord.getTeamNo()).eq(TjOrder::getPacId,selectRecord.getPacId())));
+                selectRecord.setSjCount(orderService.getTjTeamSelectRecordCount(selectRecord.getTeamNo(),selectRecord.getCompId(),selectRecord.getPacId()));
 
                 TjDwGrouping dwGrouping = dwGroupingService.getById(selectRecord.getPacId());
                 if(null !=dwGrouping){
@@ -234,7 +234,8 @@
             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);
+//            List<TjReservation> reservationList = reservationService.list(wrapper);
+            List<TjReservation> reservationList = reservationService.getTeamTjPeopleList(teamNo, pacId);
             if (null != reservationList && !reservationList.isEmpty()) {
                 List<TeamTjPeopleVo> syList = new ArrayList<>();
                 List<TeamTjPeopleVo> yjwjzList = new ArrayList<>();
@@ -252,7 +253,9 @@
                         throw new RuntimeException(e);
                     }
                     if (null != customer) {
-                        TjOrder tjOrder = orderService.getOne(new LambdaQueryWrapper<TjOrder>().eq(TjOrder::getUserId, customer.getCusId()).eq(TjOrder::getTeamNo, teamNo));
+                        TjOrder tjOrder = orderService.getOne(new LambdaQueryWrapper<TjOrder>()
+                                .eq(TjOrder::getUserId, customer.getCusId())
+                                .and(w->w.eq(TjOrder::getTeamNo, teamNo).or().eq(TjOrder::getPacId,reservation.getPacId())));
                         if (null != tjOrder) {
                             TjFlowingWater water = tjFlowingWaterService.getOne(new LambdaQueryWrapper<TjFlowingWater>()
                                     .eq(TjFlowingWater::getOrderId, tjOrder.getOrderId()).eq(TjFlowingWater::getIsAddition, "N"));
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java
index 86bb882..881388e 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java
@@ -163,11 +163,6 @@
                         return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�");
                     }
                 }
-//                if(cusIdcard.length()==9){
-//                    if (!MatchUtils.cardValidates(cusIdcard)) {
-//                        return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�");
-//                    }
-//                }
             }
 
 
diff --git a/ltkj-admin/src/test/java/zjhTest.java b/ltkj-admin/src/test/java/zjhTest.java
index 468e350..63f8201 100644
--- a/ltkj-admin/src/test/java/zjhTest.java
+++ b/ltkj-admin/src/test/java/zjhTest.java
@@ -1,7 +1,6 @@
 
 import cn.hutool.core.io.FileUtil;
-import com.ltkj.LtkjApplication;
-import com.ltkj.framework.config.MatchUtils;
+import com.ltkj.LtkjApplication;import com.ltkj.framework.config.MatchUtils;
 import com.ltkj.hosp.domain.TjJcycxm;
 import com.ltkj.hosp.idutil.IdUtils;
 import jodd.util.StringUtil;
@@ -33,6 +32,9 @@
 
 import java.io.File;
 import java.io.IOException;
+
+
+
 /**
  * @Author: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃/璧典匠璞�
  * @Date: 2022/12/12 9:05
@@ -69,16 +71,42 @@
 
     }
 
+    private static final String[] CHECK_INDEX = {"1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"};
 
         public static void main(String[] args) throws Exception {
 
-            String s = "610124199809053678";
-            String s1 = "610622199805230627";
-            System.out.println(String.valueOf(MatchUtils.getAgeByIdCard(s)));
-            System.out.println(String.valueOf(MatchUtils.getAgeByIdCard(s1)));
+            String s = "62272219650528411X";
+            System.out.println(isValidIdCard(s) ? "鍚堟硶" : "闈炴硶");
 
         }
 
+    public static boolean isValidIdCard(String idCardNumber) {
+        // 姝e垯琛ㄨ揪寮忥紝鍖归厤韬唤璇佸彿鐮佺殑鏍煎紡
+        String regex = "(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)";
+        Pattern pattern = Pattern.compile(regex);
+        Matcher matcher = pattern.matcher(idCardNumber);
+
+        // 鍒ゆ柇鏄惁鍖归厤韬唤璇佸彿鐮佺殑鏍煎紡
+        if (!matcher.matches()) {
+            return false;
+        }
+
+        // 楠岃瘉韬唤璇佸彿鐮佷腑鐨勬牎楠屼綅
+        if (idCardNumber.length() == 18) {
+            int[] weights = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
+            char[] chars = idCardNumber.toCharArray();
+            int sum = 0;
+            for (int i = 0; i < weights.length; i++) {
+                sum += (chars[i] - '0') * weights[i];
+            }
+            char[] checkCodes = {'1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'};
+            char checkCode = checkCodes[sum % 11];
+            return chars[17] == checkCode || (chars[17] == 'x' && checkCode == 'X');
+        }
+
+        return true;
+    }
+
 
     /**
      * 鎵ц鐢熸垚
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderMapper.java
index ed7b834..e51251c 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderMapper.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderMapper.java
@@ -440,4 +440,9 @@
 
     @Select("SELECT * FROM tj_order WHERE tj_number = card_id ")
     List<TjOrder> getOrderListBypiliangqiandaofasong();
+
+
+    @Select("SELECT COUNT(*) FROM tj_order a WHERE a.deleted=0 AND " +
+            "(a.firm_id=#{compId} OR a.team_no=#{teamNo}) AND a.pac_id=#{pacId}")
+    Integer getTjTeamSelectRecordCount(@Param("teamNo") String teamNo,@Param("compId") String compId,@Param("pacId") String pacId);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjReservationMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjReservationMapper.java
index 3e3a625..df60f82 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjReservationMapper.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjReservationMapper.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ltkj.hosp.domain.TjReservation;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
 import java.util.List;
@@ -72,4 +73,25 @@
 
     @Select("SELECT * FROM tj_reservation WHERE deleted = 1")
     public List<TjReservation> selectTjReservationByDelete();
+
+
+    @Select("SELECT * FROM (\n" +
+            "SELECT  a.id_card,a.pac_id,a.company,a.company_id,a.team_no,a.grouping_id FROM tj_reservation a WHERE a.deleted=0 AND a.company_id=#{compId} \n" +
+            "UNION\n" +
+            "SELECT  c.cus_idcard id_card, o.pac_id pac_id,o.firm_name company,o.firm_id company_id,o.firm_id team_no,IFNULL(o.pac_id,o.group_id) grouping_id FROM tj_order o " +
+            "JOIN tj_customer c ON c.cus_id=o.user_id WHERE o.deleted=0 AND o.firm_id=#{compId} AND o.tj_type=1 AND o.pac_id !=0) aa GROUP BY aa.id_card")
+    List<TjReservation> getFirimSfList(String compId);
+
+
+    @Select("SELECT * FROM (\n" +
+            "SELECT a.`name`,a.phoe,a.sex, a.id_card,a.pac_id,a.company,a.company_id,a.team_no,a.grouping_id FROM tj_reservation a " +
+            "WHERE a.deleted=0 AND (a.team_no=#{teamNo} or a.company_id=#{teamNo}) AND a.pac_id=#{pacId}\n" +
+            "UNION\n" +
+            "SELECT c.cus_name name,c.cus_phone phone,c.cus_sex sex,c.cus_idcard id_card, o.pac_id pac_id,o.firm_name company,o.firm_id company_id,o.order_id team_no,IFNULL(o.pac_id,o.group_id) grouping_id FROM " +
+            "tj_order o \n" +
+            "JOIN tj_customer c ON c.cus_id=o.user_id WHERE o.deleted=0" +
+            " AND (o.firm_id=(SELECT DISTINCT r.company_id FROM tj_reservation r " +
+            "WHERE r.deleted=0 AND  ( r.team_no=#{teamNo} or r.company_id=#{teamNo})) or o.firm_id=#{teamNo}) \n" +
+            "AND o.tj_type=1 AND o.pac_id =#{pacId}) aa GROUP BY aa.id_card;")
+    List<TjReservation> getTeamTjPeopleList(@Param("teamNo") String teamNo,@Param("pacId") String pacId);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderService.java
index 506eaaa..b91e437 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderService.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderService.java
@@ -204,4 +204,5 @@
     List<TjOrder> getOrderListBypiliangqiandaofasong();
 
 
+    Integer getTjTeamSelectRecordCount(String teamNo, String compId, String pacId);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjReservationService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjReservationService.java
index c41c0d4..2d0ec2f 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjReservationService.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjReservationService.java
@@ -62,4 +62,8 @@
      * @return 缁撴灉
      */
     public int deleteTjReservationById(Integer id);
+
+    List<TjReservation> getFirimSfList(String compId);
+
+    List<TjReservation> getTeamTjPeopleList(String teamNo, String pacId);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderServiceImpl.java
index 42a8ace..a64a61c 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderServiceImpl.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderServiceImpl.java
@@ -514,4 +514,9 @@
     public List<TjOrder> getOrderListBypiliangqiandaofasong() {
         return tjOrderMapper.getOrderListBypiliangqiandaofasong();
     }
+
+    @Override
+    public Integer getTjTeamSelectRecordCount(String teamNo, String compId, String pacId) {
+        return tjOrderMapper.getTjTeamSelectRecordCount(teamNo, compId, pacId);
+    }
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjReservationServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjReservationServiceImpl.java
index 38e1cae..d22eecc 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjReservationServiceImpl.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjReservationServiceImpl.java
@@ -12,6 +12,7 @@
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.util.Calendar;
+import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 
@@ -104,4 +105,14 @@
     public int deleteTjReservationById(Integer id) {
         return tjReservationMapper.deleteTjReservationById(id);
     }
+
+    @Override
+    public List<TjReservation> getFirimSfList(String compId) {
+        return tjReservationMapper.getFirimSfList(compId);
+    }
+
+    @Override
+    public List<TjReservation> getTeamTjPeopleList(String teamNo, String pacId) {
+        return tjReservationMapper.getTeamTjPeopleList(teamNo, pacId);
+    }
 }

--
Gitblit v1.8.0