using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using HH.WCS.Mobox3.YNJT_BZP_GT.util;
using HH.WCS.Mobox3.YNJT_BZP_GT.models;
using static HH.WCS.Mobox3.YNJT_BZP_GT.api.ApiModel;
namespace HH.WCS.Mobox3.YNJT_BZP_GT.dispatch
{
public class WMSDispatch
{
private static readonly HttpHelper apiHelper = new HttpHelper();
private static readonly string baseUrl = Settings.WMSSeverUrl;
///
/// 1.同步物料条码信息
///
///
public static bool synMatlInformation(SynMatlInformationModel model)
{
var msg = "";
bool bo = false;
var request = JsonConvert.SerializeObject(model);
var response = apiHelper.Post(baseUrl + "/api/Wms/synMatlInformation", request);
msg = $"[synMatlInformation] request={request} response={response}";
Console.WriteLine(msg);
LogHelper.Info(msg, "WMS");
if (response != "")
{
try
{
var dataResult = JsonConvert.DeserializeObject(response);
if (dataResult.ResultCode == 0)
{
bo = true;
}
else
{
LogHelper.Info($"接口返回异常,异常原因:{dataResult.ResultMsg}", "WMS");
}
}
catch (Exception ex)
{
LogHelper.Info($"同步物料条码信息错误,错误原因:{ex.Message}", "WMS");
}
}
else
{
msg = "[synMatlInformation]同步物料条码信息失败";
Console.WriteLine(msg);
LogHelper.Info(msg, "WMS");
}
return bo;
}
///
/// 2.同步更新物料状态
///
///
public static bool synUpdateMatlStatus(SynUpdateMatlStatusModel model)
{
var msg = "";
bool bo = false;
var request = JsonConvert.SerializeObject(model);
var response = apiHelper.Post(baseUrl + "/api/Wms/synUpdateMatlStatus", request);
msg = $"[synUpdateMatlStatus] request={request} response={response}";
Console.WriteLine(msg);
LogHelper.Info(msg, "WMS");
if (response != "")
{
try
{
var dataResult = JsonConvert.DeserializeObject(response);
if (dataResult.ResultCode == 0)
{
bo = true;
}
else
{
LogHelper.Info($"接口返回异常,异常原因:{dataResult.ResultMsg}", "WMS");
}
}
catch (Exception ex)
{
LogHelper.Info($"同步更新物料状态错误,错误原因:{ex.Message}", "WMS");
}
}
else
{
msg = "[synUpdateMatlStatus]同步更新物料状态失败";
Console.WriteLine(msg);
LogHelper.Info(msg, "WMS");
}
return bo;
}
///
/// 3.记录数据同步时间
///
///
public static bool recordDataSynTime(RecordDataSynTimeModel model)
{
var msg = "";
bool bo = false;
var request = JsonConvert.SerializeObject(model);
var response = apiHelper.Post(baseUrl + "/api/Wms/recordDataSynTime", request);
msg = $"[recordDataSynTime] request={request} response={response}";
Console.WriteLine(msg);
LogHelper.Info(msg, "WMS");
if (response != "")
{
try
{
var dataResult = JsonConvert.DeserializeObject(response);
if (dataResult.ResultCode == 0)
{
bo = true;
}
else
{
LogHelper.Info($"接口返回异常,异常原因:{dataResult.ResultMsg}", "WMS");
}
}
catch (Exception ex)
{
LogHelper.Info($"记录数据同步时间错误,错误原因:{ex.Message}", "WMS");
}
}
else
{
msg = "[recordDataSynTime]记录数据同步时间失败";
Console.WriteLine(msg);
LogHelper.Info(msg, "WMS");
}
return bo;
}
///
/// 4.查询上一次的记录时间
///
///
public static SynDataTimeRecord findLastDataSynTime(RecordDataSynTimeModel model)
{
var msg = "";
var request = JsonConvert.SerializeObject(model);
var response = apiHelper.Post(baseUrl + "/api/Wms/findLastDataSynTime", request);
msg = $"[recordDataSynTime] request={request} response={response}";
Console.WriteLine(msg);
LogHelper.Info(msg, "WMS");
if (response != "")
{
try
{
var dataResult = JsonConvert.DeserializeObject(response);
if (dataResult.ResultCode == 0)
{
return (SynDataTimeRecord)dataResult.data;
}
else
{
LogHelper.Info($"接口返回异常,异常原因:{dataResult.ResultMsg}", "WMS");
}
}
catch (Exception ex)
{
LogHelper.Info($"查询上一次的记录时间错误,错误原因:{ex.Message}", "WMS");
}
}
else
{
msg = "[recordDataSynTime]查询上一次的记录时间失败";
Console.WriteLine(msg);
LogHelper.Info(msg, "WMS");
}
return null;
}
///
/// 5.同步物料存放时间配置表
///
///
public static bool synUpdateMatlTimeConfig(MatlTimeConfigModel model)
{
var msg = "";
bool bo = false;
var request = JsonConvert.SerializeObject(model);
var response = apiHelper.Post(baseUrl + "/api/Wms/synUpdateMatlTimeConfig", request);
msg = $"[synUpdateMatlTimeConfig] request={request} response={response}";
Console.WriteLine(msg);
LogHelper.Info(msg, "WMS");
if (response != "")
{
try
{
var dataResult = JsonConvert.DeserializeObject(response);
if (dataResult.ResultCode == 0)
{
bo = true;
}
else
{
LogHelper.Info($"接口返回异常,异常原因:{dataResult.ResultMsg}", "WMS");
}
}
catch (Exception ex)
{
LogHelper.Info($"同步物料存放时间配置表错误,错误原因:{ex.Message}", "WMS");
}
}
else
{
msg = "[synUpdateMatlTimeConfig]同步物料存放时间配置表失败";
Console.WriteLine(msg);
LogHelper.Info(msg, "WMS");
}
return bo;
}
public class MatlTimeConfigModel
{
public List overages { get; set; }
}
public class SynDataTimeRecord
{
public string S_SYN_TIME { get; set; } // 同步时间
public string RECORD_TABLE { get; set; } // 1.物料条码记录表 2.胚胎条码状态表
}
public class RecordDataSynTimeModel
{
public string sysTime { get; set; } // 同步时间
public int synNum { get; set; } // 同步数量
public string recordTable { get; set; } // 1.物料条码记录表 2.胚胎条码状态表
}
public class SynUpdateMatlStatusModel
{
public List updateMatlStatuses { get; set; }
}
public class UpdateMatlStatus
{
public string bc_entried { get; set; }
public string jdge { get; set; }
}
public class SynMatlInformationModel
{
public List matlInformationList { get; set; }
}
}
}