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);
|
}
|