using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Reflection;
|
using System.Text;
|
using System.Threading.Tasks;
|
using WIDESEA_Common.LocationEnum;
|
using WIDESEA_Core;
|
using WIDESEA_Core.BaseServices;
|
using WIDESEA_Core.Enums;
|
using WIDESEA_DTO.Stock;
|
using WIDESEA_IOutboundRepository;
|
using WIDESEA_Model.Models;
|
|
namespace WIDESEA_IOutboundService
|
{
|
public interface IOutboundOrderDetailService : IService<Dt_OutboundOrderDetail>
|
{
|
IOutboundOrderDetailRepository Repository { get; }
|
|
/// <summary>
|
/// 锁定出库库存
|
/// </summary>
|
/// <param name="orderDetailId">出库单明细Id</param>
|
/// <returns></returns>
|
WebResponseContent LockOutboundStock(int orderDetailId);
|
|
/// <summary>
|
/// 分配库存出库逻辑
|
/// </summary>
|
/// <param name="outboundOrderDetail">出库单明细</param>
|
/// <param name="stockSelectViews">人工选择的库存</param>
|
/// <returns></returns>
|
(List<Dt_StockInfo>, Dt_OutboundOrderDetail, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) AssignStockOutbound(Dt_OutboundOrderDetail outboundOrderDetail, List<StockSelectViewDTO> stockSelectViews);
|
|
/// <summary>
|
/// 锁定出库库存
|
/// </summary>
|
/// <param name="orderDetailId">出库单明细Id</param>
|
/// <param name="stockSelectViews">人工选择的库存</param>
|
/// <returns></returns>
|
WebResponseContent LockOutboundStock(int orderDetailId, List<StockSelectViewDTO> stockSelectViews);
|
|
/// <summary>
|
/// 锁定出库库存(多明细)
|
/// </summary>
|
/// <param name="keys"></param>
|
/// <returns></returns>
|
WebResponseContent LockOutboundStock(int[] keys);
|
|
/// <summary>
|
/// 锁定出库库存(修改数据)
|
/// </summary>
|
/// <param name="stockInfos">库存明细集合</param>
|
/// <param name="outboundOrderDetails">出库单明细集合</param>
|
/// <param name="outStockLockInfos">出库锁定明细集合</param>
|
/// <param name="locationInfos">货位结合</param>
|
/// <param name="locationStatus">货位状态修改的值</param>
|
/// <param name="tasks">任务信息</param>
|
/// <returns></returns>
|
WebResponseContent LockOutboundStockDataUpdate(List<Dt_StockInfo> stockInfos, List<Dt_OutboundOrderDetail> outboundOrderDetails, List<Dt_OutStockLockInfo> outStockLockInfos, List<Dt_LocationInfo> locationInfos, LocationStatusEnum locationStatus = LocationStatusEnum.Lock, List<Dt_Task>? tasks = null);
|
|
/// <summary>
|
/// 撤销锁定出库库存
|
/// </summary>
|
/// <param name="orderDetailId">出库单明细主键</param>
|
/// <returns></returns>
|
WebResponseContent RevokeLockOutboundStock(int orderDetailId);
|
}
|
}
|