From 0892d843cd394f383ff50f480f7f22f2ec3829bc Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期五, 27 六月 2025 20:24:45 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java |  497 ++++++++++++++++++++++++++++--------------------------
 1 files changed, 259 insertions(+), 238 deletions(-)

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 8a384d3..756d268 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
@@ -41,10 +41,12 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import jodd.util.StringUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.transaction.NoTransactionException;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.web.bind.annotation.*;
@@ -95,64 +97,76 @@
     private ISysDictDataService dictDataService;
     @Autowired
     private ISysConfigService configService;
+    @Autowired
+    private IDictCompService dictCompService;
+    @Autowired
+    private ITjDwDeptService tjDwDeptService;
+    @Autowired
+    private ITjDwGroupingService tjDwGroupingService;
 
-    @Value("${path.filePath}")
-    private String value;
+//    @Value("${path.filePath}")
+//    private String value;
 
     @PostMapping("/importTemplate")
     @ApiOperation(value = "瀵煎嚭excel琛ㄦā鏉�")
     public void importTemplate(HttpServletResponse response) {
         //鍘熸潵鐨勪笅杞芥ā鏉胯皟鐢ㄦ帴鍙�
-        String base64String = PDFBinaryUtil.getPDFBinary(configService.selectConfigByKey("default_excelTemplate"));
-        if (null != base64String) {
-            PDFBinaryUtil.base64StringToPDF(base64String, FileUtil.mkdir(value).getPath() + File.separator + "鍥綋棰勭害Excel妯$増.xls");
-            String filePath = value + File.separator + "鍥綋棰勭害Excel妯$増.xls";
-            File f = new File(filePath);
-            BufferedInputStream br = null;
-            OutputStream out = null;
-            FileInputStream fileInputStream = null;
-            try {
-                fileInputStream = new FileInputStream(f);
-                br = new BufferedInputStream(fileInputStream);
-                byte[] bs = new byte[1024];
-                int len = 0;
-                response.reset(); // 闈炲父閲嶈
-                if (true) {
-                    // 鍦ㄧ嚎鎵撳紑鏂瑰紡
-                    URL u = new URL("file:///" + filePath);
-                    //System.out.println(u);
-                    String contentType = u.openConnection().getContentType();
-                    response.setContentType(contentType);
-                    response.setHeader("Content-Disposition", "inline;filename=鍥綋棰勭害Excel妯$増.xls");
-                } else {
-                    // 绾笅杞芥柟寮�
-                    response.setContentType("application/x-msdownload");
-                    response.setContentType("application/pdf;charset=utf-8");
-                    response.setHeader("Content-Disposition", "attachment;filename=鍥綋棰勭害Excel妯$増.xls");
-                }
-                out = response.getOutputStream();
-                while ((len = br.read(bs)) > 0) {
-                    out.write(bs, 0, len);
-                }
-                out.flush();
-                out.close();
-                br.close();
-                fileInputStream.close();
-            } catch (IOException e) {
-                e.printStackTrace();
-                //System.out.println("pdf澶勭悊鏂囦欢寮傚父" + e);
-            } finally {
-                if (out != null) {
-                    try {
-                        out.close();
-                        br.close();
-                        fileInputStream.close();
+        try {
+            String value = configService.selectConfigByKey("path_filePath");
+            String base64String = PDFBinaryUtil.getPDFBinary(value + File.separator + "瑗垮畨璺嘲鏈虹數绉戞妧鏈夐檺鍏徃.xls");
+            if (null != base64String) {
+                PDFBinaryUtil.base64StringToPDF(base64String, FileUtil.mkdir(value).getPath() + File.separator + "鍥綋棰勭害Excel妯$増.xls");
+                String filePath = value + File.separator + "鍥綋棰勭害Excel妯$増.xls";
+                File f = new File(filePath);
+                BufferedInputStream br = null;
+                OutputStream out = null;
+                FileInputStream fileInputStream = null;
+                try {
+                    fileInputStream = new FileInputStream(f);
+                    br = new BufferedInputStream(fileInputStream);
+                    byte[] bs = new byte[1024];
+                    int len = 0;
+                    response.reset(); // 闈炲父閲嶈
+                    if (true) {
+                        // 鍦ㄧ嚎鎵撳紑鏂瑰紡
+                        URL u = new URL("file:///" + filePath);
+                        //System.out.println(u);
+                        String contentType = u.openConnection().getContentType();
+                        response.setContentType(contentType);
+                        response.setHeader("Content-Disposition", "inline;filename=鍥綋棰勭害Excel妯$増.xls");
+                    } else {
+                        // 绾笅杞芥柟寮�
+                        response.setContentType("application/x-msdownload");
+                        response.setContentType("application/pdf;charset=utf-8");
+                        response.setHeader("Content-Disposition", "attachment;filename=鍥綋棰勭害Excel妯$増.xls");
+                    }
+                    out = response.getOutputStream();
+                    while ((len = br.read(bs)) > 0) {
+                        out.write(bs, 0, len);
+                    }
+                    out.flush();
+                    out.close();
+                    br.close();
+                    fileInputStream.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                    //System.out.println("pdf澶勭悊鏂囦欢寮傚父" + e);
+                } finally {
+                    if (out != null) {
+                        try {
+                            out.close();
+                            br.close();
+                            fileInputStream.close();
 
-                    } catch (IOException e) {
-                        e.printStackTrace();
+                        } catch (IOException e) {
+                            e.printStackTrace();
+                        }
                     }
                 }
             }
+        } catch (Exception e) {
+            ExcelUtils.exportTemplate(response, "鍥綋棰勭害Excel妯$増", TjReservation.class);
+            throw new RuntimeException(e);
         }
     }
 
@@ -165,7 +179,7 @@
     @ApiOperation(value = "鏌ヨ浣撴棰勭害鍒楄〃鎺ュ彛(榛樿)")
     public TableDataInfo list(TjReservation tjReservation) {
         startPage();
-        tjReservation.setIsExpire(2);
+       if(tjReservation.getIsExpire()==null) tjReservation.setIsExpire(2);
         List<TjReservation> list = tjReservationService.selectTjReservationList(tjReservation);
 //        if(null !=list && list.size()>0){
 //            for (TjReservation reservation : list) {
@@ -270,7 +284,11 @@
                     //骞撮緞
                     tjReservation.setAge(String.valueOf(MatchUtils.getAgeByIdCard(tjReservation.getIdCard())));
                     //鍑虹敓鏃ユ湡
-                    tjReservation.setBirthday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd"));
+                    try {
+                        tjReservation.setBirthday(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()));
+                    } catch (Exception e) {
+                        return AjaxResult.error("韬唤璇佸彿涓嶆纭�");
+                    }
 
                     if (null != groupingMan && groupingMan.getSex().equals(String.valueOf(tjReservation.getSex()))) {
 
@@ -364,7 +382,7 @@
 
         List<String> wrongList = new ArrayList<>();
         List<TjReservation> rightList = new ArrayList<>();
-        List<TjReservation> yyList = new ArrayList<>();
+        List<String> yyList = new ArrayList<>();
         Map<String, Object> map = new HashMap<>();
         List<TjDwGrouping> groupingMans = null;//鐢�
         List<TjDwGrouping> groupingWoMans = null;//濂�
@@ -380,204 +398,163 @@
             return AjaxResult.error("鍒嗙粍淇℃伅鏈夎璇烽噸鏂板垎缁�!");
         }
 
-        String sfjysfzh = configService.selectConfigByKey("sfjysfzh");
-        String sfjysjh = configService.selectConfigByKey("sfjysjh");
+        try {
+            String sfjysfzh = configService.selectConfigByKey("sfjysfzh");
+            String sfjysjh = configService.selectConfigByKey("sfjysjh");
 
-        //璁$畻鍚堣
-        BigDecimal hjMoney = new BigDecimal("0.00");
-        //鐢风粍閲戦
-        BigDecimal manMoney = new BigDecimal("0.00");
-        //濂崇粍閲戦
-        BigDecimal woManMoney = new BigDecimal("0.00");
-        int count = 0;//鎬昏浜烘暟
-        int manCount = 0;//鐢风粍浜烘暟
-        int woManCount = 0;//濂崇粍浜烘暟
-        List<String> ids=new ArrayList<>();
+            //璁$畻鍚堣
+            BigDecimal hjMoney = new BigDecimal("0.00");
+            //鐢风粍閲戦
+            BigDecimal manMoney = new BigDecimal("0.00");
+            //濂崇粍閲戦
+            BigDecimal woManMoney = new BigDecimal("0.00");
+            int count = 0;//鎬昏浜烘暟
+            int manCount = 0;//鐢风粍浜烘暟
+            int woManCount = 0;//濂崇粍浜烘暟
+            List<String> ids = new ArrayList<>();
 
-        for (TjReservation tjReservation : tjReservations) {
-            String idCard = tjReservation.getIdCard();
-            String phoe = tjReservation.getPhoe();
-                  idCard= idCard.replaceAll("[',锛�;.銆� 鈥樷�淽","");
+//            String errMsg = "";
+            for (TjReservation tjReservation : tjReservations) {
+                String name = tjReservation.getName();
+                String idCard = tjReservation.getIdCard();
+                String phoe = tjReservation.getPhoe();
+                name = name.replaceAll("[',锛�;.銆� 鈥樷�淽", "").replaceAll(" ", "");
+                phoe = phoe.replaceAll("[',锛�;.銆� 鈥樷�淽", "").replaceAll(" ", "");
+                idCard = idCard.replaceAll("[',锛�;.銆� 鈥樷�淽", "").replaceAll(" ", "");
 
-            if (!StringUtils.isBlank(idCard) || !StringUtils.isBlank(phoe) || null != tjReservation.getDwxm()) {
-                //灏嗙瀛﹁鏁扮殑鎵嬫満鍙疯浆鎹㈡垚鏂囨湰褰㈠紡
-                phoe = MatchUtils.translateToPlainStr(tjReservation.getPhoe());
+                if (!StringUtils.isBlank(idCard) || !StringUtils.isBlank(phoe) || null != tjReservation.getDwxm()) {
+                    //灏嗙瀛﹁鏁扮殑鎵嬫満鍙疯浆鎹㈡垚鏂囨湰褰㈠紡
+                    phoe = MatchUtils.translateToPlainStr(tjReservation.getPhoe());
 
-                if(!ids.isEmpty() && ids.contains(tjReservation.getIdCard())){
-                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                    return AjaxResult.error("姝よ韩浠借瘉鍙�: "+tjReservation.getIdCard()+" 閲嶅,璇锋牳瀵瑰悗涓婁紶!");
-                }
+                    if (!ids.isEmpty() && ids.contains(idCard)) {
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        return AjaxResult.error("姝よ韩浠借瘉鍙�: " + tjReservation.getIdCard() + " 閲嶅,璇锋牳瀵瑰悗涓婁紶!");
+                    }
 
-                ids.add(tjReservation.getIdCard());
+                    ids.add(idCard);
 
-//                if (sfjysfzh.equalsIgnoreCase("Y") || sfjysjh.equalsIgnoreCase("Y")) {
-                    if ((sfjysfzh.equalsIgnoreCase("Y") && !MatchUtils.isIdCard(idCard)) ||
-                            (sfjysjh.equalsIgnoreCase("Y") && !MatchUtils.isMobileNO(phoe))) {
-                        wrongList.add(tjReservation.getName());
-                        log.info(tjReservation.getName()+idCard+MatchUtils.isIdCard(idCard)+MatchUtils.isMobileNO(phoe));
-                    }else {
+                    if (!Objects.equals(tjReservation.getSex(), MatchUtils.getSexByIdCard(idCard))){
+                        wrongList.add(tjReservation.getName() + " " + tjReservation.getIdCard()+"鎬у埆 涓嶅噯纭�");
+                        log.info(tjReservation.getName() + " " + idCard);
+                    }
 
+                        if ((sfjysfzh.equalsIgnoreCase("Y") &&  idCard.length()==18 && !MatchUtils.isIdCard(idCard)) ||
+                                (sfjysjh.equalsIgnoreCase("Y") && !MatchUtils.isMobileNO(phoe))) {
+                            wrongList.add(tjReservation.getName() + " " + tjReservation.getIdCard()+"韬唤璇佸彿/鎵嬫満鍙� 鏍煎紡涓嶅噯纭�");
+//                            errMsg = "韬唤璇佸彿/鎵嬫満鍙� 鏍煎紡涓嶅噯纭�";
+                            log.info(tjReservation.getName() + " " + idCard + MatchUtils.isIdCard(idCard) + " " + phoe + " " + MatchUtils.isMobileNO(phoe));
+                        }
+//                        else {
 
-                        tjReservation.setPhoe(phoe);
+                            tjReservation.setPhoe(phoe);
 
-                        //骞撮緞
-                        tjReservation.setAge(String.valueOf(MatchUtils.getAgeByIdCard(tjReservation.getIdCard())));
-                        //鍑虹敓鏃ユ湡
-                        tjReservation.setBirthday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd"));
+                            tjReservation.setName(name);
 
-                        TjDwDept dwDept = dwDeptService.getOne(new LambdaQueryWrapper<TjDwDept>().eq(TjDwDept::getDwDeptName, tjReservation.getDwxm()));
-                        if (null != dwDept) {
-                            for (TjDwGrouping groupingMan : groupingMans) {
-                                if (null != groupingMan && groupingMan.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingMan.getDwDeptId().equals(dwDept.getId())) {
-                                    tjReservation.setGroupingId(groupingMan.getId());
-                                    tjReservation.setGroupingName(groupingMan.getGroupingName());
-                                    tjReservation.setYsPrice(groupingMan.getYsPrice());
-                                    //鍚堣
-                                    hjMoney = hjMoney.add(groupingMan.getYsPrice());
-                                    count += 1;
-                                    //鐢风粍浜烘暟
-                                    manMoney = manMoney.add(groupingMan.getYsPrice());
-                                    manCount += 1;
-                                }
+                            tjReservation.setIdCard(idCard);
+
+                            //骞撮緞
+                            tjReservation.setAge(String.valueOf(MatchUtils.getAgeByIdCard(tjReservation.getIdCard().replaceAll(" ", ""))));
+                            //鍑虹敓鏃ユ湡
+                            try {
+                                tjReservation.setBirthday(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard().replaceAll(" ", "")));
+                            } catch (Exception e) {
+//                            return AjaxResult.error("韬唤璇佸彿涓嶆纭�");
                             }
 
-                            for (TjDwGrouping groupingWoMan : groupingWoMans) {
-                                if (null != groupingWoMan && groupingWoMan.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingWoMan.getDwDeptId().equals(dwDept.getId())) {
-                                    tjReservation.setGroupingId(groupingWoMan.getId());
-                                    tjReservation.setGroupingName(groupingWoMan.getGroupingName());
-                                    tjReservation.setYsPrice(groupingWoMan.getYsPrice());
-                                    //鍚堣
-                                    hjMoney = hjMoney.add(groupingWoMan.getYsPrice());
-                                    count += 1;
-                                    woManMoney = woManMoney.add(groupingWoMan.getYsPrice());
-                                    woManCount += 1;
-                                }
-                            }
-                            for (TjDwGrouping groupingWz : groupingWzs) {
-                                if (null != groupingWz && groupingWz.getDwDeptId().equals(dwDept.getId())) {
-                                    tjReservation.setGroupingId(groupingWz.getId());
-                                    tjReservation.setGroupingName(groupingWz.getGroupingName());
-                                    tjReservation.setYsPrice(groupingWz.getYsPrice());
-                                    //鍚堣
-                                    hjMoney = hjMoney.add(groupingWz.getYsPrice());
-                                    count += 1;
-                                    if (tjReservation.getSex() == 0) {
-                                        manMoney = manMoney.add(groupingWz.getYsPrice());
+                            TjDwDept dwDept = dwDeptService.getOne(new LambdaQueryWrapper<TjDwDept>().
+                                    eq(TjDwDept::getDwDeptName, tjReservation.getDwxm().trim()).eq(TjDwDept::getDwId,dwId));
+                            if (null != dwDept) {
+                                for (TjDwGrouping groupingMan : groupingMans) {
+                                    if (null != groupingMan && groupingMan.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingMan.getDwDeptId().equals(dwDept.getId())) {
+                                        tjReservation.setGroupingId(groupingMan.getId());
+                                        tjReservation.setGroupingName(groupingMan.getGroupingName());
+                                        tjReservation.setYsPrice(groupingMan.getYsPrice());
+                                        //鍚堣
+                                        hjMoney = hjMoney.add(groupingMan.getYsPrice());
+                                        count += 1;
+                                        //鐢风粍浜烘暟
+                                        manMoney = manMoney.add(groupingMan.getYsPrice());
                                         manCount += 1;
                                     }
-                                    if (tjReservation.getSex() == 1) {
-                                        woManMoney = woManMoney.add(groupingWz.getYsPrice());
+                                }
+
+                                for (TjDwGrouping groupingWoMan : groupingWoMans) {
+                                    if (null != groupingWoMan && groupingWoMan.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingWoMan.getDwDeptId().equals(dwDept.getId())) {
+                                        tjReservation.setGroupingId(groupingWoMan.getId());
+                                        tjReservation.setGroupingName(groupingWoMan.getGroupingName());
+                                        tjReservation.setYsPrice(groupingWoMan.getYsPrice());
+                                        //鍚堣
+                                        hjMoney = hjMoney.add(groupingWoMan.getYsPrice());
+                                        count += 1;
+                                        woManMoney = woManMoney.add(groupingWoMan.getYsPrice());
                                         woManCount += 1;
                                     }
-
                                 }
-                            }
-                            LambdaQueryWrapper<TjReservation> wq = new LambdaQueryWrapper<>();
-                            wq.eq(TjReservation::getIdCard, tjReservation.getIdCard());
-                            wq.eq(TjReservation::getIsExpire, 2);
-                            TjReservation one = tjReservationService.getOne(wq);
-                            if (null != one) {
-                                yyList.add(one);
-                            }
-                            rightList.add(tjReservation);
-                        } else {
-                            wrongList.add(tjReservation.getName());
-                        }
-                    }
-//                }
-//                else {
-//                    //灏嗙瀛﹁鏁扮殑鎵嬫満鍙疯浆鎹㈡垚鏂囨湰褰㈠紡
-//                    String str = MatchUtils.translateToPlainStr(tjReservation.getPhoe());
-//                    tjReservation.setPhoe(str);
-//
-//                    //骞撮緞
-//                    tjReservation.setAge(String.valueOf(MatchUtils.getAgeByIdCard(tjReservation.getIdCard())));
-//                    //鍑虹敓鏃ユ湡
-//                    tjReservation.setBirthday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd"));
-//
-//                    TjDwDept dwDept = dwDeptService.getOne(new LambdaQueryWrapper<TjDwDept>().eq(TjDwDept::getDwDeptName, tjReservation.getDwxm()));
-//                    if (null != dwDept) {
-//                        for (TjDwGrouping groupingMan : groupingMans) {
-//                            if (null != groupingMan && groupingMan.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingMan.getDwDeptId().equals(dwDept.getId())) {
-//                                tjReservation.setGroupingId(groupingMan.getId());
-//                                tjReservation.setGroupingName(groupingMan.getGroupingName());
-//                                tjReservation.setYsPrice(groupingMan.getYsPrice());
-//                                //鍚堣
-//                                hjMoney = hjMoney.add(groupingMan.getYsPrice());
-//                                count += 1;
-//                                //鐢风粍浜烘暟
-//                                manMoney = manMoney.add(groupingMan.getYsPrice());
-//                                manCount += 1;
-//                            }
-//                        }
-//
-//                        for (TjDwGrouping groupingWoMan : groupingWoMans) {
-//                            if (null != groupingWoMan && groupingWoMan.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingWoMan.getDwDeptId().equals(dwDept.getId())) {
-//                                tjReservation.setGroupingId(groupingWoMan.getId());
-//                                tjReservation.setGroupingName(groupingWoMan.getGroupingName());
-//                                tjReservation.setYsPrice(groupingWoMan.getYsPrice());
-//                                //鍚堣
-//                                hjMoney = hjMoney.add(groupingWoMan.getYsPrice());
-//                                count += 1;
-//                                woManMoney = woManMoney.add(groupingWoMan.getYsPrice());
-//                                woManCount += 1;
-//                            }
-//                        }
-//                        for (TjDwGrouping groupingWz : groupingWzs) {
-//                            if (null != groupingWz && groupingWz.getDwDeptId().equals(dwDept.getId())) {
-//                                tjReservation.setGroupingId(groupingWz.getId());
-//                                tjReservation.setGroupingName(groupingWz.getGroupingName());
-//                                tjReservation.setYsPrice(groupingWz.getYsPrice());
-//                                //鍚堣
-//                                hjMoney = hjMoney.add(groupingWz.getYsPrice());
-//                                count += 1;
-//                                if (tjReservation.getSex() == 0) {
-//                                    manMoney = manMoney.add(groupingWz.getYsPrice());
-//                                    manCount += 1;
-//                                }
-//                                if (tjReservation.getSex() == 1) {
-//                                    woManMoney = woManMoney.add(groupingWz.getYsPrice());
-//                                    woManCount += 1;
-//                                }
-//
-//                            }
-//                        }
-//                        LambdaQueryWrapper<TjReservation> wq = new LambdaQueryWrapper<>();
-//                        wq.eq(TjReservation::getIdCard, tjReservation.getIdCard());
-//                        wq.eq(TjReservation::getIsExpire, 2);
-//                        TjReservation one = tjReservationService.getOne(wq);
-//                        if (null != one) {
-//                            yyList.add(one);
-//                        }
-//                        rightList.add(tjReservation);
-//                    } else {
-//                        wrongList.add(tjReservation.getName());
-//                    }
-//                }
+                                for (TjDwGrouping groupingWz : groupingWzs) {
+                                    if (null != groupingWz && groupingWz.getDwDeptId().equals(dwDept.getId())) {
+                                        tjReservation.setGroupingId(groupingWz.getId());
+                                        tjReservation.setGroupingName(groupingWz.getGroupingName());
+                                        tjReservation.setYsPrice(groupingWz.getYsPrice());
+                                        //鍚堣
+                                        hjMoney = hjMoney.add(groupingWz.getYsPrice());
+                                        count += 1;
+                                        if (tjReservation.getSex() == 0) {
+                                            manMoney = manMoney.add(groupingWz.getYsPrice());
+                                            manCount += 1;
+                                        }
+                                        if (tjReservation.getSex() == 1) {
+                                            woManMoney = woManMoney.add(groupingWz.getYsPrice());
+                                            woManCount += 1;
+                                        }
 
-            } else {
-                wrongList.add(tjReservation.getName());
+                                    }
+                                }
+                                LambdaQueryWrapper<TjReservation> wq = new LambdaQueryWrapper<>();
+                                wq.eq(TjReservation::getIdCard, tjReservation.getIdCard());
+                                wq.eq(TjReservation::getIsExpire, 2);
+                                TjReservation one = tjReservationService.getOne(wq);
+                                if (null != one) {
+                                    yyList.add(one.getName() + " " + tjReservation.getIdCard());
+                                } else {
+                                    rightList.add(tjReservation);
+                                }
+
+                            } else {
+                                wrongList.add(tjReservation.getName() + " " + tjReservation.getIdCard()+"璇ュ崟浣� 濂楅鍒嗙被鍚嶅~鍐� 涓嶆纭�");
+                            }
+//                        }
+
+                }
+                else {
+                    wrongList.add(tjReservation.getName()+"韬唤璇佸彿/鎵嬫満鍙�/濂楅鍒嗙被鍚嶅悕涓虹┖");
+                }
             }
-        }
-        if (!yyList.isEmpty()) {
-            map.put("list", yyList);
-            map.put("hjMoney", hjMoney);
-            return AjaxResult.error("鎿嶄綔澶辫触,浠ヤ笂浜哄憳宸茬粡棰勭害鏃犻渶瀵煎叆!!!", map);
-        }
 
-        if (!wrongList.isEmpty()) {
-            map.put("list", wrongList);
-            map.put("hjMoney", hjMoney);
-            return AjaxResult.error("鎿嶄綔澶辫触, 璇疯鐪熸牳瀵逛俊鎭悗閲嶆柊瀵煎叆!!!", map);
-        } else {
-            map.put("list", rightList);
-            map.put("count", count);
-            map.put("hjMoney", hjMoney);
-            map.put("manCount", manCount);
-            map.put("manMoney", manMoney);
-            map.put("woManCount", woManCount);
-            map.put("woManMoney", woManMoney);
-            return AjaxResult.success("鎿嶄綔鎴愬姛", map);
+
+            if (!yyList.isEmpty()) {
+                map.put("list", yyList);
+                map.put("hjMoney", hjMoney);
+                return AjaxResult.error("鎿嶄綔澶辫触,浠ヤ笂浜哄憳宸茬粡棰勭害鏃犻渶瀵煎叆!!!", map);
+            }
+
+            if (!wrongList.isEmpty()) {
+                map.put("list", wrongList);
+                map.put("hjMoney", hjMoney);
+                return AjaxResult.error("鎿嶄綔澶辫触, 璇疯鐪熸牳瀵归敊璇俊鎭悗閲嶆柊瀵煎叆!!!", map);
+            } else {
+                map.put("list", rightList);
+                map.put("count", count);
+                map.put("hjMoney", hjMoney);
+                map.put("manCount", manCount);
+                map.put("manMoney", manMoney);
+                map.put("woManCount", woManCount);
+                map.put("woManMoney", woManMoney);
+                return AjaxResult.success("鎿嶄綔鎴愬姛", map);
+            }
+        } catch (NoTransactionException e) {
+//            throw new RuntimeException(e);
+            log.error(String.valueOf(e), e.getMessage());
+            return AjaxResult.error();
         }
     }
 
@@ -595,9 +572,10 @@
         if (null != tjReservation.getIdType()) {
             if (tjReservation.getIdType().equals("1")) {
                 b = MatchUtils.isIdCard(tjReservation.getIdCard());
-            } else {
-                b = MatchUtils.cardValidate(tjReservation.getIdCard(), tjReservation.getIdType());
             }
+//            else {
+//                b = MatchUtils.cardValidate(tjReservation.getIdCard(), tjReservation.getIdType());
+//            }
         } else {
             return AjaxResult.error("璇烽�夋嫨璇佷欢绫诲瀷");
         }
@@ -610,7 +588,7 @@
         if (null != reservation) return AjaxResult.success("鎮ㄥ凡鎴愬姛棰勭害,鏃犻渶鍐嶇害");
         //tjReservation.setAge(MatchUtils.getAgeByIdCard(tjReservation.getIdCard()));
         try {
-            tjReservation.setBirthday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd"));
+            tjReservation.setBirthday(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()));
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -904,21 +882,21 @@
         JSONObject parseObj = JSONUtil.parseObj(payTypeGlTjType);
         if (null != rightList && !rightList.isEmpty()) {
 
-            List<String> ids=new ArrayList<>();
+            List<String> ids = new ArrayList<>();
 
             for (TjReservation reservation : rightList) {
 
-                if(!ids.isEmpty() && ids.contains(reservation.getIdCard())){
+                if (!ids.isEmpty() && ids.contains(reservation.getIdCard())) {
                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                    return AjaxResult.error("姝よ韩浠借瘉鍙�: "+reservation.getIdCard()+" 閲嶅,璇锋牳瀵瑰悗涓婁紶!");
+                    return AjaxResult.error("姝よ韩浠借瘉鍙�: " + reservation.getIdCard() + " 閲嶅,璇锋牳瀵瑰悗涓婁紶!");
 
                 }
-                reservation.setName(reservation.getName().replaceAll("銆�","").replaceAll(" ",""));
+                reservation.setName(reservation.getName().replaceAll("銆�", "").replaceAll(" ", ""));
                 ids.add(reservation.getIdCard());
 
                 TjDwGrouping dwGrouping = dwGroupingService.getById(reservation.getGroupingId());
 
-                TjDwDept dwDept = dwDeptService.getById(dwGrouping.getDwDeptId());
+//                TjDwDept dwDept = dwDeptService.getById(dwGrouping.getDwDeptId());
 
                 LambdaQueryWrapper<TjReservation> wq = new LambdaQueryWrapper<>();
                 wq.eq(TjReservation::getIdCard, reservation.getIdCard());
@@ -947,7 +925,7 @@
                 }
 
 
-                reservation.setPacId(dwDept.getId());
+                reservation.setPacId(dwGrouping.getId());
                 compPay = compPay.add(dwGrouping.getYsPrice());
 //                reservation.setTjType(String.valueOf(1));
                 reservation.setTeamNo(teamNo);
@@ -1014,4 +992,47 @@
         return AjaxResult.error("璇烽�夋嫨棰勭害瀵硅薄");
     }
 
+    /**
+     * 鍥綋棰勭害浣撴淇℃伅 鑱斿姩涓嬫媺妗�
+     *
+     * @param pid
+     * @param type
+     * @return
+     */
+    @GetMapping("/linkage")
+    public String linkage(@RequestParam("pid") String pid, @RequestParam("type") String type) {
+        switch (type) {
+            case "1":
+                List<DictComp> list = dictCompService.list();
+                List<HashMap<String, Object>> collect = list.stream().map(i -> {
+                    HashMap<String, Object> hashMap = new HashMap<>();
+                    hashMap.put("value", i.getDrugManufacturerId());
+                    hashMap.put("text", i.getCnName());
+                    return hashMap;
+                }).collect(Collectors.toList());
+                return JSONUtil.toJsonStr(collect);
+            case "2":
+                List<TjDwDept> list1 = tjDwDeptService.getDwDeptListByTjDwDeptId(pid);
+                List<HashMap<String, Object>> collect1 = list1.stream().map(i -> {
+                    HashMap<String, Object> hashMap = new HashMap<>();
+                    hashMap.put("value", i.getId());
+                    hashMap.put("text", i.getDwDeptName());
+                    return hashMap;
+                }).collect(Collectors.toList());
+                return JSONUtil.toJsonStr(collect1);
+            case "3":
+                LambdaQueryWrapper<TjDwGrouping> wrapper = new LambdaQueryWrapper<>();
+                wrapper.eq(TjDwGrouping::getDwDeptId, pid);
+                List<TjDwGrouping> list2 = tjDwGroupingService.list(wrapper);
+                List<HashMap<String, Object>> collect2 = list2.stream().map(i -> {
+                    HashMap<String, Object> hashMap = new HashMap<>();
+                    hashMap.put("value", i.getId());
+                    hashMap.put("text", i.getGroupingName());
+                    return hashMap;
+                }).collect(Collectors.toList());
+                return JSONUtil.toJsonStr(collect2);
+        }
+        return null;
+    }
+
 }

--
Gitblit v1.8.0