Sfoglia il codice sorgente

设备之系统——消息提醒 V3.5 BUG
枚举导致的空指针异常

hyq 1 anno fa
parent
commit
59c9971427

+ 8 - 6
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/EquipmentSendNotifyServiceImpl.java

@@ -372,9 +372,12 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
         if (maintenanceTaskDoList.size() + lubricationTaskManagementDoList.size() == 0) {
             return R.ok();
         }
-        List<String> lubricationIds = lubricationTaskManagementDoList.stream().map(EquLubricationTaskManagementDo::getId).collect(Collectors.toList());
-        List<EquLubricationTaskDetailDo> lubricationTaskDetailDoList = lubricationTaskDetailService.getDetailByMasterId(lubricationIds);
+        List<EquLubricationTaskDetailDo> lubricationTaskDetailDoList =new ArrayList<>();
 
+        List<String> lubricationIds = lubricationTaskManagementDoList.stream().map(EquLubricationTaskManagementDo::getId).collect(Collectors.toList());
+        if(!lubricationIds.isEmpty()){
+            lubricationTaskDetailDoList = lubricationTaskDetailService.getDetailByMasterId(lubricationIds);
+        }
         // 删除提醒
         CXCommonUtils.deleteSendNotify(PREVIOUS_UNFINISHED_TASK, null);
         // 遍历三个工厂 分别给每个工厂发送提醒
@@ -537,7 +540,7 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
             StringBuilder taskfrequency = new StringBuilder();
             // 遍历润滑周期
             for (int i = 0; i < split.length; i++) {
-                taskfrequency.append(split[i]!=null?LubricationFrequencyEnum.massageOf(split[i]):null);
+                taskfrequency.append(LubricationFrequencyEnum.massageOf(split[i]));
                 if (i != split.length - 1) {
                     taskfrequency.append(',');
                 }
@@ -641,9 +644,8 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
             BeanUtils.copyProperties(info, equMaintenanceTaskTemplate);
 
             equMaintenanceTaskTemplate.setPlant(plantEnum.getName());
-            equMaintenanceTaskTemplate.setMaintenancetype(info.getMaintenancetype()!=null?MaintenanceTypeEnum.messageOf(info.getMaintenancetype()):null);
-            equMaintenanceTaskTemplate.setTaskstate(TaskStatusEnum.massageOf(info.getTaskstate()));
-
+            equMaintenanceTaskTemplate.setMaintenancetype(info.getMaintenancetype()!=null?MaintenanceTypeEnum.typeOf(info.getMaintenancetype()):null);
+            equMaintenanceTaskTemplate.setTaskstate(info.getTaskstate()!=null?TaskStatusEnum.massageOf(info.getTaskstate()):null);
             return equMaintenanceTaskTemplate;
         }).collect(Collectors.toList());
     }

+ 10 - 3
cx-equipment/cx-equipment-entity/src/main/java/com/rongwei/bsentity/enums/TaskStatusEnum.java

@@ -2,6 +2,7 @@ package com.rongwei.bsentity.enums;
 
 import lombok.Getter;
 
+import java.util.Objects;
 import java.util.stream.Stream;
 
 /**
@@ -12,8 +13,14 @@ import java.util.stream.Stream;
  */
 @Getter
 public enum TaskStatusEnum {
-    EXPORT_DISTRIBUTION("10","待派发")
-
+    EXPORT_DISTRIBUTION("10","待派发"),
+    UNDER_WAY("30","进行中"),
+    CLOSED("40","已关闭"),
+    WAIT_ACCEPTANCE("50","待验收"),
+    DONE("60","已完成"),
+    SPARE_PARTS_READY("70","备件已准备"),
+    REWORK_MAINTENANCE("20","返工保养"),
+    REWORK_OVERHAUL("80","返工大修")
     ;
     public String code;
     public String massage;
@@ -28,7 +35,7 @@ public enum TaskStatusEnum {
     }
 
     public static TaskStatusEnum getTaskStatusByCode(String code,TaskStatusEnum taskStatusEnum){
-        return Stream.of(values()).filter(info->code==info.code).findFirst().orElse(taskStatusEnum);
+        return Stream.of(values()).filter(info-> Objects.equals(code, info.code)).findFirst().orElse(taskStatusEnum);
     }
 
     public static String codeOf(String massage){