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