From 7a90b194a7d1a213d01c323fd90ef5afbdeb4ea7 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期二, 10 六月 2025 16:21:02 +0800
Subject: [PATCH] 保养修改

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java |  449 +++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 366 insertions(+), 83 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java
index 3606d73..f0a7b70 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java
@@ -13,6 +13,7 @@
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.apache.poi.xwpf.usermodel.*;
 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;
@@ -21,7 +22,10 @@
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.eam.entity.*;
+import org.jeecg.modules.eam.model.MaintenanceCycleVo;
 import org.jeecg.modules.eam.service.*;
+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.context.annotation.Lazy;
@@ -31,6 +35,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;
@@ -95,6 +100,16 @@
 //    private IUploadService uploadService;
     @Autowired
     private ISysBaseAPI sysBaseApi;
+    @Autowired
+    private ISysUserService sysUserService;
+    @Resource
+    private ISysRoleService sysRoleService;
+    @Resource
+    private ISysDictService sysDictService;
+    @Resource
+    private ISysDictItemService sysDictItemService;
+    @Resource
+    private ISysUserRoleService sysUserRoleService;
 
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
@@ -136,12 +151,22 @@
 
 
     /**
-     * 鏃ュ父淇濆吇宸ュ崟鍒涘缓  缁勪欢閫氳繃浣跨敤閮ㄩ棬杩囨护鑾峰彇淇濆吇鏍囧噯
+     * 浜屼繚  缁勪欢閫氳繃浣跨敤閮ㄩ棬杩囨护鑾峰彇淇濆吇鏍囧噯
      * qsw 2023-4-26
      */
     @GetMapping("getMaintenanceStandard2List")
     public Result<?> getMaintenanceStandard2List(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) {
         IPage<Map<String, Object>> maintenanceStandardList = maintenanceStandardService.getMaintenanceStandard2List(pageNo, pageSize, params);
+        return Result.ok(maintenanceStandardList);
+    }
+
+    /**
+     * 涓変繚  缁勪欢閫氳繃浣跨敤閮ㄩ棬杩囨护鑾峰彇淇濆吇鏍囧噯
+     * qsw 2023-12-12
+     */
+    @GetMapping("getMaintenanceStandard3List")
+    public Result<?> getMaintenanceStandard3List(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) {
+        IPage<Map<String, Object>> maintenanceStandardList = maintenanceStandardService.getMaintenanceStandard3List(pageNo, pageSize, params);
         return Result.ok(maintenanceStandardList);
     }
 
