using HH.WMS.BLL; using HH.WMS.BLL.External; using HH.WMS.BLL.MiddleDB; using HH.WMS.BLL.Pda; using HH.WMS.Common; using HH.WMS.Common.External; using HH.WMS.Common.Response; using HH.WMS.Entitys; using HH.WMS.Entitys.Basic; using HH.WMS.Entitys.Dto; using HH.WMS.Entitys.Entitys.Mes; using HH.WMS.Entitys.External; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Timers; using System.Web; namespace HH.WMS.WebApi.Extension { public class ExecTransferTask : IExecuteThreadTimed { private static object locko = new object(); public void Run(object source, ElapsedEventArgs elapsedEventArgs) { try { //防止Timer重入 lock (locko) { var transportReqs = BLLCreator.CreateDapper().GetList(new { NeedTrig = Constants.Y }).OrderBy(o => o.CreateDate).ToList(); var serviceExecs = BLLCreator.CreateDapper().GetList(new { CN_C_COMPLETE = Constants.N, CN_S_TASK_TYPE = "移送" }); transportReqs = transportReqs.FindAll(f => !serviceExecs.Exists(e => e.CN_S_TASK_NO == f.task_no)); if (transportReqs.Any()) { BLLCreator.Create().ExecTransferTask(transportReqs); } } } catch (Exception ex) { Log.DomainInfo("移送任务 Error", ex.Message); } } } }