From c127accdddb76d11847f41b5685f5ef5e9e988d7 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期三, 13 三月 2024 09:14:42 +0800
Subject: [PATCH] 设备管理问题修改

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java |  146 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 146 insertions(+), 0 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 5efd33a..5024a02 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;
@@ -23,6 +24,8 @@
 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;
@@ -32,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;
@@ -96,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;
 
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
@@ -196,6 +210,11 @@
             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("娣诲姞鎴愬姛锛�");
     }
 
@@ -228,6 +247,11 @@
             }
             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("缂栬緫鎴愬姛!");
     }
@@ -704,11 +728,133 @@
         }
         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) {
         // 瀵逛簬鍚堝苟鍗曞厓鏍硷紝鑾峰彇绗竴涓钀界殑鏂囨湰浣滀负鍚堝苟鍗曞厓鏍肩殑鍊�

--
Gitblit v1.9.3