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