From 1bf6cb4c0bfc149737afa37a1df1c809b29c6139 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期二, 10 六月 2025 13:57:43 +0800
Subject: [PATCH] 点检测试修改

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java |  193 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 175 insertions(+), 18 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java
index b2218d8..f84630f 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java
@@ -11,9 +11,11 @@
 import org.apache.poi.ss.usermodel.*;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.dto.message.MessageDTO;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.system.api.ISysBaseAPI;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
@@ -21,6 +23,8 @@
 import org.jeecg.modules.eam.entity.*;
 import org.jeecg.modules.eam.service.*;
 import org.jeecg.modules.eam.vo.InspectionStandardImportVo;
+import org.jeecg.modules.system.entity.*;
+import org.jeecg.modules.system.service.*;
 import org.jeecgframework.poi.excel.entity.ImportParams;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -29,6 +33,7 @@
 import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.servlet.ModelAndView;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
@@ -64,6 +69,19 @@
 
     @Autowired
     private IInspectionCycleService inspectionCycleService;
+
+    @Autowired
+    private ISysBaseAPI sysBaseApi;
+    @Autowired
+    private ISysUserService sysUserService;
+    @Resource
+    private ISysRoleService sysRoleService;
+    @Resource
+    private ISysDictService sysDictService;
+    @Resource
+    private ISysDictItemService sysDictItemService;
+    @Resource
+    private ISysUserRoleService sysUserRoleService;
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
      *
@@ -129,6 +147,7 @@
     public Result<String> add(@RequestBody DailyInspectionStandard dailyInspectionStandard) {
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         dailyInspectionStandard.setWritePerson(sysUser.getRealname());
+        dailyInspectionStandard.setAssignMode("1");
         dailyInspectionStandardService.save(dailyInspectionStandard);
         List<DailyInspectionStandardDetail> dailyInspectionStandardDetaillist = dailyInspectionStandard.getDailyInspectionStandardDetaillist();
         DailyInspectionStandardDetail isd = null;
@@ -141,6 +160,8 @@
             isd.setInspectionCycleId(dailyInspectionStandardDetail.getInspectionCycleId());
             dailyInspectionStandardDetailService.save(isd);
         }
+        //娑堟伅鎻愰啋
+        this.inspectionStandardAlert(dailyInspectionStandard.getApprovalStatus(),dailyInspectionStandard.getNum());
         return Result.OK("娣诲姞鎴愬姛锛�");
     }
 
@@ -178,6 +199,8 @@
             isd.setInspectionCycleId(dailyInspectionStandardDetail.getInspectionCycleId());
             dailyInspectionStandardDetailService.save(isd);
         }
+        //娑堟伅鎻愰啋
+        this.inspectionStandardAlert(dailyInspectionStandard.getApprovalStatus(),dailyInspectionStandard.getNum());
         return Result.OK("缂栬緫鎴愬姛!");
     }
 
@@ -268,9 +291,11 @@
         int successLines = 0, errorLines = 0;
         //a = 1寮�濮嬭鍙栫偣妫�椤圭洰锛沚 = 1寮�濮嬭鍙栧懆淇濆吇椤圭洰锛沜 = 1璇ヨ澶囧鍏ヤ俊鎭瓨鍦ㄩ敊璇紱projectColumnIndex鐐规椤圭洰鎵�鍦ㄥ垪锛沵aintenanceColumnIndex鍛ㄤ繚鍏婚」鐩墍鍦ㄥ垪
         int a = 0,b = 0,c = 0,projectColumnIndex = -1,maintenanceColumnIndex = 0;
+        //琛ㄥご鏍囬
+        String title = "";
         String dailyInspectionStandardId = null;
         String equipmentNum = null;
-        DailyInspectionStandard dailyInspectionStandard = new DailyInspectionStandard();
+        DailyInspectionStandard dailyInspectionStandard = null;
         List<DailyInspectionStandardDetail> dailyInspectionStandardDetailList = new ArrayList<>();
         for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
             MultipartFile file = entity.getValue();