@@ -158,14 +183,50 @@
     @Transactional(rollbackFor = {Exception.class})
     public Result<String> add(@RequestBody MaintenanceStandard maintenanceStandard) {
 //        maintenanceStandard.setType("daily");
+
+        String maintenanceType = maintenanceStandard.getMaintenanceType();
+        String equipmentId = maintenanceStandard.getEquipmentId();
+        List<MaintenanceStandard> maintenanceStandards = maintenanceStandardService.lambdaQuery()
+                .eq(MaintenanceStandard::getEquipmentId, equipmentId)
+                .eq(MaintenanceStandard::getMaintenanceType, maintenanceType)
+                .eq(MaintenanceStandard::getDelFlag, "0")
+                .eq(MaintenanceStandard::getVersionStatus, "2").list();
+        if(maintenanceStandards.size() > 0){
+            return Result.error("淇濆吇鏍囧噯宸插瓨鍦ㄤ笉鍏佽閲嶅鎻愪氦锛�");
+        }
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         maintenanceStandard.setWritePerson(sysUser.getRealname());
+        maintenanceStandard.setAssignMode("1");
         maintenanceStandardService.save(maintenanceStandard);
+
+        List<MaintenanceCycleVo> maintenanceCycle = null;
+        if("2".equals(maintenanceType)){
+
+            maintenanceCycle = maintenanceStandardService.getPeriodic2MaintenanceCycle(maintenanceStandard.getMaintenanceType());
+            if(maintenanceCycle.size()==0){
+                return Result.error("娌℃湁鎵惧埌鐨勪簩淇濅繚鍏诲懆鏈燂紝璇峰厛缁存姢淇濆吇鍛ㄦ湡!");
+            }
+        }else{
+            Equipment equipment = equipmentService.getById(maintenanceStandard.getEquipmentId());
+            maintenanceCycle = maintenanceStandardService.getPeriodic3MaintenanceCycle(equipment.getEquipmentImportanceId(), maintenanceStandard.getMaintenanceType());
+            if(maintenanceCycle.size()==0){
+                return Result.error("娌℃湁鎵惧埌鐨勪笁淇濅繚鍏诲懆鏈燂紝璇峰厛缁存姢淇濆吇鍛ㄦ湡!");
+            }
+        }
+
         List<MaintenanceStandardDetail> maintenanceStandardDetaillist = maintenanceStandard.getMaintenanceStandardDetaillist();
         for (MaintenanceStandardDetail maintenanceStandardDetail : maintenanceStandardDetaillist) {
+            if(maintenanceCycle.size() > 0){
+                maintenanceStandardDetail.setMaintenanceCycleId(maintenanceCycle.get(0).getValue());
+            }
             maintenanceStandardDetail.setMaintenanceStandardId(maintenanceStandard.getId());
             maintenanceStandardDetail.setPhoto(maintenanceStandardDetail.getPhoto());
             maintenanceStandardDetailService.saveOrUpdate(maintenanceStandardDetail);
+        }
+        if("2".equals(maintenanceType)){
+            this.maintenance2StandardAlert(maintenanceStandard.getApprovalStatus(),maintenanceStandard.getNum());
+        }else{
+            this.maintenance3StandardAlert(maintenanceStandard.getApprovalStatus(),maintenanceStandard.getNum());
         }
         return Result.OK("娣诲姞鎴愬姛锛�");
     }
@@ -190,10 +251,39 @@
             maintenanceStandardDetailService.updateById(dailyInspectionStandardDetail);
         }
         //2.閲嶆柊鎸佷箙淇濆吇椤圭洰
+//        Equipment equipment = equipmentService.getById(maintenanceStandard.getEquipmentId());
+//        List<MaintenanceCycleVo> maintenanceCycle = maintenanceStandardService.getPeriodicMaintenanceCycle(equipment.getEquipmentImportanceId(), maintenanceStandard.getMaintenanceType());
+        List<MaintenanceCycleVo> maintenanceCycle = null;
+        if("2".equals(maintenanceStandard.getMaintenanceType())){
+
+            maintenanceCycle = maintenanceStandardService.getPeriodic2MaintenanceCycle(maintenanceStandard.getMaintenanceType());
+            if(maintenanceCycle.size()==0){
+                return Result.error("娌℃湁鎵惧埌鐨勪簩淇濅繚鍏诲懆鏈燂紝璇峰厛缁存姢淇濆吇鍛ㄦ湡!");
+            }
+        }else{
+            Equipment equipment = equipmentService.getById(maintenanceStandard.getEquipmentId());
+            maintenanceCycle = maintenanceStandardService.getPeriodic3MaintenanceCycle(equipment.getEquipmentImportanceId(), maintenanceStandard.getMaintenanceType());
+            if(maintenanceCycle.size()==0){
+                return Result.error("娌℃湁鎵惧埌鐨勪笁淇濅繚鍏诲懆鏈燂紝璇峰厛缁存姢淇濆吇鍛ㄦ湡!");
+            }
+        }
+
+
+        if(maintenanceCycle.size()==0){
+            return Result.OK("娌℃湁鎵惧埌鐨勪繚鍏诲懆鏈燂紝璇峰厛缁存姢淇濆吇鍛ㄦ湡!");
+        }
         List<MaintenanceStandardDetail> maintenanceStandardDetails = maintenanceStandard.getMaintenanceStandardDetaillist();
         for (MaintenanceStandardDetail maintenanceStandardDetail : maintenanceStandardDetails) {
+            if(maintenanceCycle.size() > 0){
+                maintenanceStandardDetail.setMaintenanceCycleId(maintenanceCycle.get(0).getValue());
+            }
             maintenanceStandardDetail.setMaintenanceStandardId(maintenanceStandard.getId());
             maintenanceStandardDetailService.saveOrUpdate(maintenanceStandardDetail);
+        }
+        if("2".equals(maintenanceStandard.getMaintenanceType())){
+            this.maintenance2StandardAlert(maintenanceStandard.getApprovalStatus(),maintenanceStandard.getNum());
+        }else{
+            this.maintenance3StandardAlert(maintenanceStandard.getApprovalStatus(),maintenanceStandard.getNum());
         }
         return Result.OK("缂栬緫鎴愬姛!");
     }
