Przeglądaj źródła

维修记录修改成多条

lyhzzz 2 lat temu
rodzic
commit
d51cdf331f

+ 0 - 7
src/main/java/com/fdkankan/sale/controller/RepairPersonnelController.java

@@ -46,13 +46,6 @@ public class RepairPersonnelController extends BaseController{
     }
 
     /**
-     * 维修检测登记回显
-     */
-    @GetMapping("/checkRegisterInfo")
-    public ResultData checkRegisterInfo(@RequestParam(required = false) String repairId){
-        return ResultData.ok(repairPersonnelService.checkRegisterInfo(repairId));
-    }
-    /**
      * 维修检测登记
      */
     @PostMapping("/checkRegister")

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

@@ -69,4 +69,7 @@ public class RepairLog implements Serializable {
     @TableField("test_id")
     private Integer testId;
 
+    @TableField("register_id")
+    private Integer registerId;
+
 }

+ 5 - 1
src/main/java/com/fdkankan/sale/mapper/IRepairRegisterMapper.java

@@ -6,6 +6,8 @@ import com.fdkankan.sale.vo.response.RepairRegisterVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  *  Mapper 接口
@@ -17,5 +19,7 @@ import org.apache.ibatis.annotations.Param;
 @Mapper
 public interface IRepairRegisterMapper extends BaseMapper<RepairRegister> {
 
-    RepairRegisterVo getVoByRepairId(@Param("repairId") String repairId);
+    List<RepairRegisterVo> getVoByRepairId(@Param("repairId") String repairId);
+
+    RepairRegisterVo getVoByRegisterId(@Param("registerId")Integer registerId);
 }

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

@@ -15,5 +15,5 @@ import java.util.List;
  */
 public interface IRepairRegisterPartService extends IService<RepairRegisterPart> {
 
-    List<RepairRegisterPart> getByRepairId(String repairId);
+    List<RepairRegisterPart> getByRegisterId(Integer registerId);
 }

+ 7 - 3
src/main/java/com/fdkankan/sale/service/IRepairRegisterService.java

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.sale.vo.response.CheckRegisterVo;
 import com.fdkankan.sale.vo.response.RepairRegisterVo;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务类
@@ -15,11 +17,13 @@ import com.fdkankan.sale.vo.response.RepairRegisterVo;
  */
 public interface IRepairRegisterService extends IService<RepairRegister> {
 
-    void repairOver(String repairId, String remark);
+    void repairOver(String repairId, String remark,Long userId);
 
     RepairRegister getByRepairId(String repairId);
 
-    CheckRegisterVo getCheckVoByRepairId(String repairId);
+    List<RepairRegisterVo> getVoByRepairId(String repairId);
+
+    RepairRegisterVo getVoByRegisterId(Integer registerId);
 
-    RepairRegisterVo getVoByRepairId(String repairId);
+    void testPass(String repairId);
 }

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

