You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
129 lines
4.3 KiB
C#
129 lines
4.3 KiB
C#
using AUCMA.STORE.Entity.DAO;
|
|
using AUCMA.STORE.Entity.DTO;
|
|
using AUCMA.STORE.Entity.Enums;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace AUCMA.STORE.Business.Interface
|
|
{
|
|
/// <summary>
|
|
/// 出库业务逻辑
|
|
/// </summary>
|
|
public interface IOutStoreBusiness
|
|
{
|
|
/// <summary>
|
|
/// 根据箱体码获取物料规格信息
|
|
/// </summary>
|
|
/// <param name="boxCode"></param>
|
|
/// <returns></returns>
|
|
Task<BaseMaterialInfo> GetMaterialInfo(string boxCode);
|
|
|
|
/// <summary>
|
|
/// 判断堆垛机状态
|
|
/// </summary>
|
|
/// <param name="baseMaterialInfo"></param>
|
|
/// <returns></returns>
|
|
List<PilerStatusDTO> EstimatePilerStatus();
|
|
|
|
/// <summary>
|
|
/// 判断物料所在库位
|
|
/// </summary>
|
|
/// <param name="baseMaterialInfo"></param>
|
|
/// <returns></returns>
|
|
Task<List<BaseLocationInfo>> EstimateMaterialLocation(BaseMaterialInfo baseMaterialInfo);
|
|
|
|
/// <summary>
|
|
/// 选取最优库位
|
|
/// </summary>
|
|
/// <param name="pilerStatusDTOs"></param>
|
|
/// <param name="baseMaterialStore"></param>
|
|
/// <returns></returns>
|
|
BaseLocationInfo FiltrateLocation(List<PilerStatusDTO> pilerStatusDTOs, List<BaseLocationInfo> baseLocationInfos);
|
|
|
|
/// <summary>
|
|
/// 筛选最佳库位
|
|
/// </summary>
|
|
/// <param name="baseLocationInfos"></param>
|
|
/// <returns></returns>
|
|
BaseLocationInfo FiltrateBestlocation(List<BaseLocationInfo> baseLocationInfos);
|
|
|
|
/// <summary>
|
|
/// 创建出库任务
|
|
/// </summary>
|
|
/// <param name="baseLocationInfo"></param>
|
|
/// <param name="pilerStatusDTOs"></param>
|
|
/// <param name="baseMaterialInfo"></param>
|
|
/// <returns></returns>
|
|
Task<TaskDTO> CreateOutStoreTask(BaseLocationInfo baseLocationInfo, List<PilerStatusDTO> pilerStatusDTOs, BaseMaterialInfo baseMaterialInfo);
|
|
|
|
/// <summary>
|
|
/// 创建出库任务
|
|
/// </summary>
|
|
/// <param name="baseLocationInfo"></param>
|
|
/// <param name="baseMaterialInfo"></param>
|
|
/// <returns></returns>
|
|
Task<TaskDTO> CreateTask(BaseLocationInfo baseLocationInfo, BaseMaterialInfo baseMaterialInfo, OperationType operationType);
|
|
|
|
/// <summary>
|
|
/// 创建待出库
|
|
/// </summary>
|
|
/// <param name="taskDTO"></param>
|
|
/// <returns></returns>
|
|
Task<int> CreatePrepareOutStore(TaskDTO taskDTO);
|
|
|
|
/// <summary>
|
|
/// 修改库位状态
|
|
/// </summary>
|
|
/// <param name="baseLocationInfo"></param>
|
|
/// <param name="locationStatus"></param>
|
|
/// <returns></returns>
|
|
Task<bool> updateLocationStatus(TaskDTO task, LocationStatus locationStatus);
|
|
|
|
/// <summary>
|
|
/// 修改出库任务状态
|
|
/// </summary>
|
|
/// <param name="prepareOutStoreInfo"></param>
|
|
/// <returns></returns>
|
|
Task<bool> UpdateOutStoreStatus(TaskDTO taskDTO);
|
|
|
|
/// <summary>
|
|
/// 修改待出库记录状态
|
|
/// </summary>
|
|
/// <param name="taskDTO"></param>
|
|
/// <returns></returns>
|
|
Task<bool> UpdatePrePareOutStoreStatus(TaskDTO taskDTO);
|
|
|
|
/// <summary>
|
|
/// 创建出库记录
|
|
/// </summary>
|
|
/// <param name="recordOutStore"></param>
|
|
/// <returns></returns>
|
|
Task<int> SaveOutStoreRecord(TaskDTO taskDTO);
|
|
|
|
/// <summary>
|
|
/// 清楚物料与库位绑定记录
|
|
/// </summary>
|
|
/// <param name="taskDTO"></param>
|
|
/// <returns></returns>
|
|
Task<bool> DeleteMaterialLocation(TaskDTO taskDTO);
|
|
|
|
/// <summary>
|
|
/// 更新库存
|
|
/// </summary>
|
|
/// <param name="baseMaterialInfo"></param>
|
|
Task<int> UpdateStock(BaseMaterialInfo baseMaterialInfo);
|
|
|
|
/// <summary>
|
|
/// 保存出库操作指令记录
|
|
/// </summary>
|
|
/// <param name="recordDirectiveOperation"></param>
|
|
/// <returns></returns>
|
|
Task<int> SaveOutStoreDirecticeOperation(RecordDirectiveOperation recordDirectiveOperation);
|
|
|
|
bool SaveBarCode(string P_Bar_Code, string P_Device_Code);
|
|
}
|
|
}
|