using HH.WCS.Hexafluo.util;
|
using HH.WCS.Hexafluo.wms;
|
using HH.WCS.SJML.Bll;
|
using HH.WCS.ZCQTJ.Entitys;
|
using Newtonsoft.Json;
|
using SqlSugar;
|
using System.Collections.Generic;
|
using System.Data;
|
using System.Linq;
|
|
namespace HH.WCS.Hexafluo.core
|
{
|
/// <summary>
|
/// 定时轮询任务
|
/// </summary>
|
public class MonitorOut
|
{
|
private static object locko1 = new object();
|
/// <summary>
|
///出库
|
/// </summary>
|
public static void CheckCamera()
|
{
|
try
|
{
|
//lock (locko1)
|
//{
|
//轮巡二段任务
|
var chi = new SqlHelper<object>().GetInstance();
|
var newDb = chi.CopyNew();
|
var State = new List<string> { "未执行", "完成一半" };
|
var TaskList = newDb.Queryable<WMSTask>().Where(e => e.S_NOTE == "自管任务" && e.S_READ_LOCK == "N" && State.Contains(e.S_B_STATE) && e.S_TYPE == "出库")
|
.ToList();
|
if (TaskList.Any())
|
{
|
var TaskListOut = TaskList.OrderByDescending(e => e.N_PRIORITY).ThenBy(e => e.T_CREATE).ToList();
|
LogHelper.Info("处理自管任务", $" 出库 排序 {JsonConvert.SerializeObject(TaskListOut)}");
|
var OutTask = TaskListOut.GroupBy(e => e.S_Jb_Bit).Select(d => d.First()).ToList();
|
LogHelper.Info("处理自管任务", $" 出库 分组后 {JsonConvert.SerializeObject(OutTask)}");
|
BLLCreator.CreateSingleton<ZCBLL>().SelfManageTaskOut(OutTask);
|
}
|
|
|
//轮巡中间表生成任务
|
var Empty = newDb.Queryable<TN_Empty_MiddleEntitys>().Where(e => e.isread == "N").OrderBy(st => st.reqTime).ToList();
|
if (Empty.Any())
|
{
|
BLLCreator.CreateSingleton<ZCBLL>().EmptyTaskList(Empty);
|
}
|
BLLCreator.CreateSingleton<ZCBLL>().AutoTransport();
|
//}
|
}
|
catch (System.Exception ex)
|
{
|
LogHelper.Info("处理自管任务", ex.Message + ex.StackTrace);
|
}
|
}
|
}
|
}
|