using System.ComponentModel; 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.BillView.PRD; using Demo.Model.Model; using System.Collections.Generic; using ZD.Share.Common; namespace Demo.TimedTaskPlugIn.PRD { [Description("日计划工单 每日新增明细执行计划")] [HotUpdate] public class DayPlanAddTask : Kingdee.BOS.Contracts.IScheduleService { public void Run(Context ctx, Schedule schedule) { try { //LogService.Write("执行计划开始"); string sql = string.Format(@"/*dialect*/ select FID,FDayPlanQuantity,FOrderQuantity,FOrderQuantity-FDayPlanQuantity as FKPQTY,CONVERT(NVARCHAR(20),GETDATE(),23) as FDATE from Sc_WorkBillSortBillMain where FOrderQuantity-FDayPlanQuantity >0 " ); DataSet ds = DBServiceHelper.ExecuteDataSet(ctx, sql); DataTable dt = ds.Tables[0]; if (dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { string _sql = $" /*dialect*/ select FEntryID, FHMASTERDATE from SC_WORKBILLSORTBILLSub where FID={dr["FID"]} "; List dayPlanModel = new List(); dayPlanModel = DBServiceHelper.ExecuteDataSet(ctx, sql).ToModelList(); var fSpreadBillNo = dayPlanModel.LastOrDefault().FSpreadBillNo.Split('-'); JObject jsonRoot = new JObject(); jsonRoot.Add("Creator", ""); jsonRoot.Add("NeedUpDateFields", new JArray()); jsonRoot.Add("NeedReturnFields", new JArray()); jsonRoot.Add("IsDeleteEntry", "false"); jsonRoot.Add("SubSystemId", ""); jsonRoot.Add("IsVerifyBaseDataField", ""); JObject jsonModel = new JObject(); jsonModel.Add("FID", Convert.ToString(dr["FID"].ToString())); JArray Entry = new JArray(); JObject jsonFPOOrderEntry = new JObject(); jsonFPOOrderEntry.Add("FHMasterDate", dr["FDATE"].ToString()); ;//主日期 jsonFPOOrderEntry.Add("FHQty ", dr["FKPQTY"].ToString()); ;//日计划数量 jsonFPOOrderEntry.Add("FSpreadBillNo", $"{fSpreadBillNo[0]}-{fSpreadBillNo[1]}-{Convert.ToInt32(fSpreadBillNo[2]) + 1}"); //流传单号 生产订单号+生产订单明细行号+序号mo0001-1-1+ Entry.Add(jsonFPOOrderEntry); jsonModel.Add("FEntity", Entry); jsonRoot.Add("Model", jsonModel); CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/"); var result = cloudClient.Save("Paez_Sc_WorkBillAutoSortBill", jsonRoot.ToString()); //LogService.Write(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()); return; } } } } catch (System.Exception ex) { LogService.Write(ex.Message.ToString()); } } } }