| @ -0,0 +1,47 @@ | |||||
| using System; | |||||
| using System.Collections.Generic; | |||||
| using System.Threading; | |||||
| using BWP.B3Frameworks; | |||||
| using BWP.B3Frameworks.BL; | |||||
| using BWP.B3Frameworks.BO; | |||||
| using BWP.B3Frameworks.Utils; | |||||
| using BWP.B3Sale.BL; | |||||
| using BWP.B3Sale.BO; | |||||
| using Forks.EnterpriseServices.BusinessInterfaces; | |||||
| using Forks.EnterpriseServices.DomainObjects2; | |||||
| using Forks.EnterpriseServices.DomainObjects2.DQuery; | |||||
| using TSingSoft.WebPluginFramework; | |||||
| using TSingSoft.WebPluginFramework.TimerTasks; | |||||
| namespace BWP.B3_YunKen.TimerTask { | |||||
| public class StoppedCarrierTask : ITimerTask { | |||||
| public string Name { get { return "耘垦停用【承运方】,当前时间超过合同结束时间自动停用"; } } | |||||
| volatile static object _lockObj = new object(); | |||||
| public void Execute() { | |||||
| if (!Monitor.TryEnter(_lockObj)) { | |||||
| throw new SameTaskNotFinishException(this); | |||||
| } | |||||
| try { | |||||
| DoExecute(); | |||||
| } finally { | |||||
| Monitor.Exit(_lockObj); | |||||
| } | |||||
| } | |||||
| private void DoExecute() { | |||||
| var mDmoTypeID = DmoTypeIDAttribute.GetID(typeof(Customer)); | |||||
| var dom = new DQUpdateDom(typeof(Carrier)); | |||||
| dom.Columns.Add(new DQUpdateColumn("Stopped", true)); | |||||
| dom.Columns.Add(new DQUpdateColumn("RowVersion",DQExpression.Add(DQExpression.Field("RowVersion"),DQExpression.Value(1)))); | |||||
| dom.Where.Conditions.Add(DQCondition.EQ("Stopped", false)); | |||||
| dom.Where.Conditions.Add(DQExpression.Snippet("cast(EndDateStr as datetime) < getdate()")); | |||||
| dom.EExecute(); | |||||
| } | |||||
| } | |||||
| } | |||||