Jelajahi Sumber

流程图,添加下一步欲操作

lyhzzz 2 tahun lalu
induk
melakukan
6f853e4d82

+ 24 - 0
src/main/java/com/fdkankan/sale/common/RepairStatusEnum.java

@@ -1,5 +1,11 @@
 package com.fdkankan.sale.common;
 
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.function.UnaryOperator;
+import java.util.stream.Collectors;
+
 public enum  RepairStatusEnum {
 
     TO_BE_RECEIVED(0, "待接单"),
@@ -33,4 +39,22 @@ public enum  RepairStatusEnum {
         return this.message;
     }
 
+    public Integer getStatus() {
+        return status;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+
+    private static Map<Integer,RepairStatusEnum> map ;
+
+    static {
+        map = Arrays.asList(values()).stream().collect(Collectors.toMap(RepairStatusEnum::getStatus, UnaryOperator.identity()));
+    }
+    public static RepairStatusEnum getByStatus(Integer status){
+        return map.get(status);
+    }
+
+
 }

+ 1 - 6
src/main/java/com/fdkankan/sale/controller/RepairInfoController.java

@@ -68,13 +68,8 @@ public class RepairInfoController extends BaseController{
         if(StringUtils.isBlank(repairId)){
             throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
         }
-        Long sysUserId = null;
-        SysUser user = getUser();
-        if(user != null){
-            sysUserId = user.getRoleId().equals(1L) ? null:user.getId();
-        }
 
-        return ResultData.ok(repairInfoService.getProcessByRepairId(repairId,sysUserId));
+        return ResultData.ok(repairInfoService.getProcessByRepairId(repairId));
     }
 
     @PostMapping("/list")

+ 28 - 2
src/main/java/com/fdkankan/sale/service/impl/RepairInfoService.java

@@ -1,4 +1,10 @@
 package com.fdkankan.sale.service.impl;
+import com.fdkankan.sale.entity.OrderReceiving;
+import com.alibaba.fastjson.JSONArray;
+import com.fdkankan.sale.entity.CustomerAddress;
+import com.fdkankan.sale.entity.Customer;
+import com.fdkankan.sale.vo.response.RepairRegisterVo;
+import com.fdkankan.sale.entity.RepairTest;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.common.util.SecurityUtil;
 import com.fdkankan.sale.common.PageInfo;
@@ -116,7 +122,7 @@ public class RepairInfoService {
      *      *      * status 0待接单,10待检测,20待报价,30待确认,40已取消,50待备料,60维修中,70待测试,
      *      *      *        80待支付(已完结),90待回收,100待发货,110已发货
      */
-    public Object getProcessByRepairId(String repairId,Long sysUserId) {
+    public Object getProcessByRepairId(String repairId) {
         List<RepairLogVo> repairLogList = repairLogService.getVoByRepairId(repairId);
         for (RepairLogVo repairLogVo : repairLogList) {
             switch (repairLogVo.getRepairStatus()){
@@ -154,7 +160,27 @@ public class RepairInfoService {
                     break;
             }
         }
-        return repairLogList;
+        List<RepairLogVo> repairLogListVo = new ArrayList<>();
+        if(repairLogList.size() >0){
+            RepairLogVo repairLogVo = repairLogList.get(0);
+            RepairLogVo logVo = getNextStepVo(repairLogVo);
+            if(logVo!= null){
+                repairLogListVo.add(logVo);
+            }
+            repairLogListVo.addAll(repairLogList);
+        }
+        return repairLogListVo;
+    }
+
+    private RepairLogVo getNextStepVo(RepairLogVo repairLogVo) {
+        RepairLogVo log = new RepairLogVo();
+        log.setRepairId(repairLogVo.getRepairId());
+        log.setRepairStatus( repairLogVo.getRepairStatus() == 91 ? repairLogVo.getRepairStatus() + 9 :repairLogVo.getRepairStatus() + 10 );
+        if(log.getRepairStatus() >=RepairStatusEnum.OVER_SHIPPED.status()){
+            return null;
+        }
+        log.setRemark(RepairStatusEnum.getByStatus(log.getRepairStatus()).getMessage());
+        return log;
     }
 
     public Object pageList(RepairInfoListParam param) {