yangys
2024-09-27 26f8e5990686bdba2119024a260d986266506757
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
package com.qianwen.mdc.collect.mapper.iotdb;
 
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qianwen.mdc.collect.dto.StateAggregateTimeDTO;
import com.qianwen.mdc.collect.entity.iotdb.DeviceState;
 
import java.util.List;
import org.apache.ibatis.annotations.Param;
 
@DS("iotdb")
@InterceptorIgnore(tenantLine = "true")
public interface DeviceStateMapper extends BaseMapper<DeviceState> {
    //void createSuperTable();
 
    //void createTable(Long workstationId);
 
    //int insert(WorkstationState deviceState);
 
    //int batchInsert(List<WorkstationState> deviceStateList);
 
    //int batchSave(@Param("workstationId") Long workstationId, @Param("list") List<WorkstationState> list);
 
    List<DeviceState> getProcessingFeedbackState(@Param("workstationId") Long workstationId);
 
    DeviceState getLastIsSyncNoFixPointState(@Param("workstationId") Long workstationId);
 
    //DeviceState getLastWorkstationState(@Param("ew") Wrapper query);
    /**
     * 获取最新的已同步的非反馈点状态
     * @param workstationId
     * @return
     */
    DeviceState lastSyncedNoFeedbackPointState(Long workstationId);
    
    //DeviceState getFirstWorkstationState(@Param("ew") Wrapper query);
    /**
     * 获取第一个的未同步的非反馈点状态
     * @param workstationId
     * @return
     */
    DeviceState firstNotSyncedNofeedbackPointState(Long workstationId);
 
    /**
     * 获取时间区间内的状态数据
     * @param workstationId
     * @param timeRange
     * @return
     */
    List<DeviceState> statesInTimeRange(@Param("workstationId")Long workstationId,@Param("timeRange") StateAggregateTimeDTO timeRange);
 
    /**
     * 查询某天固定点数量
     * @param factoryDate
     * @return
     */
    long fixPointCountByDate(int factoryDate);
 
    /**
     * 根据工位id,获取 小于时间戳 的非反馈点数据
     * @param workstationId 工位id
     * @param time 时间戳
     * @return
     */
    DeviceState lastNoFeedbackStateLessThanTime(@Param("workstationId")Long workstationId, @Param("time")Long time);
    
    /**
     * 根据工位id,获取 小于等于时间戳 的非反馈点数据
     * @param workstationId
     * @param time
     * @return
     */
    DeviceState lastNoFeedbackStateLeTime(@Param("workstationId")Long workstationId, @Param("time")Long time);
    /**
     * 根据工位id和时间戳精确获取一条状态数据
     * @param workstationId
     * @param time
     * @return
     */
    DeviceState getByWorkstationIdAndTime(@Param("workstationId")Long workstationId, @Param("time")Long time);
 
    /**
     * 根据工位id和时间戳精确获取一条状态数据
     * @param workstationId
     * @param time
     * @return
     */
    DeviceState getLastByWorkstationIdAndLeTimeAndShiftIndexNotNull(@Param("workstationId")Long workstationId, @Param("time")Long time);
    
    /**
     * 根据时间和工位id,获取一个固定点
     * @param workstationId
     * @param time
     * @return
     */
    DeviceState getFixPointByWorkstationIdAndTime(@Param("workstationId")Long workstationId, @Param("time")Long time);
    
    /**
     * 获取指定工位时间区间内的非反馈点状态数据列表
     * @param workstationId
     * @param startTime
     * @param endTime
     * @return
     */
    List<DeviceState> workstationNoFeedbackPointStatesInTimeRange(@Param("workstationId")Long workstationId, @Param("startTime")Long startTime, @Param("endTime")Long endTime);
    
    /**
     * 获取指定工位时间区间内的 固定点 状态数据列表
     * @param workstationId
     * @param startTime
     * @param endTime
     * @return
     */
    List<DeviceState> workstationFixPointStatesInTimeRange(@Param("workstationId")Long workstationId, @Param("startTime")Long startTime, @Param("endTime")Long endTime);
}