“linengliang”
2023-12-13 98acd3249e64f5366f0dc145f0b896a8f9a0183a
ABC评分系统修改
已修改4个文件
113 ■■■■■ 文件已修改
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/StreamController.java 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentMaintenancePlan.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-start/src/main/resources/db/2023_12_11(lnl)/lnl.sql 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/StreamController.java
@@ -13,8 +13,8 @@
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.eam.entity.Equipment;
import org.jeecg.modules.eam.service.IEamEquipmentService;
import org.jeecg.modules.eam.entity.*;
import org.jeecg.modules.eam.service.*;
import org.jeecg.modules.eam.vo.ButtonVo;
import org.jeecg.modules.system.entity.*;
import org.jeecg.modules.system.service.*;
@@ -28,15 +28,11 @@
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.*;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.eam.entity.StreamOperation;
import org.jeecg.modules.eam.entity.ABCAssessment;
import org.jeecg.modules.eam.entity.Stream;
import org.jeecg.modules.eam.service.IStreamService;
import org.jeecg.modules.eam.service.IStreamOperationService;
import org.jeecg.modules.eam.service.IABCAssessmentService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
@@ -93,6 +89,23 @@
     @Autowired
     private IEamEquipmentService equipmentService;
     @Autowired
     private IdentityService sysIdentityService;
     @Autowired
     private IEquipmentMaintenancePlanDetailService planDetailService;
     @Autowired
     private IEquipmentMaintenancePlanService planService;
     @Autowired
     private IMaintenanceStandardService maintenanceStandardService;
     @Autowired
     private IEquipmentUpdateInfoService updateInfoService;
@@ -583,12 +596,82 @@
             List<SysDictItem> nodes = sysDictItemService.selectItemsByMainId(streamNode.getId());
             if(buttonVo.getNodeSort()+1==nodes.size()){
                 List<ABCAssessment> abcAssessments = aBCAssessmentService.selectByMainId(buttonVo.getStreamId());
                EquipmentMaintenancePlan plan = new EquipmentMaintenancePlan();
                UUID uuid = UUID.randomUUID();
                long mostSignificantBits = uuid.getMostSignificantBits();
                long leastSignificantBits = uuid.getLeastSignificantBits();
                // 将最高位和最低位取出,然后合并为一个long类型的值
                long combinedBits = mostSignificantBits ^ leastSignificantBits;
                // 将合并后的long值转换为16进制字符串
                String hexString = Long.toHexString(combinedBits);
                String planNum = sysIdentityService.getNumByTypeAndLength("",4);
                plan.setId(hexString);
                plan.setNum(planNum);
                plan.setType("3");
                plan.setStatus("created");
                plan.setCreateReason("因ABC标识从B或C变更为A而导致下次三保时间过期,就这些设备生成的临时保养计划");
                List<EquipmentMaintenancePlanDetail> details = new ArrayList<>();
                 for(ABCAssessment abcAssessment:abcAssessments){
                    Equipment equipment = equipmentService.getById(abcAssessment.getEquipmentId());
                    String oldStandard = equipment.getEquipmentImportanceId();
                    String newStandard = abcAssessment.getFinalStandard();
                    LocalDate currentDate = LocalDate.now();
                    // 将当前日期加一天
                    LocalDate nextDay = currentDate.plusDays(1);
                    LocalDate nextMonth = currentDate.plusMonths(1);
                    // 将LocalDate转换为Date
                    Date currentDateAsDate = Date.from(currentDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
                    Date nextDayAsDate =Date.from(nextDay.atStartOfDay(ZoneId.systemDefault()).toInstant());
                    Date nextMonthAsDate = Date.from(nextMonth.atStartOfDay(ZoneId.systemDefault()).toInstant());
                    Date needingDate = equipment.getNextThirdMaintenanceTime();
                    Boolean a = StringUtils.isNotBlank(oldStandard);
                    Boolean b = oldStandard.equals("B")||oldStandard.equals("C");
                    Boolean c = newStandard.equals("A");
                    Boolean d = ObjectUtils.isNotNull(needingDate)&&needingDate.compareTo(currentDateAsDate)<0;
                    if(a&&b&&c&&d){
                        EquipmentMaintenancePlanDetail equipmentMaintenancePlanDetail = new EquipmentMaintenancePlanDetail();
                        equipmentMaintenancePlanDetail.setPlanId(hexString);
                        equipmentMaintenancePlanDetail.setEquipmentId(equipment.getId());
                        equipmentMaintenancePlanDetail.setPlanStartTime(nextDayAsDate);
                        equipmentMaintenancePlanDetail.setPlanEndTime(nextMonthAsDate);
                        MaintenanceStandard maintenanceStandard = maintenanceStandardService.getOne(new QueryWrapper<MaintenanceStandard>()
                                .eq("equipment_id",equipment.getId())
                                .eq("maintenance_type","3")
                                .eq("version_status","2")
                                .eq("del_flag",0),false);
                        if(ObjectUtils.isNotNull(maintenanceStandard)){
                            equipmentMaintenancePlanDetail.setStandardId(maintenanceStandard.getId());
                            details.add(equipmentMaintenancePlanDetail);
                        }
                    }
                    equipment.setEquipmentImportanceId(abcAssessment.getFinalStandard());
                    equipment.setStandardA(abcAssessment.getStandardA());
                    equipment.setStandardB(abcAssessment.getStandardB());
                    equipment.setStandardC(abcAssessment.getStandardC());
                    equipment.setStandardD(abcAssessment.getStandardD());
                    equipment.setStandardE(abcAssessment.getStandardE());
                    equipment.setStandardF(abcAssessment.getStandardF());
                    equipmentService.updateById(equipment);
                    EquipmentUpdateInfo equipmentUpdateInfo = new EquipmentUpdateInfo();
                    equipmentUpdateInfo.setOldAbcTag(oldStandard);
                    equipmentUpdateInfo.setNewAbcTag(newStandard);
                    equipmentUpdateInfo.setEquipmentId(equipment.getId());
                    equipmentUpdateInfo.setUpdatePerson(user.getId());
                    equipmentUpdateInfo.setUpdateType("ABC");
                    equipmentUpdateInfo.setUpdateDate(currentDateAsDate);
                    updateInfoService.save(equipmentUpdateInfo);
                }
                 if(details.size()>0){
                     planService.save(plan);
                     planDetailService.saveBatch(details);
                }
            }
            SysDictItem nextStreamNodeItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>().eq("dict_id",streamNode.getId()).eq("sort_order",buttonVo.getNodeSort()+1),false);
            return getResult(buttonVo, user, streamOperations, nextStreamNodeItem);
        }
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentMaintenancePlan.java
@@ -71,4 +71,6 @@
    private java.lang.Integer delFlag;
    @TableField(exist = false)
    private List<EquipmentMaintenancePlanDetail> equipmentMaintenancePlanDetailList;
    private String createReason;
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml
@@ -234,7 +234,7 @@
        t1.port port,
        t1.coordinate_num coordinateNum,
        t1.project_approval_no projectApprovalNo,
        t1.standard_a tandardA,
        t1.standard_a standardA,
        t1.standard_b standardB,
        t1.standard_c standardC,
        t1.standard_d standardD,
