using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Model.InterFaceModel;
using Model.ModelDto;
using Model.ModelVm.PdaVm;
namespace WMS.IBLL.IPdaServer
{
public interface IPdaSoServer
{
#region JC34
///
/// 拼托出库pda拣货-标签
///
/// 出库单
/// 出库单明细ID
/// 托盘号
/// 箱码
/// 盒码
/// 支/袋码
/// 新托盘号
/// 操作人
Task SoSetPinPick34(string soNo, string soDetailId, string palletNo, string boxNo,string palletNoNew, int userId);
///
/// 拼托出库pda拣货-数量
///
///
///
///
///
///
///
Task SoSetQtyPinPick34(string soNo, string soDetailId, string palletNo, string PickQty, string palletNoNew, int userId);
Task ChejianPick(string palletNo, string boxNo, int userId);
List GetWmsBoxInfos(string boxNo);
#endregion
///
/// 验证托盘是否存在并是否可出库
///
/// 托盘号
/// "":可使用 -1:不可使用(原因)
Task IsEnableOkPalletNo(string palletNo);
///
/// 获取执行中的出库单(根据托盘码)
///
/// 托盘码
/// 类型 区分是否是平库出库获取单据
///
Task> GetRunSoNoticeList(string palletNo, string type);
///
/// 获取执行中的出库单
///
/// 类型 区分是否是平库出库获取单据
///
Task> GetRunNoticeList(string type);
///
/// 获取出库单未下发出库的托盘
///
///
///
///
Task> GetPalletListBySo(string soNo, string soDetailId);
///
/// 获取出库托盘上的物料批次(根据托盘码)
///
/// 托盘码
/// 单据号
///
Task> GetSoSkuLotNoListByPallet(string palletNo, string soNo);
///
/// 获取单据明细下拉框显示
///
///
///
Task> GetSoSkuLotNoListBySo(string soNo);
///
/// 获取出库口、规格、待拣及已拣数量(根据出库单明细ID、托盘号)
///
/// 出库单明细ID
/// 托盘号
///
Task GetOutlets(string soDetailId, string palletNo);
///
/// 获取出库单的计划数量和完成
///
/// 出库单明细ID
///
Task GetPlanAndFinishQty(string soDetailId);
///
/// 获取箱码信息(根据箱码在库存箱码明细中查询)
///
/// 出库单明细ID
/// 托盘号
/// 箱码
/// 支/袋码
///
Task> GetDataComBoxInfo(string soDetailId, string palletNo, string boxNo, string boxNo3);
///
/// 获取库内无箱码的托盘分配信息
///
/// 出库单明细ID
/// 托盘号
///
Task> GetAllotPlnInfo(string soDetailId, string palletNo);
///
/// 出库pda拣货
///
/// 出库单
/// 出库单明细ID
/// 托盘号
/// 箱码
/// 盒码
/// 支/袋码
/// 操作人
Task SoSetPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string PickQty, int userId);
///
/// 出库pda拣货
///
/// 出库单
/// 出库单明细ID
/// 托盘号
/// 拣货数量
/// 操作人
Task SoSetQtyPick(string soNo, string soDetailId, string palletNo, string PickQty, int userId);
///
/// 下发空托出库
///
/// 托盘跺数
/// 出库口
/// 下发路径
///
Task IssuePlnOutHouse(OutModePalletVm model, int userId, string url);
///
/// 获取平库托盘信息
///
/// 出库单号
/// 托盘号
///
Task> GetPingKuInfoByPallet(string soNo, string palletNo);
///
/// 获取平库托盘位置信息
///
/// 出库单号
/// 物料编码
/// 批次
///
Task> GetPingKuLocationInfo(string soNo,string SkuNo,string LotNo);
///
/// 平库出库完成
///
/// 出库单号
/// 库位地址
/// 托盘号
/// 操作人
///
Task PlaneExportSuccess(string soNo, string palletNo, int userId);
///
/// 根据托盘号获取取样类型
///
///
/// 0:库内取样、1:库前取样
Task GetSampleType(string palletNo);
///
/// 根据托盘号获取入库单据(库前取样出库业务)
///
/// 托盘号
/// 单据集合
Task> GetAsnNoByPallet(string palletNo);
///
/// 取样出库拣货(标签)
///
/// 拣货类型 0库内取样,有出库单及分配信息; 1库前取样,反向添加出库单及分配信息
/// 出库单
/// 出库单明细
/// 托盘号
/// 外箱码
/// 内箱码
/// 拣货数量
/// 入库单
/// 操作人ID
Task SampleSoSetPick(string soType, string soNo, string soDetailId, string palletNo, string boxNo,
string boxNo3, string pickQty1, string asnNo, int userId);
///
/// 拼托出库pda拣货-标签
///
/// 出库单
/// 出库单明细ID
/// 托盘号
/// 箱码
/// 盒码
/// 支/袋码
/// 新托盘号
/// 操作人
Task SoSetPinPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string PickQty, string palletNoNew, int userId);
///
/// 拼托出库pda拣货-数量
///
///
///
///
///
///
///
Task SoSetQtyPinPick(string soNo, string soDetailId, string palletNo, string PickQty, string palletNoNew, int userId);
///
/// 取样出库拣货(无标签)
///
/// 拣货类型 0库内取样,有出库单及分配信息; 1库前取样,反向添加出库单及分配信息
/// 出库单
/// 出库单明细
/// 托盘号
/// 拣货数量
/// 入库单
/// 操作人ID
Task SampleSoSetQtyPick(string soType, string soNo, string soDetailId, string palletNo, string PickQty,
string asnNo, int userId);
#region JC23版取样
///
/// 根据托盘号获取取样类型
///
/// 托盘号
/// 0:标签取样 1:数量取样
Task GetSampleType2(string palletNo);
///
/// 获取待出库或待取样的请验单
///
///
Task> GetInspectionNo();
///
/// 获取请验单相关信息
///
/// 请验单
///
Task GetInspectionRequestInfo(string qcNo);
///
/// 取样出库拣货(标签)
///
/// 请验单
/// 托盘号
/// 箱码
/// 支码
/// 拣货数量
///
Task SampleSetPick(string qcNo, string palletNo, string boxNo, string boxNo3, string pickQty, int userId);
///
/// 取样出库拣货(数量)
///
/// 请验单
/// 托盘号
/// 拣货数量
///
Task SampleSetQtyPick(string qcNo, string palletNo, string pickQty, int userId);
#endregion
}
}