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 { /// /// 定时轮询任务 /// public class MonitorOut { private static object locko1 = new object(); /// ///出库 /// public static void CheckCamera() { try { //lock (locko1) //{ //轮巡二段任务 var chi = new SqlHelper().GetInstance(); var newDb = chi.CopyNew(); var State = new List { "未执行", "完成一半" }; var TaskList = newDb.Queryable().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().SelfManageTaskOut(OutTask); } //轮巡中间表生成任务 var Empty = newDb.Queryable().Where(e => e.isread == "N").OrderBy(st => st.reqTime).ToList(); if (Empty.Any()) { BLLCreator.CreateSingleton().EmptyTaskList(Empty); } BLLCreator.CreateSingleton().AutoTransport(); //} } catch (System.Exception ex) { LogHelper.Info("处理自管任务", ex.Message + ex.StackTrace); } } } }