using Model.ModelDto;
using Model.ModelVm;
using System.Collections.Generic;
using Model.InterFaceModel;
using Model.ModelDto.SysDto;
namespace WMS.IBLL.IBllAsnServer
{
public interface IPalletBindServer
{
#region 接口方法
///
/// 成品/托盘 绑定信息
///
///
///
void BindPalletStock(BoxPalletBindVm model, int userId);
#endregion
#region 托盘绑定
List GetPalletBindList(PalletBindVm model, out int count);
List GetBoxInfoList(BoxInfoVm model, out int count);
List GetBoxInfoByBoxNo(string boxNo, string boxNo3,int bindNo);
///
/// 删除托盘绑定信息
///
/// 托盘绑定Id
///
///
void DelPalletBind(int id,int userId);
///
/// 删除绑定的箱码信息
///
/// 箱号
///
///
void DelBindBoxInfo(string boxNo, int userId);
///
/// 托盘绑定撤销申请
///
/// 托盘绑定ID
/// 申请原因
/// 操作人ID
void CancelPalletBind(int id, string reason, int userId);
#endregion
#region 指定储位
///
/// 指定储位数据源(正常的空储位)
///
/// 仓库
/// 巷道
/// 排
/// 列
/// 层
/// 储位号
/// 库存明细id
///
///
///
///
List GetLocateList(string houseNo, string roadwayNo,string row, string column,string layer,string locateNo, string stockDetailId, int page,int limit,out int count);
///
/// 保存指定的储位
///
/// 托盘绑定ID
/// 储位ID
///
void SaveAppointSlot(int bindId, int locateId, int userId);
#endregion
///
/// 申请储位
///
///
///
///
OutCommandDto RequestLocation(string palletNo, string houseNo);
///
/// 下发入库申请储位任务(下发==》AGV小车)
///
///
///
void IssueAsnTask(OutCommandDto model, string url);
///
/// 申请巷道
///
/// 托盘号
/// 仓库号
///
OutCommandDto RequestMiJiRoadWay(string palletNo, string houseNo);
///
/// 申请空储位
///
/// 托盘号
/// 仓库号
/// 巷道号
///
OutCommandDto RequestMiJiLocation(string palletNo, string houseNo, string roadwayNo);
///
/// 入库完成
///
/// 任务号
/// 操作人(下游系统时为空)
void ArrivalSuccess(string taskNo, int userId);
///
/// 入库完成(wcs反馈、wms手动完成),针对组托即增加库存,这里入库完成不再更新库存信息
///
///
///
public void ArrivalSuccessBack(string taskNo, int userId);
///
/// 手动取消入库任务
///
/// 任务号
/// 操作人
///
void CancelAsnTask(string taskNo, int userId);
///
/// 满入异常
///
/// 任务信息
///
OutCommandDto FullException(ReceiveWcsSignal model);
#region 数据归档
public List GetArchivingPalletBindList(PalletBindVm model, out int count);
public List GetArchivingBoxInfoList(BoxInfoVm model, out int count);
public List GetArchivingBoxInfoByBoxNo(string boxNo, string boxNo3);
#endregion
/////
///// 重新下发入库任务
/////
///// 任务号
///// 操作人
///// 下发路径
/////
//OutCommandDto AgainSendAsnTask(string taskNo, int userId, string url);
}
}