guarantee-lsq 2 سال پیش
والد
کامیت
7ebc3fa63c

+ 1 - 0
platform-common/src/main/java/com/platform/common/constant/CommonConstants.java

@@ -298,6 +298,7 @@ public interface CommonConstants {
     Integer TYPE_REPAIR_MANAGER_VERIFY = 1;    // 维修工程师审核
     Integer TYPE_CALLER_VERIFY = 2;     //报修人(生产)审核
     Integer TYPE_PLAN_MM_VERIFY = 3;     //经理审核
+    Integer TYPE_MOR_VERIFY = 3;     //大修审核
     Integer STATUS_VERIFY_PASS = 1; // 审核通过
     Integer STATUS_VERIFY_REFUSED = 2; // 审核驳回
     String THIRD_PARTY_YONGYOU = "用友";

+ 5 - 0
platform-dao/src/main/java/com/platform/dao/dto/repair/RepairApplicationFormDTO.java

@@ -463,4 +463,9 @@ public class RepairApplicationFormDTO extends BaseDTO implements Serializable {
      */
     private LocalDateTime planEndTime;
 
+    /**
+     * 审核状态 2 拒绝  1 通过
+     */
+    private Integer verifyStatus;
+
 }

+ 41 - 0
platform-dao/src/main/java/com/platform/dao/enums/RepairApplicationFormLevelEnum.java

@@ -0,0 +1,41 @@
+package com.platform.dao.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @Description 维修单优先权枚举
+ * @Author liuyu
+ * @Date 2020/05/05
+ * @Version Copyright (c) 2020,合肥乾元坤合科技有限公司 All rights reserved.
+ */
+@Getter
+@AllArgsConstructor
+public enum RepairApplicationFormLevelEnum {
+    /**
+     * 24小时内
+     */
+    ONE_DATA(1),
+    /**
+     * 3天内
+     */
+    THREE_DATA(2),
+    /**
+     * 7天内
+     */
+    SEVEN_DATA(3),
+    /**
+     * 1月内
+     */
+    ONE_MONTH(4),
+    /**
+     * 1月后
+     */
+    ONE_MONTH_UP(5),
+    /**
+     * 	大修
+     */
+    MRO(6),
+    ;
+    private final Integer value;
+}

+ 13 - 0
platform-rest/src/main/java/com/platform/rest/controller/repair/RepairApplicationFormController.java

@@ -412,6 +412,19 @@ public class RepairApplicationFormController {
         return new R<>();
     }
 
+    /**
+     * 大修审核
+     * @param repairCheckDTO 验收单DTO
+     * @return R
+     */
+    @SysLog("大修审核")
+    @PutMapping("/verify/bigRepair/{id}")
+    public R verifyBigRepair(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody RepairApplicationFormDTO repairCheckDTO) {
+        repairCheckDTO.setId(id);
+        RepairStrategyFactory.getStrategy(repairCheckDTO.getCategory()).verifyBigRepair(repairCheckDTO);
+        return new R<>();
+    }
+
     /**
      * 验收驳回
      *

+ 5 - 5
platform-service/src/main/java/com/platform/service/repair/strategy/RepairBaseStrategy.java

@@ -124,11 +124,6 @@ public interface RepairBaseStrategy {
      */
     void applyVerify(RepairApplicationFormDTO model);
 
-    /**
-     * 非计划性维修转计划性维修
-     */
-    void nonPlanTransferToPlan(RepairApplicationFormDTO model);
-
     /**
      * 维修挂起解除
      * @param model
@@ -139,4 +134,9 @@ public interface RepairBaseStrategy {
      * 申请转大修
      */
     void applyBigRepair(RepairApplicationFormDTO model);
+
+    /**
+     * 转大修审核
+     */
+    void verifyBigRepair(RepairApplicationFormDTO model);
 }

+ 3 - 3
platform-service/src/main/java/com/platform/service/repair/strategy/impl/AllocateRepairBaseStrategy.java

@@ -296,17 +296,17 @@ public class AllocateRepairBaseStrategy extends AbstractRepairBaseStrategy {
     }
 
     @Override