@@ -278,6 +368,7 @@
         LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
         Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
         String exceptionInfo = "";
+        String msgInfo = "";
         int exceptionNum = 0;
         for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
             MultipartFile file = entity.getValue();
@@ -302,21 +393,27 @@
                                     equipmentNum =cellEquipmentNum.getText();
                                     equipment = equipmentService.getOne(new QueryWrapper<Equipment>().eq("num",equipmentNum).eq("del_flag",0),false);
                                     if(ObjectUtils.isNotNull(equipment)){
-                                        maintenanceStandard = maintenanceStandardService.getOne(new QueryWrapper<MaintenanceStandard>().eq("version_status",2).eq("del_flag",0).eq("equipment_id",equipment.getId()),false);
+                                        maintenanceStandard = maintenanceStandardService.getOne(new QueryWrapper<MaintenanceStandard>().eq("maintenance_type","2").eq("version_status","2").eq("del_flag",0).eq("equipment_id",equipment.getId()),false);
                                         if(ObjectUtils.isNull(maintenanceStandard)){
                                             maintenanceStandard = new MaintenanceStandard();
                                             maintenanceStandard.setNum(sysIdentityService.getNumByTypeAndLength("DailyMaintenanceStandard",4));
                                             maintenanceStandard.setEquipmentId(equipment.getId());
                                             maintenanceStandard.setAssignMode("1");
                                             maintenanceStandard.setVersion("1.0");
+                                            maintenanceStandard.setType("daily");
+                                            maintenanceStandard.setMaintenanceType("2");
                                             maintenanceStandard.setVersionStatus("2");
+                                            maintenanceStandard.setDelFlag(0);
+                                            maintenanceStandard.setApprovalStatus("5");
                                             maintenanceStandardService.save(maintenanceStandard);
                                         }
                                         else {
+                                            msgInfo += equipment.getNum()+ ",";
                                             continue;
                                         }
                                     }
                                     else {
+
                                         continue;
                                     }
                                 }
@@ -327,11 +424,17 @@
                             else {
                                 continue;
                             }
