czt
2024-07-13 bd01ba57ed8526a0ee94a50e1f52034251bb54f6
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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
package com.ld.igds.inout.service;
 
import com.ld.igds.data.Page;
import com.ld.igds.inout.dto.*;
import com.ld.igds.models.InoutLossOver;
import com.ld.igds.models.InoutPrice;
 
import java.util.Date;
import java.util.List;
 
/**
 * @author
 */
public interface InoutService {
 
    /**
     * 根据参数查询数据,流程中的数据
     *
     * @param param
     * @return
     * @throws Exception
     */
    InoutData inoutProgressQuery(InoutParam param) throws Exception;
 
    /**
     * 根据ID查询
     *
     * @param param
     * @return
     * @throws Exception
     */
    InoutData inoutQueryById(InoutParam param);
 
    /**
     * 据参数删除数据
     * 删除规则为软删除,即标记数据状态为删除
     *
     * @param param
     * @return
     * @throws Exception
     */
    String deleteData(InoutParam param) throws Exception;
 
    /**
     * 异常终止
     *
     * @param param
     * @return
     * @throws Exception
     */
    String inoutStop(InoutParam param) throws Exception;
 
    /**
     * 根据数据添加,
     *
     * @param data
     * @return 返回异常信息,正常返回null
     * @throws Exception
     */
    String insertData(InoutData data);
 
    /**
     * 更新数据
     *
     * @param data
     * @return 返回异常信息,正常返回null
     * @throws Exception
     */
    String updateData(InoutData data) throws Exception;
 
    /**
     * 值仓环节提交数据,只更新部分信息
     *
     * @param data
     * @return
     */
    String updateDataByHandle(InoutData data);
 
    /**
     * 分页获取住信息
     *
     * @param param
     * @return
     */
    Page<InoutData> pageRecordData(InoutParam param);
 
    /**
     * 根据条件获取列表,要求开始时间或者截至时间必须存在一个
     *
     * @param param
     * @return
     */
    List<InoutData> listRecordData(InoutParam param);
 
    /**
     * 根据智慧卡号和车牌号验证,当前是有有相同数据在流程执行中,如果有返回说明信息,没有返回NULL
     *
     * @param intelCard
     * @param plateNum
     * @return
     */
    String validate(String intelCard, String plateNum);
 
    /**
     * 根据类型和流,直接跳作为完成
     *
     * @param param 必须有type和id
     * @return
     */
    String toComplete(InoutParam param) throws Exception;
 
    /**
     * 将出入库流水信息放到缓存中,包括进行中的和已经完成的
     *
     * @param data
     */
    void updateInoutCache(InoutData data);
 
 
    /**
     * 获取出入库列表信息,缓存时间是48小时
     *
     * @param deptId
     * @return
     */
    List<InoutData> getListInoutCache(String deptId);
 
    /**
     * 从缓存中获取出入库信息
     *
     * @param param
     * @return
     */
    InoutData getFromInoutCache(InoutParam param);
 
    /**
     * 快速完成流程中的订单
     *
     * @param data
     * @return
     */
    String quickComplete(InoutData data) throws Exception;
 
    /**
     * 缓存中获取完成的流水
     *
     * @param deptId
     * @return
     */
    List<InoutData> getCompleteListInoutCache(String deptId);
 
    /**
     * 获取流程未完成的流水数据
     *
     * @param param
     * @return
     */
    Page<InoutData> pageUnCompleteData(InoutParam param);
 
    /**
     * 获取当前仓库下最后一条记录信息
     *
     * @param param
     * @return
     */
    InoutData getLastRecord(InoutParam param);
 
    /**
     * 根据损溢记录,添加出入库记录信息
     *
     * @param data
     * @return
     */
    String addInoutDataByLossOver(InoutData data);
 
    /**
     * 根据损溢记录,删除出入库记录信息
     *
     * @param param
     */
    void delInoutDataByLossOver(InoutParam param);
 
    /**
     * 获取出入库流水ID序号
     *
     * @param registerTime
     * @param companyId
     * @return
     */
    String createId(Date registerTime, String companyId);
 
    /**
     * 获取出入库从开始周期到结束周期内,出入库的入库重量合计
     *
     * @param param
     * @return
     */
    double sumRecordWeight(InoutParam param);
 
    /**
     * 数据库根据车牌号和智慧卡号是否已经存在
     *
     * @param param
     * @return
     */
    int checkExist(InoutParam param);
 
    /**
     * 分页获取扦样数据
     *
     * @param param
     * @return
     */
    Page<InoutCheckData> pageSampleData(InoutCheckParam param);
 
    /**
     * 更新扦样信息
     *
     * @param data
     * @return
     * @throws Exception
     */
    String updateSampleData(InoutCheckData data);
 
    /**
     * 分页获取化验数据
     *
     * @param param
     * @return
     */
    Page<InoutCheckData> pageCheckData(InoutCheckParam param);
 
    /**
     * 更新化验信息
     *
     * @param data
     * @return
     * @throws Exception
     */
    String updateCheckData(InoutData data);
 
    /**
     * 获取粮食定价
     *
     * @param param
     * @return
     */
    List<InoutPrice> getPrice(InoutCheckParam param);
 
    /**
     * 从缓存中删除
     *
     * @param deptId
     * @param type
     * @param id
     */
    void delFromCache(String deptId, String type, String id);
 
    /**
     * 根据参数查询数据,流程中的数据
     *
     * @param param
     * @return
     * @throws Exception
     */
    InoutCheckData inoutDataByCheckId(InoutCheckParam param) throws Exception;
 
    /**
     * 根据条件获取损益列表,用于统计库存使用
     *
     * @param param
     * @return
     */
    List<InoutLossOver> listLossOver(InoutParam param);
 
    /**
     * 获取出入库从开始周期到结束周期内,出入库的入库重量合计
     *
     * @param param
     * @return
     */
    double sumLossOverWeight(InoutParam param);
}