ws183
2025-04-28 b306d1106b915bb13fd7a02217ae9c65de2fd03d
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.ld.igds.order;
 
import com.ld.igds.io.request.BaseRequest;
import com.ld.igds.order.data.ExeRequest;
import com.ld.igds.order.data.ExeResponse;
 
import java.util.List;
 
/**
 * 命令执行校验等信息接口
 *
 * @author jiazx
 */
public interface ExeOrderService {
 
    ExeResponse checkExecute(ExeRequest request);
 
    void addThCache(ExeRequest request);
 
    /**
     * 新增执行缓存记录,默认命令存放8个小时。
     *
     * @param request
     */
    void addCache(ExeRequest request);
 
 
    /**
     * 设备操作执行记录,默认存8个小时
     *
     * @param exeRequest
     */
    void addControlCacheAndLog(ExeRequest exeRequest);
 
    /**
     * 按照分机添加操作缓存 -- 主要用于设备操作情景,缓存时间5分钟
     *
     * @param request
     */
    void addControlCache(ExeRequest request);
 
    /**
     * 获取设备操作缓存记录
     *
     * @param companyId
     * @param serId
     * @return
     */
    ExeRequest getControlCache(String companyId, String serId);
 
    /**
     * 添加执行错误日志信息,系统自动更新执行进度,有执行进度跟踪的模块需要
     *
     * @param companyId 组织编码
     * @param bizType   业务类型
     * @param deptId    库区编码
     * @param depotId   仓库编码
     * @param msg       错误信息
     */
    void addErrorCache(String companyId, String bizType, String deptId, String depotId, String msg);
 
    void addErrorCache(BaseRequest request, String msg);
 
 
    void addLogAndCache(ExeRequest exeRequest);
 
    /**
     * 根据参数获取执行中的命令信息,
     *
     * @param bizType 业务类型,不可为空
     * @param orderId 命令ID,不可为空
     * @return 缓存中的命令信息
     */
    ExeRequest getOrderById(String bizType, String orderId);
 
    /**
     * 根据分机获取正在执行的命令信息
     *
     * @param bizType 业务类型,不可为空
     * @param serId   分机编码,不可以空
     * @return 执行中的命令信息
     */
    List<ExeRequest> getInProgressOrderBySerId(String bizType,
                                               String serId);
 
    /**
     * 根据业务类型和所属分库,获取缓存中所有当前分库的命令记录
     *
     * @param bizType 不可为空
     * @param deptId  所属分库,不可为空
     * @param timout  超时时间单位S,超过这个时间默认标记为超时状态,0表示不处理
     * @return 缓存中的命令记录
     */
    List<ExeRequest> getAllOrderByDeptId(String bizType, String deptId, int timout);
 
    /**
     * 标记为命令完成,系统自动删除
     *
     * @param exeRequest
     */
    void completeCache(ExeRequest exeRequest, boolean isError);
 
 
    /**
     * 执行失败进度调整
     */
    void progressError(String companyId, String bizType, String deptId, String msg);
 
    /**
     * 清除日志
     *
     * @param companyId
     * @param code
     * @param deptId
     */
    void clean(String companyId, String code, String deptId);
}