From 98acd3249e64f5366f0dc145f0b896a8f9a0183a Mon Sep 17 00:00:00 2001 From: “linengliang” <vanSuperEnergy@163.com> Date: 星期三, 13 十二月 2023 11:05:48 +0800 Subject: [PATCH] ABC评分系统修改 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentMaintenancePlan.java | 2 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml | 2 lxzn-module-system/lxzn-system-start/src/main/resources/db/2023_12_11(lnl)/lnl.sql | 10 +++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/StreamController.java | 99 +++++++++++++++++++++++++++++++++++++++++++++---- 4 files changed, 104 insertions(+), 9 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/StreamController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/StreamController.java index f97ca3c..e329163 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/StreamController.java +++ b/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(); + + // 灏嗘渶楂樹綅鍜屾渶浣庝綅鍙栧嚭锛岀劧鍚庡悎骞朵负涓�涓猯ong绫诲瀷鐨勫�� + long combinedBits = mostSignificantBits ^ leastSignificantBits; + + // 灏嗗悎骞跺悗鐨刲ong鍊艰浆鎹负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("鍥燗BC鏍囪瘑浠嶣鎴朇鍙樻洿涓篈鑰屽鑷翠笅娆′笁淇濇椂闂磋繃鏈燂紝灏辫繖浜涜澶囩敓鎴愮殑涓存椂淇濆吇璁″垝"); + 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); + + // 灏哃ocalDate杞崲涓篋ate + 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); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentMaintenancePlan.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentMaintenancePlan.java index 7676617..93cfc09 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentMaintenancePlan.java +++ b/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; } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml index 995a2eb..05462b7 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml +++ b/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, diff --git "a/lxzn-module-system/lxzn-system-start/src/main/resources/db/2023_12_11\050lnl\051/lnl.sql" "b/lxzn-module-system/lxzn-system-start/src/main/resources/db/2023_12_11\050lnl\051/lnl.sql" index 3661494..73ed997 100644 --- "a/lxzn-module-system/lxzn-system-start/src/main/resources/db/2023_12_11\050lnl\051/lnl.sql" +++ "b/lxzn-module-system/lxzn-system-start/src/main/resources/db/2023_12_11\050lnl\051/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' -- Gitblit v1.9.3