From 1bf6cb4c0bfc149737afa37a1df1c809b29c6139 Mon Sep 17 00:00:00 2001 From: qushaowei <qushaowei@163.com> Date: 星期二, 10 六月 2025 13:57:43 +0800 Subject: [PATCH] 点检测试修改 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java | 193 +++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 175 insertions(+), 18 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java index b2218d8..f84630f 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java @@ -11,9 +11,11 @@ import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; 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; +import org.jeecg.common.system.api.ISysBaseAPI; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.vo.LoginUser; @@ -21,6 +23,8 @@ import org.jeecg.modules.eam.entity.*; import org.jeecg.modules.eam.service.*; import org.jeecg.modules.eam.vo.InspectionStandardImportVo; +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.transaction.annotation.Transactional; @@ -29,6 +33,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; @@ -64,6 +69,19 @@ @Autowired private IInspectionCycleService inspectionCycleService; + + @Autowired + private ISysBaseAPI sysBaseApi; + @Autowired + private ISysUserService sysUserService; + @Resource + private ISysRoleService sysRoleService; + @Resource + private ISysDictService sysDictService; + @Resource + private ISysDictItemService sysDictItemService; + @Resource + private ISysUserRoleService sysUserRoleService; /** * 鍒嗛〉鍒楄〃鏌ヨ * @@ -129,6 +147,7 @@ public Result<String> add(@RequestBody DailyInspectionStandard dailyInspectionStandard) { LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); dailyInspectionStandard.setWritePerson(sysUser.getRealname()); + dailyInspectionStandard.setAssignMode("1"); dailyInspectionStandardService.save(dailyInspectionStandard); List<DailyInspectionStandardDetail> dailyInspectionStandardDetaillist = dailyInspectionStandard.getDailyInspectionStandardDetaillist(); DailyInspectionStandardDetail isd = null; @@ -141,6 +160,8 @@ isd.setInspectionCycleId(dailyInspectionStandardDetail.getInspectionCycleId()); dailyInspectionStandardDetailService.save(isd); } + //娑堟伅鎻愰啋 + this.inspectionStandardAlert(dailyInspectionStandard.getApprovalStatus(),dailyInspectionStandard.getNum()); return Result.OK("娣诲姞鎴愬姛锛�"); } @@ -178,6 +199,8 @@ isd.setInspectionCycleId(dailyInspectionStandardDetail.getInspectionCycleId()); dailyInspectionStandardDetailService.save(isd); } + //娑堟伅鎻愰啋 + this.inspectionStandardAlert(dailyInspectionStandard.getApprovalStatus(),dailyInspectionStandard.getNum()); return Result.OK("缂栬緫鎴愬姛!"); } @@ -268,9 +291,11 @@ int successLines = 0, errorLines = 0; //a = 1寮�濮嬭鍙栫偣妫�椤圭洰锛沚 = 1寮�濮嬭鍙栧懆淇濆吇椤圭洰锛沜 = 1璇ヨ澶囧鍏ヤ俊鎭瓨鍦ㄩ敊璇紱projectColumnIndex鐐规椤圭洰鎵�鍦ㄥ垪锛沵aintenanceColumnIndex鍛ㄤ繚鍏婚」鐩墍鍦ㄥ垪 int a = 0,b = 0,c = 0,projectColumnIndex = -1,maintenanceColumnIndex = 0; + //琛ㄥご鏍囬 + String title = ""; String dailyInspectionStandardId = null; String equipmentNum = null; - DailyInspectionStandard dailyInspectionStandard = new DailyInspectionStandard(); + DailyInspectionStandard dailyInspectionStandard = null; List<DailyInspectionStandardDetail> dailyInspectionStandardDetailList = new ArrayList<>(); for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) { MultipartFile file = entity.getValue(); @@ -292,18 +317,26 @@ Sheet sheet = workbook.getSheetAt(i); for (Row row : sheet) { // 閬嶅巻姣忎竴涓崟鍏冩牸 - for (Cell cell : row) { +// for (Cell cell : row) { + for(int j = 0;j < 5;j++){ // 澶勭悊鍗曞厓鏍兼暟鎹紝渚嬪杈撳嚭鍗曞厓鏍肩殑鍊� + Cell cell = row.getCell(j); +// if("STRING".equals(cell.getCellType().toString())|| "BLANK".equals(cell.getCellType().toString())){ if("STRING".equals(cell.getCellType().toString())|| "BLANK".equals(cell.getCellType().toString())){ //鐐规鍛ㄦ湡瀛樺湪锛屽垽鏂澶囩粺涓�缂栫爜鏄惁瀛樺湪 - if(cell.getStringCellValue().contains("璁惧鍚嶇О锛�")){ - String[] tybh1 = cell.getStringCellValue().split("缁熶竴缂栧彿锛�"); + String strCell = cell.getStringCellValue(); + if(strCell.contains("鐢熶骇璁惧鑷富缁存姢鐐规琛�")){ + title = strCell.trim().substring(11).trim(); + } + if(strCell.contains("璁惧鍚嶇О锛�")){ + String[] tybh1 = strCell.split("缁熶竴缂栧彿锛�"); String[] tybh2 = tybh1[1].split("骞�"); - equipmentNum = tybh2[0].trim().substring(0,tybh2[0].trim().length()-4).trim(); +// equipmentNum = tybh2[0].trim().substring(0,tybh2[0].trim().length()-4).trim(); + equipmentNum = tybh2[0].trim(); /*String year = tybh2[0].trim().substring(tybh2[0].trim().length()-4,tybh2[0].trim().length()).trim(); String[] month1 = tybh2[1].split("鏈�"); String month = month1[0].trim(); - String[] unit1 = cell.getStringCellValue().split("鍗曚綅锛�"); + String[] unit1 = strCell.split("鍗曚綅锛�"); String unit = unit1[1].trim();*/ Equipment equipment = equipmentService.lambdaQuery().eq(Equipment::getNum,equipmentNum).eq(Equipment::getDelFlag, CommonConstant.DEL_FLAG_0).one(); if(equipment == null){ @@ -319,12 +352,15 @@ errorLines++; }else { c = 0; - dailyInspectionStandard.setNum(identityService.getNumByTypeAndLength("DailylnspectionStandard",4)); + String num = identityService.getNumByTypeAndLength("DailylnspectionStandard", 4); + dailyInspectionStandard = new DailyInspectionStandard(); + dailyInspectionStandard.setNum(num); dailyInspectionStandard.setVersionStatus("2"); dailyInspectionStandard.setVersion("1.0"); dailyInspectionStandard.setAssignMode("1"); dailyInspectionStandard.setEquipmentId(equipment.getId()); - dailyInspectionStandard.setApprovalStatus("1"); + dailyInspectionStandard.setApprovalStatus("5"); + dailyInspectionStandard.setDisUda1(title); //dailyInspectionStandardService.save(dailyInspectionStandard); //dailyInspectionStandardId = dailyInspectionStandard.getId(); } @@ -333,23 +369,24 @@ } //璁惧缁熶竴缂栫爜瀛樺湪锛屽垽鏂偣妫�椤圭洰鏄惁瀛樺湪 if(c == 0){ - System.out.print(cell.getStringCellValue() + "\t"); - if(cell.getStringCellValue().contains("鐐规椤圭洰")){ + System.out.print(strCell + "\t"); + if(strCell.contains("鐐规椤圭洰")){ a = 1; projectColumnIndex = cell.getColumnIndex(); break; } - if(cell.getStringCellValue().contains("缁存姢璐d换浜虹瀛�")){ + if(strCell.contains("缁存姢璐d换浜虹瀛�")){ a = 0; } if(projectColumnIndex == cell.getColumnIndex() && a == 1){ DailyInspectionStandardDetail dailyInspectionStandardDetail = new DailyInspectionStandardDetail(); dailyInspectionStandardDetail.setDailyInspectionStandardId(dailyInspectionStandardId); String dayInspectionProjectName = row.getCell(projectColumnIndex).toString(); - String standard = row.getCell(projectColumnIndex+1).toString(); - //鏌ヨ鐐瑰嚮椤圭洰锛屽鏋滄病鏈夋柊澧炵偣妫�椤圭洰 + String standard = row.getCell(projectColumnIndex+3).toString(); + //鏌ヨ鐐规椤圭洰锛屽鏋滄病鏈夋柊澧炵偣妫�椤圭洰 if(StringUtils.isNotBlank(dayInspectionProjectName)){ - List<InspectionProject> inspectionProjectList = inspectionProjectService.lambdaQuery().eq(InspectionProject::getName,dayInspectionProjectName).eq(InspectionProject::getDelFlag,CommonConstant.DEL_FLAG_0).list(); + List<InspectionProject> inspectionProjectList = inspectionProjectService.lambdaQuery().eq(InspectionProject::getName,dayInspectionProjectName) + .eq(InspectionProject::getDetectionStandard,standard).eq(InspectionProject::getDelFlag,CommonConstant.DEL_FLAG_0).list(); if(CollectionUtils.isEmpty(inspectionProjectList)){ InspectionProject inspectionProject = new InspectionProject(); inspectionProject.setNum(identityService.getNumByTypeAndLength("InspectionProject",4)); @@ -371,12 +408,13 @@ } break; } - if(cell.getStringCellValue().contains("鍛ㄤ繚鍏婚」鐩�")){ + + if(strCell.contains("鍛ㄤ繚鍏婚」鐩�")){ b = 1; maintenanceColumnIndex = cell.getColumnIndex(); break; } - if(cell.getStringCellValue().contains("鍛ㄤ繚鍏绘搷浣滆�呮墽琛�")){ + if(strCell.contains("鍛ㄤ繚鍏绘搷浣滆�呮墽琛�")){ b = 0; dailyInspectionStandardService.save(dailyInspectionStandard); for(DailyInspectionStandardDetail dailyInspectionStandardDetail : dailyInspectionStandardDetailList){ @@ -391,9 +429,10 @@ DailyInspectionStandardDetail dailyInspectionStandardDetail = new DailyInspectionStandardDetail(); dailyInspectionStandardDetail.setDailyInspectionStandardId(dailyInspectionStandardId); String weekInspectionProjectName = row.getCell(maintenanceColumnIndex).toString(); - String inspectionStandardName = row.getCell(maintenanceColumnIndex+1).toString(); + String inspectionStandardName = row.getCell(maintenanceColumnIndex+3).toString(); if(StringUtils.isNotBlank(weekInspectionProjectName)){ - List<InspectionProject> inspectionProjectList = inspectionProjectService.lambdaQuery().eq(InspectionProject::getName,weekInspectionProjectName).eq(InspectionProject::getDelFlag,CommonConstant.DEL_FLAG_0).list(); + List<InspectionProject> inspectionProjectList = inspectionProjectService.lambdaQuery().eq(InspectionProject::getName,weekInspectionProjectName) + .eq(InspectionProject::getDetectionStandard,inspectionStandardName).eq(InspectionProject::getDelFlag,CommonConstant.DEL_FLAG_0).list(); if(CollectionUtils.isEmpty(inspectionProjectList)){ InspectionProject inspectionProject = new InspectionProject(); inspectionProject.setNum(identityService.getNumByTypeAndLength("InspectionProject",4)); @@ -455,6 +494,7 @@ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); dailyInspectionStandard.setWritePerson(sysUser.getRealname()); dailyInspectionStandard.setId(""); + dailyInspectionStandard.setAssignMode("1"); dailyInspectionStandard.setApprovalStatus("1"); dailyInspectionStandard.setCreateTime(new Date()); dailyInspectionStandard.setTakeEffectTime(null); @@ -544,6 +584,15 @@ standard.setLoseEfficacyPerson(sysUser.getRealname()); dailyInspectionStandardService.updateById(standard); } + List<DailyInspectionStandard> list = dailyInspectionStandardService.lambdaQuery() + .eq(DailyInspectionStandard::getEquipmentId, dailyInspectionStandard.getEquipmentId()) + .eq(DailyInspectionStandard::getVersionStatus, "2").list(); + for (DailyInspectionStandard inspectionStandard : list) { + inspectionStandard.setVersionStatus("3"); + inspectionStandard.setLoseEfficacyTime(new Date()); + inspectionStandard.setLoseEfficacyPerson(sysUser.getRealname()); + dailyInspectionStandardService.updateById(inspectionStandard); + } dailyInspectionStandard.setApprovalPerson(sysUser.getRealname()); dailyInspectionStandard.setVersionStatus("2"); dailyInspectionStandard.setTakeEffectTime(new Date()); @@ -552,9 +601,117 @@ } boolean b = dailyInspectionStandardService.updateById(dailyInspectionStandard); if (b){ + if(!"5".equals(approvalStatus)){//宸茬紪鍒� + this.inspectionStandardAlert(approvalStatus,dailyInspectionStandard.getNum()); + } + return Result.OK("瀹℃牳鎴愬姛!"); }else{ return Result.error("瀹℃牳澶辫触!"); } } + + /** + *鐐规鏍囧噯绛惧娴佺▼娑堟伅鎻愰啋 + * qsw 2024-3-11 + */ + void inspectionStandardAlert(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); + } +// else if("5".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+"銆戠殑鑷富缁存姢鐐规鏍囧噯宸查┏鍥烇紝璇峰埌鑷富缁存姢鐐规鏍囧噯椤甸潰鏌ョ湅锛�"; + } +// else if("5".equals(approvalStatus)){ +// msg = "銆�"+sysUser.getRealname()+"銆�"+"灏嗕簩绾т繚鍏诲伐鍗曞彿銆�"+standardNum+"銆戠殑瀹屽伐绉讳氦鍗曠‘璁ら�氳繃锛岃鍒颁簩绾т繚鍏婚〉闈㈡煡鐪嬶紒"; +// } + MessageDTO messageDTO = new MessageDTO(); + messageDTO.setTitle("鑷富缁存姢鐐规鏍囧噯绛惧娑堟伅鎻愰啋锛�"); + messageDTO.setContent(msg); + messageDTO.setCategory(roleDictItem); + messageDTO.setFromUser("鑷富缁存姢鐐规鏍囧噯绛惧娑堟伅鎻愰啋鎻愰啋灏忓姪鎵�"); + if(user != null){ + messageDTO.setToUser(user.getUsername()); + } + sysBaseApi.sendSysAnnouncement(messageDTO); + } + } + + + /** + * 鎵归噺 绛惧娴佺▼ + * qsw 2023-12-12 + */ + @RequestMapping(value = "/auditApprovalBatch", method = {RequestMethod.PUT,RequestMethod.POST}) + @Transactional(rollbackFor = { Exception.class }) + public Result<String> auditApprovalBatch(@RequestBody DailyInspectionStandard dailyInspectionStandard) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + List<DailyInspectionStandard> dailyInspectionStandardlist = dailyInspectionStandard.getDailyInspectionStandardlist(); + for (DailyInspectionStandard inspectionStandard : dailyInspectionStandardlist) { + String approvalStatus = inspectionStandard.getApprovalStatus(); + if("5".equals(approvalStatus)){//瀹℃牳閫氳繃鍚庯紝鐗堟湰鐢熸晥 + List<DailyInspectionStandard> dailyInspectionStandards = dailyInspectionStandardService.lambdaQuery() + .eq(DailyInspectionStandard::getNum, inspectionStandard.getNum()) + .eq(DailyInspectionStandard::getVersionStatus, "2").list(); + for (DailyInspectionStandard standard : dailyInspectionStandards) { + standard.setVersionStatus("3"); + standard.setLoseEfficacyTime(new Date()); + standard.setLoseEfficacyPerson(sysUser.getRealname()); + dailyInspectionStandardService.updateById(standard); + } + inspectionStandard.setApprovalPerson(sysUser.getRealname()); + inspectionStandard.setVersionStatus("2"); + inspectionStandard.setTakeEffectTime(new Date()); + }else if("3".equals(approvalStatus)){ + inspectionStandard.setAuditPerson(sysUser.getRealname()); + } + boolean b = dailyInspectionStandardService.updateById(inspectionStandard); + if (!b){ + return Result.error("瀹℃牳澶辫触!"); + } + } + return Result.OK("瀹℃牳鎴愬姛!"); + } } -- Gitblit v1.9.3