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 | 226 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 219 insertions(+), 7 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 03caa52..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; @@ -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; /** * 鍒嗛〉鍒楄〃鏌ヨ @@ -185,8 +199,21 @@ maintenanceStandard.setAssignMode("1"); maintenanceStandardService.save(maintenanceStandard); - Equipment equipment = equipmentService.getById(maintenanceStandard.getEquipmentId()); - List<MaintenanceCycleVo> maintenanceCycle = maintenanceStandardService.getPeriodicMaintenanceCycle(equipment.getEquipmentImportanceId(), maintenanceStandard.getMaintenanceType()); + 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){ @@ -195,6 +222,11 @@ 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("娣诲姞鎴愬姛锛�"); } @@ -219,8 +251,27 @@ maintenanceStandardDetailService.updateById(dailyInspectionStandardDetail); } //2.閲嶆柊鎸佷箙淇濆吇椤圭洰 - Equipment equipment = equipmentService.getById(maintenanceStandard.getEquipmentId()); - List<MaintenanceCycleVo> maintenanceCycle = maintenanceStandardService.getPeriodicMaintenanceCycle(equipment.getEquipmentImportanceId(), maintenanceStandard.getMaintenanceType()); +// 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){ @@ -228,6 +279,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("缂栬緫鎴愬姛!"); } @@ -312,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(); @@ -351,10 +408,12 @@ maintenanceStandardService.save(maintenanceStandard); } else { + msgInfo += equipment.getNum()+ ","; continue; } } else { + continue; } } @@ -451,6 +510,7 @@ maintenanceStandardService.save(maintenanceStandard); } else { + msgInfo += equipment.getNum()+ ","; continue; } } @@ -503,7 +563,11 @@ } } } - return Result.OK("瀵煎叆鎴愬姛"); + if(msgInfo == ""){ + return Result.OK("瀵煎叆鎴愬姛"); + }else{ + return Result.OK("缁熶竴缂栫爜鏄細"+msgInfo+"鐨勪繚鍏绘爣鍑嗗凡瀛樺湪锛岃鍏堟墜鍔ㄥけ鏁堝啀閲嶆柊瀵煎叆!"); + } } else { System.out.println("鏃犳硶瑙f瀽璇ユ枃浠�"); } @@ -584,8 +648,23 @@ //鏄庣粏淇℃伅 List<MaintenanceStandardDetail> maintenanceStandardDetailList = maintenanceStandard.getMaintenanceStandardDetaillist(); MaintenanceStandardDetail isd = null; - Equipment equipment = equipmentService.getById(maintenanceStandard.getEquipmentId()); - List<MaintenanceCycleVo> maintenanceCycle = maintenanceStandardService.getPeriodicMaintenanceCycle(equipment.getEquipmentImportanceId(), maintenanceStandard.getMaintenanceType()); + +// 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()); @@ -595,6 +674,7 @@ // 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()); } @@ -695,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()); @@ -703,11 +793,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