lyh
2 天以前 0d06048c5d560e301bf17fad476975c8ffffcb56
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java
@@ -68,6 +68,8 @@
    private IBaseFactoryService baseFactoryService;
    @Autowired
    private IEamThirdMaintenanceWorkPlanSheetService eamThirdMaintenanceWorkPlanSheetService;
    @Autowired
    private IEamEquipmentExtendService iEamEquipmentExtendService;
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -88,12 +90,9 @@
        eamEquipmentExtend.setRepairStatus(EquipmentRepairStatus.NORMAL.name());
        equipmentExtendService.save(eamEquipmentExtend);
        //三保
        EamThirdMaintenanceWorkPlanSheet eamThirdMaintenanceWorkPlanSheet=new EamThirdMaintenanceWorkPlanSheet();
        BeanUtils.copyProperties(eamEquipment,eamThirdMaintenanceWorkPlanSheet);
        eamThirdMaintenanceWorkPlanSheet.setId(null);
        eamThirdMaintenanceWorkPlanSheet.setMaintenanceDate(eamEquipment.getLatestThirdMaintenance());
        eamThirdMaintenanceWorkPlanSheetService.add(eamThirdMaintenanceWorkPlanSheet);
        // 处理三保保养计划(不再进行日期比较)
        eamThirdMaintenanceWorkPlanSheetService.createMaintenancePlan(eamEquipment, eamEquipment.getLatestThirdMaintenance());
        eamThirdMaintenanceWorkPlanSheetService.createMaintenancePlan(eamEquipment, eamEquipment.getNextThirdMaintenance());
        //插入设备履历   @EquipmentHistoryLog
        return eamEquipment;
@@ -105,9 +104,34 @@
     */
    @Override
    public EamEquipment updateEquipment(EamEquipment eamEquipment){
        if (eamEquipment == null) {
            return null;
        if (eamEquipment == null) return null;
        if (eamEquipment.getNextThirdMaintenance() != null &&
                eamEquipment.getThirdMaintenancePeriod() != null) {
            org.jeecg.common.util.DateUtils.calculateMaintenanceDates(
                    eamEquipment.getNextThirdMaintenance(),
                    eamEquipment.getThirdMaintenancePeriod(),
                    newDate -> eamEquipment.setNextThirdMaintenance(newDate),
                    latestDate -> eamEquipment.setLatestThirdMaintenance(latestDate)
            );
        }
        // 获取旧数据
        EamEquipmentExtend old = iEamEquipmentExtendService.getById(eamEquipment.getId());
        if (old == null) return null;
        // 提取新旧日期避免重复访问
        Date newLatest = eamEquipment.getLatestThirdMaintenance();
        Date newNext = eamEquipment.getNextThirdMaintenance();
        Date oldLatest = old.getLatestThirdMaintenance();
        Date oldNext = old.getNextThirdMaintenance();
        // 处理保养日期变更
        eamThirdMaintenanceWorkPlanSheetService.processMaintenanceDateChange(eamEquipment, oldLatest, newLatest);
        eamThirdMaintenanceWorkPlanSheetService.processMaintenanceDateChange(eamEquipment, oldNext, newNext);
        // 更新主表和扩展表
        eamEquipmentMapper.updateById(eamEquipment);
        EamEquipmentExtend eamEquipmentExtend = new EamEquipmentExtend();
        BeanUtils.copyProperties(eamEquipment, eamEquipmentExtend);