lxzn-module-system/lxzn-system-start/src/main/resources/db/2023_12_11(lnl)/lnl.sql
@@ -2,4 +2,14 @@
UPDATE [dbo].[sys_permission] SET [parent_id] = N'1647845086853693442', [name] = N'维修履历', [url] = N'/eam/RepairOrder', [component] = N'eam/RepairOrderList', [component_name] = NULL, [redirect] = NULL, [menu_type] = 1, [perms] = NULL, [perms_type] = N'1', [sort_no] = 1.2, [always_show] = 0, [icon] = NULL, [is_route] = 1, [is_leaf] = 1, [keep_alive] = 0, [hidden] = 0, [hide_tab] = 0, [description] = NULL, [create_by] = N'admin', [create_time] = '2023-04-24 16:56:44.0000000', [update_by] = N'admin', [update_time] = '2023-12-11 11:32:06.0090000', [del_flag] = 0, [rule_flag] = 0, [status] = N'1', [internal_or_external] = 0 WHERE CONVERT(NVARCHAR(MAX), [id]) = N'1650423515662295042';
-- 菜单设备事故登记表修改
UPDATE [dbo].[sys_permission] SET [parent_id] = N'1647845086853693442', [name] = N'设备事故登记表', [url] = N'/eam/FaultInfoList', [component] = N'eam/FaultInfoList', [component_name] = NULL, [redirect] = NULL, [menu_type] = 1, [perms] = NULL, [perms_type] = N'1', [sort_no] = 2.1, [always_show] = 0, [icon] = NULL, [is_route] = 1, [is_leaf] = 1, [keep_alive] = 0, [hidden] = 0, [hide_tab] = 0, [description] = NULL, [create_by] = N'admin', [create_time] = '2023-11-13 09:39:39.0000000', [update_by] = N'admin', [update_time] = '2023-12-11 11:38:21.9880000', [del_flag] = 0, [rule_flag] = NULL, [status] = N'1', [internal_or_external] = 0 WHERE CONVERT(NVARCHAR(MAX), [id]) = N'1723878256194232322';
--ABC标识变更单单据号
INSERT INTO [dbo].[mom_sys_identity] ([id], [num], [month_value], [year_value], [type], [remark], [create_by], [create_time], [update_by], [update_time], [prifix], [encode_rule_id]) VALUES (N'1726910264274141186', 10, N'12', N'2023', N'ABCAssement', NULL, N'admin', '2023-11-21 18:27:46', N'admin', '2023-12-12 15:52:18', NULL, NULL);
-- 保养计划生成原因字段添加
ALTER TABLE [dbo].[mom_eam_equipment_maintenance_plan] ADD [create_reason] varchar(255) NULL
    GO
    EXEC sp_addextendedproperty
    'MS_Description', N'生产原因',
    'SCHEMA', N'dbo',
    'TABLE', N'mom_eam_equipment_maintenance_plan',
    'COLUMN', N'create_reason'