lyh
17 小时以前 c964d3043846a0459b8d2aacdf2f76bf5be2ad79
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
package org.jeecg.modules.eam.service.impl;
 
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.util.DateUtils;
import org.jeecg.modules.eam.entity.EamEquipment;
import org.jeecg.modules.eam.entity.EamEquipmentExtend;
import org.jeecg.modules.eam.entity.EamThirdMaintenanceWorkPlanSheet;
import org.jeecg.modules.eam.mapper.EamEquipmentExtendMapper;
import org.jeecg.modules.eam.mapper.EamEquipmentMapper;
import org.jeecg.modules.eam.service.IEamEquipmentExtendService;
import org.jeecg.modules.eam.service.IEamThirdMaintenanceWorkPlanSheetService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
 
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;
import java.util.Date;
 
/**
 * @Description: 设备台账扩展表
 * @Author: jeecg-boot
 * @Date: 2025-03-19
 * @Version: V1.0
 */
@Service
public class EamEquipmentExtendServiceImpl extends ServiceImpl<EamEquipmentExtendMapper, EamEquipmentExtend> implements IEamEquipmentExtendService {
 
    @Resource
    private EamEquipmentExtendMapper eamEquipmentExtendMapper;
 
    @Autowired
    private IEamThirdMaintenanceWorkPlanSheetService eamThirdMaintenanceWorkPlanSheetService;
 
    @Resource
    private EamEquipmentMapper eamEquipmentMapper;
 
 
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean updateEquipmentMaintenanceStatus(String equipmentId, String status) {
        EamEquipmentExtend entity = eamEquipmentExtendMapper.selectById(equipmentId);
        if (entity == null) {
            return false;
        }
        entity.setMaintenanceStatus(status);
        eamEquipmentExtendMapper.updateById(entity);
        return true;
    }
 
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean updateEquipmentRepairStatus(String equipmentId, String status) {
        EamEquipmentExtend entity = eamEquipmentExtendMapper.selectById(equipmentId);
        if (entity == null) {
            return false;
        }
        entity.setRepairStatus(status);
        eamEquipmentExtendMapper.updateById(entity);
        return true;
    }
 
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean updateTechnologyParam(String equipmentId, String status, Date evaluationDate, String technologyGenerateFlag) {
        if (StringUtils.isBlank(status) && StringUtils.isBlank(technologyGenerateFlag) && evaluationDate == null) {
            return false;
        }
        EamEquipmentExtend entity = this.getBaseMapper().selectById(equipmentId);
        UpdateWrapper<EamEquipmentExtend> updateWrapper = new UpdateWrapper<>();
        updateWrapper.eq("id", equipmentId);
        if (StringUtils.isNotBlank(status)) {
            entity.setTechnologyStatus(status);
        }
        if (StringUtils.isNotBlank(technologyGenerateFlag)) {
            entity.setTechnologyGenerateFlag(technologyGenerateFlag);
        }
        if (evaluationDate != null) {
            entity.setLatestTechnologyCheck(evaluationDate);
            if (entity.getTechnologyCheckPeriod() != null) {
                entity.setNextTechnologyCheck(DateUtils.addYear(entity.getLatestTechnologyCheck(), entity.getTechnologyCheckPeriod()));
            }
        }
        return this.getBaseMapper().updateById(entity) > 0;
    }
 
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean updateThirdMaintenanceParam(String equipmentId, String status, Date evaluationDate, String thirdMaintenanceGenerateFlag) {
        if (StringUtils.isBlank(status) && StringUtils.isBlank(thirdMaintenanceGenerateFlag) && evaluationDate == null) {
            return false;
        }
        EamEquipmentExtend entity = this.getBaseMapper().selectById(equipmentId);
        UpdateWrapper<EamEquipmentExtend> updateWrapper = new UpdateWrapper<>();
        updateWrapper.eq("id", equipmentId);
        if (StringUtils.isNotBlank(status)) {
            entity.setMaintenanceStatus(status);
        }
        if (StringUtils.isNotBlank(thirdMaintenanceGenerateFlag)) {
            entity.setThirdMaintenanceGenerateFlag(thirdMaintenanceGenerateFlag);
        }
        if (evaluationDate != null) {
            entity.setLatestThirdMaintenance(evaluationDate);
            if (entity.getThirdMaintenancePeriod() != null) {
                entity.setNextThirdMaintenance(DateUtils.addYear(entity.getLatestThirdMaintenance(), entity.getThirdMaintenancePeriod()));
            }
        }
 
        EamEquipment eamEquipment = eamEquipmentMapper.selectById(equipmentId);
        EamThirdMaintenanceWorkPlanSheet eamThirdMaintenanceWorkPlanSheet=new EamThirdMaintenanceWorkPlanSheet();
        BeanUtils.copyProperties(eamEquipment,eamThirdMaintenanceWorkPlanSheet);
        eamThirdMaintenanceWorkPlanSheet.setId(null);
        eamThirdMaintenanceWorkPlanSheet.setMaintenanceDate(eamEquipment.getLatestThirdMaintenance());
        eamThirdMaintenanceWorkPlanSheetService.add(eamThirdMaintenanceWorkPlanSheet);
 
        return this.getBaseMapper().updateById(entity) > 0;
    }
 
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean updateSecondMaintenanceParam(String equipmentId, String status,String secondMaintenanceGenerateFlag){
        if (StringUtils.isBlank(status) && StringUtils.isBlank(secondMaintenanceGenerateFlag)) {
            return false;
        }
        EamEquipmentExtend entity = this.getBaseMapper().selectById(equipmentId);
        UpdateWrapper<EamEquipmentExtend> updateWrapper = new UpdateWrapper<>();
        updateWrapper.eq("id", equipmentId);
        if (StringUtils.isNotBlank(status)) {
            entity.setMaintenanceStatus(status);
        }
        //二保默认生成六个月后
        // 转换为LocalDate处理日期
        LocalDate localDate = DateUtils.dateToLocalDate(entity.getLatestSecondMaintenance());
        // 计算六个月后的日期
        LocalDate sixMonthsLater = localDate.plusMonths(6);
        // 调整到当月的最后一天
        LocalDate lastDayOfMonth = sixMonthsLater.with(TemporalAdjusters.lastDayOfMonth());
        entity.setNextSecondMaintenance(DateUtils.localDateToDate(lastDayOfMonth));
 
        return this.getBaseMapper().updateById(entity) > 0;
    }
}