@@ -292,18 +317,26 @@
                         Sheet sheet = workbook.getSheetAt(i);
                         for (Row row : sheet) {
                             // 閬嶅巻姣忎竴涓崟鍏冩牸
-                            for (Cell cell : row) {
+//                            for (Cell cell : row) {
+                            for(int j = 0;j < 5;j++){
                                 // 澶勭悊鍗曞厓鏍兼暟鎹紝渚嬪杈撳嚭鍗曞厓鏍肩殑鍊�
+                                Cell cell = row.getCell(j);
+//                                if("STRING".equals(cell.getCellType().toString())|| "BLANK".equals(cell.getCellType().toString())){
                                 if("STRING".equals(cell.getCellType().toString())|| "BLANK".equals(cell.getCellType().toString())){
                                     //鐐规鍛ㄦ湡瀛樺湪锛屽垽鏂澶囩粺涓�缂栫爜鏄惁瀛樺湪
-                                    if(cell.getStringCellValue().contains("璁惧鍚嶇О锛�")){
-                                        String[] tybh1  = cell.getStringCellValue().split("缁熶竴缂栧彿锛�");
+                                    String strCell = cell.getStringCellValue();
+                                    if(strCell.contains("鐢熶骇璁惧鑷富缁存姢鐐规琛�")){
+                                        title = strCell.trim().substring(11).trim();
+                                    }
+                                    if(strCell.contains("璁惧鍚嶇О锛�")){
+                                        String[] tybh1  = strCell.split("缁熶竴缂栧彿锛�");
                                         String[] tybh2 = tybh1[1].split("骞�");
-                                        equipmentNum = tybh2[0].trim().substring(0,tybh2[0].trim().length()-4).trim();
+//                                        equipmentNum = tybh2[0].trim().substring(0,tybh2[0].trim().length()-4).trim();
+                                        equipmentNum = tybh2[0].trim();
                                         /*String year =  tybh2[0].trim().substring(tybh2[0].trim().length()-4,tybh2[0].trim().length()).trim();
                                         String[] month1 = tybh2[1].split("鏈�");
                                         String month = month1[0].trim();
-                                        String[] unit1 = cell.getStringCellValue().split("鍗曚綅锛�");
+                                        String[] unit1 = strCell.split("鍗曚綅锛�");
                                         String unit = unit1[1].trim();*/
                                         Equipment equipment = equipmentService.lambdaQuery().eq(Equipment::getNum,equipmentNum).eq(Equipment::getDelFlag, CommonConstant.DEL_FLAG_0).one();
                                         if(equipment == null){
@@ -319,12 +352,15 @@
                                                 errorLines++;
                                             }else {
                                                 c = 0;
-                                                dailyInspectionStandard.setNum(identityService.getNumByTypeAndLength("DailylnspectionStandard",4));
+                                                String num = identityService.getNumByTypeAndLength("DailylnspectionStandard", 4);
+                                                dailyInspectionStandard = new DailyInspectionStandard();
+                                                dailyInspectionStandard.setNum(num);
                                                 dailyInspectionStandard.setVersionStatus("2");
                                                 dailyInspectionStandard.setVersion("1.0");
                                                 dailyInspectionStandard.setAssignMode("1");
                                                 dailyInspectionStandard.setEquipmentId(equipment.getId());
-                                                dailyInspectionStandard.setApprovalStatus("1");
+                                                dailyInspectionStandard.setApprovalStatus("5");
+                                                dailyInspectionStandard.setDisUda1(title);
                                                 //dailyInspectionStandardService.save(dailyInspectionStandard);
                                                 //dailyInspectionStandardId = dailyInspectionStandard.getId();
                                             }
@@ -333,23 +369,24 @@
                                     }
                                     //璁惧缁熶竴缂栫爜瀛樺湪锛屽垽鏂偣妫�椤圭洰鏄惁瀛樺湪
                                     if(c == 0){
-                                        System.out.print(cell.getStringCellValue() + "\t");
-                                        if(cell.getStringCellValue().contains("鐐规椤圭洰")){
+                                        System.out.print(strCell + "\t");
+                                        if(strCell.contains("鐐规椤圭洰")){
                                             a = 1;
                                             projectColumnIndex = cell.getColumnIndex();
                                             break;
                                         }
-                                        if(cell.getStringCellValue().contains("缁存姢璐d换浜虹瀛�")){
+                                        if(strCell.contains("缁存姢璐d换浜虹瀛�")){
                                             a = 0;
                                         }
                                         if(projectColumnIndex == cell.getColumnIndex() && a == 1){
                                             DailyInspectionStandardDetail dailyInspectionStandardDetail = new DailyInspectionStandardDetail();
                                             dailyInspectionStandardDetail.setDailyInspectionStandardId(dailyInspectionStandardId);
                                             String dayInspectionProjectName = row.getCell(projectColumnIndex).toString();
-                                            String standard = row.getCell(projectColumnIndex+1).toString();
-                                            //鏌ヨ鐐瑰嚮椤圭洰锛屽鏋滄病鏈夋柊澧炵偣妫�椤圭洰
+                                            String standard = row.getCell(projectColumnIndex+3).toString();
+                                            //鏌ヨ鐐规椤圭洰锛屽鏋滄病鏈夋柊澧炵偣妫�椤圭洰
                                             if(StringUtils.isNotBlank(dayInspectionProjectName)){
-                                                List<InspectionProject> inspectionProjectList = inspectionProjectService.lambdaQuery().eq(InspectionProject::getName,dayInspectionProjectName).eq(InspectionProject::getDelFlag,CommonConstant.DEL_FLAG_0).list();
+                                                List<InspectionProject> inspectionProjectList = inspectionProjectService.lambdaQuery().eq(InspectionProject::getName,dayInspectionProjectName)
+                                                        .eq(InspectionProject::getDetectionStandard,standard).eq(InspectionProject::getDelFlag,CommonConstant.DEL_FLAG_0).list();
                                                 if(CollectionUtils.isEmpty(inspectionProjectList)){
                                                     InspectionProject inspectionProject = new InspectionProject();
                                                     inspectionProject.setNum(identityService.getNumByTypeAndLength("InspectionProject",4));
@@ -371,12 +408,13 @@
                                             }
                                             break;
                                         }
-                                        if(cell.getStringCellValue().contains("鍛ㄤ繚鍏婚」鐩�")){
+
+                                        if(strCell.contains("鍛ㄤ繚鍏婚」鐩�")){
                                             b = 1;
                                             maintenanceColumnIndex = cell.getColumnIndex();
                                             break;
                                         }
-                                        if(cell.getStringCellValue().contains("鍛ㄤ繚鍏绘搷浣滆�呮墽琛�")){
+                                        if(strCell.contains("鍛ㄤ繚鍏绘搷浣滆�呮墽琛�")){
                                             b = 0;
                                             dailyInspectionStandardService.save(dailyInspectionStandard);
                                             for(DailyInspectionStandardDetail dailyInspectionStandardDetail : dailyInspectionStandardDetailList){
@@ -391,9 +429,10 @@
                                             DailyInspectionStandardDetail dailyInspectionStandardDetail = new DailyInspectionStandardDetail();
                                             dailyInspectionStandardDetail.setDailyInspectionStandardId(dailyInspectionStandardId);
                                             String weekInspectionProjectName = row.getCell(maintenanceColumnIndex).toString();
-                                            String inspectionStandardName = row.getCell(maintenanceColumnIndex+1).toString();
+                                            String inspectionStandardName = row.getCell(maintenanceColumnIndex+3).toString();
                                             if(StringUtils.isNotBlank(weekInspectionProjectName)){
-                                                List<InspectionProject> inspectionProjectList = inspectionProjectService.lambdaQuery().eq(InspectionProject::getName,weekInspectionProjectName).eq(InspectionProject::getDelFlag,CommonConstant.DEL_FLAG_0).list();
+                                                List<InspectionProject> inspectionProjectList = inspectionProjectService.lambdaQuery().eq(InspectionProject::getName,weekInspectionProjectName)
+                                                        .eq(InspectionProject::getDetectionStandard,inspectionStandardName).eq(InspectionProject::getDelFlag,CommonConstant.DEL_FLAG_0).list();
                                                 if(CollectionUtils.isEmpty(inspectionProjectList)){
                                                     InspectionProject inspectionProject = new InspectionProject();
                                                     inspectionProject.setNum(identityService.getNumByTypeAndLength("InspectionProject",4));
@@ -455,6 +494,7 @@
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         dailyInspectionStandard.setWritePerson(sysUser.getRealname());
         dailyInspectionStandard.setId("");
+        dailyInspectionStandard.setAssignMode("1");
         dailyInspectionStandard.setApprovalStatus("1");
         dailyInspectionStandard.setCreateTime(new Date());
         dailyInspectionStandard.setTakeEffectTime(null);
@@ -544,6 +584,15 @@
                 standard.setLoseEfficacyPerson(sysUser.getRealname());
                 dailyInspectionStandardService.updateById(standard);
             }
+            List<DailyInspectionStandard> list = dailyInspectionStandardService.lambdaQuery()
+                    .eq(DailyInspectionStandard::getEquipmentId, dailyInspectionStandard.getEquipmentId())
+                    .eq(DailyInspectionStandard::getVersionStatus, "2").list();
+            for (DailyInspectionStandard inspectionStandard : list) {
+                inspectionStandard.setVersionStatus("3");
+                inspectionStandard.setLoseEfficacyTime(new Date());
+                inspectionStandard.setLoseEfficacyPerson(sysUser.getRealname());
+                dailyInspectionStandardService.updateById(inspectionStandard);
+            }
             dailyInspectionStandard.setApprovalPerson(sysUser.getRealname());
             dailyInspectionStandard.setVersionStatus("2");
             dailyInspectionStandard.setTakeEffectTime(new Date());
@@ -552,9 +601,117 @@
         }
         boolean b = dailyInspectionStandardService.updateById(dailyInspectionStandard);
         if (b){
+            if(!"5".equals(approvalStatus)){//宸茬紪鍒�
+                this.inspectionStandardAlert(approvalStatus,dailyInspectionStandard.getNum());
+            }
+
             return Result.OK("瀹℃牳鎴愬姛!");
         }else{
             return Result.error("瀹℃牳澶辫触!");
         }
     }
+
+    /**
+     *鐐规鏍囧噯绛惧娴佺▼娑堟伅鎻愰啋
+     * qsw 2024-3-11
+     */
+    void inspectionStandardAlert(String approvalStatus,String standardNum){
+
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        SysDict sysDict = sysDictService.getOne(new QueryWrapper<SysDict>().eq("dict_code","info_type"),false);
+        SysDictItem sysDictItem = null;
+        String roleDictItem = "";
+        if("1".equals(approvalStatus)){//宸茬紪鍒�
+            roleDictItem = "鐐规鏍囧噯瀹℃牳";
+            sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
+                    .eq("item_text","鐐规鏍囧噯瀹℃牳")
+                    .eq("dict_id",sysDict.getId()),false);
+        }else if("2".equals(approvalStatus)){//椹冲洖缂栧埗
+            roleDictItem = "鐐规鏍囧噯缂栧埗";
+            sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
+                    .eq("item_text","鐐规鏍囧噯缂栧埗")
+                    .eq("dict_id",sysDict.getId()),false);
+        }else if("3".equals(approvalStatus)){//宸插鏍�
+            roleDictItem = "鐐规鏍囧噯瀹℃壒";
+            sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
+                    .eq("item_text","鐐规鏍囧噯瀹℃壒")
+                    .eq("dict_id",sysDict.getId()),false);
+        }else if("4".equals(approvalStatus)){//椹冲洖瀹℃牳
+            roleDictItem = "鐐规鏍囧噯瀹℃牳";
+            sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
+                    .eq("item_text","鐐规鏍囧噯瀹℃牳")
+                    .eq("dict_id",sysDict.getId()),false);
+        }
+//        else if("5".equals(approvalStatus)){//閫氳繃
+//            roleDictItem = "鐐规鏍囧噯瀹℃壒";
+//            sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
+//                    .eq("item_text","鐐规鏍囧噯瀹℃壒")
+//                    .eq("dict_id",sysDict.getId()),false);
+//        }
+        String roleCode = sysDictItem.getItemValue();
+        SysRole sysRole = sysRoleService.getOne(new QueryWrapper<SysRole>().eq("role_code",roleCode),false);
+        List<SysUserRole> sysUserRoles = sysUserRoleService.list(new QueryWrapper<SysUserRole>().eq("role_id",sysRole.getId()));
+        for(SysUserRole sysUserRole:sysUserRoles){
+            SysUser user = sysUserService.getById(sysUserRole.getUserId());
+            String msg = "";
+            if("1".equals(approvalStatus)){
+                msg = "銆�"+sysUser.getRealname()+"銆�"+"灏嗐��"+standardNum+"銆戠殑鑷富缁存姢鐐规鏍囧噯缂栧埗鎴愬姛锛岃鍒拌嚜涓荤淮鎶ょ偣妫�鏍囧噯椤甸潰瀹℃牳锛�";
+            }else if("2".equals(approvalStatus)){
+                msg = "銆�"+sysUser.getRealname()+"銆�"+"灏嗐��"+standardNum+"銆戠殑鑷富缁存姢鐐规鏍囧噯宸查┏鍥烇紝璇峰埌鑷富缁存姢鐐规鏍囧噯椤甸潰鏌ョ湅锛�";
+            }else if("3".equals(approvalStatus)){
+                msg = "銆�"+sysUser.getRealname()+"銆�"+"灏嗐��"+standardNum+"銆戠殑鑷富缁存姢鐐规鏍囧噯瀹℃牳閫氳繃锛岃鍒拌嚜涓荤淮鎶ょ偣妫�鏍囧噯椤甸潰瀹℃壒锛�";
+            }else if("4".equals(approvalStatus)){
+                msg = "銆�"+sysUser.getRealname()+"銆�"+"灏嗐��"+standardNum+"銆戠殑鑷富缁存姢鐐规鏍囧噯宸查┏鍥烇紝璇峰埌鑷富缁存姢鐐规鏍囧噯椤甸潰鏌ョ湅锛�";
+            }
+//            else if("5".equals(approvalStatus)){
+//                msg = "銆�"+sysUser.getRealname()+"銆�"+"灏嗕簩绾т繚鍏诲伐鍗曞彿銆�"+standardNum+"銆戠殑瀹屽伐绉讳氦鍗曠‘璁ら�氳繃锛岃鍒颁簩绾т繚鍏婚〉闈㈡煡鐪嬶紒";
+//            }
+            MessageDTO messageDTO = new MessageDTO();
+            messageDTO.setTitle("鑷富缁存姢鐐规鏍囧噯绛惧娑堟伅鎻愰啋锛�");
+            messageDTO.setContent(msg);
+            messageDTO.setCategory(roleDictItem);
+            messageDTO.setFromUser("鑷富缁存姢鐐规鏍囧噯绛惧娑堟伅鎻愰啋鎻愰啋灏忓姪鎵�");
+            if(user != null){
+                messageDTO.setToUser(user.getUsername());
+            }
+            sysBaseApi.sendSysAnnouncement(messageDTO);
+        }
+    }
+
+
+    /**
+     * 鎵归噺 绛惧娴佺▼
+     * qsw 2023-12-12
+     */
+    @RequestMapping(value = "/auditApprovalBatch", method = {RequestMethod.PUT,RequestMethod.POST})
+    @Transactional(rollbackFor = { Exception.class })
+    public Result<String> auditApprovalBatch(@RequestBody DailyInspectionStandard dailyInspectionStandard) {
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+
+        List<DailyInspectionStandard> dailyInspectionStandardlist = dailyInspectionStandard.getDailyInspectionStandardlist();
+        for (DailyInspectionStandard inspectionStandard : dailyInspectionStandardlist) {
+            String approvalStatus = inspectionStandard.getApprovalStatus();
+            if("5".equals(approvalStatus)){//瀹℃牳閫氳繃鍚庯紝鐗堟湰鐢熸晥
+                List<DailyInspectionStandard> dailyInspectionStandards = dailyInspectionStandardService.lambdaQuery()
+                        .eq(DailyInspectionStandard::getNum, inspectionStandard.getNum())
+                        .eq(DailyInspectionStandard::getVersionStatus, "2").list();
+                for (DailyInspectionStandard standard : dailyInspectionStandards) {
+                    standard.setVersionStatus("3");
+                    standard.setLoseEfficacyTime(new Date());
+                    standard.setLoseEfficacyPerson(sysUser.getRealname());
+                    dailyInspectionStandardService.updateById(standard);
+                }
+                inspectionStandard.setApprovalPerson(sysUser.getRealname());
+                inspectionStandard.setVersionStatus("2");
+                inspectionStandard.setTakeEffectTime(new Date());
+            }else if("3".equals(approvalStatus)){
+                inspectionStandard.setAuditPerson(sysUser.getRealname());
+            }
+            boolean b = dailyInspectionStandardService.updateById(inspectionStandard);
+            if (!b){
+                return Result.error("瀹℃牳澶辫触!");
+            }
+        }
+        return Result.OK("瀹℃牳鎴愬姛!");
+    }
 }

--
Gitblit v1.9.3