zhangherong
2025-03-07 bcd7d1c9222431f37a6579a72456b2edb8f02402
art: 验收日期 与 下次三保日期计算关系
已修改1个文件
45 ■■■■■ 文件已修改
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
@@ -368,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();
@@ -447,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);
@@ -987,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)+"行导入失败,原因:统一编码已存在,数据重复导入;";