lyhzzz vor 2 Jahren
Ursprung
Commit
0de5a8f1be

+ 1 - 1
src/main/java/com/fdkankan/sale/common/RepairStatusEnumMsg.java

@@ -12,7 +12,7 @@ public enum RepairStatusEnumMsg {
     TO_BE_QUOTED(20, "{userName}费用确认中"),
     TO_BE_CONFIRMED(30, "待确认报价"),
     TO_BE_CANCELED(40, "待支付费用"),
-    TO_BE_PREPARED(50, "正在准备所需备件"),
+    TO_BE_PREPARED(50, "{userName}正在准备所需备件"),
     TO_BE_REPAIRED(60, "{userName}维修中"),
     TO_BE_TESTED(70, "{userName}正在测试"),
     TO_BE_PAID(80, "待支付费用"),

+ 71 - 0
src/main/java/com/fdkankan/sale/common/RepairStatusProcessComing.java

@@ -0,0 +1,71 @@
+package com.fdkankan.sale.common;
+
+import java.util.Arrays;
+import java.util.Map;
+import java.util.function.UnaryOperator;
+import java.util.stream.Collectors;
+
+public enum RepairStatusProcessComing {
+    /**
+     *      *      * status 0待接单,10待检测,20待报价,30待确认,40已取消,50待备料,60维修中,70待测试,
+     *      *      *        80待支付(已完结),90待回收,91取消维修备件回收,100待发货,110已发货
+     */
+    TO_BE_RECEIVED(0, "待接单","客服接单","待客服接单",""),
+    TO_BE_CHECK(10, "待检测","维修检测","{userName}检测中","sale"),
+    TO_BE_QUOTED(20, "待报价","维修报价","{userName}费用确认中","sale"),
+    TO_BE_CONFIRMED(30,"待确认", "维修确认","待确认报价",""),
+    TO_BE_CANCELED(40, "已取消","维修支付","待支付费用",""),
+    TO_BE_PREPARED(50,"待备料","备件准备", "{userName}正在准备所需备件","repairSupply"),
+    TO_BE_REPAIRED(60, "维修中","设备维修","{userName}维修中","repairMan"),
+    TO_BE_TESTED(70, "待测试","维修测试","{userName}正在测试","tester"),
+    TO_BE_PAID(80, "待支付","维修支付","待支付费用",""),
+    TO_BE_RECOVERED(90, "待回收","备件回收","待回收备件",""),
+    TO_BE_CANCELED_RECOVERED(91,"取消维修备件回收","备件回收", "待回收备件",""),
+    TO_BE_SHIPPED(100, "待发货","维修完毕","待取回/寄回设备",""),
+    OVER_SHIPPED(110, "已发货","维修完毕","{userName}已完成发货","sale"),
+    ;
+
+    private Integer status;
+    private String msg;
+    private String title;
+    private String subTitle;
+    private String role;
+
+    private RepairStatusProcessComing(Integer status, String msg, String title, String subTitle,String role) {
+        this.status = status;
+        this.msg = msg;
+        this.title = title;
+        this.subTitle = subTitle;
+        this.role = role;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public String getSubTitle() {
+        return subTitle;
+    }
+
+    public String getRole() {
+        return role;
+    }
+
+    private static Map<Integer, RepairStatusProcessComing> map ;
+
+    static {
+        map = Arrays.asList(values()).stream().collect(Collectors.toMap(RepairStatusProcessComing::getStatus, UnaryOperator.identity()));
+    }
+    public static RepairStatusProcessComing getByStatus(Integer status){
+        return map.get(status);
+    }
+
+}

+ 71 - 0
src/main/java/com/fdkankan/sale/common/RepairStatusProcessIng.java

@@ -0,0 +1,71 @@
+package com.fdkankan.sale.common;
+
+import lombok.Data;
+
+import java.util.Arrays;
+import java.util.Map;
+import java.util.function.UnaryOperator;
+import java.util.stream.Collectors;
+
+public enum RepairStatusProcessIng {
+    /**
+     *      *      * status 0待接单,10待检测,20待报价,30待确认,40已取消,50待备料,60维修中,70待测试,
+     *      *      *        80待支付(已完结),90待回收,91取消维修备件回收,100待发货,110已发货
+     */
+    TO_BE_RECEIVED(0, "待接单","报修","已报修",""),
+    TO_BE_CHECK(10, "待检测","客服接单","{userName}已接单","sale"),
+    TO_BE_QUOTED(20, "待报价","维修检测","{userName}完成检测","repairMan"),
+    TO_BE_CONFIRMED(30,"待确认", "维修报价","{userName}完成报价","sale"),
+    TO_BE_CANCELED(40, "已取消","维修取消","已取消维修",""),
+    TO_BE_PREPARED(50,"待备料","维修确认", "已确认维修",""),
+    TO_BE_REPAIRED(60, "维修中","备件准备","{userName}备件准备","repairSupply"),
+    TO_BE_TESTED(70, "待测试","设备维修","{userName}完成维修","repairMan"),
+    TO_BE_PAID(80, "待支付","维修测试","{userName}测试通过","tester"),
+    TO_BE_RECOVERED(90, "待回收","维修支付","支付完成",""),
+    TO_BE_CANCELED_RECOVERED(91,"取消维修备件回收","维修支付", "支付完成",""),
+    TO_BE_SHIPPED(100, "待发货","备件回收","{userName}已回收备件","sale"),
+    OVER_SHIPPED(110, "已发货","维修完毕","{userName}已完成发货","sale"),
+    ;
+
+    private Integer status;
+    private String msg;
+    private String title;
+    private String subTitle;
+    private String role;
+
+
+    private RepairStatusProcessIng(Integer status, String msg,String title, String subTitle,String role) {
+        this.status = status;
+        this.msg = msg;
+        this.title = title;
+        this.subTitle = subTitle;
+        this.role = role;
+
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public String getSubTitle() {
+        return subTitle;
+    }
+
+    private static Map<Integer, RepairStatusProcessIng> map ;
+
+    static {
+        map = Arrays.asList(values()).stream().collect(Collectors.toMap(RepairStatusProcessIng::getStatus, UnaryOperator.identity()));
+    }
+    public static RepairStatusProcessIng getByStatus(Integer status){
+        return map.get(status);
+    }
+
+}

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

@@ -1,5 +1,5 @@
 package com.fdkankan.sale.service.impl;
-import com.fdkankan.sale.common.RepairStatusEnumMsg;
+import com.fdkankan.sale.common.*;
 import com.fdkankan.sale.entity.OrderReceiving;
 import com.alibaba.fastjson.JSONArray;
 import com.fdkankan.sale.entity.CustomerAddress;
@@ -9,8 +9,6 @@ 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;
-import com.fdkankan.sale.common.RepairStatusEnum;
 import com.fdkankan.sale.entity.*;
 import com.fdkankan.sale.service.*;
 import com.fdkankan.sale.util.OrderListVo;
@@ -18,7 +16,6 @@ import com.fdkankan.sale.util.StatusUtil;
 import com.fdkankan.sale.vo.request.RepairInfoListParam;
 import com.fdkankan.sale.vo.response.*;
 
-import com.fdkankan.sale.common.ResultCode;
 import com.fdkankan.sale.exception.BusinessException;
 import org.apache.commons.lang3.StringUtils;
 import org.omg.CORBA.INTERNAL;
@@ -166,9 +163,7 @@ public class RepairInfoService {
                     repairLogVo.setCustomerAddress(customerAddress);
                     break;
             }
-            if(repairLogVo.getOldRepairStatus() != null){
-                setTitle(repairLogVo);
-            }
+            setTitle(repairLogVo,1);
         }
         List<RepairLogVo> repairLogListVo = new ArrayList<>();
         if(repairLogList.size() >0){
@@ -191,39 +186,44 @@ public class RepairInfoService {
         if(log.getRepairStatus() >=RepairStatusEnum.OVER_SHIPPED.status()){
             return null;
         }
-        return setTitle(log);
+        return setTitle(log,0);
     }
 
-    private RepairLogVo setTitle(RepairLogVo log) {
-        Integer  status = log.getOldRepairStatus() == null ? log.getRepairStatus() :log.getOldRepairStatus() ;
-        String subTitle = RepairStatusEnumMsg.getByStatus(status).getMessage();
-        List<Integer> noUserNameList = Arrays.asList( 30,40, 80, 110);
-        if(!noUserNameList.contains(status)){
+    private RepairLogVo setTitle(RepairLogVo log,Integer type) {
+        Integer status =  null;
+        String subTitle =  null;
+        String title =  null;
+        List<Integer> noUserNameList = null;
+        String role = null;
+        if(type == 0){
+            status = log.getRepairStatus();
+            subTitle = RepairStatusProcessComing.getByStatus(status).getSubTitle();
+            title = RepairStatusProcessComing.getByStatus(status).getTitle();
+            role = RepairStatusProcessComing.getByStatus(status).getRole();
+        }
+        if(type == 1){
+            status = log.getOldRepairStatus() == null ? log.getRepairStatus() :log.getOldRepairStatus() ;
+            subTitle = RepairStatusProcessIng.getByStatus(status).getSubTitle();
+            title = RepairStatusProcessIng.getByStatus(status).getTitle();
+            role = RepairStatusProcessComing.getByStatus(status).getRole();
+        }
+
+        if(StringUtils.isNotBlank(role)){
             OrderReceiving orderReceiving = orderReceivingService.getByRepairId(log.getRepairId());
             Long sysUserId = null;
-            switch (status){
-                case 10 :
-                case 60 :
-                    sysUserId = orderReceiving.getRepairManId();break;
-                case 20 :
-                case 100 :
-                    sysUserId = orderReceiving.getSysUserId();break;
-                case 50 :
-                case 90 :
-                case 91 :
-                    sysUserId = orderReceiving.getSupplyAdminId();break;
-                case 70 :
-                    sysUserId = orderReceiving.getTesterId();break;
+            switch (role){
+                case "sale" : sysUserId = orderReceiving.getSysUserId();break;
+                case "repairMan" : sysUserId = orderReceiving.getRepairManId();break;
+                case "repairSupply" : sysUserId = orderReceiving.getSupplyAdminId();break;
+                case "tester" : sysUserId = orderReceiving.getTesterId();break;
             }
             SysUser sysUser = sysUserService.getById(sysUserId);
             if(sysUser != null){
                 //log.setSysUserName(sysUser.getUserName());
                 subTitle = subTitle.replace("{userName}",sysUser.getNickName());
             }
-
         }
         log.setSubTitle(subTitle);
-        String title = RepairStatusEnum.getByStatus(status).getMessage();
         log.setTitle(title);
         log.setRemark(title);
         return log;