ComplianceServer/oldcode/CRMServices/CRMJobs/OrdMemoJob.cs

67 lines
2.4 KiB
C#

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<QC_ORDMEMO>(_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;
}
}
}
}