using WX.CRM.BLL.Base; using WX.CRM.BLL.Ord; using WX.CRM.BLL.Util; using WX.CRM.Common; using WX.CRM.DataSynFactory; using WX.CRM.DataSynFactory.Templates; using Quartz; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WX.CRM.CRMServices.CRMJobs { public class OrdMemoJob : IJob { static bool isRuning = false; public void Execute(JobExecutionContext context) { if (isRuning) return; isRuning = true; try { var _ORD_SYNCTYPE = new CACHE_BL().GetValue_Parameter("ORD_SYNCTYPE"); if (_ORD_SYNCTYPE =="MULTI") { var deptcode = new CACHE_BL().GetValue_Parameter(WX.CRM.Model.Enum.Parameter.Sys_Environment_DeptCode); var source = new ORD_MEMO_BL().GetCacheOrdMemo(); var _list = source.Select(c => new DataSynFactory.Templates.QC_ORDMEMO() { MEMOID = c.MEMOID, INNERUSERID = c.INNERUSERID, MEMOCONTENTID = c.MEMOCONTENTID, RESID = c.RESID, MEMOSTYLEID = c.MEMOSTYLEID, MEMOTYPEID = c.MEMOTYPEID, MEMOSUBTYPEID = c.MEMOSUBTYPEID, BUSINESSID = c.BUSINESSID, CTIME = c.CTIME, CALLTIME = c.CALLTIME, CALLTIMEEND = c.CALLTIMEEND, ISCHECKED = c.ISCHECKED, DEPTCODE = deptcode, MTYPEID = c.MTYPEID, STRCONTENT = c.STRCONTENT }).ToList(); if (_list.Count>0) { new PushDataServices().SendData(_list, deptcode, "QC_ORDMEMO"); new BAS_PARAMETER_BL().Update_ParameterValueByKey("ORD_SYNCLASTPKID", _list.Max(obj => obj.MEMOID).ToString()); } } } catch (Exception e) { WX.CRM.Common.LogHelper.Error(string.Concat("OrdMemoJob ", e.Message, e.StackTrace)); } finally { isRuning = false; } } } }