using JinYuan.MES.Enums;
using JinYuan.MES.Models;
using JinYuan.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace JinYuan.MES
{
///
/// MES接口
///
public interface IMes
{
///
/// 登录接口
///
Task<(bool Success, string Message, string MesUserLevel)> LoginAsync(string url, string siteCode, string lineCode, string equipNum, string userName, string passWord);
Task<(bool Success, string Message)> LoginAsync(string url, string siteCode, string lineCode, string equipNum, string UserCardID);
///
/// 设备参数设定值请求接口
///
Task<(ParamReturnData Data, string Mesage)> GetParamSetRequestAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName);
///
/// 参数设定值变更接口
///
Task<(bool Success, string ResJson)> ParamChangeAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, List paramChangeItems);
///
/// 箱唛信息获取
///
Task<(bool success, string mesMessage, MesResType mesResType, List cartonTagInfos)> QueryCartonAsync(string url, string siteCode, string lineCode, string equipNum, string containerCode);
///
/// 栈板信息获取
///
Task<(bool success, string mesMessage, MesResType mesResType, string palletCode, List palletTagInfos)> QueryPalletAsync(string url, string siteCode, string lineCode, string equipNum, string containerCode);
///
/// 客户标签与系统标签绑定
///
Task<(bool success, string mesMessage, MesResType mesResType)> BindingAsync(string url, string siteCode, string lineCode, string equipNum, string containerCode, string palletCode, string custcartonCode, string custpalletCode, List custcarton, List custpallet);
/////
///// 复投单个上传(只上传条码,不上传卷芯码)
/////
//Task<(bool Success, string MesMessage, MesResType MesResType)> SingleFTCellInStationAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, string BarCode);
/////
///// 电芯进站接口(多个)
/////
//Task<(bool Success, List MesMessage, List MesResType)> ManyCellInStationAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, List listBar);
//Task<(bool Success, List MesMessage, List MesResType, List CellCode)> ManyCellInStationAsync1(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, List listBar);
/////
///// 电芯出站接口(多个)
/////
//Task<(bool Success, List MesMessage, List MesResType)> OutboundInformationsAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, List listBar);
/////
///// 组装出站(单电池)
/////
/////
/////
/////
/////
/////
/////
/////
/////
/////
/////
//Task<(bool Success, string Mesage, MesResType MesResType)> SingleCellInAndOutStationAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, BGearEntity m, int type, string materialLotCodeLocator);
/////
///// 原材料上传
/////
/////
/////
/////
/////
/////
/////
/////
//Task<(bool Success, string MesMessage, MesResType MesResType)> RawMaterialStationAsync(string url, string MaterialCode, string equipNum, string BarCode);
/////
///// 产品过程加工参数接口
/////
//Task<(bool Success, string ResJson)> ProductProcessParamAsync(string url, string siteCode, string userName, string equipNum, string lineCode, string materialCode, MesUploadType unloadType, List productProcessParam);
/////
///// 产品结果加工参数接口
/////
//Task<(bool Success, string ResJson)> ProducResultParamAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, BGearEntity m, MesUploadType unloadType, string insertTime);
/////
///// 单电芯出站
/////
//Task<(bool Success, string Mesage, MesResType MesResType)> SingleCellOutStationAsync(string url, string siteCode, string lineCode, string equipNum, string modelName, string materialCode, string userName, BGearEntity m, int type, string materialLotCodeLocator);
/////
///// 多电芯出站接口
/////
//Task<(bool Success, List MesMessage, List MesResType)> ManyCellOutStationAsync(string url, string siteCode, string lineCode, string equipNum, string modelName, string materialCode, string userName, List m, int type, string materialLotCodeLocator,List listNGCode,List listNGMessage);
///
/// 设备运行状态接口
///
Task<(bool Success, string ResJson)> UploadEquStatusAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, string guid, string statusCode, List faultCodes);
///
/// 设备报警接口
///
Task<(bool Success, string Mesage)> UploadEquAlarmAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, List alarmObj, string guid);
///
/// 能耗数据上传
///
Task<(bool Success, string Mesage)> UploadEquEnergyAsync(string url, string siteCode, string lineCode, string equipNum, string userName, List electricMeterNum, List wattrs);
///
/// 风速仪数据上传
///
Task<(bool Success, string Mesage)> UploadDeviceCollectDataAsync(string url, string equipNum, List antiDustAirSpeedNum, List collectData);
///
/// 自动分档--获取OCV挡位
///
Task<(bool Success, List MesLevel, List MesPassage, List MesMessage)> GetOCVShiftAsync(string url, string siteCode, string lineCode, string equipNum, string containerCode, string materialCode, string userName, List barCodeList);
///
/// 获取国内OCV数据
///
Task<(bool Success, string Mesage, MesData data)> GetOcvListAsync(string url, string warehouseCode, string customerCode, List barCodeList);
///
/// 翻包设备上传绑定信息接口-内箱翻内箱(适用于G11仓)
///
///
///
///
///
///
///
//Task<(bool Success, string MesMessage, MesResType MesResType)> GetAroundBagListAsync(string url, string warehouseCode, string customerCode, string CardBarcode, List InnerBoxLabelList);
///
/// 翻包设备拉取不完整VDA数据
///
///
///
///
///
///
//Task<(bool Success, string Mesage, DataItem data)> GetVDAListAsync(string url, string warehouseCode, string customerCode, string CardBarcode);
}
}