@@ -35,8 +35,6 @@ public class RepairCustomerService {
     IRepairPayService repairPayService;
     @Autowired
     IPriceListService priceListService;
-    @Autowired
-    IRepairRegisterPartService repairRegisterPartService;
 
     public Object getRepairByOpenId(String openId) {
         List<Customer> list = customerService.getByOpenId(openId);
@@ -70,8 +68,9 @@ public class RepairCustomerService {
         if(param.getConfirm() == 0){
             priceListService.updateStatusByRepairId(repair.getRepairId());
             //无备件更换,不需要备料,应直接进入维修中
-            List<RepairRegisterPart> partList = repairRegisterPartService.getByRepairId(repair.getRepairId());
-            if(partList == null || partList.size() <=0){
+            List<PriceList> partList = priceListService.getByRepairId(repair.getRepairId());
+            List<PriceList> collect = partList.stream().filter(entity -> entity.getType() == 0).collect(Collectors.toList());
+            if(collect.size() <=0){
                 repairLogService.saveBySysUser(param.getUserId(),repair.getRepairId(),RepairStatusEnum.TO_BE_REPAIRED.status(),"确认维修");
             }else {
                 repairLogService.saveBySysUser(param.getUserId(),repair.getRepairId(),RepairStatusEnum.TO_BE_PREPARED.status(),"确认维修");

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

@@ -62,7 +62,7 @@ public class RepairInfoService {
         List<PriceList> priceLists = priceListService.getByRepairId(repairId);
         RepairPay repairPay = repairPayService.getByRepairId(repairId,1);
         OrderReceivingVo receiving = orderReceivingService.getVoByRepairId(repairId);
-        RepairRegisterVo repairRegisterVo = repairRegisterService.getVoByRepairId(repairId);
+        List<RepairRegisterVo> repairRegisterVoList = repairRegisterService.getVoByRepairId(repairId);
         RepairTestVo repairTestVo = repairTestService.getPassVoByRepairId(repairId);
         RepairComment comment = repairCommentService.getByRepairId(repairId);
         List<Fault> faultList = faultService.getByRepairId(repairId);
@@ -89,7 +89,7 @@ public class RepairInfoService {
         detailVo.setPriceList(priceLists);
         detailVo.setRepairPay(repairPay);
         detailVo.setOrderReceivingVo(receiving);
-        detailVo.setRepairRegisterVo(repairRegisterVo);
+        detailVo.setRepairRegisterVo(repairRegisterVoList);
         detailVo.setRepairTestVo(repairTestVo);
         detailVo.setRepairComment(comment);
         detailVo.setFaultList(faultList);
@@ -118,7 +118,7 @@ public class RepairInfoService {
                     }
                     break;
                 case 20 : //维修检测
-                    RepairRegisterVo repairRegisterVo = repairRegisterService.getVoByRepairId(repairId);
+                    RepairRegisterVo repairRegisterVo = repairRegisterService.getVoByRegisterId(repairLogVo.getRegisterId());
                     repairLogVo.setRepairRegisterVo(repairRegisterVo);
                     if(repairRegisterVo != null){
                         repairLogVo.setImagesInfo(repairRegisterVo.getCheckImg());
@@ -167,12 +167,17 @@ public class RepairInfoService {
         vo.setSaleDate(repairDetailVo.getOrderReceivingVo().getCreateTime());
         vo.setWarrantyExpirationDate(repairDetailVo.getRepairerVo().getWarrantyDate());
 
-        vo.setExportImg(repairDetailVo.getRepairRegisterVo().getCheckImg());
-        vo.setRepairMan(repairDetailVo.getRepairRegisterVo().getSysUserName());
-        vo.setRepairOverTime(repairDetailVo.getRepairRegisterVo().getOverTime());
-        vo.setRepairRemark(repairDetailVo.getRepairRegisterVo().getRemark());
-        vo.setCheckDate(repairDetailVo.getRepairRegisterVo().getCreateTime());
-        vo.setCheckResult(repairDetailVo.getRepairRegisterVo().getCheckResult());
+        List<RepairRegisterVo> repairRegisterVo = repairDetailVo.getRepairRegisterVo();
+        for (RepairRegisterVo registerVo1 : repairRegisterVo) {
+            if(registerVo1.getStatus() == 2){
+                vo.setExportImg(registerVo1.getCheckImg());
+                vo.setRepairMan(registerVo1.getSysUserName());
+                vo.setRepairOverTime(registerVo1.getOverTime());
+                vo.setRepairRemark(registerVo1.getRemark());
+                vo.setCheckDate(registerVo1.getCreateTime());
+                vo.setCheckResult(registerVo1.getCheckResult());
+            }
+        }
 
         vo.setLastRepairId(repairDetailVo.getLastRepairId());
 

+ 18 - 34
src/main/java/com/fdkankan/sale/service/impl/RepairPersonnelService.java

@@ -73,15 +73,6 @@ public class RepairPersonnelService {
         return PageInfo.PageInfo(voPage);
     }
 
-    public CheckRegisterVo checkRegisterInfo(String repairId) {
-        Repair repair = repairService.getById(repairId);
-        if(repair == null){
-            throw new BusinessException(ResultCode.REPAIR_NOT_EXITS);
-        }
-
-        return repairRegisterService.getCheckVoByRepairId(repairId);
-
-    }
 
 
     public void checkRegister(CheckRegisterParam param, Long userId) {
@@ -96,24 +87,20 @@ public class RepairPersonnelService {
         if(!repair.getStatus().equals(RepairStatusEnum.TO_BE_CHECK.status())){ //待检测
             throw new BusinessException(ResultCode.REPAIR_STATUS_NOT_EXITS);
         }
-        RepairRegister repairRegister  = repairRegisterService.getByRepairId(repair.getRepairId());
-        if(repairRegister == null){
-            repairRegister = new RepairRegister();
-        }
-        Integer repairRegisterId = repairRegister.getRepairRegisterId();
+//        RepairRegister repairRegister  = repairRegisterService.getByRepairId(repair.getRepairId());
+//        if(repairRegister == null){
+//            repairRegister = new RepairRegister();
+//        }
+        RepairRegister repairRegister = new RepairRegister();
         BeanUtils.copyProperties(param,repairRegister);
 
         if(repairRegister.getDefineDamage() == 1 && repair.getWarrantyType() == 0){
             repairService.updateWarrantyType(repair.getRepairId(),1);
         }
 
-        repairRegister.setRepairRegisterId(repairRegisterId);
         repairRegister.setSysUserId(userId);
-        repairRegisterService.saveOrUpdate(repairRegister);
+        repairRegisterService.save(repairRegister);
 
-        List<RepairRegisterPart> registerParts = repairRegisterPartService.getByRepairId(param.getRepairId());
-        HashMap<Integer,Integer> partIdMap = new HashMap<>();
-        registerParts.forEach(entity -> partIdMap.putIfAbsent(entity.getPartId(),entity.getId()));
 
         Integer repairStatus = RepairStatusEnum.TO_BE_QUOTED.status();
         if(repairRegister.getDefineDamage() == 0 && repair.getWarrantyType() == 0){
@@ -124,7 +111,7 @@ public class RepairPersonnelService {
             }
         }
         repairLogService.saveBySysUser(userId,repair.getRepairId(),repairStatus,"维修检测");
-        this.addRepairPart(param.getPartList(),repair,repairRegister,partIdMap);
+        this.addRepairPart(param.getPartList(),repair,repairRegister);
 
         repairFaultService.delByRepairId(repair.getRepairId());
 
@@ -139,7 +126,7 @@ public class RepairPersonnelService {
 
     }
 
-    private void addRepairPart(List<RepairRegisterPartVo> partVoList,Repair repair,RepairRegister repairRegister,HashMap<Integer,Integer> partIdMap ) {
+    private void addRepairPart(List<RepairRegisterPartVo> partVoList,Repair repair,RepairRegister repairRegister) {
         for (RepairRegisterPartVo partVo : partVoList) {
             Part part = partService.getById(partVo.getPartId());
             if(part == null){
@@ -150,10 +137,7 @@ public class RepairPersonnelService {
             repairRegisterPart.setRepairRegisterId(repairRegister.getRepairRegisterId());
             repairRegisterPart.setPartId(partVo.getPartId());
             repairRegisterPart.setPartCount(partVo.getPartCount());
-            if(partIdMap != null && partIdMap.get(partVo.getPartId())!=null){
-                repairRegisterPart.setId(partIdMap.get(partVo.getPartId()));
-            }
-            repairRegisterPartService.saveOrUpdate(repairRegisterPart);
+            repairRegisterPartService.save(repairRegisterPart);
 
             PriceList priceList = new PriceList();
             priceList.setRepairId(repair.getRepairId());
@@ -178,17 +162,17 @@ public class RepairPersonnelService {
         if(!repair.getStatus().equals(RepairStatusEnum.TO_BE_REPAIRED.status())){ //维修中
             throw new BusinessException(ResultCode.REPAIR_STATUS_NOT_EXITS);
         }
-        RepairRegister repairRegister  = repairRegisterService.getByRepairId(repair.getRepairId());
-        if(repairRegister == null){
-            repairRegister = new RepairRegister();
-        }
-        Integer repairRegisterId = repairRegister.getRepairRegisterId();
+//        RepairRegister repairRegister  = repairRegisterService.getByRepairId(repair.getRepairId());
+//        if(repairRegister == null){
+//            repairRegister = new RepairRegister();
+//        }
+        RepairRegister repairRegister = new RepairRegister();
         BeanUtils.copyProperties(param,repairRegister);
-        repairRegister.setRepairRegisterId(repairRegisterId);
         repairRegister.setSysUserId(userId);
-        repairRegisterService.saveOrUpdate(repairRegister);
+        repairRegister.setDefineDamage(0);
+        repairRegisterService.save(repairRegister);
 
-        this.addRepairPart(param.getPartList(),repair,repairRegister,null);
+        this.addRepairPart(param.getPartList(),repair,repairRegister);
 
         repairLogService.saveBySysUser(userId,repair.getRepairId(),RepairStatusEnum.TO_BE_QUOTED.status(),"维修中添加备件");
 
@@ -214,7 +198,7 @@ public class RepairPersonnelService {
 //        }else {
 //            repairLogService.saveBySysUser(userId,repair.getRepairId(), RepairStatusEnum.TO_BE_PAID.status(), "维修完成");
 //        }
-        repairRegisterService.repairOver(repair.getRepairId(),param.getRemark());
+        repairRegisterService.repairOver(repair.getRepairId(),param.getRemark(),userId);
 
     }
 

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

@@ -22,11 +22,9 @@ import java.util.List;
 public class RepairRegisterPartServiceImpl extends ServiceImpl<IRepairRegisterPartMapper, RepairRegisterPart> implements IRepairRegisterPartService {
 
     @Override
-    public List<RepairRegisterPart> getByRepairId(String repairId) {
+    public List<RepairRegisterPart> getByRegisterId(Integer registerId) {
         LambdaQueryWrapper<RepairRegisterPart> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(RepairRegisterPart::getRepairId,repairId);
+        wrapper.eq(RepairRegisterPart::getRepairRegisterId,registerId);
         return this.list(wrapper);
     }
-
-
 }

+ 38 - 31
src/main/java/com/fdkankan/sale/service/impl/RepairRegisterServiceImpl.java

@@ -1,4 +1,5 @@
 package com.fdkankan.sale.service.impl;
+import com.alibaba.fastjson.JSONArray;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -39,12 +40,23 @@ public class RepairRegisterServiceImpl extends ServiceImpl<IRepairRegisterMapper
     IPartService partService;
 
     @Override
-    public void repairOver(String repairId, String remark) {
+    public void repairOver(String repairId, String remark,Long userId) {
+        RepairRegister repairRegister = new RepairRegister();
+        repairRegister.setRepairId(repairId);
+        repairRegister.setStatus(1);
+        repairRegister.setRemark(remark);
+        repairRegister.setOverTime(DateUtil.getDate());
+        repairRegister.setSysUserId(userId);
+        this.save(repairRegister);
+
+    }
+
+    @Override
+    public void testPass(String repairId) {
         LambdaUpdateWrapper<RepairRegister> wrapper = new LambdaUpdateWrapper<>();
         wrapper.eq(RepairRegister::getRepairId,repairId);
-        wrapper.eq(RepairRegister::getStatus,0);
-        wrapper.set(RepairRegister::getRemark,remark);
-        wrapper.set(RepairRegister::getStatus,1);
+        wrapper.eq(RepairRegister::getStatus,1);
+        wrapper.set(RepairRegister::getStatus,2);
         wrapper.set(RepairRegister::getOverTime, DateUtil.getDate());
         this.update(wrapper);
     }
@@ -56,39 +68,34 @@ public class RepairRegisterServiceImpl extends ServiceImpl<IRepairRegisterMapper
         return this.getOne(wrapper);
     }
 
-    @Override
-    public CheckRegisterVo getCheckVoByRepairId(String repairId) {
-        RepairRegister repairRegister = this.getByRepairId(repairId);
-        if(repairRegister == null){
-            return null;
-        }
 
-        List<RepairRegisterPart> partList = repairRegisterPartService.getByRepairId(repairId);
-        List<RepairRegisterPartVo> partVoList = new ArrayList<>();
-        for (RepairRegisterPart repairRegisterPart : partList) {
-            RepairRegisterPartVo partVo = new RepairRegisterPartVo();
-            Part part = partService.getById(repairRegisterPart.getPartId());
-            if(part ==null){
-                continue;
+    @Override
+    public  List<RepairRegisterVo> getVoByRepairId(String repairId) {
+        List<RepairRegisterVo> voList = this.getBaseMapper().getVoByRepairId(repairId);
+        for (RepairRegisterVo vo : voList) {
+            List<RepairRegisterPart> partList = repairRegisterPartService.getByRegisterId(vo.getRepairRegisterId());
+            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(",");
             }
-            BeanUtils.copyProperties(part,partVo);
-            BeanUtils.copyProperties(repairRegisterPart,partVo);
-            partVoList.add(partVo);
+            if(StringUtils.isNotBlank(partNamesList.toString()) && partNamesList.toString().contains(",")){
+                partNamesList.deleteCharAt(partNamesList.lastIndexOf(","));
+            }
+            vo.setPartNamesStr(partNamesList.toString());
         }
 
-        CheckRegisterVo vo = new CheckRegisterVo();
-        BeanUtils.copyProperties(repairRegister,vo);
-        vo.setPartList(partVoList);
-        return vo;
+        return voList;
     }
 
     @Override
-    public RepairRegisterVo getVoByRepairId(String repairId) {
-        RepairRegisterVo vo = this.getBaseMapper().getVoByRepairId(repairId);
-        if(vo == null){
-            return null;
-        }
-        List<RepairRegisterPart> partList = repairRegisterPartService.getByRepairId(repairId);
+    public RepairRegisterVo getVoByRegisterId(Integer registerId) {
+        RepairRegisterVo vo = this.getBaseMapper().getVoByRegisterId(registerId);
+        List<RepairRegisterPart> partList = repairRegisterPartService.getByRegisterId(vo.getRepairRegisterId());
         StringBuilder partNamesList = new StringBuilder();
         for (RepairRegisterPart repairRegisterPart : partList) {
             Integer partId = repairRegisterPart.getPartId();
@@ -99,7 +106,7 @@ public class RepairRegisterServiceImpl extends ServiceImpl<IRepairRegisterMapper
             partNamesList.append(part.getPartName()).append("x").append(repairRegisterPart.getPartCount()).append(",");
         }
         if(StringUtils.isNotBlank(partNamesList.toString()) && partNamesList.toString().contains(",")){
-             partNamesList.deleteCharAt(partNamesList.lastIndexOf(","));
+            partNamesList.deleteCharAt(partNamesList.lastIndexOf(","));
         }
         vo.setPartNamesStr(partNamesList.toString());
         return vo;

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

@@ -43,7 +43,7 @@ public class RepairServiceImpl extends ServiceImpl<IRepairMapper, Repair> implem
     @Autowired
     IRepairFaultService repairFaultService;
     @Autowired
-    IRepairRegisterPartService repairRegisterPartService;
+    IPriceListService priceListService;
 
     @Override
     public void updateRepairStatus(String repairId, Integer status) {
@@ -82,8 +82,9 @@ public class RepairServiceImpl extends ServiceImpl<IRepairMapper, Repair> implem
         }
         repairPayService.updatePayStatus(orderSn,tradeNo,openid);
         if(orderSn.contains("se_s")){
-            List<RepairRegisterPart> registerParts = repairRegisterPartService.getByRepairId(repairPay.getRepairId());
-            if(registerParts != null && registerParts.size() >0){
+            List<PriceList> priceListList = priceListService.getByRepairId(repairPay.getRepairId());
+            List<PriceList> collect = priceListList.stream().filter(entity -> entity.getType() == 0).collect(Collectors.toList());
+            if(collect.size() >0){
                 repairLogService.saveBySysUser(null,repairPay.getRepairId(), RepairStatusEnum.TO_BE_RECOVERED.status(),"完成维修支付成功");
             }else {
                 repairLogService.saveBySysUser(null,repairPay.getRepairId(), RepairStatusEnum.TO_BE_SHIPPED.status(),"完成维修支付成功");

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

@@ -35,6 +35,8 @@ public class RepairTesterService {
     IRepairLogService repairLogService;
     @Autowired
     ISysUserService sysUserService;
+    @Autowired
+    IRepairRegisterService repairRegisterService;
 
 
     /**
@@ -74,6 +76,7 @@ public class RepairTesterService {
         if(testParam.getResultStatus() == 0){
             entity.setPassTime(DateUtil.getDate());
             repairTestService.save(entity);
+            repairRegisterService.testPass(repair.getRepairId());
             if(repair.getWarrantyType() == 0 ){
                 repairLogService.saveBySysUser(userId,testParam.getRepairId(), RepairStatusEnum.TO_BE_RECOVERED.status(),"测试通过",entity.getTestId());
             }else {

+ 1 - 1
src/main/java/com/fdkankan/sale/vo/response/RepairDetailVo.java

@@ -23,7 +23,7 @@ public class RepairDetailVo {
 
     private OrderReceivingVo orderReceivingVo;      //产品及故障信息
 
-    private RepairRegisterVo repairRegisterVo;
+    private List<RepairRegisterVo> repairRegisterVo;
 
     private RepairTestVo repairTestVo;
 

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

@@ -6,4 +6,8 @@
         select  rp.*,u.nick_name as sysUserName from t_repair_register 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="getVoByRegisterId" resultType="com.fdkankan.sale.vo.response.RepairRegisterVo">
+        select  rp.*,u.nick_name as sysUserName from t_repair_register rp left join sys_user u on rp.sys_user_id = u.id
+        where rp.rec_status = 'A' and rp.repair_register_id =#{registerId}
+    </select>
 </mapper>