From bcd7d1c9222431f37a6579a72456b2edb8f02402 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期五, 07 三月 2025 10:54:38 +0800 Subject: [PATCH] art: 验收日期 与 下次三保日期计算关系 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java | 101 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 99 insertions(+), 2 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 0e1126b..e4dc0fb 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 @@ -1,5 +1,6 @@ package org.jeecg.modules.eam.controller; +import java.time.LocalDate; import java.util.Arrays; import java.util.Date; import java.util.List; @@ -20,6 +21,7 @@ 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.common.util.DateUtils; import org.jeecg.modules.base.entity.Constructor; import org.jeecg.modules.base.service.IConstructorService; import org.jeecg.modules.base.service.IFactoryModelService; @@ -36,7 +38,9 @@ import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.modules.system.entity.SysDepart; +import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.system.service.ISysDepartService; +import org.jeecg.modules.system.service.ISysUserService; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.entity.ImportParams; import org.springframework.beans.factory.annotation.Autowired; @@ -124,7 +128,8 @@ @Autowired private IMaintenanceStandardService maintenanceStandardService; - + @Autowired + private ISysUserService sysUserService; /** @@ -159,6 +164,10 @@ } if(StringUtils.isNotBlank(equipment.getEquipmentCategoryId())){ queryWrapper.eq("equipment_category_id",equipment.getEquipmentCategoryId()); + } + List<String> userWorkCenterIds = getUserWorkCenterIds(); + if(CollectionUtils.isNotEmpty(userWorkCenterIds)) { + queryWrapper.in("work_center_id",userWorkCenterIds); } if(StringUtils.isNotBlank(equipment.getWorkCenterId())){ queryWrapper.eq("work_center_id",equipment.getWorkCenterId()); @@ -306,9 +315,41 @@ @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { - QueryWrapper<Equipment> queryWrapper = QueryGenerator.initQueryWrapper(equipment, req.getParameterMap()); + //QueryWrapper<Equipment> queryWrapper = QueryGenerator.initQueryWrapper(equipment, req.getParameterMap()); Page<Equipment> page = new Page<Equipment>(pageNo, pageSize); IPage<Equipment> pageList = equipmentService.getEquipmentTZList(page, equipment); + List<Equipment> list = pageList.getRecords(); + list.forEach(equip -> { + String id = equip.getId(); + List<DailyInspectionStandard> dailyInspectionStandards = dailyInspectionStandardService.lambdaQuery() + .eq(DailyInspectionStandard::getEquipmentId, id) + .eq(DailyInspectionStandard::getVersionStatus, "2") + .list(); + if (dailyInspectionStandards.size() > 0) { + equip.setYseNoInspectionStandard("0"); + } else { + equip.setYseNoInspectionStandard("1"); + } + List<MaintenanceStandard> maintenance2Standards = maintenanceStandardService.lambdaQuery() + .eq(MaintenanceStandard::getEquipmentId, id) + .eq(MaintenanceStandard::getMaintenanceType, "2") + .eq(MaintenanceStandard::getVersionStatus, "2").list(); + if (maintenance2Standards.size() > 0) { + equip.setYseNoMaintenance2Standard("0"); + } else { + equip.setYseNoMaintenance2Standard("1"); + } + + List<MaintenanceStandard> maintenance3Standards = maintenanceStandardService.lambdaQuery() + .eq(MaintenanceStandard::getEquipmentId, id) + .eq(MaintenanceStandard::getMaintenanceType, "3") + .eq(MaintenanceStandard::getVersionStatus, "2").list(); + if (maintenance3Standards.size() > 0) { + equip.setYseNoMaintenance3Standard("0"); + } else { + equip.setYseNoMaintenance3Standard("1"); + } + }); return Result.OK(pageList); } @@ -329,6 +370,20 @@ @PostMapping(value = "/add") @Transactional(rollbackFor = { Exception.class }) public Result<String> add(@RequestBody Equipment equipment) { + //涓嬫涓変繚鏃ユ湡澶勭悊 + if(equipment.getThirdMaintenanceTime() == null && equipment.getAcceptanceCheckDate() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){ + //濡傛灉娌℃湁涓変繚鏃ユ湡 鎸夌収楠屾敹鏃ユ湡璁$畻涓嬫涓変繚鏃ユ湡 + int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1; + LocalDate acceptanceCheckDate = LocalDate.parse(equipment.getAcceptanceCheckDate()); + LocalDate localDate = acceptanceCheckDate.plusDays(checkPeriod); + Date date = DateUtils.str2Date(localDate.toString(), DateUtils.date_sdf.get()); + equipment.setNextThirdMaintenanceTime(date); + }else if(equipment.getThirdMaintenanceTime() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){ + //濡傛灉鏈変笁淇濇棩鏈� 鍒欎娇鐢ㄤ笁淇濇棩鏈熻绠� 涓嬫涓変繚鏃ユ湡 + int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1; + Date date = DateUtils.getDayAfter(equipment.getThirdMaintenanceTime(), checkPeriod); + equipment.setNextThirdMaintenanceTime(date); + } equipmentService.save(equipment); //鑾峰彇宸ヨ壓鍙傛暟妯℃澘鏄庣粏 String processParametersTemplateId = equipment.getProcessParametersTemplateId(); @@ -408,6 +463,21 @@ equipmentPrecisionParameters.setEquipmentId(equipment.getId()); equipmentPrecisionParameters.setPrecisionParametersId(precisionParameter.getPrecisionParametersId()); equipmentPrecisionParametersService.save(equipmentPrecisionParameters); + } + + //涓嬫涓変繚鏃ユ湡澶勭悊 + if(equipment.getThirdMaintenanceTime() == null && equipment.getAcceptanceCheckDate() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){ + //濡傛灉娌℃湁涓変繚鏃ユ湡 鎸夌収楠屾敹鏃ユ湡璁$畻涓嬫涓変繚鏃ユ湡 + int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1; + LocalDate acceptanceCheckDate = LocalDate.parse(equipment.getAcceptanceCheckDate()); + LocalDate localDate = acceptanceCheckDate.plusDays(checkPeriod); + Date date = DateUtils.str2Date(localDate.toString(), DateUtils.date_sdf.get()); + equipment.setNextThirdMaintenanceTime(date); + }else if(equipment.getThirdMaintenanceTime() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){ + //濡傛灉鏈変笁淇濇棩鏈� 鍒欎娇鐢ㄤ笁淇濇棩鏈熻绠� 涓嬫涓変繚鏃ユ湡 + int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1; + Date date = DateUtils.getDayAfter(equipment.getThirdMaintenanceTime(), checkPeriod); + equipment.setNextThirdMaintenanceTime(date); } equipmentService.updateById(equipment); @@ -948,6 +1018,20 @@ } } } + //涓嬫涓変繚鏃ユ湡澶勭悊 + if(equipment.getThirdMaintenanceTime() == null && equipment.getAcceptanceCheckDate() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){ + //濡傛灉娌℃湁涓変繚鏃ユ湡 鎸夌収楠屾敹鏃ユ湡璁$畻涓嬫涓変繚鏃ユ湡 + int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1; + LocalDate acceptanceCheckDate = LocalDate.parse(equipment.getAcceptanceCheckDate()); + LocalDate localDate = acceptanceCheckDate.plusDays(checkPeriod); + Date date = DateUtils.str2Date(localDate.toString(), DateUtils.date_sdf.get()); + equipment.setNextThirdMaintenanceTime(date); + }else if(equipment.getThirdMaintenanceTime() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){ + //濡傛灉鏈変笁淇濇棩鏈� 鍒欎娇鐢ㄤ笁淇濇棩鏈熻绠� 涓嬫涓変繚鏃ユ湡 + int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1; + Date date = DateUtils.getDayAfter(equipment.getThirdMaintenanceTime(), checkPeriod); + equipment.setNextThirdMaintenanceTime(date); + } equipmentService.save(equipment); }else { exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐ワ紝鍘熷洜锛氱粺涓�缂栫爜宸插瓨鍦紝鏁版嵁閲嶅瀵煎叆;"; @@ -1099,4 +1183,17 @@ return Result.OK(pageList); } + private List<String> getUserWorkCenterIds(){ + LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal(); + SysUser sysUser = sysUserService.getById(user.getId()); + String areaId = sysUser.getAreaId(); + List<String> workCenterIds = null; + if(StringUtils.isNotBlank(areaId)){ +// strings = new ArrayList<>(); + String[] split = areaId.split(","); + workCenterIds = Arrays.asList(split); + } + return workCenterIds; + } + } -- Gitblit v1.9.3