package com.mes.damage.service.impl; import cn.hutool.core.date.DateTime; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.mes.damage.entity.Damage; import com.mes.damage.mapper.DamageMapper; import com.mes.damage.service.DamageService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.mes.glassinfo.entity.GlassInfo; import com.mes.glassinfo.mapper.GlassInfoMapper; import com.mes.work_assignment.entity.WorkAssignment; import com.mes.work_assignment.mapper.WorkAssignmentMapper; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.sql.Timestamp; import java.time.LocalDateTime; import java.util.List; /** *

* 服务实现类 *

* * @author wu * @since 2024-06-13 */ @Service public class DamageServiceImpl extends ServiceImpl implements DamageService { @Resource GlassInfoMapper glassInfoMapper; @Resource WorkAssignmentMapper workAssignmentMapper; /** * 查询报工信息 */ @Override public List selectDamage(String startTime, String endTime, int type, int status, int workingProcedure){ LambdaQueryWrapper damageSelectWrapper =new LambdaQueryWrapper<>(); damageSelectWrapper.between(Damage::getDamageTime,startTime,endTime); if (type!=0){ damageSelectWrapper.eq(Damage::getType,type); } if (status!=0){ damageSelectWrapper.eq(Damage::getStatus,status); } if(workingProcedure!=0){ damageSelectWrapper.eq(Damage::getWorkingProcedure,workingProcedure); } return baseMapper.selectList(damageSelectWrapper); } /** * 提交报工 */ @Override public void submitDamage(DateTime startTime, DateTime endTime, int type, int status, int workingProcedureId){ LambdaUpdateWrapper damageUpdateWrapper=new LambdaUpdateWrapper<>(); damageUpdateWrapper.between(Damage::getDamageTime,startTime,endTime); if (type!=0){ damageUpdateWrapper.eq(Damage::getType,type); } if (status!=0){ damageUpdateWrapper.eq(Damage::getStatus,status); } if(workingProcedureId!=0){ damageUpdateWrapper.eq(Damage::getWorkingProcedure,workingProcedureId); } Damage damage=new Damage(); damage.setStatus(2); baseMapper.update(damage,damageUpdateWrapper); } /** * 添加报工信息 */ @Override public void insertDamage(Damage damage){ LambdaQueryWrapper glassInfoSelectWrapper=new LambdaQueryWrapper<>(); glassInfoSelectWrapper.eq(GlassInfo::getGlassId,damage.getGlassId()); GlassInfo glassInfo=glassInfoMapper.selectOne(glassInfoSelectWrapper); BeanUtils.copyProperties(glassInfo, damage); LambdaQueryWrapper workAssignmentSelectWrapper=new LambdaQueryWrapper<>(); workAssignmentSelectWrapper .eq(WorkAssignment::getLine,damage.getLine()) .eq(WorkAssignment::getWorkProcesses,damage.getWorkingProcedure()); WorkAssignment workAssignment=workAssignmentMapper.selectOne(workAssignmentSelectWrapper); damage.setTeamsGroupsName(workAssignment.getTeamsGroupsName()); damage.setDeviceName(workAssignment.getDeviceName()); damage.setProcessId(glassInfo.getFlowCardId()); damage.setOrderNumber(glassInfo.getGlassType()); damage.setTechnologyNumber(glassInfo.getLayer()); damage.setDamageTime(Timestamp.valueOf(LocalDateTime.now())); damage.setType(2); baseMapper.insert(damage); } }