xiongchao 3 tahun lalu
induk
melakukan
28068f9425

+ 27 - 0
platform-dao/src/main/java/com/platform/dao/enums/RepairOnlyOneEnum.java

@@ -0,0 +1,27 @@
+package com.platform.dao.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @Description 维修是否唯一
+ * @Author liuyu
+ * @Date 2020/05/05
+ * @Version Copyright (c) 2019,安徽阡陌网络科技有限公司 All rights reserved.
+ */
+@Getter
+@AllArgsConstructor
+public enum RepairOnlyOneEnum {
+
+    /**
+     * 唯一
+     */
+    ONLY_ONE(1),
+    /**
+     * 不唯一,设备同时可以报修多个
+     */
+    NOT_ONLY(0);
+
+    private final Integer value;
+
+}

+ 2 - 2
platform-dao/src/main/java/com/platform/dao/enums/SysConfigEnum.java

@@ -26,8 +26,8 @@ public enum SysConfigEnum {
     JT_ZJL_AUDIT_MONEY("集团总经理"),
     JT_DSZ_AUDIT_MONEY("董事长"),
     IS_SEND_WX_MESSAGE("是否发送微信通知"),
-    SYSTEM_NAME("系统名称")
-    ;
+    SYSTEM_NAME("系统名称"),
+    REPAIR_ONLY_ONE("1");// 是否维修中的设备不能再报修
     private final String typeName;
 
 }

+ 7 - 3
platform-service/src/main/java/com/platform/service/repair/impl/RepairApplicationFormServiceImpl.java

@@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.PageHelper;
+import com.platform.common.cache.ConfigCache;
 import com.platform.common.enums.DataFilterTypeEnum;
 import com.platform.common.exception.BusinessException;
 import com.platform.common.model.UserInfo;
@@ -186,10 +187,13 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
         String sbId = model.getSbId();
         if (StringUtils.isNotEmpty(sbId)) {
             SbInfoVO sb = sbInfoService.getById(sbId);
-            // 保存报修单
             model.setModelId(sb.getModelId());
-            if (sb.getStatus().intValue() == SbInfoStatusEnum.IN_MAINTAIN.getValue()) {
-                throw new BusinessException("设备已经在维修中,请等待维修完成, sbId" + model.getSbId());
+            // 根据配置判断是否可以多个提交
+            String only = ConfigCache.getLabelByValueAllowNull(SysConfigEnum.REPAIR_ONLY_ONE.name());
+            if(StringUtils.isNotBlank(only) && Integer.valueOf(only).equals(RepairOnlyOneEnum.ONLY_ONE.getValue())){
+                if (sb.getStatus().intValue() == SbInfoStatusEnum.IN_MAINTAIN.getValue()) {
+                    throw new BusinessException("设备已经在维修中,请等待维修完成, sbId" + model.getSbId());
+                }
             }
             // 如果选择了设备停机,则要修改设备状态
             if (model.getNeedStop().intValue() == RepairApplicationFormStopEnum.STOP.getValue()) {