lyhzzz преди 2 години
родител
ревизия
e6616c85e1

+ 12 - 0
src/main/java/com/fdkankan/sale/entity/OrderReceiving.java

@@ -72,6 +72,18 @@ public class OrderReceiving implements Serializable {
     @TableField("tester_id")
     private Long testerId;
 
+    /**
+     * 附件
+     */
+    @TableField("annex")
+    private String annex;
+
+    /**
+     * 保外转保内 0未勾选,1勾选
+     */
+    @TableField("convert_warranty")
+    private Integer convertWarranty;
+
     @TableField("rec_status")
     @TableLogic(value = "A",delval = "I")
     private String recStatus;

+ 4 - 1
src/main/java/com/fdkankan/sale/entity/Repair.java

@@ -106,7 +106,7 @@ public class Repair implements Serializable {
     private String warrantyDate;
 
     /**
-     *  0保内维修 ,1保内维修-人为损坏 = 保外 ,2保外维修
+     *  0保内维修 ,1保内维修-人为损坏 = 保外 ,2保外维修,3保外转保内
      */
     @TableField("warranty_type")
     private Integer warrantyType;
@@ -115,4 +115,7 @@ public class Repair implements Serializable {
      */
     @TableField("cancel_status")
     private Integer cancelStatus;
+
+    @TableField("cancel_remark")
+    private String cancelRemark;
 }

+ 1 - 1
src/main/java/com/fdkankan/sale/service/IRepairService.java

@@ -50,7 +50,7 @@ public interface IRepairService extends IService<Repair> {
 
     void updateWarrantyType(String repairId, Integer warrantyType);
 
-    void updateCancelStatus(String repairId, Integer status);
+    void updateCancelStatus(String repairId, Integer status,String cancelRemark);
 
     void updateRepairInvoiceStatus(String repairId, Integer InvoiceStatus);
 

+ 3 - 5
src/main/java/com/fdkankan/sale/service/impl/DataCountService.java

@@ -3,6 +3,7 @@ package com.fdkankan.sale.service.impl;
 import com.fdkankan.sale.mapper.DataCountMapper;
 import com.fdkankan.sale.service.IRepairService;
 import com.fdkankan.sale.util.DateUtil;
+import com.fdkankan.sale.util.StatusUtil;
 import com.fdkankan.sale.vo.response.DataGroupByCount;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -75,11 +76,8 @@ public class DataCountService {
         endTime = DateUtil.formatEndTime(endTime);
         List<DataGroupByCount> list = dataCountMapper.warrantyTypeCount(cameraType, startTime, endTime);
         for (DataGroupByCount dataGroupByCount : list) {
-            switch (dataGroupByCount.getGroupKey()){
-                case "0" : dataGroupByCount.setGroupKey2("保内维修"); break;
-                case "1" : dataGroupByCount.setGroupKey2("保内转保外"); break;
-                case "2" : dataGroupByCount.setGroupKey2("保外维修"); break;
-            }
+            String warrantyType = StatusUtil.getWarrantyType(dataGroupByCount.getGroupKey());
+            dataGroupByCount.setGroupKey2(warrantyType);
         }
         return list;
     }

+ 3 - 2
src/main/java/com/fdkankan/sale/service/impl/RepairCustomerService.java

@@ -6,6 +6,7 @@ import com.fdkankan.sale.common.ResultCode;
 import com.fdkankan.sale.entity.*;
 import com.fdkankan.sale.exception.BusinessException;
 import com.fdkankan.sale.service.*;
+import com.fdkankan.sale.util.StatusUtil;
 import com.fdkankan.sale.vo.request.RepairParam;
 import com.fdkankan.sale.vo.response.RepairRegisterPartVo;
 import org.apache.commons.lang3.StringUtils;
@@ -84,9 +85,9 @@ public class RepairCustomerService {
             List<RepairRegisterPartVo> partVoList = repairSupplyService.partInfo(repair.getRepairId(), 1);
             BigDecimal robAmount = priceListService.getRobAmountByRepairId(repair.getRepairId());
 
-            repairService.updateCancelStatus(repair.getRepairId(),1);
+            repairService.updateCancelStatus(repair.getRepairId(),1,param.getRemark());
 
-            if(robAmount.compareTo(BigDecimal.ZERO) <=0  ||  repair.getWarrantyType() == 0 ){
+            if(robAmount.compareTo(BigDecimal.ZERO) <=0  || StatusUtil.getWarranty(repair.getWarrantyType())){
                 if(partVoList.size() >0){
                     repairLogService.saveBySysUser(param.getUserId(),repair.getRepairId(),RepairStatusEnum.TO_BE_CANCELED_RECOVERED.status(),repair.getStatus(),"取消维修");
                 }else {

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

@@ -321,10 +321,11 @@ public class RepairInfoService {
             totalAmount = totalAmount.add(excelVo.getAmount());
             priceData = list.getCreateTime();
         }
-        if(repairDetailVo.getRepairerVo().getWarrantyType() == 0){
+        if(repairDetailVo.getRepairerVo().getWarrantyType() == 0 || repairDetailVo.getRepairerVo().getWarrantyType() == 3){
             PriceListExcelVo excelVo = new PriceListExcelVo();
+            String warrantyType = StatusUtil.getWarrantyType(repairDetailVo.getRepairerVo().getWarrantyType());
+            excelVo.setName(warrantyType);
             excelVo.setSort(excelVos.size() + 1);
-            excelVo.setName("保内维修");
             excelVo.setAmount(totalAmount.negate());
             excelVos.add(excelVo);
             totalAmount = BigDecimal.ZERO;

+ 4 - 3
src/main/java/com/fdkankan/sale/service/impl/RepairPersonnelService.java

@@ -105,7 +105,7 @@ public class RepairPersonnelService {
 
 
         Integer repairStatus = RepairStatusEnum.TO_BE_QUOTED.status();
-        if(repairRegister.getDefineDamage() == 0 && repair.getWarrantyType() == 0){
+        if(StatusUtil.getWarranty(repair.getWarrantyType(),repairRegister.getDefineDamage())){
             if(param.getPartList().size() >0){
                 repairStatus = RepairStatusEnum.TO_BE_U8SEND.status();
             }else {
@@ -155,7 +155,7 @@ public class RepairPersonnelService {
             priceList.setCount(partVo.getPartCount());
             priceList.setPartId(part.getPartId());
             priceList.setPriceDiscount(part.getPartPriceDiscount());
-            if(repairRegister.getDefineDamage() == 0  && repair.getWarrantyType() == 0){
+            if(StatusUtil.getWarranty(repair.getWarrantyType(),repairRegister.getDefineDamage())){
                 priceList.setStatus(1);
             }
             priceListService.save(priceList);
@@ -180,7 +180,8 @@ public class RepairPersonnelService {
         repairRegister.setCheckImg(param.getCheckImg());
         RepairRegisterLog repairRegisterLog = repairRegisterLogService.saveLog(repairRegister);
         this.addRepairPart(param.getPartList(),repair,repairRegister,repairRegisterLog.getRegisterLogId());
-        if(repair.getWarrantyType() == 0){
+
+        if(StatusUtil.getWarranty(repair.getWarrantyType())){
             repairLogService.saveBySysUser(userId,repair.getRepairId(),RepairStatusEnum.TO_BE_U8SEND.status(),repair.getStatus(),"维修中添加备件",null,repairRegisterLog.getRegisterLogId());
         }else {
             repairLogService.saveBySysUser(userId,repair.getRepairId(),RepairStatusEnum.TO_BE_QUOTED.status(),repair.getStatus(),"维修中添加备件",null,repairRegisterLog.getRegisterLogId());

+ 5 - 0
src/main/java/com/fdkankan/sale/service/impl/RepairSaleService.java

@@ -99,6 +99,11 @@ public class RepairSaleService {
         param.setOrderFaultImg(param.getImageUrl());
         orderReceivingService.save(param);
 
+        //保外转保内
+        if(repair.getWarrantyType() !=0 && param.getConvertWarranty() == 1){
+            repairService.updateWarrantyType(repair.getRepairId(),3);
+        }
+
         repairLogService.saveBySysUser(sysUserId,param.getRepairId(), RepairStatusEnum.TO_BE_CHECK.status(),repair.getStatus(),"客服接单");
 
     }

+ 2 - 1
src/main/java/com/fdkankan/sale/service/impl/RepairServiceImpl.java

@@ -184,10 +184,11 @@ public class RepairServiceImpl extends ServiceImpl<IRepairMapper, Repair> implem
     }
 
     @Override
-    public void updateCancelStatus(String repairId, Integer status) {
+    public void updateCancelStatus(String repairId, Integer status,String cancelRemark) {
         LambdaUpdateWrapper<Repair> wrapper = new LambdaUpdateWrapper<>();
         wrapper.eq(Repair::getRepairId,repairId);
         wrapper.set(Repair::getCancelStatus,status);
+        wrapper.set(Repair::getCancelRemark,cancelRemark);
         this.update(wrapper);
     }
 

+ 1 - 1
src/main/java/com/fdkankan/sale/service/impl/RepairTesterService.java

@@ -83,7 +83,7 @@ public class RepairTesterService {
             repairTestService.save(entity);
 
             List<RepairRegisterPartVo> partVoList = repairSupplyService.partInfo(repair.getRepairId(), 1);
-            if(repair.getWarrantyType() == 0 ){
+            if(StatusUtil.getWarranty(repair.getWarrantyType()) ){
                 if(partVoList.size() >0){
                     repairLogService.saveBySysUser(userId,testParam.getRepairId(), RepairStatusEnum.TO_BE_RECOVERED.status(),repair.getStatus(),"测试通过",entity.getTestId());
                 }else {

+ 29 - 0
src/main/java/com/fdkankan/sale/util/StatusUtil.java

@@ -8,6 +8,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
+import java.util.concurrent.RecursiveTask;
 
 public class StatusUtil {
 
@@ -122,9 +123,37 @@ public class StatusUtil {
             case 0 : return "保内维修";
             case 1 : return "保内转保外";
             case 2 : return "保外维修";
+            case 3 : return "保外转保内";
         }
         return  null;
     }
 
+    public static String getWarrantyType(String type){
+        switch (type){
+            case "0" : return "保内维修";
+            case "1" : return "保内转保外";
+            case "2" : return "保外维修";
+            case "3" : return "保外转保内";
+        }
+        return  null;
+    }
+
+    public static Boolean getWarranty(Integer type,Integer defineDamage){
+        if(type == 0){
+            return defineDamage == 0;
+        }
+        return getWarranty(type);
+    }
 
+    public static Boolean getWarranty(Integer type){
+        switch (type){
+            case 0 :
+            case 3 :
+                return true;
+            case 1 :
+            case 2 :
+                return false;
+        }
+        return  false;
+    }
 }