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; import com.fdkankan.sale.entity.Part; import com.fdkankan.sale.entity.RepairRegister; import com.fdkankan.sale.entity.RepairRegisterPart; import com.fdkankan.sale.mapper.IRepairRegisterMapper; import com.fdkankan.sale.service.IPartService; import com.fdkankan.sale.service.IRepairRegisterPartService; import com.fdkankan.sale.service.IRepairRegisterService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fdkankan.sale.util.DateUtil; import com.fdkankan.sale.vo.response.CheckRegisterVo; import com.fdkankan.sale.vo.response.RepairRegisterPartVo; import com.fdkankan.sale.vo.response.RepairRegisterVo; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; /** *

* 服务实现类 *

* * @author * @since 2023-02-16 */ @Service public class RepairRegisterServiceImpl extends ServiceImpl implements IRepairRegisterService { @Autowired IRepairRegisterPartService repairRegisterPartService; @Autowired IPartService partService; @Override public void repairOver(String repairId, String remark,Long userId) { LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); wrapper.eq(RepairRegister::getRepairId,repairId); wrapper.eq(RepairRegister::getStatus,1); wrapper.set(RepairRegister::getRemark,remark); wrapper.set(RepairRegister::getOverTime, DateUtil.getDate()); this.update(wrapper); } @Override public RepairRegister getByRepairId(String repairId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(RepairRegister::getRepairId,repairId); return this.getOne(wrapper); } @Override public RepairRegisterVo getVoByRepairId(String repairId) { RepairRegisterVo vo = this.getBaseMapper().getVoByRepairId(repairId); if(vo == null){ return null; } List partList = repairRegisterPartService.getByRepairId(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(","); } if(StringUtils.isNotBlank(partNamesList.toString()) && partNamesList.toString().contains(",")){ partNamesList.deleteCharAt(partNamesList.lastIndexOf(",")); } vo.setPartNamesStr(partNamesList.toString()); return vo; } @Override public List getVoListByRepairId(String repairId) { List voList = this.getBaseMapper().getVoListByRepairId(repairId); for (RepairRegisterVo vo : voList) { List 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; } }