package com.mes.bigstoragetask.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.mes.bigstorage.entity.BigStorageCageDetails; import com.mes.bigstorage.mapper.BigStorageCageDetailsMapper; import com.mes.bigstoragetask.entity.BigStorageCageOutTask; import com.mes.bigstoragetask.mapper.BigStorageCageOutTaskMapper; import com.mes.bigstoragetask.service.BigStorageCageOutTaskService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.mes.temperingglass.entity.TemperingGlassInfo; import com.mes.temperingglass.mapper.TemperingGlassInfoMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** *

* 服务实现类 *

* * @author zhoush * @since 2024-04-16 */ @Slf4j @Service public class BigStorageCageOutTaskServiceImpl extends ServiceImpl implements BigStorageCageOutTaskService { @Resource TemperingGlassInfoMapper temperingGlassInfoMapper; @Resource BigStorageCageOutTaskMapper bigStorageCageOutTaskMapper; @Resource BigStorageCageDetailsMapper bigStorageCageDetailsMapper; /** * 查询任务信息 */ @Override public List querybigStorageCageOutTask(int taskState){ log.info("根据传入的任务状态查询任务信息:"+taskState); LambdaQueryWrapper getOutTaskWrapper=new LambdaQueryWrapper<>(); getOutTaskWrapper.eq(BigStorageCageOutTask::getTaskState,taskState); return baseMapper.selectList(getOutTaskWrapper); } /** * 检测PLC是否完成任务 */ @Override public void updateOutTask(){ List bigStorageCageOutTaskList=querybigStorageCageOutTask(1); log.info("查询任务表是否有已完成的出片任务"+bigStorageCageOutTaskList.size()); for (BigStorageCageOutTask bigStorageCageOutTask:bigStorageCageOutTaskList ) { deleteOutTask(bigStorageCageOutTask.getGlassId()); } } /** * 完成出片任务 */ @Override public void deleteOutTask(String glassId){ log.info("根据任务id修改钢化小片表状态,删除已完成的出片任务,删除笼子表玻璃"); LambdaQueryWrapper temperingGlassInfoWrapper =new LambdaQueryWrapper<>(); temperingGlassInfoWrapper.eq(TemperingGlassInfo::getGlassId,glassId); TemperingGlassInfo temperingGlassInfo=temperingGlassInfoMapper.selectOne(temperingGlassInfoWrapper); //判断是否手动任务,不钢化任务完成后删掉,钢化任务完成后改状态为0 if(temperingGlassInfo.getState()==-2){ temperingGlassInfoMapper.deleteById(temperingGlassInfo.getId()); }else{ temperingGlassInfo.setState(0); temperingGlassInfoMapper.updateById(temperingGlassInfo); } LambdaQueryWrapper bigStorageCageOutTaskWrapper =new LambdaQueryWrapper<>(); bigStorageCageOutTaskWrapper.eq(BigStorageCageOutTask::getGlassId,glassId); BigStorageCageOutTask bigStorageCageOutTask=bigStorageCageOutTaskMapper.selectOne(bigStorageCageOutTaskWrapper); bigStorageCageOutTaskMapper.deleteById(bigStorageCageOutTask.getId()); LambdaQueryWrapper bigStorageCageDetailsWrapper =new LambdaQueryWrapper<>(); bigStorageCageDetailsWrapper.eq(BigStorageCageDetails::getGlassId,glassId); BigStorageCageDetails bigStorageCageDetails=bigStorageCageDetailsMapper.selectOne(bigStorageCageDetailsWrapper); bigStorageCageDetailsMapper.deleteById(bigStorageCageOutTask.getId()); } }