From 4371080df058a549cdaf31dddeca6c5fee58e23b Mon Sep 17 00:00:00 2001 From: Houjie <714924425@qq.com> Date: 星期二, 10 六月 2025 15:31:32 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyInspectionStandardController.java | 438 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 414 insertions(+), 24 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 1c26d74..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 @@ -2,32 +2,44 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.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.modules.eam.entity.DailyInspectionStandard; -import org.jeecg.modules.eam.entity.DailyInspectionStandardDetail; -import org.jeecg.modules.eam.service.IDailyInspectionStandardDetailService; -import org.jeecg.modules.eam.service.IDailyInspectionStandardService; -import org.jeecg.modules.eam.service.IEamEquipmentService; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.common.util.ImportExcelUtil; +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; 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; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @Description: mom_eam_inspection_project @@ -48,6 +60,28 @@ @Autowired private IDailyInspectionStandardDetailService dailyInspectionStandardDetailService; + + @Autowired + private IdentityService identityService; + + @Autowired + private IInspectionProjectService inspectionProjectService; + + @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; /** * 鍒嗛〉鍒楄〃鏌ヨ * @@ -94,8 +128,8 @@ */ @GetMapping("findInspectionStandardList") public Result<?> findInspectionStandardList(@RequestParam("pageNo") Integer pageNo, - @RequestParam("pageSize") Integer pageSize, - @RequestParam Map<String, Object> params) { + @RequestParam("pageSize") Integer pageSize, + @RequestParam Map<String, Object> params) { IPage<Map<String, Object>> inspectionStandardList = dailyInspectionStandardService.findInspectionStandardList(pageNo, pageSize, params); return Result.ok(inspectionStandardList); } @@ -111,6 +145,9 @@ @PostMapping(value = "/add") @Transactional(rollbackFor = { Exception.class }) 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; @@ -123,6 +160,8 @@ isd.setInspectionCycleId(dailyInspectionStandardDetail.getInspectionCycleId()); dailyInspectionStandardDetailService.save(isd); } + //娑堟伅鎻愰啋 + this.inspectionStandardAlert(dailyInspectionStandard.getApprovalStatus(),dailyInspectionStandard.getNum()); return Result.OK("娣诲姞鎴愬姛锛�"); } @@ -137,6 +176,7 @@ @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) @Transactional(rollbackFor = { Exception.class }) public Result<String> edit(@RequestBody DailyInspectionStandard dailyInspectionStandard) { + dailyInspectionStandard.setApprovalStatus("1"); dailyInspectionStandardService.updateById(dailyInspectionStandard); //1.鍒犻櫎鍘熺偣妫�椤圭洰 List<DailyInspectionStandardDetail> dailyInspectionStandardDetails = dailyInspectionStandardDetailService.lambdaQuery() @@ -159,6 +199,8 @@ isd.setInspectionCycleId(dailyInspectionStandardDetail.getInspectionCycleId()); dailyInspectionStandardDetailService.save(isd); } + //娑堟伅鎻愰啋 + this.inspectionStandardAlert(dailyInspectionStandard.getApprovalStatus(),dailyInspectionStandard.getNum()); return Result.OK("缂栬緫鎴愬姛!"); } @@ -240,8 +282,195 @@ * @return */ @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { - return super.importExcel(request, response, DailyInspectionStandard.class); + public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) throws IOException { + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal(); + Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); + // 閿欒淇℃伅 + List<String> errorMessage = new ArrayList<>(); + 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 = null; + List<DailyInspectionStandardDetail> dailyInspectionStandardDetailList = new ArrayList<>(); + for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) { + MultipartFile file = entity.getValue(); + ImportParams params = new ImportParams(); + params.setNeedSave(true); + try { + InputStream fis = file.getInputStream(); + Workbook workbook = new XSSFWorkbook(fis); + int sheets = workbook.getNumberOfSheets(); + //鍒ゆ柇鐐规鍛ㄦ湡鏄惁瀛樺湪 + InspectionCycle dayInspectionCycle = inspectionCycleService.lambdaQuery().eq(InspectionCycle::getName,"1鏃�").eq(InspectionCycle::getVersionStatus,"2").one(); + InspectionCycle weekInspectionCycle = inspectionCycleService.lambdaQuery().eq(InspectionCycle::getName,"1鍛�").eq(InspectionCycle::getVersionStatus,"2").one(); + if(dayInspectionCycle == null || weekInspectionCycle == null){ + c = 1; + errorMessage.add("鐐规鍛ㄦ湡涓嶅瓨鍦紝璇峰厛缁存姢鐐规鍛ㄦ湡"); + errorLines++; + }else{ + for(int i = 0;i < sheets;i++){ + Sheet sheet = workbook.getSheetAt(i); + for (Row row : sheet) { + // 閬嶅巻姣忎竴涓崟鍏冩牸 +// 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())){ + //鐐规鍛ㄦ湡瀛樺湪锛屽垽鏂澶囩粺涓�缂栫爜鏄惁瀛樺湪 + 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(); + /*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 = 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){ + c = 1; + errorMessage.add("sheet椤典负"+sheet.getSheetName()+"锛岃澶囩粺涓�缂栫爜涓�"+ equipmentNum + "鐨勬暟鎹鍏ュけ璐�,鍘熷洜:璁惧涓嶅瓨鍦紝璇峰厛缁存姢璁惧鍙拌处锛�"); + errorLines++; + }else { + List<DailyInspectionStandard> dailyInspectionStandardList = dailyInspectionStandardService.lambdaQuery().eq(DailyInspectionStandard::getEquipmentId,equipment.getId()) + .eq(DailyInspectionStandard::getVersionStatus,"2").eq(DailyInspectionStandard::getDelFlag,CommonConstant.DEL_FLAG_0).list(); + if(CollectionUtils.isNotEmpty(dailyInspectionStandardList)){ + c = 1; + errorMessage.add("sheet椤典负"+sheet.getSheetName()+"锛岃澶囩粺涓�缂栫爜涓�"+ equipmentNum + "鐨勬暟鎹鍏ュけ璐�,鍘熷洜:璇ヨ澶囧凡缁忓瓨鍦ㄧ偣妫�鏍囧噯锛�"); + errorLines++; + }else { + c = 0; + 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("5"); + dailyInspectionStandard.setDisUda1(title); + //dailyInspectionStandardService.save(dailyInspectionStandard); + //dailyInspectionStandardId = dailyInspectionStandard.getId(); + } + } + break; + } + //璁惧缁熶竴缂栫爜瀛樺湪锛屽垽鏂偣妫�椤圭洰鏄惁瀛樺湪 + if(c == 0){ + System.out.print(strCell + "\t"); + if(strCell.contains("鐐规椤圭洰")){ + a = 1; + projectColumnIndex = cell.getColumnIndex(); + break; + } + 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+3).toString(); + //鏌ヨ鐐规椤圭洰锛屽鏋滄病鏈夋柊澧炵偣妫�椤圭洰 + if(StringUtils.isNotBlank(dayInspectionProjectName)){ + 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)); + inspectionProject.setName(dayInspectionProjectName); + inspectionProject.setDetectionStandard(standard); + inspectionProjectService.save(inspectionProject); + dailyInspectionStandardDetail.setInspectionProjectId(inspectionProject.getId()); + dailyInspectionStandardDetail.setInspectionCycleId(dayInspectionCycle.getId()); + dailyInspectionStandardDetailList.add(dailyInspectionStandardDetail); +// c = 1; +// errorMessage.add("sheet椤典负"+sheet.getSheetName()+"锛岃澶囩粺涓�缂栫爜涓�"+ equipmentNum + "鐨勬暟鎹鍏ュけ璐�,鍘熷洜:鐐规椤圭洰涓嶅瓨鍦紝璇峰厛缁存姢鐐规椤圭洰锛�"); +// errorLines++; + }else { + dailyInspectionStandardDetail.setInspectionProjectId(inspectionProjectList.get(0).getId()); + dailyInspectionStandardDetail.setInspectionCycleId(dayInspectionCycle.getId()); + dailyInspectionStandardDetailList.add(dailyInspectionStandardDetail); + //dailyInspectionStandardDetailService.save(dailyInspectionStandardDetail); + } + } + break; + } + + if(strCell.contains("鍛ㄤ繚鍏婚」鐩�")){ + b = 1; + maintenanceColumnIndex = cell.getColumnIndex(); + break; + } + if(strCell.contains("鍛ㄤ繚鍏绘搷浣滆�呮墽琛�")){ + b = 0; + dailyInspectionStandardService.save(dailyInspectionStandard); + for(DailyInspectionStandardDetail dailyInspectionStandardDetail : dailyInspectionStandardDetailList){ + dailyInspectionStandardDetail.setDailyInspectionStandardId(dailyInspectionStandard.getId()); + } + dailyInspectionStandardDetailService.saveBatch(dailyInspectionStandardDetailList); + successLines++; + dailyInspectionStandard = null; + dailyInspectionStandardDetailList.clear(); + } + if(b == 1 && c == 0 && maintenanceColumnIndex == cell.getColumnIndex()){ + DailyInspectionStandardDetail dailyInspectionStandardDetail = new DailyInspectionStandardDetail(); + dailyInspectionStandardDetail.setDailyInspectionStandardId(dailyInspectionStandardId); + String weekInspectionProjectName = row.getCell(maintenanceColumnIndex).toString(); + String inspectionStandardName = row.getCell(maintenanceColumnIndex+3).toString(); + if(StringUtils.isNotBlank(weekInspectionProjectName)){ + 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)); + inspectionProject.setName(weekInspectionProjectName); + inspectionProject.setDetectionStandard(inspectionStandardName); + inspectionProjectService.save(inspectionProject); + dailyInspectionStandardDetail.setInspectionProjectId(inspectionProject.getId()); + dailyInspectionStandardDetail.setInspectionCycleId(weekInspectionCycle.getId()); + dailyInspectionStandardDetailList.add(dailyInspectionStandardDetail); +// c = 1; +// errorMessage.add("sheet椤典负"+sheet.getSheetName()+"锛岃鏁颁负锛�"+row.getRowNum()+"锛岃澶囩粺涓�缂栫爜涓�"+ equipmentNum + "鐨勬暟鎹鍏ュけ璐�,鍘熷洜:鐐规椤圭洰涓嶅瓨鍦紝璇峰厛缁存姢鐐规椤圭洰锛�"); +// errorLines++; + }else { + + dailyInspectionStandardDetail.setInspectionProjectId(inspectionProjectList.get(0).getId()); + dailyInspectionStandardDetail.setInspectionCycleId(weekInspectionCycle.getId()); + dailyInspectionStandardDetailList.add(dailyInspectionStandardDetail); + //dailyInspectionStandardDetailService.save(dailyInspectionStandardDetail); + } + } + break; + } + } + }/*else if("NUMERIC".equals(cell.getCellType().toString())){ + System.out.print(cell.getNumericCellValue() + "\t"); + } +*/ + } + System.out.println(); + } + } + } + + } catch (IOException e) { + e.printStackTrace(); + } + } + return ImportExcelUtil.imporReturnRes(errorLines, successLines, errorMessage); } /** @@ -250,8 +479,8 @@ */ @GetMapping("getDepartByEquipment") public Result<?> getDepartByEquipment(@RequestParam("pageNo") Integer pageNo, - @RequestParam("pageSize") Integer pageSize, - @RequestParam Map<String, Object> params) { + @RequestParam("pageSize") Integer pageSize, + @RequestParam Map<String, Object> params) { IPage<Map<String, Object>> departByEquipment = dailyInspectionStandardService.getDepartByEquipment(pageNo, pageSize, params); return Result.ok(departByEquipment); } @@ -262,8 +491,18 @@ @PostMapping(value = "/revise") @Transactional(rollbackFor = { Exception.class }) public Result<String> revise(@RequestBody DailyInspectionStandard dailyInspectionStandard) { + 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); + dailyInspectionStandard.setLoseEfficacyTime(null); + dailyInspectionStandard.setApprovalFeedback(null); + dailyInspectionStandard.setAuditFeedback(null); + dailyInspectionStandard.setAuditPerson(null); + dailyInspectionStandard.setApprovalPerson(null); dailyInspectionStandardService.save(dailyInspectionStandard); List<DailyInspectionStandardDetail> dailyInspectionStandardDetaillist = dailyInspectionStandard.getDailyInspectionStandardDetaillist(); DailyInspectionStandardDetail isd = null; @@ -306,15 +545,18 @@ @Transactional(rollbackFor = { Exception.class }) public Result<String> versionTakeEffect(@RequestBody DailyInspectionStandard dailyInspectionStandard) { - List<DailyInspectionStandard> dailyInspectionStandards = dailyInspectionStandardService.lambdaQuery() - .eq(DailyInspectionStandard::getNum, dailyInspectionStandard.getNum()) - .eq(DailyInspectionStandard::getVersionStatus, "2").list(); - for (DailyInspectionStandard standard : dailyInspectionStandards) { - standard.setVersionStatus("3"); - standard.setLoseEfficacyTime(new Date()); - dailyInspectionStandardService.updateById(standard); - } - dailyInspectionStandard.setTakeEffectTime(new Date()); +// List<DailyInspectionStandard> dailyInspectionStandards = dailyInspectionStandardService.lambdaQuery() +// .eq(DailyInspectionStandard::getNum, dailyInspectionStandard.getNum()) +// .eq(DailyInspectionStandard::getVersionStatus, "2").list(); +// for (DailyInspectionStandard standard : dailyInspectionStandards) { +// standard.setVersionStatus("3"); +// standard.setLoseEfficacyTime(new Date()); +// dailyInspectionStandardService.updateById(standard); +// } +// dailyInspectionStandard.setTakeEffectTime(new Date()); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + dailyInspectionStandard.setLoseEfficacyPerson(sysUser.getRealname()); + dailyInspectionStandard.setLoseEfficacyTime(new Date()); boolean b = dailyInspectionStandardService.updateById(dailyInspectionStandard); if (b){ return Result.OK("缂栬緫鎴愬姛!"); @@ -323,5 +565,153 @@ } } + /** + * 绛惧娴佺▼ + * qsw 2023-11-16 + */ + @RequestMapping(value = "/auditApproval", method = {RequestMethod.PUT,RequestMethod.POST}) + @Transactional(rollbackFor = { Exception.class }) + public Result<String> auditApproval(@RequestBody DailyInspectionStandard dailyInspectionStandard) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String approvalStatus = dailyInspectionStandard.getApprovalStatus(); + if("5".equals(approvalStatus)){//瀹℃牳閫氳繃鍚庯紝鐗堟湰鐢熸晥 + List<DailyInspectionStandard> dailyInspectionStandards = dailyInspectionStandardService.lambdaQuery() + .eq(DailyInspectionStandard::getNum, dailyInspectionStandard.getNum()) + .eq(DailyInspectionStandard::getVersionStatus, "2").list(); + for (DailyInspectionStandard standard : dailyInspectionStandards) { + standard.setVersionStatus("3"); + standard.setLoseEfficacyTime(new Date()); + 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()); + }else if("3".equals(approvalStatus)){ + dailyInspectionStandard.setAuditPerson(sysUser.getRealname()); + } + 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