ZengTao
2025-03-28 f68d3c71819feb59e7a227a5d992b059b900916c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
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;
 
/**
 * <p>
 * 服务实现类
 * </p>
 *
 * @author zhoush
 * @since 2024-04-16
 */
@Service
public class BigStorageCageFeedTaskServiceImpl extends ServiceImpl<BigStorageCageFeedTaskMapper, BigStorageCageFeedTask> 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<BigStorageCageFeedTask> querybigStorageCageFeedTask(int taskState) {
        LambdaQueryWrapper<BigStorageCageFeedTask> 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<Integer> querySitToUpGlass() {
        return baseMapper.querySitToUpGlass();
    }
 
    @Override
    public List<BigStorageCageFeedTask> selectBigStorageCageFeedTask(BigStorageCageFeedTask bigStorageCageFeedTask, String startTime, String endTime) {
        if (endTime != null && !endTime.isEmpty()) {
            endTime = endTime + " 23:59:59";
        }
        LambdaQueryWrapper<BigStorageCageFeedTask> 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);
    }
}