first commit

This commit is contained in:
2026-09-02 16:31:50 +08:00
commit a461727193
911 changed files with 692450 additions and 0 deletions
@@ -0,0 +1,52 @@
using JSMachine.WMS.App.Dto;
using JSMachine.WMS.App.Dto.Enum;
using JSMachine.WMS.Business.Common.Models;
namespace JSMachine.WMS.Business.Common.IService
{
/// <summary>
/// WMS 公共业务服务,协调库位、ERP 任务和 AGV 任务之间的调度关系。
/// </summary>
public interface ICommonService
{
/// <summary>
/// 库位所在列是否被锁定(有待完成的任务)
/// </summary>
/// <param name="storageRack"></param>
/// <returns></returns>
Task<bool> IsColLock(StorageRackDto storageRack);
/// <summary>
/// 跟据erp任务获取已经生成的agv任务列表(不包含已经取消的任务)
/// </summary>
/// <param name="erpTask"></param>
/// <returns></returns>
Task<List<AGVTaskDto>> GetCreatedAgvTasksFromErpTask(ERPTaskDto erpTask,TaskTypeEnum taskType);
/// <summary>
/// 生成中转任务。指定起点,终点为中转区
/// </summary>
/// <param name="startPosition"></param>
/// <returns></returns>
Task<bool> CreateAgvTaskToTransferArea(StorageRackDto startPosition, TaskTypeEnum taskType, ERPTaskDto erpTask);
/// <summary>
/// 中转区作业调度 起点为中转区域 终点需计算
/// </summary>
/// <param name="startPosition"></param>
/// <returns></returns>
Task<bool> CreateAgvTaskFromTransferArea(StorageRackDto startPosition, AGVTaskDto lastAgvTaskRelated, ERPTaskDto erpTask);
/// <summary>
/// 生成agv任务并插入数据库
/// </summary>
/// <param name="startPosition"></param>
/// <param name="endPosition"></param>
/// <param name="erpTask"></param>
/// <returns></returns>
Task CreateAndInsertAgvTask(AgvTaskCreationParam agvTaskCreationParam);
/// <summary>
/// 获取可用提升机库位
/// </summary>
/// <param name="floor">楼层</param>
/// <param name="taskType">任务类型 1-入库 2-出库</param>
/// <returns></returns>
Task<StorageRackDto> GetUsableElevator(FloorEnum floor, int taskType);
}
}