+                            String role0 = "";
                             for (XWPFTableRow row : table.getRows()) {
                                 XWPFTableCell cell0 = row.getCell(0);
                                 XWPFTableCell cell2 = row.getCell(2);
-                                if(rowNumber>3){
-                                    String role = getMergedCellValue(cell0);
+                                if(rowNumber>1){
+                                    String role = cell0.getText();
+                                    if(StringUtils.isNotBlank(role)){
+                                        role0=role;
+                                    }
+                                }
+                                if(rowNumber>2){
                                     String projectName = cell2.getText();
                                     MaintenanceStandardDetail maintenanceStandardDetail = new MaintenanceStandardDetail();
                                     MaintenanceProjectCategory maintenanceProjectCategory = maintenanceProjectCategoryService.getOne(new QueryWrapper<MaintenanceProjectCategory>().eq("name","浜岀骇淇濆吇").eq("del_flag",0),false);
@@ -347,14 +450,111 @@
                                             maintenanceProjectService.save(maintenanceProject);
                                         }
                                         maintenanceStandardDetail.setMaintenanceProjectId(maintenanceProject.getId());
-                                        if(role.equals("缁翠慨浜哄憳淇濆吇鍐呭")){
+                                        if(role0.equals("缁翠慨浜哄憳淇濆吇鍐呭")){
                                             maintenanceStandardDetail.setMaintenanceRole("maintenance");
-                                        } else if(role.equals("鎿嶄綔浜哄憳淇濆吇鍐呭")){
+                                        } else if(role0.equals("鎿嶄綔浜哄憳淇濆吇鍐呭")){
                                             maintenanceStandardDetail.setMaintenanceRole("operator");
                                         }
                                         if(ObjectUtils.isNotNull(maintenanceCycle)){
                                             maintenanceStandardDetail.setMaintenanceCycleId(maintenanceCycle.getId());
                                         }
+                                        maintenanceStandardDetail.setDelFlag(0);
+                                        maintenanceStandardDetail.setMaintenanceStandardId(maintenanceStandard.getId());
+                                        maintenanceStandardDetailService.save(maintenanceStandardDetail);
+
+                                    }
+
+                                }
+                                rowNumber++;
+                            }
+                        }
+                    }
+                    if(mainTitle.equals("鐢熶骇璁惧涓夌骇淇濆吇瑙勮寖")){
+
+                        for (XWPFTable table : document.getTables()) {
+                            // 閬嶅巻琛ㄦ牸涓殑鎵�鏈夎
+                            int rowNumber = 0;
+                            String equipmentNum = "";
+                            Equipment equipment = null;
+                            MaintenanceStandard maintenanceStandard = null;
+                            MaintenanceCycle maintenanceCycle = null;
+                            XWPFTableRow row0= table.getRow(0);
+                            if(ObjectUtils.isNotNull(row0)){
+                                XWPFTableCell cellEquipmentNum = row0.getCell(3);
+                                if(ObjectUtils.isNotNull(cellEquipmentNum)){
+                                    equipmentNum =cellEquipmentNum.getText();
+                                    equipment = equipmentService.getOne(new QueryWrapper<Equipment>().eq("num",equipmentNum).eq("del_flag",0),false);
+                                    if(ObjectUtils.isNotNull(equipment)){
+                                        maintenanceStandard = maintenanceStandardService.getOne(new QueryWrapper<MaintenanceStandard>().eq("maintenance_type","3").eq("version_status",2).eq("del_flag",0).eq("equipment_id",equipment.getId()),false);
+                                        String abc = equipment.getEquipmentImportanceId();
+                                        if(StringUtils.isNotBlank(abc)){
+                                            if(abc.equals("A")){
+                                                maintenanceCycle = maintenanceCycleService.getOne(new QueryWrapper<MaintenanceCycle>().eq("name","3骞�").eq("version_status",2).eq("del_flag",0),false);
+                                            }else {
+                                                maintenanceCycle = maintenanceCycleService.getOne(new QueryWrapper<MaintenanceCycle>().eq("name","4骞�").eq("version_status",2).eq("del_flag",0),false);
+                                            }
+                                        }
+                                        else{
+                                            return Result.error("瀵煎叆澶辫触锛岃璁惧娌℃湁缁存姢ABC鏍囪瘑");
+                                        }
+                                        if(ObjectUtils.isNull(maintenanceStandard)){
+                                            maintenanceStandard = new MaintenanceStandard();
+                                            maintenanceStandard.setNum(sysIdentityService.getNumByTypeAndLength("DailyMaintenanceStandard",4));
+                                            maintenanceStandard.setEquipmentId(equipment.getId());
+                                            maintenanceStandard.setAssignMode("1");
+                                            maintenanceStandard.setVersion("1.0");
+                                            maintenanceStandard.setVersionStatus("2");
+                                            maintenanceStandard.setType("daily");
+                                            maintenanceStandard.setMaintenanceType("3");
+                                            maintenanceStandard.setApprovalStatus("5");
+                                            maintenanceStandardService.save(maintenanceStandard);
+                                        }
+                                        else {
+                                            msgInfo += equipment.getNum()+ ",";
+                                            continue;
+                                        }
+                                    }
+                                    else {
+                                        continue;
+                                    }
+                                }
+                                else {
+                                    continue;
+                                }
+                            }
+                            else {
+                                continue;
+                            }
+                            String location0 = "";
+                            for (XWPFTableRow row : table.getRows()) {
+                                XWPFTableCell cell0 = row.getCell(0);
+                                XWPFTableCell cell1 = row.getCell(1);
+                                XWPFTableCell cell2 = row.getCell(2);
+                                if(rowNumber>2){
+                                    String location = cell0.getText();
+                                    if(StringUtils.isNotBlank(location)){
+                                        location0=location;
+                                    }
+                                    String projectName = cell1.getText();
+                                    String projectStandard = cell2.getText();
+                                    MaintenanceStandardDetail maintenanceStandardDetail = new MaintenanceStandardDetail();
+                                    MaintenanceProjectCategory maintenanceProjectCategory = maintenanceProjectCategoryService.getOne(new QueryWrapper<MaintenanceProjectCategory>().eq("name","涓夌骇淇濆吇").eq("del_flag",0),false);
+                                    if(ObjectUtils.isNotNull(maintenanceProjectCategory)){
+                                        MaintenanceProject maintenanceProject = maintenanceProjectService.getOne(new QueryWrapper<MaintenanceProject>().eq("name",projectName).eq("standard",projectStandard).eq("del_flag",0).eq("maintenance_project_category_id",maintenanceProjectCategory.getId()),false);
+                                        if (!ObjectUtils.isNotNull(maintenanceProject)) {
+                                            maintenanceProject = new MaintenanceProject();
+                                            maintenanceProject.setNum(sysIdentityService.getNumByTypeAndLength("MainOfTwo", 4));
+                                            maintenanceProject.setName(projectName);
+                                            maintenanceProject.setStandard(projectStandard);
+                                            maintenanceProject.setLocation(location0);
+                                            maintenanceProject.setMaintenanceProjectCategoryId(maintenanceProjectCategory.getId());
+                                            maintenanceProject.setDelFlag(0);
+                                            maintenanceProjectService.save(maintenanceProject);
+                                        }
+                                        maintenanceStandardDetail.setMaintenanceProjectId(maintenanceProject.getId());
+                                        maintenanceStandardDetail.setLocation(location0);
+                                        maintenanceStandardDetail.setMaintenanceCycleId(maintenanceCycle.getId());
+                                        maintenanceStandardDetail.setMaintenanceStandardId(maintenanceStandard.getId());
                                         maintenanceStandardDetailService.save(maintenanceStandardDetail);
                                     }
 
@@ -362,6 +562,11 @@
                                 rowNumber++;
                             }
                         }
+                    }
+                    if(msgInfo == ""){
+                        return Result.OK("瀵煎叆鎴愬姛");
+                    }else{
+                        return Result.OK("缁熶竴缂栫爜鏄細"+msgInfo+"鐨勪繚鍏绘爣鍑嗗凡瀛樺湪锛岃鍏堟墜鍔ㄥけ鏁堝啀閲嶆柊瀵煎叆!");
                     }
                 } else {
                     System.out.println("鏃犳硶瑙f瀽璇ユ枃浠�");
@@ -398,83 +603,7 @@
                 if (mainTitleParagraph != null) {
                     // 鑾峰彇涓绘爣棰樻枃鏈唴瀹�
                     String mainTitle = mainTitleParagraph.getText();
-                    if(mainTitle.equals("鐢熶骇璁惧涓夌骇淇濆吇瑙勮寖")){
-                        for (XWPFTable table : document.getTables()) {
-                            // 閬嶅巻琛ㄦ牸涓殑鎵�鏈夎
-                            int rowNumber = 0;
-                            String equipmentNum = "";
-                            Equipment equipment = null;
-                            MaintenanceStandard maintenanceStandard = null;
-                            XWPFTableRow row0= table.getRow(0);
-                            if(ObjectUtils.isNotNull(row0)){
-                                XWPFTableCell cellEquipmentNum = row0.getCell(3);
-                                if(ObjectUtils.isNotNull(cellEquipmentNum)){
-                                    equipmentNum =cellEquipmentNum.getText();
-                                    equipment = equipmentService.getOne(new QueryWrapper<Equipment>().eq("num",equipmentNum).eq("del_flag",0),false);
-                                    if(ObjectUtils.isNotNull(equipment)){
-                                        maintenanceStandard = maintenanceStandardService.getOne(new QueryWrapper<MaintenanceStandard>().eq("version_status",2).eq("del_flag",0).eq("equipment_id",equipment.getId()),false);
-                                        if(ObjectUtils.isNull(maintenanceStandard)){
-                                            maintenanceStandard = new MaintenanceStandard();
-                                            maintenanceStandard.setNum(sysIdentityService.getNumByTypeAndLength("DailyMaintenanceStandard",4));
-                                            maintenanceStandard.setEquipmentId(equipment.getId());
-                                            maintenanceStandard.setAssignMode("1");
-                                            maintenanceStandard.setVersion("1.0");
-                                            maintenanceStandard.setVersionStatus("2");
-                                            maintenanceStandardService.save(maintenanceStandard);
-                                        }
-                                        else {
-                                            continue;
-                                        }
-                                    }
-                                    else {
-                                        continue;
-                                    }
-                                }
-                                else {
-                                    continue;
-                                }
-                            }
-                            else {
-                                continue;
-                            }
-                            for (XWPFTableRow row : table.getRows()) {
-                                XWPFTableCell cell0 = row.getCell(0);
-                                XWPFTableCell cell1 = row.getCell(1);
-                                XWPFTableCell cell2 = row.getCell(2);
-                                if(rowNumber>2){
-                                    String location = getMergedCellValue(cell0);
-                                    String projectName = cell1.getText();
-                                    String projectStandard = cell2.getText();
-                                    MaintenanceStandardDetail maintenanceStandardDetail = new MaintenanceStandardDetail();
-                                    MaintenanceProjectCategory maintenanceProjectCategory = maintenanceProjectCategoryService.getOne(new QueryWrapper<MaintenanceProjectCategory>().eq("name","涓夌骇淇濆吇").eq("del_flag",0),false);
-                                    if(ObjectUtils.isNotNull(maintenanceProjectCategory)){
-                                        MaintenanceProject maintenanceProject = maintenanceProjectService.getOne(new QueryWrapper<MaintenanceProject>().eq("name",projectName).eq("standard",projectStandard).eq("del_flag",0).eq("maintenance_project_category_id",maintenanceProjectCategory.getId()),false);
-                                        MaintenanceCycle maintenanceCycle = null;
-                                        if(equipment.getEquipmentImportanceId().equals("A")){
-                                             maintenanceCycle = maintenanceCycleService.getOne(new QueryWrapper<MaintenanceCycle>().eq("name","3骞�").eq("version_status",2).eq("del_flag",0),false);
-                                        }else {
-                                             maintenanceCycle = maintenanceCycleService.getOne(new QueryWrapper<MaintenanceCycle>().eq("name","4骞�").eq("version_status",2).eq("del_flag",0),false);
-                                        }
-                                        if (!ObjectUtils.isNotNull(maintenanceProject)) {
-                                            maintenanceProject = new MaintenanceProject();
-                                            maintenanceProject.setNum(sysIdentityService.getNumByTypeAndLength("MainOfTwo", 4));
-                                            maintenanceProject.setName(projectName);
-                                            maintenanceProject.setLocation(location);
-                                            maintenanceProject.setMaintenanceProjectCategoryId(maintenanceProjectCategory.getId());
-                                            maintenanceProject.setDelFlag(0);
-                                            maintenanceProjectService.save(maintenanceProject);
-                                        }
-                                        maintenanceStandardDetail.setMaintenanceProjectId(maintenanceProject.getId());
-                                        maintenanceStandardDetail.setLocation(location);
-                                        maintenanceStandardDetail.setMaintenanceCycleId(maintenanceCycle.getId());
-                                        maintenanceStandardDetailService.save(maintenanceStandardDetail);
-                                    }
 
-                                }
-                                rowNumber++;
-                            }
-                        }
-                    }
                 } else {
                     System.out.println("鏃犳硶瑙f瀽璇ユ枃浠�");
                 }
@@ -519,15 +648,36 @@
         //鏄庣粏淇℃伅
         List<MaintenanceStandardDetail> maintenanceStandardDetailList = maintenanceStandard.getMaintenanceStandardDetaillist();
         MaintenanceStandardDetail isd = null;
+
+//        Equipment equipment = equipmentService.getById(maintenanceStandard.getEquipmentId());
+        List<MaintenanceCycleVo> maintenanceCycle = null;
+        if("2".equals(maintenanceStandard.getMaintenanceType())){
+
+            maintenanceCycle = maintenanceStandardService.getPeriodic2MaintenanceCycle(maintenanceStandard.getMaintenanceType());
+            if(maintenanceCycle.size()==0){
+                return Result.error("娌℃湁鎵惧埌鐨勪簩淇濅繚鍏诲懆鏈燂紝璇峰厛缁存姢淇濆吇鍛ㄦ湡!");
+            }
+        }else{
+            Equipment equipment = equipmentService.getById(maintenanceStandard.getEquipmentId());
+            maintenanceCycle = maintenanceStandardService.getPeriodic3MaintenanceCycle(equipment.getEquipmentImportanceId(), maintenanceStandard.getMaintenanceType());
+            if(maintenanceCycle.size()==0){
+                return Result.error("娌℃湁鎵惧埌鐨勪笁淇濅繚鍏诲懆鏈燂紝璇峰厛缁存姢淇濆吇鍛ㄦ湡!");
+            }
+        }
+//        List<MaintenanceCycleVo> maintenanceCycle = maintenanceStandardService.getPeriodicMaintenanceCycle(equipment.getEquipmentImportanceId(), maintenanceStandard.getMaintenanceType());
         for (MaintenanceStandardDetail maintenanceStandardDetail : maintenanceStandardDetailList) {
             isd = new MaintenanceStandardDetail();
             isd.setMaintenanceStandardId(maintenanceStandard.getId());
             isd.setLocation(maintenanceStandardDetail.getLocation());
             isd.setPhoto(maintenanceStandardDetail.getPhoto());
             isd.setMaintenanceProjectId(maintenanceStandardDetail.getMaintenanceProjectId());
-            isd.setMaintenanceCycleId(maintenanceStandardDetail.getMaintenanceCycleId());
+//            isd.setMaintenanceCycleId(maintenanceStandardDetail.getMaintenanceCycleId());
             isd.setMaintenanceMode(maintenanceStandardDetail.getMaintenanceMode());
             isd.setMaintenanceRequire(maintenanceStandardDetail.getMaintenanceRequire());
+            isd.setMaintenanceRole(maintenanceStandardDetail.getMaintenanceRole());
+            if(maintenanceCycle.size() > 0){
+                isd.setMaintenanceCycleId(maintenanceCycle.get(0).getValue());
+            }
             maintenanceStandardDetailService.save(isd);
         }
         if(CollectionUtils.isNotEmpty(maintenanceStandardPlanningMaterialList)){
@@ -625,6 +775,16 @@
                 dailyMaintenanceStandard.setLoseEfficacyPerson(sysUser.getRealname());
                 maintenanceStandardService.updateById(dailyMaintenanceStandard);
             }
+
+            List<MaintenanceStandard> standards = maintenanceStandardService.lambdaQuery()
+                    .eq(MaintenanceStandard::getEquipmentId, maintenanceStandard.getEquipmentId())
+                    .eq(MaintenanceStandard::getVersionStatus, "2").list();
+            for (MaintenanceStandard standard : standards) {
+                standard.setVersionStatus("3");
+                standard.setLoseEfficacyTime(new Date());
+                standard.setLoseEfficacyPerson(sysUser.getRealname());
+                maintenanceStandardService.updateById(standard);
+            }
             maintenanceStandard.setApprovalPerson(sysUser.getRealname());
             maintenanceStandard.setVersionStatus("2");
             maintenanceStandard.setTakeEffectTime(new Date());
@@ -633,15 +793,138 @@
         }
         boolean b = maintenanceStandardService.updateById(maintenanceStandard);
         if (b){
+            //绛惧娴佺▼娑堟伅閫氱煡
+            if(!"5".equals(approvalStatus)){//宸茬紪鍒�
+                if("2".equals(maintenanceStandard.getMaintenanceType())){
+                    this.maintenance2StandardAlert(approvalStatus,maintenanceStandard.getNum());
+                }else{
+                    this.maintenance3StandardAlert(approvalStatus,maintenanceStandard.getNum());
+                }
+            }
             return Result.OK("瀹℃牳鎴愬姛!");
         }else{
             return Result.error("瀹℃牳澶辫触!");
         }
     }
