package com.mes.bigstoragetask.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.entity.BigStorageDTO;
import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
import com.mes.bigstoragetask.mapper.BigStorageCageFeedTaskMapper;
import com.mes.bigstoragetask.service.BigStorageCageFeedTaskService;
import com.mes.utils.Result;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.List;
/**
*
* 服务实现类
*
*
* @author zhoush
* @since 2024-04-16
*/
@Service
public class BigStorageCageFeedTaskServiceImpl extends ServiceImpl implements BigStorageCageFeedTaskService {
@Value("${mes.glassGap}")
private Integer glassGap;
@Override
public void addFeedTask(BigStorageCageDetails slotInfo, Integer plcFeedReqLine, int taskType) {
BigStorageCageFeedTask bigStorageCageFeedTask = new BigStorageCageFeedTask();
bigStorageCageFeedTask.setId(slotInfo.getId());
bigStorageCageFeedTask.setTaskState(0);
bigStorageCageFeedTask.setLine(plcFeedReqLine);
bigStorageCageFeedTask.setTaskType(taskType);
baseMapper.insert(bigStorageCageFeedTask);
}
@Override
public List querybigStorageCageFeedTask(int taskState) {
LambdaQueryWrapper getFeedTaskWrapper = new LambdaQueryWrapper<>();
getFeedTaskWrapper.eq(BigStorageCageFeedTask::getTaskState, taskState);
return baseMapper.selectList(getFeedTaskWrapper);
}
@Override
public BigStorageDTO querySitToUpRemainWidth(Integer line) {
return baseMapper.querySitToUpRemainWidth(line, glassGap);
}
@Override
public List querySitToUpGlass() {
return baseMapper.querySitToUpGlass();
}
@Override
public List selectBigStorageCageFeedTask(BigStorageCageFeedTask bigStorageCageFeedTask, String startTime, String endTime) {
if (endTime != null && !endTime.isEmpty()) {
endTime = endTime + " 23:59:59";
}
LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
if (bigStorageCageFeedTask.getTargetSlot() != null) {
wrapper.eq(BigStorageCageFeedTask::getTargetSlot, bigStorageCageFeedTask.getTargetSlot());
}
if (bigStorageCageFeedTask.getWidth() != null) {
wrapper.eq(BigStorageCageFeedTask::getWidth, bigStorageCageFeedTask.getWidth());
}
if (bigStorageCageFeedTask.getHeight() != null) {
wrapper.eq(BigStorageCageFeedTask::getHeight, bigStorageCageFeedTask.getHeight());
}
if (bigStorageCageFeedTask.getLine() != 0) {
wrapper.eq(BigStorageCageFeedTask::getLine, bigStorageCageFeedTask.getLine());
}
if (bigStorageCageFeedTask.getTaskState() != -1) {
wrapper.eq(BigStorageCageFeedTask::getTaskState, bigStorageCageFeedTask.getTaskState());
}
if (bigStorageCageFeedTask.getTaskType() != 0) {
wrapper.eq(BigStorageCageFeedTask::getTaskType, bigStorageCageFeedTask.getTaskType());
}
if (startTime != null && !startTime.isEmpty()) {
wrapper.ge(BigStorageCageFeedTask::getCreateTime, startTime);
}
if (endTime != null && !endTime.isEmpty()) {
wrapper.le(BigStorageCageFeedTask::getCreateTime, endTime);
}
wrapper.orderByDesc(BigStorageCageFeedTask::getId);
wrapper.and(item -> item.eq(BigStorageCageFeedTask::getDeleted, 0)
.or()
.eq(BigStorageCageFeedTask::getDeleted, 1));
wrapper.between(BigStorageCageFeedTask::getCreateTime, startTime, endTime);
return baseMapper.selectList(wrapper);
}
}