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 | 530 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 525 insertions(+), 5 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 5abbfad..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 @@ -9,7 +9,11 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.usermodel.*; +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; @@ -18,15 +22,24 @@ 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; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +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; +import java.io.InputStream; import java.math.BigDecimal; import java.util.Arrays; import java.util.Date; @@ -65,6 +78,19 @@ @Lazy private IMaintenanceStandardWorkInstructionService maintenanceStandardWorkInstructionService; + @Autowired + private IMaintenanceProjectService maintenanceProjectService; + + @Autowired + @Lazy + private IdentityService sysIdentityService; + @Autowired + @Lazy + private IMaintenanceProjectCategoryService maintenanceProjectCategoryService; + @Lazy + @Autowired + private IMaintenanceCycleService maintenanceCycleService; + // @Autowired @@ -74,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; /** * 鍒嗛〉鍒楄〃鏌ヨ @@ -115,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); } @@ -137,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("娣诲姞鎴愬姛锛�"); } @@ -169,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("缂栬緫鎴愬姛!"); } @@ -251,9 +362,259 @@ * @param response * @return */ - @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { - return super.importExcel(request, response, MaintenanceStandard.class); + @RequestMapping(value = "/importExcelOfTwoMaintenance", method = RequestMethod.POST) + public Result<?> importExcelOfTwoMaintenance(HttpServletRequest request, HttpServletResponse response) { + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + 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(); + try { + InputStream fis = file.getInputStream(); + XWPFDocument document = new XWPFDocument(fis); + XWPFParagraph mainTitleParagraph = document.getParagraphs().get(0); + 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("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; + } + } + else { + continue; + } + } + else { + continue; + } + String role0 = ""; + for (XWPFTableRow row : table.getRows()) { + XWPFTableCell cell0 = row.getCell(0); + XWPFTableCell cell2 = row.getCell(2); + 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); + if(ObjectUtils.isNotNull(maintenanceProjectCategory)){ + MaintenanceProject maintenanceProject = maintenanceProjectService.getOne(new QueryWrapper<MaintenanceProject>().eq("name",projectName).eq("del_flag",0).eq("maintenance_project_category_id",maintenanceProjectCategory.getId()),false); + MaintenanceCycle maintenanceCycle = maintenanceCycleService.getOne(new QueryWrapper<MaintenanceCycle>().eq("name","6鏈�").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.setMaintenanceProjectCategoryId(maintenanceProjectCategory.getId()); + maintenanceProject.setDelFlag(0); + maintenanceProjectService.save(maintenanceProject); + } + maintenanceStandardDetail.setMaintenanceProjectId(maintenanceProject.getId()); + if(role0.equals("缁翠慨浜哄憳淇濆吇鍐呭")){ + maintenanceStandardDetail.setMaintenanceRole("maintenance"); + } 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); + } + + } + rowNumber++; + } + } + } + if(msgInfo == ""){ + return Result.OK("瀵煎叆鎴愬姛"); + }else{ + return Result.OK("缁熶竴缂栫爜鏄細"+msgInfo+"鐨勪繚鍏绘爣鍑嗗凡瀛樺湪锛岃鍏堟墜鍔ㄥけ鏁堝啀閲嶆柊瀵煎叆!"); + } + } else { + System.out.println("鏃犳硶瑙f瀽璇ユ枃浠�"); + } + + fis.close(); + } catch (IOException e) { + e.printStackTrace(); + } + + } + return Result.error("鏂囦欢瀵煎叆澶辫触锛�"); + } + /** + * 閫氳繃excel瀵煎叆鏁版嵁 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcelOfThreeMaintenance", method = RequestMethod.POST) + public Result<?> importExcelOfThreeMaintenance(HttpServletRequest request, HttpServletResponse response) { + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal(); + Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); + String exceptionInfo = ""; + int exceptionNum = 0; + for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) { + MultipartFile file = entity.getValue(); + try { + InputStream fis = file.getInputStream(); + XWPFDocument document = new XWPFDocument(fis); + XWPFParagraph mainTitleParagraph = document.getParagraphs().get(0); + if (mainTitleParagraph != null) { + // 鑾峰彇涓绘爣棰樻枃鏈唴瀹� + String mainTitle = mainTitleParagraph.getText(); + + } else { + System.out.println("鏃犳硶瑙f瀽璇ユ枃浠�"); + } + + fis.close(); + } catch (IOException e) { + e.printStackTrace(); + } + + } + return Result.error("鏂囦欢瀵煎叆澶辫触锛�"); } /** @@ -287,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)){ @@ -393,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()); @@ -401,10 +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