namespace BPA.MES.Base.Application.Services
{
    /// <summary>
    /// 名    称 ：产线管理  
    /// 创 建 人 ：yangxiao  
    /// 创建时间 ：2023/7/18 14:05:16 
    /// 描    述 ：  
    /// </summary>
    public interface IProductLineService
    {
        /// <summary>
        /// 增加
        /// </summary>
        /// <returns></returns>
        Task<bool> Add(ProductLineAddInput input);
        /// <summary>
        /// 移除
        /// </summary>
        /// <returns></returns>
        Task<bool> Del(ProductLineDelInput input);
        /// <summary>
        /// 更新
        /// </summary>
        /// <returns></returns>
        Task<bool> Update(ProductLineUpdateInput input);
        /// <summary>
        /// 不分页列表
        /// </summary>
        /// <returns></returns>
        Task<List<ProductLineOutput>> List();
        /// <summary>
        /// 分页列表
        /// </summary>
        /// <returns></returns>
        Task<SqlSugarPagedList<ProductLineOutput>> PagedList(ProductLineQueryPageInput input);
        /// <summary>
        /// 下拉列表
        /// </summary>
        /// <returns></returns>
        Task<dynamic> SelectList();
        /// <summary>
        /// 查询单条
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        Task<ProductLineOutput> Detail(string Id);
        /// <summary>
        /// 产线添加设备
        /// </summary>
        /// <returns></returns>
        Task<bool> AddDevice(ProductLineDeviceAddInput input);
        /// <summary>
        /// 产线批量添加设备
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<bool> AddBatchDevice(ProductLineDeviceBatchAddInput input);
        /// <summary>
        /// 产线删除设备
        /// </summary>
        /// <returns></returns>
        Task<bool> DeleteDevice(ProductLineDeviceDelInput input);
        ///// <summary>
        ///// 产线更新设备
        ///// </summary>
        ///// <returns></returns>
        //Task<bool> UpdateDevice(string DeviceId);
        /// <summary>
        /// 产线设备不分页
        /// </summary>
        /// <returns></returns>
        Task<List<ProductLineDeviceOutput>> DeviceList(ProductLineDeviceQueryInput input);
        /// <summary>
        /// 产线设备分页
        /// </summary>
        /// <returns></returns>
        Task<SqlSugarPagedList<ProductLineDeviceOutput>> DevicePageList(ProductLineDeviceQueryPageInput input);


        /// <summary>
        /// 产线添加料仓
        /// </summary>
        /// <returns></returns>
        Task<bool> AddStock(ProductLineStockAddInput input);
        /// <summary>
        /// 产线删除料仓
        /// </summary>
        /// <returns></returns>
        Task<bool> DeleteStock(ProductLineStockDelInput input);
        ///// <summary>
        ///// 产线更新料仓
        ///// </summary>
        ///// <returns></returns>
        //Task<bool> UpdateStock(string StockId);
        /// <summary>
        /// 产线料仓不分页
        /// </summary>
        /// <returns></returns>
        Task<List<ProductLineStockOutput>> StockList(ProductLineStockQueryInput input);
        /// <summary>
        /// 产线料仓分页
        /// </summary>
        /// <returns></returns>
        Task<SqlSugarPagedList<ProductLineStockOutput>> StockPageList(ProductLineStockQueryPageInput input);
    }
}
