Browse Source

取消维修,费用详情去掉备件

lyhzzz 2 years ago
parent
commit
7b38e1a174

+ 2 - 0
src/main/java/com/fdkankan/sale/entity/RepairLog.java

@@ -69,4 +69,6 @@ public class RepairLog implements Serializable {
     @TableField("test_id")
     private Integer testId;
 
+    @TableField("register_log_id")
+    private Integer registerLogId;
 }

+ 2 - 0
src/main/java/com/fdkankan/sale/mapper/IRepairRegisterMapper.java

@@ -22,4 +22,6 @@ public interface IRepairRegisterMapper extends BaseMapper<RepairRegister> {
     RepairRegisterVo getVoByRepairId(@Param("repairId") String repairId);
 
     List<RepairRegisterVo> getVoListByRepairId(@Param("repairId") String repairId);
+
+    RepairRegisterVo getVoByRegisterLogId(@Param("registerLogId") Integer registerLogId);
 }

+ 2 - 0
src/main/java/com/fdkankan/sale/service/IPriceListService.java

@@ -22,6 +22,8 @@ public interface IPriceListService extends IService<PriceList> {
 
     void updateStatusByRepairId(String repairId);
 
+    void updateStatusByRepairId(String repairId,Integer status);
+
     List<PriceList> getByRepairIdAndStatus(String repairId, Integer status);
 
     BigDecimal getRobAmountByRepairId(String repairId);

+ 2 - 0
src/main/java/com/fdkankan/sale/service/IRepairLogService.java

@@ -20,6 +20,8 @@ public interface IRepairLogService extends IService<RepairLog> {
 
     RepairLog saveBySysUser(Long sysUserId, String repairId,Integer repairStatus,String remark,Integer testId);
 
+    RepairLog saveBySysUser(Long sysUserId, String repairId,Integer repairStatus,String remark,Integer testId,Integer registerLogId);
+
     List<RepairLog> getByRepairIdAndStatus(String repairId, Integer status);
 
     List<RepairLog> getByRepairId(String repairId);

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

@@ -18,5 +18,5 @@ public interface IRepairRegisterPartService extends IService<RepairRegisterPart>
 
     List<RepairRegisterPart> getByRegisterId(Integer registerId);
 
-    List<RepairRegisterPart> getByRepairId(Integer registerId);
+    List<RepairRegisterPart> getByRepairId(String  registerId);
 }

+ 2 - 0
src/main/java/com/fdkankan/sale/service/IRepairRegisterService.java

@@ -24,4 +24,6 @@ public interface IRepairRegisterService extends IService<RepairRegister> {
    RepairRegisterVo getVoByRepairId(String repairId);
 
     List<RepairRegisterVo> getVoListByRepairId(String repairId);
+
+    RepairRegisterVo getVoByRegisterLogId(Integer registerLogId);
 }

+ 9 - 0
src/main/java/com/fdkankan/sale/service/impl/PriceListServiceImpl.java

@@ -61,6 +61,15 @@ public class PriceListServiceImpl extends ServiceImpl<IPriceListMapper, PriceLis
         wrapper.set(PriceList::getStatus,1);
         this.update(wrapper);
     }
+    @Override
+    public void updateStatusByRepairId(String repairId,Integer status) {
+        LambdaUpdateWrapper<PriceList> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(PriceList::getRepairId,repairId);
+        wrapper.eq(PriceList::getStatus,1);
+        wrapper.eq(PriceList::getType,0);
+        wrapper.set(PriceList::getStatus,status);
+        this.update(wrapper);
+    }
 
     @Override
     public List<PriceList> getByRepairIdAndStatus(String repairId, Integer status) {

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

@@ -86,6 +86,7 @@ public class RepairCustomerService {
                     repairLogService.saveBySysUser(param.getUserId(),repair.getRepairId(),RepairStatusEnum.TO_BE_CANCELED.status(),"已取消维修");
                 }
             }else {
+                priceListService.updateStatusByRepairId(repair.getRepairId(),2);
                 repairLogService.saveBySysUser(param.getUserId(),repair.getRepairId(),RepairStatusEnum.TO_BE_SHIPPED.status(),"已取消维修");
             }
         }

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

@@ -1,5 +1,6 @@
 package com.fdkankan.sale.service.impl;
 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.*;
