From 378fd68db9a3a0f70bc1df6a6b05d332a8e522d4 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期四, 03 四月 2025 17:56:48 +0800
Subject: [PATCH] 报告查看不在重新生成,根据生成过的路径直接读取文件

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java |  410 ++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 241 insertions(+), 169 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 a9c46f2..da5cfba 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
@@ -45,6 +45,7 @@
 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,6 +96,12 @@
     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;
@@ -103,56 +110,61 @@
     @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 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);
         }
     }
 
@@ -270,7 +282,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()))) {
 
@@ -380,40 +396,43 @@
             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 idCard = tjReservation.getIdCard();
+                String phoe = tjReservation.getPhoe();
+                idCard= idCard.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(tjReservation.getIdCard())){
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        return AjaxResult.error("姝よ韩浠借瘉鍙�: "+tjReservation.getIdCard()+" 閲嶅,璇锋牳瀵瑰悗涓婁紶!");
+                    }
 
-                ids.add(tjReservation.getIdCard());
+                    ids.add(tjReservation.getIdCard());
 
-//                if (sfjysfzh.equalsIgnoreCase("Y") || sfjysjh.equalsIgnoreCase("Y")) {
+                    //                if (sfjysfzh.equalsIgnoreCase("Y") || sfjysjh.equalsIgnoreCase("Y")) {
                     if ((sfjysfzh.equalsIgnoreCase("Y") && !MatchUtils.isIdCard(idCard)) ||
                             (sfjysjh.equalsIgnoreCase("Y") && !MatchUtils.isMobileNO(phoe))) {
                         wrongList.add(tjReservation.getName());
+                        errMsg="韬唤璇佸彿/鎵嬫満鍙� 鏍煎紡涓嶅噯纭�";
                         log.info(tjReservation.getName()+idCard+MatchUtils.isIdCard(idCard)+MatchUtils.isMobileNO(phoe));
                     }else {
 
@@ -423,9 +442,13 @@
                         //骞撮緞
                         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("韬唤璇佸彿涓嶆纭�");
+                        }
 
-                        TjDwDept dwDept = dwDeptService.getOne(new LambdaQueryWrapper<TjDwDept>().eq(TjDwDept::getDwDeptName, tjReservation.getDwxm()));
+                        TjDwDept dwDept = dwDeptService.getOne(new LambdaQueryWrapper<TjDwDept>().eq(TjDwDept::getDwDeptName, tjReservation.getDwxm().trim()));
                         if (null != dwDept) {
                             for (TjDwGrouping groupingMan : groupingMans) {
                                 if (null != groupingMan && groupingMan.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingMan.getDwDeptId().equals(dwDept.getId())) {
@@ -482,102 +505,109 @@
                             rightList.add(tjReservation);
                         } else {
                             wrongList.add(tjReservation.getName());
+                            errMsg="鎵�閫夐」鐩悕 涓嶆纭�";
                         }
                     }
-//                }
-//                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());
-//                    }
-//                }
+                    //                }
+                    //                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());
+                    //                    }
+                    //                }
 
-            } else {
-                wrongList.add(tjReservation.getName());
+                } else {
+                    wrongList.add(tjReservation.getName());
+                    errMsg="韬唤璇佸彿/鎵嬫満鍙�/椤圭洰鍚嶄负绌�";
+                }
             }
-        }
-        if (!yyList.isEmpty()) {
-            map.put("list", yyList);
-            map.put("hjMoney", hjMoney);
-            return AjaxResult.error("鎿嶄綔澶辫触,浠ヤ笂浜哄憳宸茬粡棰勭害鏃犻渶瀵煎叆!!!", 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);
+            if (!wrongList.isEmpty()) {
+                map.put("list", wrongList);
+                map.put("hjMoney", hjMoney);
+                return AjaxResult.error("鎿嶄綔澶辫触, 璇疯鐪熸牳瀵逛俊鎭悗閲嶆柊瀵煎叆!!!"+errMsg, 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();
         }
     }
 
@@ -610,7 +640,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();
         }
@@ -743,11 +773,11 @@
         LambdaQueryWrapper<TjGroupingPro> wq = new LambdaQueryWrapper<>();
         wq.eq(TjGroupingPro::getGroupingId, groupingId);
         List<TjGroupingPro> proList = groupingProService.list(wq);
-        if (null != proList && proList.size() > 0) {
+        if (null != proList && !proList.isEmpty()) {
             for (TjGroupingPro groupingPro : proList) {
                 TjProject project = projectService.getById(groupingPro.getProId());
                 if (null != project) {
-                    if (project.getProType() == null || project.getProType().equals("")) {
+                    if (project.getProType() == null || project.getProType().isEmpty()) {
                         groupingPro.setProType("2");
                     } else {
                         groupingPro.setProType(project.getProType());
@@ -947,7 +977,7 @@
                 }
 
 
-                reservation.setPacId(dwDept.getId());
+                reservation.setPacId(dwGrouping.getId());
                 compPay = compPay.add(dwGrouping.getYsPrice());
 //                reservation.setTjType(String.valueOf(1));
                 reservation.setTeamNo(teamNo);
@@ -1014,4 +1044,46 @@
         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