RepairRegisterServiceImpl.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. package com.fdkankan.sale.service.impl;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4. import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  5. import com.fdkankan.sale.entity.Part;
  6. import com.fdkankan.sale.entity.RepairRegister;
  7. import com.fdkankan.sale.entity.RepairRegisterPart;
  8. import com.fdkankan.sale.mapper.IRepairRegisterMapper;
  9. import com.fdkankan.sale.service.IPartService;
  10. import com.fdkankan.sale.service.IRepairRegisterPartService;
  11. import com.fdkankan.sale.service.IRepairRegisterService;
  12. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  13. import com.fdkankan.sale.util.DateUtil;
  14. import com.fdkankan.sale.vo.response.CheckRegisterVo;
  15. import com.fdkankan.sale.vo.response.RepairRegisterPartVo;
  16. import com.fdkankan.sale.vo.response.RepairRegisterVo;
  17. import org.apache.commons.lang3.StringUtils;
  18. import org.springframework.beans.BeanUtils;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.stereotype.Service;
  21. import java.util.ArrayList;
  22. import java.util.List;
  23. /**
  24. * <p>
  25. * 服务实现类
  26. * </p>
  27. *
  28. * @author
  29. * @since 2023-02-16
  30. */
  31. @Service
  32. public class RepairRegisterServiceImpl extends ServiceImpl<IRepairRegisterMapper, RepairRegister> implements IRepairRegisterService {
  33. @Autowired
  34. IRepairRegisterPartService repairRegisterPartService;
  35. @Autowired
  36. IPartService partService;
  37. @Override
  38. public void repairOver(String repairId, String remark,Long userId) {
  39. LambdaUpdateWrapper<RepairRegister> wrapper = new LambdaUpdateWrapper<>();
  40. wrapper.eq(RepairRegister::getRepairId,repairId);
  41. wrapper.set(RepairRegister::getStatus,1);
  42. wrapper.set(RepairRegister::getRemark,remark);
  43. wrapper.set(RepairRegister::getOverTime, DateUtil.getDate());
  44. this.update(wrapper);
  45. }
  46. @Override
  47. public RepairRegister getByRepairId(String repairId) {
  48. LambdaQueryWrapper<RepairRegister> wrapper = new LambdaQueryWrapper<>();
  49. wrapper.eq(RepairRegister::getRepairId,repairId);
  50. return this.getOne(wrapper);
  51. }
  52. @Override
  53. public RepairRegisterVo getVoByRepairId(String repairId) {
  54. RepairRegisterVo vo = this.getBaseMapper().getVoByRepairId(repairId);
  55. if(vo == null){
  56. return null;
  57. }
  58. List<RepairRegisterPart> partList = repairRegisterPartService.getByRepairId(vo.getRepairId());
  59. this.setPartNameStr(vo,partList);
  60. return vo;
  61. }
  62. @Override
  63. public List<RepairRegisterVo> getVoListByRepairId(String repairId) {
  64. List<RepairRegisterVo> voList = this.getBaseMapper().getVoListByRepairId(repairId);
  65. for (RepairRegisterVo vo : voList) {
  66. List<RepairRegisterPart> partList = repairRegisterPartService.getByRegisterId(vo.getRegisterLogId());
  67. this.setPartNameStr(vo,partList);
  68. }
  69. return voList;
  70. }
  71. @Override
  72. public RepairRegisterVo getVoByRegisterLogId(Integer registerLogId) {
  73. RepairRegisterVo vo = this.getBaseMapper().getVoByRegisterLogId(registerLogId);
  74. if(vo == null){
  75. return null;
  76. }
  77. List<RepairRegisterPart> partList = repairRegisterPartService.getByRegisterId(vo.getRegisterLogId());
  78. this.setPartNameStr(vo,partList);
  79. return vo;
  80. }
  81. private void setPartNameStr(RepairRegisterVo vo,List<RepairRegisterPart> partList){
  82. StringBuilder partNamesList = new StringBuilder();
  83. for (RepairRegisterPart repairRegisterPart : partList) {
  84. Integer partId = repairRegisterPart.getPartId();
  85. Part part = partService.getById(partId);
  86. if(part == null){
  87. continue;
  88. }
  89. partNamesList.append(part.getPartName()).append("x").append(repairRegisterPart.getPartCount()).append(",");
  90. }
  91. if(StringUtils.isNotBlank(partNamesList.toString()) && partNamesList.toString().contains(",")){
  92. partNamesList.deleteCharAt(partNamesList.lastIndexOf(","));
  93. }
  94. vo.setPartNamesStr(partNamesList.toString());
  95. }
  96. }