-    public void nonPlanTransferToPlan(RepairApplicationFormDTO model) {
+    public void recoverRepair(RepairApplicationFormDTO model) {
 
     }
 
     @Override
-    public void recoverRepair(RepairApplicationFormDTO model) {
+    public void applyBigRepair(RepairApplicationFormDTO model) {
 
     }
 
     @Override
-    public void applyBigRepair(RepairApplicationFormDTO model) {
+    public void verifyBigRepair(RepairApplicationFormDTO model) {
 
     }
 

+ 3 - 3
platform-service/src/main/java/com/platform/service/repair/strategy/impl/BaseRepairBaseStrategy.java

@@ -223,17 +223,17 @@ public class BaseRepairBaseStrategy extends AbstractRepairBaseStrategy {
     }
 
     @Override
-    public void nonPlanTransferToPlan(RepairApplicationFormDTO model) {
+    public void recoverRepair(RepairApplicationFormDTO model) {
 
     }
 
     @Override
-    public void recoverRepair(RepairApplicationFormDTO model) {
+    public void applyBigRepair(RepairApplicationFormDTO model) {
 
     }
 
     @Override
-    public void applyBigRepair(RepairApplicationFormDTO model) {
+    public void verifyBigRepair(RepairApplicationFormDTO model) {
 
     }
 

+ 5 - 6
platform-service/src/main/java/com/platform/service/repair/strategy/impl/LongYanPlanRepairStrategy.java

@@ -662,12 +662,6 @@ public class LongYanPlanRepairStrategy extends AbstractRepairBaseStrategy {
         sendMessageToProducer(model,CommonConstants.SB_CALL_REPAIR,users);
     }
 
-    @Override
-    public void nonPlanTransferToPlan(RepairApplicationFormDTO model) {
-        // 修改工单类型以及级别
-        // 班组长-工程师-经理具有这个权限-暂时放开
-    }
-
     @Override
     public void recoverRepair(RepairApplicationFormDTO model) {
 
@@ -677,6 +671,11 @@ public class LongYanPlanRepairStrategy extends AbstractRepairBaseStrategy {
     public void applyBigRepair(RepairApplicationFormDTO model) {
     }
 
+    @Override
+    public void verifyBigRepair(RepairApplicationFormDTO model) {
+
+    }
+
     /**
      * 维修人提交维修完成
      * @param dto

+ 26 - 8
platform-service/src/main/java/com/platform/service/repair/strategy/impl/LongYanRepairStrategy.java

@@ -1,6 +1,5 @@
 package com.platform.service.repair.strategy.impl;
 
-import com.alibaba.fastjson.JSONArray;
 import com.platform.common.cache.ConfigCache;
 import com.platform.common.constant.CommonConstants;
 import com.platform.common.exception.DeniedException;
@@ -29,9 +28,7 @@ import tk.mybatis.mapper.weekend.Weekend;
 import tk.mybatis.mapper.weekend.WeekendCriteria;
 
 import javax.annotation.Resource;
-import java.time.DayOfWeek;
 import java.time.LocalDateTime;
-import java.time.temporal.TemporalField;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -623,11 +620,6 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
 
     }
 
-    @Override
-    public void nonPlanTransferToPlan(RepairApplicationFormDTO model) {
-
-    }
-
     @Override
     public void recoverRepair(RepairApplicationFormDTO model) {
         // 判断是否具有权限
@@ -675,6 +667,9 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
         updForm.setId(form.getId());
         updForm.setProduceVerifyUserId(model.getProduceVerifyUserId());
         updForm.setStatus(RepairApplicationFormStatusEnum.BIG_REPAIR_VERIFYING.getValue());
+        if(StringUtils.isBlank(form.getDispatchUserId())){
+            updForm.setDispatchUserId(SecurityUtils.getUserInfo().getUserId());
+        }
         repairApplicationFormMapper.updateByPrimaryKeySelective(updForm);
         // 通知生产审核
         List<SysUser> users = ListUtils.newArrayList();
@@ -683,6 +678,29 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
         sendMessageToProducer(model,CommonConstants.SB_APPLY_BIG_REPAIR,users);
     }
 
+    @Override
+    public void verifyBigRepair(RepairApplicationFormDTO model) {
+        RepairApplicationForm form = repairApplicationFormMapper.selectByPrimaryKey(model.getId());
+        if(StringUtils.isBlank(form.getDispatchUserId())){
+            throw new DeniedException("所属工程师不能为空");
+        }
+        RepairApplicationForm updForm = new RepairApplicationForm();
+        updForm.setId(form.getId());
+        updForm.setStatus(RepairApplicationFormStatusEnum.RECEIVED.getValue());
+        String type = CommonConstants.CALL_REPAIR_FAIL;
+        if(model.getVerifyStatus() == CommonConstants.STATUS_VERIFY_PASS){
+            // 同意转大修,将工作优先权修改为转大修
+            updForm.setLevel(RepairApplicationFormLevelEnum.MRO.getValue());
+            type = CommonConstants.CALL_REPAIR_FINISH;
+        }
+        // 审核记录
+        addRepairVerifyRecord(model,model.getVerifyStatus(),CommonConstants.TYPE_MOR_VERIFY);
+        // 通知工程师
+        List<SysUserVO> users = ListUtils.newArrayList();
+        users.add(sysUserService.selectUserVO(form.getDispatchUserId()));
+        sendMessageToRepairManger(form,users,type);
+    }
+
     /**
      * 维修人提交维修完成
      * @param dto