using JinYuan.MES.Enums;
using JinYuan.MES.Models;
using JinYuan.Models;
using System.Collections.Generic;
using System.Threading;
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, List materialGrades)> QueryGradeAsync(string url, string siteCode, string lineCode, string equipNum, string recordDate, string qty, string materialCode, string userName, List listCode);
///
/// 料盘信息获取
///
Task<(bool Success, string mesMessage, MesResType mesResType, TrayInfo trayInfo)> QueryMesTrayInfosAsync(string url, string siteCode, string lineCode, string equipNum, string recordDate, string containerCode, string materialCode, string userName);
//Task<(bool Success, string mesMessage, MesResType mesResType, BatteryInfo trayInfo)> QueryMesGradeInfosAsync(string url, string siteCode, string lineCode, string equipNum, string recordDate, string containerCode, string materialCode, string userName);
///
/// 料框码与电池解绑
///
Task<(bool Success, string mesMessage)> UnbindTrayInfosAsync(string url, string equipNum, string trayCode);
///
/// 半成品电池绑定(装箱)
///
Task<(bool success, string mesMessage, MesResType mesResType, List materialPackInfos)> PackLoadAsync(string url, string siteCode, string lineCode, string equipNum, string ContainerCode, int capacity, string grade, string materialCode, List cellDataVOList);
///
/// 成品电池绑定(装箱)
///
Task<(bool success, string mesMessage, MesResType mesResType, List materialPackInfos)> PackLoadFinishAsync(string url, string siteCode, string lineCode, string equipNum, string ContainerCode, int capacity, string grade, string materialCode, List cellDataVOList);
///
/// 箱唛信息获取
///
//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, 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, List batteryInfos, MesUploadType unloadType, string insertTime);
Task ProducResultParamAsync(string url, string siteCode, string lineCode, string equipNum, string materialCode, string userName, string containerCode, string palletId, List batteryInfos, MesUploadType unloadType);
///
/// 设备运行状态接口
///
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);
}
}