package cn.iocoder.yudao.module.mes.service.wms.approval;
|
|
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
|
import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionInfoDO;
|
import cn.iocoder.yudao.module.mes.dal.dataobject.wms.approval.WmsWarehouseApprovalConfigDO;
|
|
import java.util.List;
|
|
/**
|
* WMS 审批服务接口
|
*/
|
public interface WmsApprovalService {
|
|
/**
|
* 获取仓库审批配置
|
*
|
* @param warehouseId 仓库ID
|
* @param bizType 业务类型
|
* @return 审批配置
|
*/
|
WmsWarehouseApprovalConfigDO getApprovalConfig(Long warehouseId, String bizType);
|
|
/**
|
* 获取仓库所有审批配置
|
*
|
* @param warehouseId 仓库ID
|
* @return 审批配置列表
|
*/
|
List<WmsWarehouseApprovalConfigDO> getApprovalConfigList(Long warehouseId);
|
|
/**
|
* 保存审批配置
|
*
|
* @param config 审批配置
|
*/
|
void saveApprovalConfig(WmsWarehouseApprovalConfigDO config);
|
|
/**
|
* 检查是否需要审批
|
*
|
* @param warehouseId 仓库ID
|
* @param bizType 业务类型
|
* @return 是否需要审批
|
*/
|
boolean needApproval(Long warehouseId, String bizType);
|
|
/**
|
* 提交审批
|
*
|
* @param orderId 单据ID
|
* @param orderType 单据类型(INBOUND/OUTBOUND/TRANSFER/CHECK)
|
* @param processDefinitionKey 流程定义Key(可选,为空则使用配置的默认流程)
|
* @param userId 用户ID
|
* @return 流程实例ID
|
*/
|
String submitApproval(Long orderId, String orderType, String processDefinitionKey, Long userId);
|
|
/**
|
* 获取可用的审批流程列表
|
*
|
* @param warehouseId 仓库ID
|
* @param bizType 业务类型
|
* @return 流程定义列表
|
*/
|
List<BpmProcessDefinitionInfoDO> getAvailableProcessList(Long warehouseId, String bizType);
|
|
/**
|
* 更新审批状态
|
*
|
* @param orderId 单据ID
|
* @param orderType 单据类型
|
* @param bpmStatus BPM审批状态
|
*/
|
void updateAuditStatus(Long orderId, String orderType, Integer bpmStatus);
|
|
}
|