using Kingdee.BOS; using Kingdee.BOS.App.Data; using Kingdee.BOS.Contracts; using Kingdee.BOS.Core; using Kingdee.BOS.Log; using Kingdee.BOS.ServiceHelper; using System; using System.Linq; namespace Neal.BOS.App.PlugIn { public class BatchSubmitBillScheduleService : IScheduleService { public void Run(Context ctx, Schedule schedule) { try { Logger.Info("-Schedule", "批量任务开始。"); string sql = "SELECT FUSERID FROM T_SEC_USER WHERE FNAME='demo'"; var userId = DBUtils.ExecuteScalar(ctx, sql, 0); if (userId == 0) { Logger.Error("-Schedule", "用户不存在", null); return; } ctx.UserId = userId; string formId = "PUR_PurchaseOrder"; var ids = DBUtils.ExecuteDynamicObject(ctx, "SELECT FID FROM T_PUR_POORDER WHERE FDOCUMENTSTATUS = 'A'"); var pkIds = ids.Select(r => r["FID"]).ToList(); if (pkIds.Count == 0) { Logger.Info("-Schedule", "无待审核单据"); return; } var submitResult = BusinessDataServiceHelper.Submit(ctx, formId, pkIds.ToArray(), "Submit", null); if (submitResult.IsSuccess) BusinessDataServiceHelper.Audit(ctx, formId, pkIds.ToArray(), null); Logger.Info("-Schedule", "批量完成,共" + pkIds.Count + "条"); } catch (Exception ex) { Logger.Error("-Schedule", "异常:" + ex.Message, ex); } } } }