using Microsoft.AspNetCore.Mvc;
using SlnMesnac.Model.domain;
using SlnMesnac.Model.dto.webapi;

namespace Application.Interface
{
    public interface IWcsTaskApplication : IBaseApplication<WcsTask>
    {
        /// <summary>
        /// agv任务反馈处理
        /// </summary>
        /// <param name="agvCallbackDto"></param>
        /// <returns></returns>
        ReponseagvCallbackDto AgvCallback(agvCallbackDto agvCallbackDto);

        /// <summary>
        /// 根据库位编号获取托盘编号及库存信息
        /// </summary>
        PadResponse GetLocationInfo(List<string> locationCodes);

        /// <summary>
        ///根据托盘号托盘解绑
        /// </summary>
        /// <returns></returns>
        PadResponse UnBindPalletInfo(string palletInfoCode);

        /// <summary>
        ///pad获取指定机台的RFID设备状态
        /// </summary>
        /// <returns></returns>
        PadResponse GetRfidInfo(string machineCode);

        ///// <summary>
        ///// MES核减条码数量通知
        ///// </summary>
        ///// <param name="mesRequest"></param>
        ///// <returns></returns>
        //ReponseagvCallbackDto MesReduction(MesRequest mesRequest);

        ///// <summary>
        /////pad获取所有机台库存列表信息
        ///// </summary>
        ///// <returns></returns>
        PadResponse GetAllMachineInfos();

        ///// <summary>
        /////指定机台优先级接口:加急/不加急
        /////priority:0-不加急 1-加急
        ///// </summary>
        ///// <returns></returns>
        //PadResponse SetPriorityByMachineCode(string machineCode, int priority);
    }
}