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; } } } }