123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- package com.fdkankan.sale.service.impl;
- import java.math.BigDecimal;
- import java.net.URL;
- import java.net.URLEncoder;
- import java.util.Date;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.fdkankan.sale.common.PageInfo;
- import com.fdkankan.sale.common.RepairStatusEnum;
- import com.fdkankan.sale.common.ResultCode;
- import com.fdkankan.sale.entity.Repair;
- import com.fdkankan.sale.entity.RepairTest;
- import com.fdkankan.sale.entity.SysUser;
- import com.fdkankan.sale.exception.BusinessException;
- import com.fdkankan.sale.service.*;
- import com.fdkankan.sale.util.DateUtil;
- import com.fdkankan.sale.util.StatusUtil;
- import com.fdkankan.sale.vo.request.RepairParam;
- import com.fdkankan.sale.vo.request.TestParam;
- import com.fdkankan.sale.vo.response.RepairRegisterPartVo;
- import com.fdkankan.sale.vo.response.RepairerVo;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Set;
- import java.util.stream.Collectors;
- @Service
- public class RepairTesterService {
- @Autowired
- IRepairService repairService;
- @Autowired
- IRepairTestService repairTestService;
- @Autowired
- IRepairLogService repairLogService;
- @Autowired
- ISysUserService sysUserService;
- @Autowired
- IRepairRegisterService repairRegisterService;
- @Autowired
- RepairSupplyService repairSupplyService;
- @Autowired
- IPriceListService priceListService;
- /**
- * 测试工程师
- * statusParam 0 待测试,1测试完成
- * * status 0待接单,10待检测,20待报价,30待确认,40已取消,50待备料,60维修中,70待测试,
- * * 80待支付(已完结),90待回收,100待发货,110已发货
- */
- public Object repairTesterList(RepairParam param) {
- List<Integer> repairStatus = StatusUtil.getTesterStatus(param.getStatusParam());
- param.setStatusList(repairStatus);
- Page<RepairerVo> voPage = repairService.testOrderList(param);
- sysUserService.setSaleNameAndRepairManName(voPage.getRecords());
- return PageInfo.PageInfo(voPage);
- }
- public void passOrFail(TestParam testParam, Long userId) {
- if(StringUtils.isBlank(testParam.getRepairId()) || testParam.getResultStatus() == null){
- throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
- }
- Repair repair = repairService.getById(testParam.getRepairId());
- if(repair == null){
- throw new BusinessException(ResultCode.REPAIR_NOT_EXITS);
- }
- if(!repair.getStatus().equals(RepairStatusEnum.TO_BE_TESTED.status())){
- throw new BusinessException(ResultCode.REPAIR_STATUS_NOT_EXITS);
- }
- RepairTest entity = new RepairTest();
- entity.setRepairId(testParam.getRepairId());
- entity.setSysUserId(userId);
- entity.setResultStatus(testParam.getResultStatus());
- entity.setResultInfo(testParam.getResultInfo());
- entity.setResultImg(testParam.getResultImg());
- if(testParam.getResultStatus() == 0){
- entity.setPassTime(DateUtil.getDate());
- repairTestService.save(entity);
- List<RepairRegisterPartVo> partVoList = repairSupplyService.partInfo(repair.getRepairId(), 1);
- BigDecimal payAmount = priceListService.getAmountByRepairId(repair.getRepairId());
- if(StatusUtil.getWarranty(repair.getWarrantyType()) || payAmount.compareTo(BigDecimal.ZERO) <=0){
- if(partVoList.size() >0){
- repairLogService.saveBySysUser(userId,testParam.getRepairId(), RepairStatusEnum.TO_BE_RECOVERED.status(),repair.getStatus(),"测试通过",entity.getTestId());
- }else {
- repairLogService.saveBySysUser(userId,testParam.getRepairId(), RepairStatusEnum.TO_BE_SHIPPED.status(),repair.getStatus(),"测试通过",entity.getTestId());
- }
- }else {
- repairLogService.saveBySysUser(userId,testParam.getRepairId(), RepairStatusEnum.TO_BE_PAID.status(),repair.getStatus(),"测试通过",entity.getTestId());
- }
- }else {
- repairTestService.save(entity);
- repairLogService.saveBySysUser(userId,testParam.getRepairId(),RepairStatusEnum.TO_BE_REPAIRED.status(),repair.getStatus(),"测试不通过",entity.getTestId());
- }
- }
- }
|