From db1d7484b7114f9f91decef684280866dac34dfe Mon Sep 17 00:00:00 2001 From: “linengliang” <vanSuperEnergy@163.com> Date: 星期日, 29 十月 2023 23:30:09 +0800 Subject: [PATCH] 消息加台账导入 --- lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementSendServiceImpl.java | 7 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysAnnouncementSendMapper.java | 4 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml | 35 +++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml | 3 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentImportVo.java | 66 +++----- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenaceAlart.java | 70 ++++++++ lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementSendService.java | 7 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java | 199 +++++++++++++++++------- lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysAnnouncementSend.java | 8 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/Equipment.java | 5 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java | 52 +++++- 11 files changed, 327 insertions(+), 129 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java index b1824b6..dce198e 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java @@ -18,6 +18,9 @@ import org.jeecg.common.system.base.entity.SysUpload; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.modules.base.entity.Constructor; +import org.jeecg.modules.base.service.IConstructorService; +import org.jeecg.modules.base.service.IFactoryModelService; import org.jeecg.modules.eam.entity.*; import org.jeecg.modules.eam.model.DepartVo; import org.jeecg.modules.eam.service.*; @@ -29,6 +32,8 @@ import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.modules.system.entity.SysDepart; +import org.jeecg.modules.system.service.ISysDepartService; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.entity.ImportParams; import org.springframework.beans.factory.annotation.Autowired; @@ -74,8 +79,6 @@ @Autowired private IProcessParametersTemplateService processParametersTemplateService; - - @Autowired private ISysBaseAPI sysBaseApi; @@ -99,6 +102,22 @@ @Autowired private IEquipmentCategoryService equipmentCategoryService; + + @Autowired + private ISysDepartService departService; + + @Autowired + private ITeamService teamService; + + @Autowired + private IConstructorService constructorService; + + @Autowired + private IAreaService areaService; + + + + /** * 鍒嗛〉鍒楄〃鏌ヨ * @@ -543,119 +562,181 @@ try { List<EquipmentImportVo> list = ExcelImportUtil.importExcel(file.getInputStream(), EquipmentImportVo.class, params); for(int i = 0;i<list.size();i++){ + Equipment equipment = new Equipment(); EquipmentImportVo equipmentImportVo = list.get(i); - EquipmentCategory equipmentCategory = equipmentCategoryService.getOne(new QueryWrapper<EquipmentCategory>().eq("name",equipmentImportVo.getEquipmentCategoryName()),false); + String equipmentCategoryName = equipmentImportVo.getEquipmentCategoryName(); + String useId = equipmentImportVo.getUseId(); + String areaId = equipmentImportVo.getFactoryModelId(); + String manageId = equipmentImportVo.getManageId(); + String constructorId = equipmentImportVo.getConstructorId(); + String teamId = equipmentImportVo.getTeamId(); if(StringUtils.isBlank(equipmentImportVo.getNum())){ exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:缁熶竴缂栫爜缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; exceptionNum++; + continue; } else if(StringUtils.isBlank(equipmentImportVo.getName())){ exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧鍚嶇О缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; exceptionNum++; - } - else if(StringUtils.isBlank(equipmentImportVo.getUseId())){ - exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:浣跨敤閮ㄩ棬缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; - exceptionNum++; - } -// else if(StringUtils.isBlank(equipmentImportVo.getEquipmentUda1())){ -// exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:宸ュ尯缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; -// exceptionNum++; -// } - else if(StringUtils.isBlank(equipmentImportVo.getManageId())){ - exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:缁存姢閮ㄩ棬缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; - exceptionNum++; + continue; } else if(StringUtils.isBlank(equipmentImportVo.getTeamId())){ exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:缁翠慨鐝粍缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; exceptionNum++; + continue; } else if(StringUtils.isBlank(equipmentImportVo.getEquipmentImportanceId())){ exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:ABC鏍囪瘑缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; exceptionNum++; - } - else if(StringUtils.isBlank(equipmentImportVo.getEquipmentCategoryName())){ - exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧鍒嗙被缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; - exceptionNum++; + continue; } else if(StringUtils.isBlank(equipmentImportVo.getEquipmentStatus())){ exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧鐘舵�佺己澶�,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; exceptionNum++; + continue; } else if(StringUtils.isBlank(equipmentImportVo.getTechnologyStatus())){ - exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧鎶�鏈己澶�,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; + exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧鎶�鏈姸鎬佺己澶�,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; exceptionNum++; + continue; } - else if(StringUtils.isBlank(equipmentImportVo.getFactoryModelId())){ - exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:杞﹂棿缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; + else if(StringUtils.isBlank(equipmentImportVo.getModel())){ + exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧鍨嬪彿缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; exceptionNum++; + continue; } - else if(StringUtils.isBlank(equipmentImportVo.getWorkCenterId())){ - exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:浜х嚎缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; + else if(StringUtils.isBlank(useId)){ + exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:浣跨敤閮ㄩ棬缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; exceptionNum++; + continue; } - else if(ObjectUtils.isNotNull(equipmentImportVo.getWarrantyStart())){ - exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璐ㄤ繚寮�濮嬫棩鏈熺己澶�,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; + else if(StringUtils.isBlank(areaId)){ + exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:宸ュ尯缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; exceptionNum++; + continue; } - else if(StringUtils.isBlank(equipmentImportVo.getPropertyStatus())){ - exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璧勪骇鐘舵�佺己澶�,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; + else if(StringUtils.isBlank(manageId)){ + exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:缁存姢閮ㄩ棬缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; exceptionNum++; + continue; } - //闈炲繀濉」 -// else if(StringUtils.isBlank(equipmentImportVo.getEquipmentUda5())){ + else if(StringUtils.isBlank(equipmentCategoryName)){ + exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧鍒嗙被缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; + exceptionNum++; + continue; + } + else if(StringUtils.isBlank(teamId)){ + exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:缁翠慨鐝粍缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; + exceptionNum++; + continue; + } + //闈炲繀濉」 + // else if(ObjectUtils.isNotNull(equipmentImportVo.getWarrantyStart())){ +// exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璐ㄤ繚寮�濮嬫棩鏈熺己澶�,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; +// exceptionNum++; +// } +// else if(StringUtils.isBlank(equipmentImportVo.getPropertyStatus())){ +// exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璧勪骇鐘舵�佺己澶�,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; +// exceptionNum++; +// } +// else if(StringUtils.isBlank(equipmentImportVo.getEquipmentUda5())){ // exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:鍔熻兘浣嶇疆缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; // exceptionNum++; // } -// else if(StringUtils.isBlank(equipmentImportVo.getLocation())){ +// else if(StringUtils.isBlank(equipmentImportVo.getLocation())){ // exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:瀹夎浣嶇疆缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; // exceptionNum++; // } -// else if(StringUtils.isBlank(equipmentImportVo.getLeaveFactoryDate())){ +// else if(StringUtils.isBlank(equipmentImportVo.getLeaveFactoryDate())){ // exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:鍑哄巶鏃ユ湡缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; // exceptionNum++; // } -// else if(StringUtils.isBlank(equipmentImportVo.getProjectApprovalNo())){ +// else if(StringUtils.isBlank(equipmentImportVo.getProjectApprovalNo())){ // exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:绔嬮」鍗″彿缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; // exceptionNum++; // } -// else if(StringUtils.isBlank(equipmentImportVo.getFundSource())){ +// else if(StringUtils.isBlank(equipmentImportVo.getFundSource())){ // exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璧勯噾鏉ユ簮缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; // exceptionNum++; // } -// else if(StringUtils.isBlank(equipmentImportVo.getAcceptanceCheckDate())){ +// else if(StringUtils.isBlank(equipmentImportVo.getAcceptanceCheckDate())){ // exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:楠屾敹鏃ユ湡缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; // exceptionNum++; // } -// else if(StringUtils.isBlank(equipmentImportVo.getLeaveFactoryDate())){ +// else if(StringUtils.isBlank(equipmentImportVo.getLeaveFactoryDate())){ // exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:鍑哄巶鏃ユ湡缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; // exceptionNum++; // } -// else if(StringUtils.isBlank(equipmentImportVo.getFactoryNo())){ +// else if(StringUtils.isBlank(equipmentImportVo.getFactoryNo())){ // exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:鍑哄巶缂栧彿缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; // exceptionNum++; // } -// else if( StringUtils.isBlank(equipmentImportVo.getConstructorId())){ +// else if( StringUtils.isBlank(equipmentImportVo.getConstructorId())){ // exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璧勪骇鍒堕�犲晢缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; // exceptionNum++; // } - else if(StringUtils.isBlank(equipmentImportVo.getModel())){ - exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧鍨嬪彿缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; - exceptionNum++; - } - else if(StringUtils.isBlank(equipmentImportVo.getSpecification())){ - exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧瑙勬牸缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; - exceptionNum++; - } +// else if(StringUtils.isBlank(equipmentImportVo.getSpecification())){ +// exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧瑙勬牸缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; +// exceptionNum++; +// } // else if(StringUtils.isBlank(equipmentImportVo.getGpo())){ // exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璁惧鍔熺巼缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; // exceptionNum++; // } - else if(ObjectUtils.isNull(equipmentCategory)) - { - exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:璇ヨ澶囨墍灞炵被鍒笉瀛樺湪锛岃鍏堢淮鎶よ澶囩被鍒�;"; - exceptionNum++; - } else{ + SysDepart use = departService.getOne(new QueryWrapper<SysDepart>().eq("depart_name",useId.trim()),false); + if(ObjectUtils.isNull(useId)){ + equipment.setUseId(use.getId()); + }else { + exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:涓嶅瓨鍦ㄨ浣跨敤閮ㄩ棬,璇风淮鎶ら儴闂ㄦ暟鎹悗鍐嶅鍏�;"; + exceptionNum++; + continue; + } + Area area = areaService.getOne(new QueryWrapper<Area>().eq("name",areaId.trim())); + if(ObjectUtils.isNotNull(area)){ + equipment.setFactoryModelId(area.getId()); + }else { + exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:涓嶅瓨鍦ㄨ宸ュ尯,璇风淮鎶ゅ伐鍖烘暟鎹悗鍐嶅鍏�;"; + exceptionNum++; + continue; + } + SysDepart manage = departService.getOne(new QueryWrapper<SysDepart>().eq("depart_name",manageId.trim())); + if(ObjectUtils.isNotNull(manage)){ + equipment.setManageId(manage.getId()); + }else{ + exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:涓嶅瓨鍦ㄨ缁存姢閮ㄩ棬,璇峰厛缁存姢閮ㄩ棬鏁版嵁鍚庡啀瀵煎叆;"; + exceptionNum++; + continue; + } + EquipmentCategory equipmentCategory = equipmentCategoryService.getOne(new QueryWrapper<EquipmentCategory>().eq("name",equipmentCategoryName.trim()),false); + if(ObjectUtils.isNotNull(equipmentCategory)){ + equipment.setEquipmentCategoryId(equipmentCategory.getId()); + } + else { + exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:涓嶅瓨鍦ㄨ璁惧鍒嗙被,璇峰厛缁存姢璁惧鍒嗙被鏁版嵁鍚庡啀瀵煎叆;"; + exceptionNum++; + continue; + } + Team team = teamService.getOne(new QueryWrapper<Team>().eq("name",teamId.trim()),false); + if(ObjectUtils.isNotNull(team)){ + equipment.setTeamId(team.getId()); + }else { + exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:涓嶅瓨鍦ㄨ鐝粍,璇峰厛缁存姢鐝粍鏁版嵁鍚庡啀瀵煎叆;"; + exceptionNum++; + continue; + } + if(StringUtils.isNotBlank(constructorId)){ + Constructor constructor = constructorService.getByName(constructorId.trim()); + if(ObjectUtils.isNotNull(constructor)){ + equipment.setConstructorId(constructor.getId()); + }else { + constructor = new Constructor(); + constructor.setName(constructorId); + constructor.setDelFlag(0); + constructorService.save(constructor); + equipment.setConstructorId(constructor.getId()); + } + } if(equipmentImportVo.getPropertyStatus().equals("warranty")){ if( ObjectUtils.isNull(equipmentImportVo.getWarrantyStart()) @@ -666,24 +747,19 @@ } }else{ - Equipment oriEquipment = equipmentService.getOne(new QueryWrapper<Equipment>().eq("num",equipmentImportVo.getNum()),false); + Equipment oriEquipment = equipmentService + .getOne(new QueryWrapper<Equipment>() + .eq("num",equipmentImportVo.getNum()),false); if(ObjectUtils.isNull(oriEquipment)){ - Equipment equipment = new Equipment(); equipment.setNum(equipmentImportVo.getNum()) .setName(equipmentImportVo.getName()) - .setUseId(equipmentImportVo.getUseId()) - .setEquipmentUda1(equipmentImportVo.getEquipmentUda1()) - .setManageId(equipmentImportVo.getManageId()) - .setTeamId(equipmentImportVo.getTeamId()) .setTechnologyStatus(equipmentImportVo.getTechnologyStatus()) .setEquipmentImportanceId(equipmentImportVo.getEquipmentImportanceId()) - .setEquipmentCategoryId(equipmentCategory.getId()) .setSpecificEquipment(equipmentImportVo.getKeyEquipmentIdentification()) .setSecurityConfiguration(equipmentImportVo.getSecurityConfiguration()) .setCoolingSystem(equipmentImportVo.getCoolingSystem()) .setFireExtinguisher(equipmentImportVo.getFireExtinguisher()) .setFireExtinguisherValidityPeriod(equipmentImportVo.getFireExtinguisherValidityPeriod()) - .setOperatingSystem(equipmentImportVo.getOperatingSystem()) .setSystem(equipmentImportVo.getSystem()) .setPort(equipmentImportVo.getPort()) .setCoordinateNum(equipmentImportVo.getCoordinateNum()) @@ -697,12 +773,9 @@ .setFundSource(equipmentImportVo.getFundSource()) .setAcceptanceCheckDate(equipmentImportVo.getAcceptanceCheckDate()) .setFactoryNumber(equipmentImportVo.getFactoryNumber()) - .setConstructorId(equipmentImportVo.getConstructorId()) .setSourceCountry(equipmentImportVo.getSourceCountry()) .setModel(equipmentImportVo.getModel()) .setSpecification(equipmentImportVo.getSpecification()) - .setFactoryModelId(equipmentImportVo.getFactoryModelId()) - .setWorkCenterId(equipmentImportVo.getWorkCenterId()) .setPropertyStatus(equipmentImportVo.getPropertyStatus()) .setWarrantyStart(equipmentImportVo.getWarrantyStart()) .setWarrantyEnd(equipmentImportVo.getWarrantyEnd()) @@ -737,9 +810,9 @@ }else { exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐ワ紝鍘熷洜锛氱粺涓�缂栫爜宸插瓨鍦紝鏁版嵁閲嶅瀵煎叆;"; exceptionNum++; + continue; } } - } } if(exceptionNum!=0){ diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/Equipment.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/Equipment.java index 5269ef6..64a01fa 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/Equipment.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/Equipment.java @@ -202,6 +202,7 @@ private String precisionParametersTemplateId; @ApiModelProperty(value = "鎶�鏈姸鎬侀壌瀹氱被鍨嬶紙瀛楀吀technology_status_verification_type锛�") + @Dict(dicCode = "technology_status_verification_type") private String technologyStatusVerificationType; @ApiModelProperty(value = "鎶�鏈姸鎬侀壌瀹氬崟鎹�") @@ -305,8 +306,8 @@ private List<EquipmentProcessParameters> processEditTableList; @TableField(exist = false) private List<EquipmentPrecisionParameters> precisionEditTableList; - @Dict(dicCode = "id",dictTable = "mom_base_factory_model",dicText = "name") - @Excel(width = 15,dicCode = "id",dictTable = "mom_base_factory_model",dicText = "name",orderNum = "39", name = "杞﹂棿") + @Dict(dicCode = "id",dictTable = "mom_base_area",dicText = "name") + @Excel(width = 15,dicCode = "id",dictTable = "mom_base_area",dicText = "name",orderNum = "39", name = "宸ュ尯") private String factoryModelId; @Excel(width = 15,dicCode = "id",dictTable = "mom_base_work_center",dicText = "name",name = "浜х嚎",orderNum = "40") @Dict(dicCode = "id",dictTable = "mom_base_work_center",dicText = "name") diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentImportVo.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentImportVo.java index cbe80f0..6cdce5b 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentImportVo.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentImportVo.java @@ -14,37 +14,49 @@ @Data @Accessors(chain = true) public class EquipmentImportVo { + @Excel(name = "璁惧鎵�灞炲垎绫�") + private String equipmentCategoryName; + @Excel(name="缁熶竴缂栫爜") private String num; @Excel(name = "璁惧鍚嶇О") private String name; - @Excel(name = "浣跨敤閮ㄩ棬",dictTable = "sys_depart",dicCode = "id",dicText = "depart_name") + @Excel(name = "鍨嬪彿") + private String model; + +// @Excel(name = "浣跨敤閮ㄩ棬",dictTable = "sys_depart",dicCode = "id",dicText = "depart_name") private String useId; - @Excel(name = "宸ュ尯") - private String equipmentUda1; +// @Excel(name = "宸ュ尯",dicCode = "id",dictTable = "mom_base_area",dicText = "name") + private String factoryModelId; - @Excel(name = "缁存姢閮ㄩ棬",dictTable = "sys_depart",dicCode = "id",dicText = "depart_name") +// @Excel(name = "缁存姢閮ㄩ棬",dictTable = "sys_depart",dicCode = "id",dicText = "depart_name") private String manageId; - @Excel(name = "缁翠慨鐝粍",dictTable = "mom_base_team",dicCode = "id",dicText = "name") +// @Excel(name = "缁翠慨鐝粍",dictTable = "mom_base_team",dicCode = "id"2,dicText = "name") private String teamId; - @Excel(name = "ABC鏍囪瘑",dicCode = "id",dictTable="mom_eam_equipment_importance",dicText="name") +// @Excel(name = "璧勪骇鍒堕�犲晢",dicCode = "id",dictTable="mom_base_constructor",dicText="name") + private String constructorId; + + @Excel(name = "ABC鏍囪瘑",dicCode = "ABC-standard-result") private String equipmentImportanceId; - @Excel(name = "璁惧鎵�灞炲垎绫�") - private String equipmentCategoryName; + @Excel(name = "璁惧鐘舵��",dicCode = "equipment_status") + private String equipmentStatus; - @Excel(name = "鍏抽敭璁惧鏍囪瘑") + @Excel(name = "鎶�鏈姸鎬�",dicCode = "technology_status") + private String technologyStatus; + + @Excel(name = "鍏抽敭璁惧鏍囪瘑",dicCode = "specific_equipment") private String keyEquipmentIdentification; - @Excel(name = "瀹夊叏閰嶇疆") - private String securityConfiguration; + @Excel(name = "璧勪骇鐘舵��",dicCode = "property_status") + private String propertyStatus; - @Excel(name = "鍐峰嵈绯荤粺") + @Excel(name = "鍐峰嵈绯荤粺",dicCode = "cooling_system") private String coolingSystem; @Excel(name = "鐏伀鍣�") @@ -52,9 +64,6 @@ @Excel(name = "鐏伀鍣ㄦ湁鏁堟湡") private String fireExtinguisherValidityPeriod; - - @Excel(name = "鎿嶄綔绯荤粺") - private String operatingSystem; @Excel(name = "绯荤粺") private String system; @@ -64,9 +73,6 @@ @Excel(name = "鍧愭爣鏁伴噺") private BigDecimal coordinateNum; - - @Excel(name = "璁惧鐘舵��",dicCode = "equipment_status") - private String equipmentStatus; @Excel(name = "閲嶉噺") private String equipmentUda3; @@ -95,14 +101,11 @@ @Excel(name = "鍑哄巶缂栧彿") private String factoryNumber; - @Excel(name = "璧勪骇鍒堕�犲晢",dicCode = "id",dictTable="mom_base_constructor",dicText="name") - private String constructorId; - @Excel(name = "璧勪骇鐨勬潵婧愬浗瀹�") private String sourceCountry; - @Excel(name = "鍨嬪彿") - private String model; + @Excel(name = "瀹夊叏閰嶇疆") + private String securityConfiguration; @Excel(name = "瑙勬牸") private String specification; @@ -110,31 +113,14 @@ @Excel(name = "鎬诲姛鐜�") private String gpo; - @Excel(name = "鎶�鏈姸鎬�",dicCode = "technology_status") - private String technologyStatus; - - @Excel(dicCode = "id",dictTable = "mom_base_factory_model",dicText = "name", name = "杞﹂棿") - private String factoryModelId; - - @Excel(dicCode = "id",dictTable = "mom_base_work_center",dicText = "name",name = "浜х嚎") - private String workCenterId; - @Excel(name = "璐ㄤ繚寮�濮嬫棩鏈�",format = "yyyyMMdd") private Date warrantyStart; @Excel(name = "璐ㄤ繚缁撴潫鏃ユ湡",format = "yyyyMMdd") private Date warrantyEnd; - @Excel(dicCode = "property_status",name = "璧勪骇鐘舵��") - private String propertyStatus; - @Excel(name = "涓嬫鎶�鏈姸鎬侀壌瀹氭椂闂�", width = 20, format = "yyyyMMdd") private Date nextTechnologyStatusQualificationTime; - - - - - } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenaceAlart.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenaceAlart.java new file mode 100644 index 0000000..a0ccf5d --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenaceAlart.java @@ -0,0 +1,70 @@ +package org.jeecg.modules.eam.job; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.hibernate.annotations.Source; +import org.jeecg.common.api.dto.message.MessageDTO; +import org.jeecg.common.system.api.ISysBaseAPI; +import org.jeecg.common.system.vo.DictModel; +import org.jeecg.modules.eam.entity.Equipment; +import org.jeecg.modules.eam.entity.EquipmentReportRepair; +import org.jeecg.modules.eam.service.IEamEquipmentService; +import org.jeecg.modules.system.entity.*; +import org.jeecg.modules.system.service.*; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.springframework.beans.factory.annotation.Autowired; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.Date; +import java.util.List; + +public class ThirdMaintenaceAlart implements Job { + + @Resource + private IEamEquipmentService equipmentService; + @Resource + private ISysBaseAPI sysBaseApi; + @Resource + private ISysRoleService sysRoleService; + @Resource + private ISysDictService sysDictService; + @Resource + private ISysDictItemService sysDictItemService; + @Resource + private ISysUserRoleService sysUserRoleService; + @Resource + private ISysUserService sysUserService; + @Override + public void execute(JobExecutionContext context) throws JobExecutionException { + LocalDateTime currentDateTime = LocalDateTime.now(); + LocalDateTime dateBefore2Months = currentDateTime.plusMonths(2); + Date result = Date.from(dateBefore2Months.atZone(ZoneId.systemDefault()).toInstant()); + List<Equipment> needAlerts = equipmentService.list(new QueryWrapper<Equipment>().lt("next_third_maintenance_time",result).eq("property_status","normal").eq("del_flag",0)); + SysDict sysDict = sysDictService.getOne(new QueryWrapper<SysDict>().eq("dict_code","info_type"),false); + SysDictItem 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 sysUser = sysUserService.getById(sysUserRole.getUserId()); + String title = "璁惧涓嬫涓変繚鍒版湡鎻愰啋!"; + String msg = "缁熶竴缂栫爜涓猴細"; + for(Equipment equipment:needAlerts){ + msg = msg+"銆�"+equipment.getNum()+"銆�"; + } + msg = msg+"鐨勮澶囩涓嬫涓変繚鐨勬棩鏈熶笉瓒充袱涓湀锛岃鍙婃椂澶勭悊"; + MessageDTO messageDTO = new MessageDTO(); + messageDTO.setTitle(title); + messageDTO.setContent(msg); + messageDTO.setCategory("涓変繚娑堟伅"); + messageDTO.setFromUser("admin"); + messageDTO.setToUser(sysUser.getUsername()); + if(needAlerts.size()!=0){ + sysBaseApi.sendSysAnnouncement(messageDTO); + } + } + } +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml index 3c4e12a..16d4a2e 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml @@ -247,7 +247,8 @@ t1.property_status propertyStatus, t1.check_period checkPeriod, t1.next_technology_status_qualification_time nextTechnologyStatusQualificationTime, - t1.technology_status_qualification_time technologyStatusQualificationTime + t1.technology_status_qualification_time technologyStatusQualificationTime, + t1.technology_status_verification_type technologyStatusVerificationType from mom_eam_equipment t1 left join (select * from mom_eam_equipment_category where del_flag = 0) t2 on t1.equipment_category_id = t2.id where t1.del_flag = 0 diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java index 72462d1..5074614 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java @@ -2,7 +2,10 @@ import java.util.Arrays; import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.apache.shiro.SecurityUtils; @@ -14,9 +17,9 @@ import org.jeecg.common.util.SqlInjectionUtil; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.message.websocket.WebSocket; -import org.jeecg.modules.system.entity.SysAnnouncementSend; +import org.jeecg.modules.system.entity.*; import org.jeecg.modules.system.model.AnnouncementSendModel; -import org.jeecg.modules.system.service.ISysAnnouncementSendService; +import org.jeecg.modules.system.service.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; @@ -51,7 +54,16 @@ private ISysAnnouncementSendService sysAnnouncementSendService; @Autowired private WebSocket webSocket; - + @Autowired + private ISysRoleService sysRoleService; + @Autowired + private ISysDictService sysDictService; + @Autowired + private ISysDictItemService sysDictItemService; + @Autowired + private ISysUserRoleService sysUserRoleService; + @Autowired + private ISysUserService sysUserService; /** * 鍒嗛〉鍒楄〃鏌ヨ * @param sysAnnouncementSend @@ -92,7 +104,7 @@ result.setResult(pageList); return result; } - + /** * 娣诲姞 * @param sysAnnouncementSend @@ -110,7 +122,7 @@ } return result; } - + /** * 缂栬緫 * @param sysAnnouncementSend @@ -129,10 +141,10 @@ result.success("鎿嶄綔鎴愬姛!"); } } - + return result; } - + /** * 閫氳繃id鍒犻櫎 * @param id @@ -150,10 +162,10 @@ result.success("鍒犻櫎鎴愬姛!"); } } - + return result; } - + /** * 鎵归噺鍒犻櫎 * @param ids @@ -170,7 +182,7 @@ } return result; } - + /** * 閫氳繃id鏌ヨ * @param id @@ -188,7 +200,7 @@ } return result; } - + /** * @鍔熻兘锛氭洿鏂扮敤鎴风郴缁熸秷鎭槄璇荤姸鎬� * @param json @@ -209,7 +221,7 @@ result.setSuccess(true); return result; } - + /** * @鍔熻兘锛氳幏鍙栨垜鐨勬秷鎭� * @return @@ -265,4 +277,20 @@ AnnouncementSendModel model = sysAnnouncementSendService.getOne(sendId); return Result.ok(model); } + @GetMapping("getPrimaryInfo") + public Result<?> getPrimaryInfo(@RequestParam(name="userId",required=true) String userId){ + SysDict sysDict = sysDictService.getOne(new QueryWrapper<SysDict>().eq("dict_code","info_type"),false); + List<SysDictItem> sysDictItemList = sysDictItemService.list(new QueryWrapper<SysDictItem>().eq("dict_id",sysDict.getId())); +// List<String> rollCodeList = sysDictItemList.stream().map(SysDictItem::getItemValue).collect(Collectors.toList()); +// List<SysUserRole> sysUserRoles = sysUserRoleService.list(new QueryWrapper<SysUserRole>().eq("user_id",userId)); +// List<String> roleIds = sysUserRoles.stream().map(SysUserRole::getRoleId).collect(Collectors.toList()); +// List<SysRole> sysRoles = sysRoleService.list(new QueryWrapper<SysRole>().in("role_code",rollCodeList).in("id",roleIds)); + List<String> msgCategoryList = sysDictItemList.stream().map(SysDictItem::getItemText).collect(Collectors.toList()); + List<SysAnnouncementSend> list = sysAnnouncementSendService.getPrimaryInfo(userId,msgCategoryList); + for(SysAnnouncementSend sysAnnouncementSend:list){ + sysAnnouncementSend.setReadFlag("1"); + sysAnnouncementSendService.updateById(sysAnnouncementSend); + } + return Result.OK(list); + } } diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysAnnouncementSend.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysAnnouncementSend.java index 1d2b955..3add804 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysAnnouncementSend.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysAnnouncementSend.java @@ -3,6 +3,7 @@ import java.io.Serializable; import java.util.Date; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -19,7 +20,7 @@ @TableName("sys_announcement_send") public class SysAnnouncementSend implements Serializable { private static final long serialVersionUID = 1L; - + /**id*/ @TableId(type = IdType.ASSIGN_ID) private java.lang.String id; @@ -50,4 +51,9 @@ * 鏄惁鏍囨槦 褰撳�间负1鏄爣鏄熸秷鎭� */ private String starFlag; + @TableField(exist = false) + private String msgCategory; + @TableField(exist = false) + private String msgContent; + } diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysAnnouncementSendMapper.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysAnnouncementSendMapper.java index 7871b62..4c2aad7 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysAnnouncementSendMapper.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysAnnouncementSendMapper.java @@ -44,4 +44,8 @@ * 淇敼涓哄凡璇绘秷鎭� */ void updateReaded(@Param("userId") String userId, @Param("annoceIdList") List<String> annoceIdList); + /** + * 鑾峰彇棣栭〉娑堟伅 + */ + List<SysAnnouncementSend> getPrimaryInfo(@Param("userId") String userId,@Param("msgCategoryList")List<String> msgCategoryList); } diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml index 9925f50..532dd8f 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.jeecg.modules.system.mapper.SysAnnouncementSendMapper"> - + <resultMap id="AnnouncementSendModel" type="org.jeecg.modules.system.model.AnnouncementSendModel" > <result column="id" property="id" jdbcType="VARCHAR"/> <result column="annt_id" property="anntId" jdbcType="VARCHAR"/> @@ -17,12 +17,12 @@ <result column="open_type" property="openType" jdbcType="VARCHAR"/> <result column="open_page" property="openPage" jdbcType="VARCHAR"/> </resultMap> - + <select id="queryByUserId" parameterType="String" resultType="String"> - select sas.annt_id from sys_announcement_send sas + select sas.annt_id from sys_announcement_send sas where sas.user_id = #{userId} </select> - + <select id="getMyAnnouncementSendList" parameterType="Object" resultMap="AnnouncementSendModel"> select sas.id, @@ -96,12 +96,33 @@ <!-- 淇敼涓哄凡璇绘秷鎭� --> <update id="updateReaded"> update sys_announcement_send set read_flag = '1' - where user_id = #{userId} + where user_id = #{userId} and annt_id in <foreach collection="annoceIdList" index="index" item="id" open="(" separator="," close=")"> #{id} </foreach> </update> - + <select id="getPrimaryInfo" resultType="org.jeecg.modules.system.entity.SysAnnouncementSend"> + select + t1.id id, + t1.annt_id anntId, + t1.user_id userId, + t1.read_flag readFlag, + t2.msg_content msgContent, + t2.msg_category msgCategory + from + sys_announcement_send t1 + left join sys_announcement t2 + on t1.annt_id = t2.id + where t1.read_flag = '0' + and t1.user_id = #{userId} + <if test="msgCategoryList.size != 0"> + and t2.msg_category in ( + <foreach item="msgCategory" collection="msgCategoryList" separator=","> + #{msgCategory} + </foreach> + ) + </if> + </select> -</mapper> \ No newline at end of file +</mapper> diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementSendService.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementSendService.java index a846d23..1e4e10a 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementSendService.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementSendService.java @@ -2,6 +2,7 @@ import java.util.List; +import org.apache.ibatis.annotations.Param; import org.jeecg.modules.system.entity.SysAnnouncementSend; import org.jeecg.modules.system.model.AnnouncementSendModel; @@ -22,7 +23,7 @@ * @return */ public List<String> queryByUserId(String userId); - + /** * 鑾峰彇鎴戠殑娑堟伅 * @param announcementSendModel @@ -36,6 +37,8 @@ * @return */ AnnouncementSendModel getOne(String sendId); - + + List<SysAnnouncementSend> getPrimaryInfo(String userId,List<String> msgCategoryList); + } diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementSendServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementSendServiceImpl.java index d07af81..941b114 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementSendServiceImpl.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementSendServiceImpl.java @@ -24,7 +24,7 @@ @Resource private SysAnnouncementSendMapper sysAnnouncementSendMapper; - + @Override public List<String> queryByUserId(String userId) { return sysAnnouncementSendMapper.queryByUserId(userId); @@ -41,4 +41,9 @@ return sysAnnouncementSendMapper.getOne(sendId); } + @Override + public List<SysAnnouncementSend> getPrimaryInfo(String userId, List<String> msgCategoryList) { + return baseMapper.getPrimaryInfo(userId,msgCategoryList); + } + } -- Gitblit v1.9.3