@@ -17,6 +18,7 @@ import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 @Service
@@ -60,8 +62,8 @@ public class RepairInfoService {
 
         Customer customer =  customerService.getByRepairId(repairId);
         CustomerAddress customerAddress = customerAddressService.getByRepairId(repairId);
-        Repair repairer = repairService.getById(repairId);
-        List<PriceList> priceLists = priceListService.getByRepairId(repairId);
+        List<PriceList> priceLists = priceListService.getByRepairIdAndStatus(repairId,1);
+
         RepairPay repairPay = repairPayService.getByRepairId(repairId,1);
         OrderReceivingVo receiving = orderReceivingService.getVoByRepairId(repairId);
         RepairTestVo repairTestVo = repairTestService.getPassVoByRepairId(repairId);
@@ -77,7 +79,6 @@ public class RepairInfoService {
             detailVo.setRepairInvoice(repairInvoice);
             detailVo.setApplyInvoice(1);
         }
-
         BigDecimal payAmount = BigDecimal.ZERO;
         if(repair.getStatus().equals(RepairStatusEnum.TO_BE_CANCELED.status())){
             payAmount = priceListService.getRobAmountByRepairId(repair.getRepairId());
@@ -89,7 +90,7 @@ public class RepairInfoService {
 
         detailVo.setCustomer(customer);
         detailVo.setCustomerAddress(customerAddress);
-        detailVo.setRepairerVo(repairer);
+        detailVo.setRepairerVo(repair);
         detailVo.setPriceList(priceLists);
         detailVo.setRepairPay(repairPay);
         detailVo.setOrderReceivingVo(receiving);
@@ -123,7 +124,7 @@ public class RepairInfoService {
                     }
                     break;
                 case 20 : //维修检测
-                    RepairRegisterVo repairRegisterVo = repairRegisterService.getVoByRepairId(repairLogVo.getRepairId());
+                    RepairRegisterVo repairRegisterVo = repairRegisterService.getVoByRegisterLogId(repairLogVo.getRepairLogId());
                     repairLogVo.setRepairRegisterVo(repairRegisterVo);
                     if(repairRegisterVo != null){
                         repairLogVo.setImagesInfo(repairRegisterVo.getCheckImg());

+ 13 - 0
src/main/java/com/fdkankan/sale/service/impl/RepairLogServiceImpl.java

@@ -60,6 +60,19 @@ public class RepairLogServiceImpl extends ServiceImpl<IRepairLogMapper, RepairLo
     }
 
     @Override
+    public RepairLog saveBySysUser(Long sysUserId, String repairId, Integer repairStatus, String remark, Integer testId,Integer registerLogId) {
+        RepairLog repairLog = new RepairLog();
+        repairLog.setRepairId(repairId);
+        repairLog.setRepairStatus(repairStatus);
+        repairLog.setSysUserId(sysUserId);
+        repairLog.setRemark(remark);
+        repairLog.setRegisterLogId(registerLogId);
+        this.save(repairLog);
+        repairService.updateRepairStatus(repairId,repairStatus);
+        return repairLog;
+    }
+
+    @Override
     public List<RepairLog> getByRepairIdAndStatus(String repairId, Integer status) {
         LambdaQueryWrapper<RepairLog> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(RepairLog::getRepairId,repairId);

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

@@ -112,11 +112,13 @@ public class RepairPersonnelService {
                 repairStatus = RepairStatusEnum.TO_BE_REPAIRED.status();
             }
         }
-        repairLogService.saveBySysUser(userId,repair.getRepairId(),repairStatus,"维修检测");
+
 
         repairRegister.setStatus(0);
         RepairRegisterLog repairRegisterLog = repairRegisterLogService.saveLog(repairRegister);
 
+        repairLogService.saveBySysUser(userId,repair.getRepairId(),repairStatus,"维修检测",null,repairRegisterLog.getRegisterLogId());
+
         this.addRepairPart(param.getPartList(),repair,repairRegister,repairRegisterLog.getRegisterLogId());
 
         repairFaultService.delByRepairId(repair.getRepairId());

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

@@ -28,7 +28,7 @@ public class RepairRegisterPartServiceImpl extends ServiceImpl<IRepairRegisterPa
         return this.list(wrapper);
     }
     @Override
-    public List<RepairRegisterPart> getByRepairId(Integer repairId) {
+    public List<RepairRegisterPart> getByRepairId(String repairId) {
         LambdaQueryWrapper<RepairRegisterPart> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(RepairRegisterPart::getRepairId,repairId);
         return this.list(wrapper);

+ 29 - 26
src/main/java/com/fdkankan/sale/service/impl/RepairRegisterServiceImpl.java

@@ -64,7 +64,35 @@ public class RepairRegisterServiceImpl extends ServiceImpl<IRepairRegisterMapper
         if(vo == null){
             return null;
         }
-        List<RepairRegisterPart> partList = repairRegisterPartService.getByRepairId(vo.getRepairRegisterId());
+        List<RepairRegisterPart> partList = repairRegisterPartService.getByRepairId(vo.getRepairId());
+        this.setPartNameStr(vo,partList);
+
+        return vo;
+    }
+
+    @Override
+    public List<RepairRegisterVo> getVoListByRepairId(String repairId) {
+        List<RepairRegisterVo> voList = this.getBaseMapper().getVoListByRepairId(repairId);
+        for (RepairRegisterVo vo : voList) {
+            List<RepairRegisterPart> partList = repairRegisterPartService.getByRegisterId(vo.getRegisterLogId());
+            this.setPartNameStr(vo,partList);
+        }
+        return voList;
+    }
+
+    @Override
+    public RepairRegisterVo getVoByRegisterLogId(Integer registerLogId) {
+        RepairRegisterVo vo = this.getBaseMapper().getVoByRegisterLogId(registerLogId);
+        if(vo == null){
+            return null;
+        }
+        List<RepairRegisterPart> partList = repairRegisterPartService.getByRegisterId(vo.getRegisterLogId());
+
+        this.setPartNameStr(vo,partList);
+        return vo;
+    }
+
+    private void setPartNameStr(RepairRegisterVo vo,List<RepairRegisterPart> partList){
         StringBuilder partNamesList = new StringBuilder();
         for (RepairRegisterPart repairRegisterPart : partList) {
             Integer partId = repairRegisterPart.getPartId();
@@ -78,30 +106,5 @@ public class RepairRegisterServiceImpl extends ServiceImpl<IRepairRegisterMapper
             partNamesList.deleteCharAt(partNamesList.lastIndexOf(","));
         }
         vo.setPartNamesStr(partNamesList.toString());
-
-        return vo;
-    }
-
-    @Override
-    public List<RepairRegisterVo> getVoListByRepairId(String repairId) {
-        List<RepairRegisterVo> voList = this.getBaseMapper().getVoListByRepairId(repairId);
-        for (RepairRegisterVo vo : voList) {
-            List<RepairRegisterPart> partList = repairRegisterPartService.getByRegisterId(vo.getRegisterLogId());
-            StringBuilder partNamesList = new StringBuilder();
-            for (RepairRegisterPart repairRegisterPart : partList) {
-                Integer partId = repairRegisterPart.getPartId();
-                Part part = partService.getById(partId);
-                if(part == null){
-                    continue;
-                }
-                partNamesList.append(part.getPartName()).append("x").append(repairRegisterPart.getPartCount()).append(",");
-            }
-            if(StringUtils.isNotBlank(partNamesList.toString()) && partNamesList.toString().contains(",")){
-                partNamesList.deleteCharAt(partNamesList.lastIndexOf(","));
-            }
-            vo.setPartNamesStr(partNamesList.toString());
-        }
-
-        return voList;
     }
 }

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

@@ -73,7 +73,7 @@ public class RepairSupplyService {
     public List<RepairRegisterPartVo> partInfo(String repairId,Integer type) {
         LambdaQueryWrapper<PriceList> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(PriceList::getRepairId,repairId);
-        wrapper.eq(PriceList::getStatus,1);
+        wrapper.in(PriceList::getStatus,1,2);
         wrapper.eq(PriceList::getType,0);
         List<PriceList> list = priceListService.list(wrapper);
 

+ 4 - 0
src/main/resources/mapper/sale/RepairRegisterMapper.xml

@@ -10,4 +10,8 @@
         select  rp.*,u.nick_name as sysUserName from t_repair_register_log rp left join sys_user u on rp.sys_user_id = u.id
         where rp.rec_status = 'A' and rp.repair_id =#{repairId}
     </select>
+    <select id="getVoByRegisterLogId" resultType="com.fdkankan.sale.vo.response.RepairRegisterVo">
+        select  rp.*,u.nick_name as sysUserName from t_repair_register_log rp left join sys_user u on rp.sys_user_id = u.id
+        where rp.rec_status = 'A' and rp.register_log_id =#{registerLogId}
+    </select>
 </mapper>