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
|
{
|
/// <summary>
|
/// wcs安全请求
|
/// </summary>
|
public class WcsSecurityRequest
|
{
|
private static object locko5 = new object();
|
/// <summary>
|
/// 检查是否有自管任务,自动子任务
|
/// </summary>
|
public static void CheckCamera()
|
{
|
try
|
{
|
lock (locko5)
|
{
|
var chi = new SqlHelper<object>().GetInstance();
|
var newDb2 = chi.CopyNew();
|
|
var TaskList2 = newDb2.Queryable<TN_AsyncEntitys>().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<WmsController>().WcsMtInwork(task.JsonValue);
|
if (tp.Success)
|
{
|
try
|
{
|
newDb2.BeginTran();
|
var I = newDb2.Updateable<TN_AsyncEntitys>().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<TN_AsyncEntitys>().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<WcsTask>().WcsCallbackAnyc(item.JsonValue);
|
if (Wcs.Success)
|
{
|
try
|
{
|
newDb2.BeginTran();
|
var I = newDb2.Updateable<TN_AsyncEntitys>().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));
|
}
|
}
|
}
|
}
|