+
+    /**
+     *浜岀骇淇濆吇鏍囧噯绛惧娴佺▼娑堟伅鎻愰啋
+     * qsw 2024-3-11
+     */
+    void maintenance2StandardAlert(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);
+        }
+        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+"銆戠殑浜岀骇淇濆吇鏍囧噯宸查┏鍥烇紝璇峰埌浜岀骇淇濆吇鏍囧噯椤甸潰鏌ョ湅锛�";
+            }
+            MessageDTO messageDTO = new MessageDTO();
+            messageDTO.setTitle("浜岀骇淇濆吇鏍囧噯绛惧娑堟伅鎻愰啋锛�");
+            messageDTO.setContent(msg);
+            messageDTO.setCategory(roleDictItem);
+            messageDTO.setFromUser("浜岀骇淇濆吇鏍囧噯绛惧娑堟伅鎻愰啋鎻愰啋灏忓姪鎵�");
+            messageDTO.setToUser(user.getUsername());
+            sysBaseApi.sendSysAnnouncement(messageDTO);
+        }
+    }
+
+    /**
+     *涓夌骇淇濆吇鏍囧噯绛惧娴佺▼娑堟伅鎻愰啋
+     * qsw 2024-3-11
+     */
+    void maintenance3StandardAlert(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);
+        }
+        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+"銆戠殑涓夌骇淇濆吇鏍囧噯宸查┏鍥烇紝璇峰埌涓夌骇淇濆吇鏍囧噯椤甸潰鏌ョ湅锛�";
+            }
+            MessageDTO messageDTO = new MessageDTO();
+            messageDTO.setTitle("涓夌骇淇濆吇鏍囧噯绛惧娑堟伅鎻愰啋锛�");
+            messageDTO.setContent(msg);
+            messageDTO.setCategory(roleDictItem);
+            messageDTO.setFromUser("涓夌骇淇濆吇鏍囧噯绛惧娑堟伅鎻愰啋鎻愰啋灏忓姪鎵�");
+            messageDTO.setToUser(user.getUsername());
+            sysBaseApi.sendSysAnnouncement(messageDTO);
+        }
+    }
+
+
     // 鑾峰彇鍚堝苟鍗曞厓鏍肩殑鍊�
     private  String getMergedCellValue(XWPFTableCell cell) {
         // 瀵逛簬鍚堝苟鍗曞厓鏍硷紝鑾峰彇绗竴涓钀界殑鏂囨湰浣滀负鍚堝苟鍗曞厓鏍肩殑鍊�
         return cell.getParagraphs().get(0).getText();
     }
 
+
 }

--
Gitblit v1.9.3