using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core;
using WIDESEA_DTO.CalcOut;
using WIDESEA_Model.Models;
namespace WIDESEA_IOutboundService
{
public interface IOutboundService:IDependency
{
IOutboundOrderDetailService OutboundOrderDetailService { get; }
IOutboundOrderService OutboundOrderService { get; }
IOutStockLockInfoService OutboundStockLockInfoService { get; }
///
/// 分拣出库操作
///
/// 分拣出库请求
/// 分拣出库响应
WebResponseContent ProcessPickingOutbound(PickingOutboundRequestDTO request);
///
/// 出库完成处理(扫描条码扣减库存)
///
/// 出库完成请求
/// 出库完成响应
WebResponseContent CompleteOutboundWithBarcode(OutboundCompleteRequestDTO request);
WebResponseContent CompleteOutboundWithPallet(OutboundCompletePalletRequestDTO request);
WebResponseContent QueryPickingTasks(string palletCode, string orderNo);
WebResponseContent QueryPickedList(string orderNo, string palletCode);
WebResponseContent GetOrderInfo(string orderNo);
///
/// 取空箱
///
///
///
Task EmptyBox(string palletCode);
///
/// 回库
///
///
///
///
Task ReturnToWarehouse(string palletCode, string OrderNo,string station);
public (string NewBarcode, List MaterialCodeReturnDTOs) PerformUnpackOperation(Dt_StockInfoDetail stockDetail, Dt_StockInfo stockInfo,
decimal actualOutboundQuantity, OutboundCompleteRequestDTO request, decimal beforeQuantity, int taskNum, int orderId, string orderNo);
public void PerformFullOutboundOperation(Dt_StockInfoDetail stockDetail, Dt_StockInfo stockInfo,
decimal actualOutboundQuantity, OutboundCompleteRequestDTO request, decimal beforeQuantity, int taskNum);
///
/// 重检拣选
///
///
///
///
WebResponseContent RecheckPicking(RecheckPickingDTO pickingDTO);
WebResponseContent ReversePicking(ReversePickingRequestDTO reversePickingRequestDTO);
WebResponseContent PrintFromData(string barcode);
}
}