using System.ComponentModel;
|
using Kingdee.BOS.Contracts;
|
using Kingdee.BOS;
|
using Kingdee.BOS.Core;
|
using Kingdee.BOS.ServiceHelper;
|
using System.Data;
|
|
using Newtonsoft.Json.Linq;
|
using System;
|
using Kingdee.BOS.Util;
|
using System.Linq;
|
using ZD.Cloud.WebApi;
|
using Demo.Model.Model;
|
using Demo.Model.Model.PODemandPlan;
|
|
using System.Collections.Generic;
|
using ZD.Share.Common;
|
using ZD.Cloud.Logger;
|
using System.Diagnostics;
|
using Demo.BillView.PRD;
|
|
namespace Demo.TimedTaskPlugIn.PRD
|
{
|
[Description("提料计划信息表信息同步")]
|
[HotUpdate]
|
public class TLPlanMessege : Kingdee.BOS.Contracts.IScheduleService
|
{
|
|
public Context Context;
|
public void Run(Context ctx, Schedule schedule)
|
{
|
try
|
{
|
string sql = string.Format(@"
|
/*dialect*/
|
select DISTINCT t1.FPURCHASEORGID AS FORGID,t4.FNUMBER as FORGNUMBER,t1.FSUPPLIERID,T5.FNUMBER AS FSUPPLIERNUMBER,t2.FMATERIALID ,T6.FNUMBER AS FMATERIALNUMBER from T_PUR_POORDER t1
|
join T_PUR_POORDERENTRY t2 on t1.FID = t2.FID
|
LEFT join (
|
SELECT distinct FORGID, FSUPPLIERID,FMATERIALID FROM
|
T_PRD_TLPlanConfig T1
|
JOIN T_PRD_TLPlanConfigEntry T2 ON T1.FID = T2.FID
|
)T3 ON t1.FPURCHASEORGID = T3.FORGID AND t1.FSUPPLIERID = T3.FSUPPLIERID AND t2.FMATERIALID = T3.FMATERIALID
|
JOIN T_ORG_Organizations t4 on t1.FPURCHASEORGID = t4.FORGID
|
JOIN t_BD_Supplier t5 on t1.FSUPPLIERID = t5.FSUPPLIERID
|
JOIN T_BD_MATERIAL t6 on t2.FMATERIALID = t6.FMATERIALID
|
where DATEDIFF(d,t1.FAPPROVEDATE,GETDATE())<=5
|
AND ISNULL(T3.FORGID,0) = 0
|
");
|
List<TLPlanConfigModel> TLPlanConfigModel = DBServiceHelper.ExecuteDataSet(ctx, sql).ToModelList<TLPlanConfigModel>();
|
if (TLPlanConfigModel.Count > 0)
|
{
|
var _TLPlanConfigModel = TLPlanConfigModel.GroupBy(x => new { x.FORGNUMBER }).Select((x => new TLPlanConfigModel { FORGNUMBER = x.Key.FORGNUMBER })).ToList();
|
foreach (var TLPlanConfig in _TLPlanConfigModel)
|
{
|
JObject jsonRoot = new JObject();
|
JObject model = new JObject();
|
model.Add("FORGID", new JObject() { ["Fnumber"] = TLPlanConfig.FORGNUMBER });//组织
|
var DetailModel = TLPlanConfigModel.Where(x => x.FORGNUMBER == TLPlanConfig.FORGNUMBER).ToList();
|
JArray Entry = new JArray();
|
foreach (var item in DetailModel)
|
{
|
JObject jsonEntry = new JObject();
|
jsonEntry.Add("FSUPPLIERID", new JObject() { ["Fnumber"] = item.FSUPPLIERNUMBER });
|
jsonEntry.Add("FMATERIALID", new JObject() { ["Fnumber"] = item.FMATERIALNUMBER });
|
jsonEntry.Add("FLeadtime", 2);
|
jsonEntry.Add("FLeadTtime2", 1);
|
jsonEntry.Add("FDeliveryDaysKZ", 3);
|
Entry.Add(jsonEntry);
|
}
|
model.Add("FEntity", Entry);
|
jsonRoot.Add("Model", model);
|
CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/");
|
var result = cloudClient.Save("BSV_TLPlanConfig", jsonRoot.ToString());
|
|
JObject saveObj = JObject.Parse(result);
|
string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
|
if (saveIsSuc != "TRUE")
|
{
|
LogService.Write(saveObj["Result"]["ResponseStatus"]["Errors"][0]["Message"].ToString());
|
}
|
}
|
|
}
|
}
|
catch (System.Exception ex)
|
{
|
LogService.Write(ex.Message.ToString()); ;
|
}
|
}
|
}
|
}
|