using HH.WCS.Hexafluo.api; using HH.WCS.Hexafluo.util; using HH.WCS.SJML.Bll; using HH.WCS.SJML.dispatch; using HH.WCS.ZCQTJ.Entitys; using Newtonsoft.Json; using SqlSugar; using System; using System.Linq; namespace HH.WCS.Hexafluo.core { /// /// wcs安全请求 /// public class WcsSecurityRequest { private static object locko5 = new object(); /// /// 检查是否有自管任务,自动子任务 /// public static void CheckCamera() { try { lock (locko5) { var chi = new SqlHelper().GetInstance(); var newDb2 = chi.CopyNew(); var TaskList2 = newDb2.Queryable().Where(e => e.S_PortID == "2" && e.S_IsCall == "Y").ToList(); if (TaskList2.Any()) { foreach (var task in TaskList2) { LogHelper.DanInfo("立库", " WCS下任务 异步交互 参数" + task.JsonValue); var tp = BLLCreator.Create().WcsMtInwork(task.JsonValue); if (tp.Success) { try { newDb2.BeginTran(); var I = newDb2.Updateable().SetColumns(it => new TN_AsyncEntitys() { S_IsCall = "N" }).Where(e => e.S_ID == task.S_ID).ExecuteCommand(); LogHelper.DanInfo("立库", " WCS下任务 异步交互 成功通知后 修改异步表 影响行数 " + I); newDb2.CommitTran(); } catch (Exception ex) { LogHelper.DanInfo("立库", " WCS下任务 异步交互 报错" + JsonConvert.SerializeObject(ex)); newDb2.RollbackTran(); } } } } var TaskList = newDb2.Queryable().Where(e => e.S_PortID == "1" && e.S_IsCall == "Y").ToList(); if (TaskList.Any()) { TaskList = TaskList.OrderBy(e => e.T_CREATE).ToList(); foreach (var item in TaskList) { var Wcs = BLLCreator.Create().WcsCallbackAnyc(item.JsonValue); if (Wcs.Success) { try { newDb2.BeginTran(); var I = newDb2.Updateable().SetColumns(it => new TN_AsyncEntitys() { S_IsCall = "N" }).Where(e => e.S_ID == item.S_ID).ExecuteCommand(); LogHelper.DanInfo("立库", " 安全交互 异步交互 成功通知后 修改异步表 影响行数 " + I); newDb2.CommitTran(); } catch (Exception ex) { LogHelper.DanInfo("立库", " 安全交互 异步交互 报错" + JsonConvert.SerializeObject(ex)); newDb2.RollbackTran(); } } } } } } catch (System.Exception ex) { LogHelper.Info("立库", "异步交互报错:" + JsonConvert.SerializeObject(ex)); } } } }