From 4f873f73c5b7a5af020cd71a0062c438771f98e7 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 20 三月 2025 18:02:06 +0800
Subject: [PATCH] zjh20250320

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java |  603 ++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 398 insertions(+), 205 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 a2db689..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
@@ -15,6 +15,7 @@
 import cn.hutool.extra.pinyin.PinyinUtil;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
+import com.alibaba.druid.sql.visitor.functions.Isnull;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -40,10 +41,13 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+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.*;
 import com.ltkj.common.core.controller.BaseController;
 import com.ltkj.common.core.domain.AjaxResult;
@@ -60,6 +64,7 @@
 @RestController
 @RequestMapping("/reservation/reservation")
 @Api(tags = "浣撴棰勭害绠$悊鎺ュ彛")
+@Slf4j
 public class TjReservationController extends BaseController {
     @Resource
     private ITjReservationService tjReservationService;
@@ -85,16 +90,18 @@
     private ITjGroupingProService groupingProService;
     @Resource
     private TjAsyncService asyncService;
-//    @Resource
-//    private OrderDelayService delayService;
     @Autowired
     private TaskService taskService;
-    @Resource
-    private ITjReportTemplateService reportTemplateService;
     @Autowired
     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,59 +110,63 @@
     @ApiOperation(value = "瀵煎嚭excel琛ㄦā鏉�")
     public void importTemplate(HttpServletResponse response) {
         //鍘熸潵鐨勪笅杞芥ā鏉胯皟鐢ㄦ帴鍙�
-        String base64String = PDFBinaryUtil.getPDFBinary("D:\\Tjreport\\瑗垮畨璺嘲鏈虹數绉戞妧鏈夐檺鍏徃.xls");
-        if(null !=base64String){
-            PDFBinaryUtil.base64StringToPDF(base64String, FileUtil.mkdir(value).getPath() + "\\" + "鍥綋棰勭害Excel妯$増.xls");
-            String filePath = value + "\\" + "鍥綋棰勭害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);
         }
     }
-
 
 
     /**
@@ -186,7 +197,7 @@
     public TableDataInfo selectTjReservationByDelete(TjReservation tjReservation) {
         startPage();
         List<TjReservation> list = tjReservationService.selectTjReservationByDelete(tjReservation);
-        if(null !=list && !list.isEmpty()){
+        if (null != list && !list.isEmpty()) {
 //            for (TjReservation reservation : list) {
 //                reservation.setName(MatchUtils.hideCusName(reservation.getName()));
 //                reservation.setPhoe(MatchUtils.hidePhoneNum(reservation.getPhoe()));
@@ -227,7 +238,7 @@
         }
         int grouping = dwGroupingService.selectTjDwGroupingByDwDeptId(dwDeptId);
 
-        if(grouping==0){
+        if (grouping == 0) {
             return AjaxResult.error("璇锋鏌ラ儴闂ㄤ腑鏄惁瀛樺湪鍒嗙粍鎴栧垎缁勪腑鏄惁瀛樺湪椤圭洰!");
         }
 
@@ -239,12 +250,12 @@
         TjDwGrouping groupingWoMan = null;//濂�
         TjDwGrouping groupingWz = null;//鏈煡(涓嶅垎鎬у埆)
         try {
-            groupingMan = dwGroupingService.getOne(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId,dwId)
-                    .eq(TjDwGrouping::getDwDeptId,dwDeptId).eq(TjDwGrouping::getSex, 0));
-            groupingWoMan = dwGroupingService.getOne(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId,dwId)
-                    .eq(TjDwGrouping::getDwDeptId,dwDeptId).eq(TjDwGrouping::getSex, 1));
-            groupingWz = dwGroupingService.getOne(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId,dwId)
-                    .eq(TjDwGrouping::getDwDeptId,dwDeptId).eq(TjDwGrouping::getSex, 2));
+            groupingMan = dwGroupingService.getOne(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId, dwId)
+                    .eq(TjDwGrouping::getDwDeptId, dwDeptId).eq(TjDwGrouping::getSex, 0));
+            groupingWoMan = dwGroupingService.getOne(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId, dwId)
+                    .eq(TjDwGrouping::getDwDeptId, dwDeptId).eq(TjDwGrouping::getSex, 1));
+            groupingWz = dwGroupingService.getOne(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId, dwId)
+                    .eq(TjDwGrouping::getDwDeptId, dwDeptId).eq(TjDwGrouping::getSex, 2));
         } catch (Exception e) {
             return AjaxResult.error("鍒嗙粍淇℃伅鏈夎璇烽噸鏂板垎缁�!");
         }
@@ -254,21 +265,28 @@
         BigDecimal manMoney = new BigDecimal("0.00");
         //濂崇粍閲戦
         BigDecimal woManMoney = new BigDecimal("0.00");
-        int count=0;//鎬昏浜烘暟
-        int manCount=0;//鐢风粍浜烘暟
-        int woManCount=0;//濂崇粍浜烘暟
+        int count = 0;//鎬昏浜烘暟
+        int manCount = 0;//鐢风粍浜烘暟
+        int woManCount = 0;//濂崇粍浜烘暟
         for (TjReservation tjReservation : tjReservations) {
             String idCard = tjReservation.getIdCard();
             String phoe = tjReservation.getPhoe();
             if (null != idCard && null != phoe) {
-//                if (!MatchUtils.isIdCard(idCard) || !MatchUtils.isMobileNO(phoe)) {
+//                if (!MatchUtils.isIdCard(idCard) || !MatchUtils.isMobileNO(phoe));
                 if (idCard.isEmpty() || phoe.isEmpty()) {
                     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"));
+                    try {
+                        tjReservation.setBirthday(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()));
+                    } catch (Exception e) {
+                        return AjaxResult.error("韬唤璇佸彿涓嶆纭�");
+                    }
 
                     if (null != groupingMan && groupingMan.getSex().equals(String.valueOf(tjReservation.getSex()))) {
 
@@ -276,9 +294,11 @@
                         tjReservation.setGroupingName(groupingMan.getGroupingName());
                         tjReservation.setYsPrice(groupingMan.getYsPrice());
                         //鍚堣
-                        hjMoney = hjMoney.add(groupingMan.getYsPrice()); count+=1;
+                        hjMoney = hjMoney.add(groupingMan.getYsPrice());
+                        count += 1;
                         //鐢风粍浜烘暟
-                        manMoney=manMoney.add(groupingMan.getYsPrice()); manCount+=1;
+                        manMoney = manMoney.add(groupingMan.getYsPrice());
+                        manCount += 1;
 
                     } else if (null != groupingWoMan && groupingWoMan.getSex().equals(String.valueOf(tjReservation.getSex()))) {
 
@@ -286,8 +306,10 @@
                         tjReservation.setGroupingName(groupingWoMan.getGroupingName());
                         tjReservation.setYsPrice(groupingWoMan.getYsPrice());
                         //鍚堣
-                        hjMoney = hjMoney.add(groupingWoMan.getYsPrice()); count+=1;
-                        woManMoney=woManMoney.add(groupingWoMan.getYsPrice());woManCount+=1;
+                        hjMoney = hjMoney.add(groupingWoMan.getYsPrice());
+                        count += 1;
+                        woManMoney = woManMoney.add(groupingWoMan.getYsPrice());
+                        woManCount += 1;
 
                     } else if (null != groupingWz && groupingWz.getSex().equals(String.valueOf(tjReservation.getSex()))) {
 
@@ -295,7 +317,8 @@
                         tjReservation.setGroupingName(groupingWz.getGroupingName());
                         tjReservation.setYsPrice(groupingWz.getYsPrice());
                         //鍚堣
-                        hjMoney = hjMoney.add(groupingWz.getYsPrice()); count+=1;
+                        hjMoney = hjMoney.add(groupingWz.getYsPrice());
+                        count += 1;
 
                     }
 
@@ -342,7 +365,7 @@
     @ApiOperation(value = "鍥綋excel琛ㄥ鍏� (鏂扮増鏈笉浼犲崟浣嶉儴闂╥d)")
     @Transactional
     public AjaxResult newExcelImportNotDwDeptId(@RequestPart(value = "file") @ApiParam(value = "Excel鏂囦欢") MultipartFile file,
-                                     @RequestParam @ApiParam(value = "鍗曚綅id") String dwId) {
+                                                @RequestParam @ApiParam(value = "鍗曚綅id") String dwId) {
         List<TjReservation> tjReservations = null;
         try {
             tjReservations = ExcelUtils.readMultipartFile(file, TjReservation.class);
@@ -351,7 +374,7 @@
         }
         int grouping = dwGroupingService.selectTjDwGroupingByDwId(dwId);
 
-        if(grouping==0){
+        if (grouping == 0) {
             return AjaxResult.error("璇锋鏌ヨ鍗曚綅鏄惁瀛樺惁瀛樺湪椤圭洰!");
         }
 
@@ -363,113 +386,228 @@
         List<TjDwGrouping> groupingWoMans = null;//濂�
         List<TjDwGrouping> groupingWzs = null;//鏈煡(涓嶅垎鎬у埆)
         try {
-            groupingMans = dwGroupingService.list(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId,dwId)
+            groupingMans = dwGroupingService.list(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId, dwId)
                     .eq(TjDwGrouping::getSex, 0));
-            groupingWoMans = dwGroupingService.list(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId,dwId)
+            groupingWoMans = dwGroupingService.list(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId, dwId)
                     .eq(TjDwGrouping::getSex, 1));
-            groupingWzs = dwGroupingService.list(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId,dwId)
+            groupingWzs = dwGroupingService.list(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId, dwId)
                     .eq(TjDwGrouping::getSex, 2));
         } catch (Exception e) {
             return AjaxResult.error("鍒嗙粍淇℃伅鏈夎璇烽噸鏂板垎缁�!");
         }
-        //璁$畻鍚堣
-        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;//濂崇粍浜烘暟
-        for (TjReservation tjReservation : tjReservations) {
-            String idCard = tjReservation.getIdCard();
-            String phoe = tjReservation.getPhoe();
-            if (null != idCard && null != phoe) {
-//                if (!MatchUtils.isIdCard(idCard) || !MatchUtils.isMobileNO(phoe)) {
-                if (idCard.isEmpty() || phoe.isEmpty() || null==tjReservation.getDwxm()) {
-                    wrongList.add(tjReservation.getName());
-                } else {
-                    //骞撮緞
-                    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;
-                            }
-                        }
+        try {
+            String sfjysfzh = configService.selectConfigByKey("sfjysfzh");
+            String sfjysjh = configService.selectConfigByKey("sfjysjh");
 
-                        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;
-                                }
+            //璁$畻鍚堣
+            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<>();
 
-                            }
-                        }
-                        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());
+            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(!ids.isEmpty() && ids.contains(tjReservation.getIdCard())){
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        return AjaxResult.error("姝よ韩浠借瘉鍙�: "+tjReservation.getIdCard()+" 閲嶅,璇锋牳瀵瑰悗涓婁紶!");
                     }
 
-                }
-            } else {
-                wrongList.add(tjReservation.getName());
-            }
-        }
-        if (!yyList.isEmpty()) {
-            map.put("list", yyList);
-            map.put("hjMoney", hjMoney);
-            return AjaxResult.error("鎿嶄綔澶辫触,浠ヤ笂浜哄憳宸茬粡棰勭害鏃犻渶瀵煎叆!!!", map);
-        }
+                    ids.add(tjReservation.getIdCard());
 
-        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 (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 {
+
+
+                        tjReservation.setPhoe(phoe);
+
+                        //骞撮緞
+                        tjReservation.setAge(String.valueOf(MatchUtils.getAgeByIdCard(tjReservation.getIdCard())));
+                        //鍑虹敓鏃ユ湡
+                        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().trim()));
+                        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());
+                            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 {
+                    wrongList.add(tjReservation.getName());
+                    errMsg="韬唤璇佸彿/鎵嬫満鍙�/椤圭洰鍚嶄负绌�";
+                }
+            }
+            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("鎿嶄綔澶辫触, 璇疯鐪熸牳瀵逛俊鎭悗閲嶆柊瀵煎叆!!!"+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();
         }
     }
 
@@ -483,18 +621,18 @@
         if (null == tjReservation) return AjaxResult.error();
         if (null == tjReservation.getName()) return AjaxResult.error("濮撳悕涓嶈兘涓虹┖");
         if (null == tjReservation.getReservationTime()) return AjaxResult.error("璇烽�夋嫨棰勭害鏃堕棿");
-        boolean b=true;
-        if(null !=tjReservation.getIdType()){
-            if(tjReservation.getIdType().equals("1")){
-                 b = MatchUtils.isIdCard(tjReservation.getIdCard());
-            }else {
-                 b = MatchUtils.cardValidate(tjReservation.getIdCard(), tjReservation.getIdType());
+        boolean b = true;
+        if (null != tjReservation.getIdType()) {
+            if (tjReservation.getIdType().equals("1")) {
+                b = MatchUtils.isIdCard(tjReservation.getIdCard());
+            } else {
+                b = MatchUtils.cardValidate(tjReservation.getIdCard(), tjReservation.getIdType());
             }
-        }else {
+        } else {
             return AjaxResult.error("璇烽�夋嫨璇佷欢绫诲瀷");
         }
 
-        if(!b) return AjaxResult.error("璇佷欢鍙锋湁璇�");
+        if (!b) return AjaxResult.error("璇佷欢鍙锋湁璇�");
         LambdaQueryWrapper<TjReservation> wq = new LambdaQueryWrapper<>();
         wq.eq(TjReservation::getIdCard, tjReservation.getIdCard());
         wq.eq(TjReservation::getIsExpire, 2);
@@ -502,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();
         }
@@ -512,12 +650,12 @@
         if (tjReservationService.save(tjReservation)) {
 //            delayService.reservation(tjReservation.getId());
             taskService.addTask(new TjReservationTask(tjReservation.getId(),
-                    DateUtil.between(new Date(),DateUtil.endOfDay(tjReservation.getReservationTime()), DateUnit.MS)));
+                    DateUtil.between(new Date(), DateUtil.endOfDay(tjReservation.getReservationTime()), DateUnit.MS)));
             return AjaxResult.success("棰勭害鎴愬姛!!!");
         }
-        LambdaQueryWrapper<TbTransition> remove=new LambdaQueryWrapper<>();
-        remove.between(TbTransition::getCreateTime,DateUtil.offsetMinute(transitionService.getTbTransitionCreateTimeByCusId(tjReservation.getIdCard()),-1),new Date());
-        remove.eq(TbTransition::getCusId,tjReservation.getIdCard());
+        LambdaQueryWrapper<TbTransition> remove = new LambdaQueryWrapper<>();
+        remove.between(TbTransition::getCreateTime, DateUtil.offsetMinute(transitionService.getTbTransitionCreateTimeByCusId(tjReservation.getIdCard()), -1), new Date());
+        remove.eq(TbTransition::getCusId, tjReservation.getIdCard());
         transitionService.remove(remove);
         return AjaxResult.error("棰勭害澶辫触");
     }
@@ -533,12 +671,12 @@
         if (null != tjReservation) {
             if (null != tjReservation.getPacId()) {
                 TjPackage aPackage = packageService.getById(tjReservation.getPacId());
-                if(null !=aPackage){
+                if (null != aPackage) {
                     tjReservation.setPacName(aPackage.getPacName());
                 }
                 TjDwDept dwDept = dwDeptService.getById(tjReservation.getPacId());
 
-                if(null !=dwDept){
+                if (null != dwDept) {
                     tjReservation.setPacName(dwDept.getDwName());
                 }
 
@@ -589,7 +727,8 @@
                 TjReservation reservation = tjReservationService.getById(id);
                 if (null != reservation && reservation.getIsExpire() == 2) {
                     if (tjReservationService.removeById(id)) {
-                        transitionService.remove(new LambdaQueryWrapper<TbTransition>().eq(TbTransition::getCusId, reservation.getIdCard()));
+                        transitionService.remove(new LambdaQueryWrapper<TbTransition>().eq(TbTransition::getCusId, reservation.getIdCard())
+                                .isNull(TbTransition::getTjNum));
                         taskService.removeTask(new TjReservationTask(id));
                     }
                 }
@@ -618,7 +757,7 @@
         if (tjReservationService.updateById(tjReservation)) {
             taskService.removeTask(new TjReservationTask(tjReservation.getId()));
             taskService.addTask(new TjReservationTask(tjReservation.getId(),
-                    DateUtil.between(new Date(),DateUtil.endOfDay(DateUtil.offsetDay(tjReservation.getReservationTime(),reservation.getYxts())), DateUnit.MS)));
+                    DateUtil.between(new Date(), DateUtil.endOfDay(DateUtil.offsetDay(tjReservation.getReservationTime(), reservation.getYxts())), DateUnit.MS)));
             return AjaxResult.success("鎿嶄綔鎴愬姛");
         }
         return AjaxResult.error("鎿嶄綔澶辫触");
@@ -632,15 +771,15 @@
     @ApiOperation(value = "鏍规嵁鍗曚綅id鍜屽洟闃熺紪鍙疯幏鍙栭绾﹁鎯�")
     public AjaxResult getSelectRecordByTeamNo(@RequestParam @ApiParam(value = "鍒嗙粍id") String groupingId) {
         LambdaQueryWrapper<TjGroupingPro> wq = new LambdaQueryWrapper<>();
-        wq.eq(TjGroupingPro::getGroupingId,groupingId);
+        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 (null != project) {
+                    if (project.getProType() == null || project.getProType().isEmpty()) {
                         groupingPro.setProType("2");
-                    }else {
+                    } else {
                         groupingPro.setProType(project.getProType());
                     }
                     groupingPro.setProCheckMethod(project.getProCheckMethod());
@@ -673,10 +812,10 @@
         asyncService.saveNewReservationConfirm(rightList);
 
         //鍥綋浜烘暟鍚堣浠锋牸
-        BigDecimal compPay=new BigDecimal("0.00");
+        BigDecimal compPay = new BigDecimal("0.00");
 
         //鍥綋浜烘暟
-        int tramNum=0;
+        int tramNum = 0;
         if (null != rightList && rightList.size() > 0) {
             String teamNo = PinyinUtil.getFirstLetter(dwDept.getDwName(), "") + DateUtil.format(new Date(), "yyMMddHHmmss");
             for (TjReservation reservation : rightList) {
@@ -706,13 +845,13 @@
 //                }else {
 //                    reservation.setTjType(String.valueOf(2));
 //                }
-                compPay=compPay.add(dwGrouping.getYsPrice());
-                tramNum+=1;
+                compPay = compPay.add(dwGrouping.getYsPrice());
+                tramNum += 1;
                 reservation.setTjType(String.valueOf(1));
                 reservation.setTeamNo(teamNo);
                 reservation.setYxts(dto.getYxts());
                 tjReservationService.save(reservation);
-                taskService.addTask(new TjReservationTask(reservation.getId(),DateUtil.between(new Date(),DateUtil.endOfDay(DateUtil.offsetDay(reservation.getReservationTime(),dto.getYxts())), DateUnit.MS)));
+                taskService.addTask(new TjReservationTask(reservation.getId(), DateUtil.between(new Date(), DateUtil.endOfDay(DateUtil.offsetDay(reservation.getReservationTime(), dto.getYxts())), DateUnit.MS)));
             }
             LambdaQueryWrapper<TjCompPay> wq0 = new LambdaQueryWrapper<>();
             wq0.eq(TjCompPay::getCompId, dwDept.getDwId());
@@ -747,7 +886,7 @@
                 recordServiceOne.setCount(tramNum);
                 recordServiceOne.setDifference(compPay);
                 selectRecordService.updateById(recordServiceOne);
-            }else {
+            } else {
                 TjTeamSelectRecord selectRecord = new TjTeamSelectRecord();
                 selectRecord.setCompId(dwDept.getDwId());
                 selectRecord.setPacId(dwDept.getId());
@@ -789,13 +928,23 @@
         String teamNo = PinyinUtil.getFirstLetter(comp.getCnName(), "") + DateUtil.format(date, "yyMMddHHmmss");
 
         //鍥綋浜烘暟鍚堣浠锋牸
-        BigDecimal compPay=new BigDecimal("0.00");
+        BigDecimal compPay = new BigDecimal("0.00");
 
         String payTypeGlTjType = configService.selectConfigByKey("reservation_pay_type_gl_tj_type");
         JSONObject parseObj = JSONUtil.parseObj(payTypeGlTjType);
         if (null != rightList && !rightList.isEmpty()) {
 
+            List<String> ids=new ArrayList<>();
+
             for (TjReservation reservation : rightList) {
+
+                if(!ids.isEmpty() && ids.contains(reservation.getIdCard())){
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return AjaxResult.error("姝よ韩浠借瘉鍙�: "+reservation.getIdCard()+" 閲嶅,璇锋牳瀵瑰悗涓婁紶!");
+
+                }
+                reservation.setName(reservation.getName().replaceAll("銆�","").replaceAll(" ",""));
+                ids.add(reservation.getIdCard());
 
                 TjDwGrouping dwGrouping = dwGroupingService.getById(reservation.getGroupingId());
 
@@ -817,29 +966,29 @@
                 reservation.setCompany(dwGrouping.getDwName());
                 reservation.setPayType(Long.valueOf(dwGrouping.getPayType()));
                 LambdaQueryWrapper<SysDictData> wrapper = new LambdaQueryWrapper<>();
-                wrapper.eq(SysDictData::getDictType,"reservation_pay_type");
-                wrapper.eq(SysDictData::getDictValue,reservation.getPayType());
+                wrapper.eq(SysDictData::getDictType, "reservation_pay_type");
+                wrapper.eq(SysDictData::getDictValue, reservation.getPayType());
                 SysDictData dictData = dictDataService.getOne(wrapper);
                 for (Map.Entry<String, Object> entry : parseObj.entrySet()) {
                     String[] split = entry.getValue().toString().split("-");
-                    if (split[0].equals(String.valueOf(dictData.getDictCode()))){
+                    if (split[0].equals(String.valueOf(dictData.getDictCode()))) {
                         reservation.setTjType(dictDataService.selectDictDataById(Long.valueOf(split[1])).getDictValue());
                     }
                 }
 
 
-                reservation.setPacId(dwDept.getId());
-                compPay=compPay.add(dwGrouping.getYsPrice());
+                reservation.setPacId(dwGrouping.getId());
+                compPay = compPay.add(dwGrouping.getYsPrice());
 //                reservation.setTjType(String.valueOf(1));
                 reservation.setTeamNo(teamNo);
                 reservation.setYxts(dto.getYxts());
                 tjReservationService.save(reservation);
                 taskService.addTask(new TjReservationTask(reservation.getId(),
-                        DateUtil.between(date,DateUtil.endOfDay(DateUtil.offsetDay(reservation.getReservationTime(),dto.getYxts())), DateUnit.MS)));
+                        DateUtil.between(date, DateUtil.endOfDay(DateUtil.offsetDay(reservation.getReservationTime(), dto.getYxts())), DateUnit.MS)));
             }
 
             LambdaQueryWrapper<TjCompPay> wq0 = new LambdaQueryWrapper<>();
-            wq0.eq(TjCompPay::getCompId,dto.getDwId());
+            wq0.eq(TjCompPay::getCompId, dto.getDwId());
             wq0.eq(TjCompPay::getTeamNo, teamNo);
             TjCompPay one = compPayService.getOne(wq0);
             if (null != one) {
@@ -860,13 +1009,15 @@
                 compPayService.save(tjCompPay);
             }
 
+//            .filter(a-> null != a.getPacId())
+
             Map<String, List<TjReservation>> collect = rightList.stream().collect(Collectors.groupingBy(TjReservation::getPacId));
 
-            if(!collect.isEmpty()){
+            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::getCompId,dto.getDwId());
+                    wq.eq(TjTeamSelectRecord::getCompId, dto.getDwId());
                     TjTeamSelectRecord recordServiceOne = selectRecordService.getOne(wq);
                     if (null != recordServiceOne) {
                         recordServiceOne.setPacId(entry.getKey());
@@ -876,7 +1027,7 @@
                         recordServiceOne.setCount(entry.getValue().size());
                         recordServiceOne.setDifference(compPay);
                         selectRecordService.updateById(recordServiceOne);
-                    }else {
+                    } else {
                         TjTeamSelectRecord selectRecord = new TjTeamSelectRecord();
                         selectRecord.setCompId(dto.getDwId());
                         selectRecord.setPacId(entry.getKey());
@@ -893,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