RepairTesterService.java 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package com.fdkankan.sale.service.impl;
  2. import java.util.Date;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.fdkankan.sale.common.PageInfo;
  5. import com.fdkankan.sale.common.RepairStatusEnum;
  6. import com.fdkankan.sale.common.ResultCode;
  7. import com.fdkankan.sale.entity.Repair;
  8. import com.fdkankan.sale.entity.RepairTest;
  9. import com.fdkankan.sale.entity.SysUser;
  10. import com.fdkankan.sale.exception.BusinessException;
  11. import com.fdkankan.sale.service.*;
  12. import com.fdkankan.sale.util.DateUtil;
  13. import com.fdkankan.sale.util.StatusUtil;
  14. import com.fdkankan.sale.vo.request.RepairParam;
  15. import com.fdkankan.sale.vo.request.TestParam;
  16. import com.fdkankan.sale.vo.response.RepairerVo;
  17. import org.apache.commons.lang3.StringUtils;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.stereotype.Service;
  20. import java.util.HashMap;
  21. import java.util.List;
  22. import java.util.Set;
  23. import java.util.stream.Collectors;
  24. @Service
  25. public class RepairTesterService {
  26. @Autowired
  27. IRepairService repairService;
  28. @Autowired
  29. IRepairTestService repairTestService;
  30. @Autowired
  31. IRepairLogService repairLogService;
  32. @Autowired
  33. ISysUserService sysUserService;
  34. @Autowired
  35. IRepairRegisterService repairRegisterService;
  36. /**
  37. * 测试工程师
  38. * statusParam 0 待测试,1测试完成
  39. * * status 0待接单,10待检测,20待报价,30待确认,40已取消,50待备料,60维修中,70待测试,
  40. * * 80待支付(已完结),90待回收,100待发货,110已发货
  41. */
  42. public Object repairTesterList(RepairParam param) {
  43. List<Integer> repairStatus = StatusUtil.getTesterStatus(param.getStatusParam());
  44. param.setStatusList(repairStatus);
  45. Page<RepairerVo> voPage = repairService.testOrderList(param);
  46. sysUserService.setSaleNameAndRepairManName(voPage.getRecords());
  47. return PageInfo.PageInfo(voPage);
  48. }
  49. public void passOrFail(TestParam testParam, Long userId) {
  50. if(StringUtils.isBlank(testParam.getRepairId()) || testParam.getResultStatus() == null){
  51. throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
  52. }
  53. Repair repair = repairService.getById(testParam.getRepairId());
  54. if(repair == null){
  55. throw new BusinessException(ResultCode.REPAIR_NOT_EXITS);
  56. }
  57. if(!repair.getStatus().equals(RepairStatusEnum.TO_BE_TESTED.status())){
  58. throw new BusinessException(ResultCode.REPAIR_STATUS_NOT_EXITS);
  59. }
  60. RepairTest entity = new RepairTest();
  61. entity.setRepairId(testParam.getRepairId());
  62. entity.setSysUserId(userId);
  63. entity.setResultStatus(testParam.getResultStatus());
  64. entity.setResultInfo(testParam.getResultInfo());
  65. entity.setResultImg(testParam.getResultImg());
  66. if(testParam.getResultStatus() == 0){
  67. entity.setPassTime(DateUtil.getDate());
  68. repairTestService.save(entity);
  69. repairRegisterService.testPass(repair.getRepairId());
  70. if(repair.getWarrantyType() == 0 ){
  71. repairLogService.saveBySysUser(userId,testParam.getRepairId(), RepairStatusEnum.TO_BE_RECOVERED.status(),"测试通过",entity.getTestId());
  72. }else {
  73. repairLogService.saveBySysUser(userId,testParam.getRepairId(), RepairStatusEnum.TO_BE_PAID.status(),"测试通过",entity.getTestId());
  74. }
  75. }else {
  76. repairTestService.save(entity);
  77. repairLogService.saveBySysUser(userId,testParam.getRepairId(),RepairStatusEnum.TO_BE_REPAIRED.status(),"测试不通过",entity.getTestId());
  78. }
  79. }
  80. }