jiazx0107@163.com
2023-05-17 620eab6cca2bc9ef9ea6d3067a0a5ba1deadbd1c
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
package com.ld.igds.grain.service;
 
import com.baomidou.mybatisplus.plugins.Page;
import com.ld.igds.data.ChartLine;
import com.ld.igds.screen.data.DepotGrainData;
import com.ld.igds.grain.dto.*;
import com.ld.igds.models.Grain;
 
import java.util.List;
import java.util.Map;
 
/**
 * 粮情模块核心接口
 *
 * @author jiazx
 */
public interface CoreGrainService {
 
    String BEAN_ID = "core.grainService";
 
    /**
     * 使用Mybatis实现报表数据分页查询
     *
     * @param parameter
     * @param parameter
     */
    Page<GrainDataReport> getDataReport(int pageSize, int pageNo,
                                        Map<String, Object> parameter);
 
    /**
     * 批量删除粮情数据
     *
     * @param list
     */
    void deleteListData(List<GrainDataReport> list);
 
    /**
     * 根据检测时间,获取当前检测时间内,仓库的粮情信息,每个仓库一条数据
     *
     * @param param
     * @return
     */
    Map<String, GrainData> queryCheckDateMap(GrainParam param);
 
    /**
     * 根据条件查询粮情信息,返回列表,按照检测批次降序排序
     *
     * @param param
     * @return
     */
    List<GrainData> listGrainData(GrainParam param);
 
    /**
     * 获取粮情数据信息,按照检测批次升序排序
     *
     * @param param
     * @return
     */
    List<GrainData> listChartData(GrainParam param);
 
    /**
     * 获取缓存中最新的粮情检测数据
     *
     * @param companyId
     * @return key=参考编码
     */
    Map<String, GrainData> getCacheGrainDateMap(String companyId, String deptId);
 
    /**
     * 更新缓存中最新的粮情检测数据
     *
     * @param data 当前数据为标准的Grain数据,没有做更新点位信息
     * @return key=参考编码
     */
    void updateCacheGrainData(Grain data);
 
    /**
     * 粮情数据保存
     *
     * @param grain
     */
    int saveOrUpdateGrain(Grain grain) throws Exception;
 
    /**
     * 数据保存
     *
     * @param grain
     */
    void saveGrain(Grain grain) throws Exception;
 
    /**
     * 分页获取数据列表
     *
     * @param param
     * @return
     */
    Page<GrainData> pageListGrainData(GrainParam param);
 
    /**
     * 根据解析后的粮情信息和采集信息,保存采集点
     *
     * @param items
     * @param grain
     */
    void addGrainItems(List<GrainItemInfo> items, Grain grain);
 
 
    /**
     * 根据参数获取粮情采集点的坐标信息
     *
     * @param param
     * @return
     */
    List<GrainItemInfo> listGrainItemInfo(GrainPointParam param);
 
    /**
     * 根据参数获取采集位的走势信息
     *
     * @param param
     * @return
     */
    ChartLine chartPointLine(GrainPointParam param);
 
    /**
     * 获取缓存中液位高度信息
     *
     * @param companyId
     * @param depotId
     * @return
     */
    GrainData listLiquidHeight(String companyId, String depotId);
 
    /**
     * 获取粮情。即iot设备温湿度
     *
     * @param companyId
     * @param depotId
     * @return
     */
    List<GrainIotData> queryIotGrainData(String companyId, String depotId);
 
    /**
     * 获取仓库信息及最新的粮情信息
     *
     * @param companyId
     * @return
     */
    List<DepotGrainData> getDepotAndGrain(String companyId, String deptId);
}