调用审核接口审核《信用档案》单据,跟代码提示审核成功但是查看单据状态为暂存,请老师帮忙提携一下,代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Orm.DataEntity; using Kingdee.BOS.App.Data; using Kingdee.BOS.Core.Metadata; using Kingdee.BOS.Contracts; using Kingdee.BOS.ServiceHelper; using Kingdee.BOS.Orm; using Kingdee.BOS.Core.DynamicForm; using Kingdee.BOS; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
namespace SYDBZY.K3.BPM.App.CTEx { [Description("年/季度客户授信申请单服务端插件")] public class CustomerSXBillCTEx : AbstractOperationServicePlugIn { /// /// 操作前准备 /// /// public override void OnPreparePropertys(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.PreparePropertysEventArgs e) { base.OnPreparePropertys(e); e.FieldKeys.Add("F_BTO_KHDM");//客户 e.FieldKeys.Add("F_BTO_SXBM");//部门 e.FieldKeys.Add("F_BTO_BQSQED");//本期申请额度 e.FieldKeys.Add("F_BTO_BQSQZQ");//本期申请账期 }
/// /// 事件操作后 执行段 /// /// public override void EndOperationTransaction(EndOperationTransactionArgs e) { base.EndOperationTransaction(e); //审核后,通过部门查询进行更新或增加对应的分录信息 modify by yq 2017-5-5 if (this.FormOperation.Operation.Equals("Audit")) { if (e.DataEntitys != null && e.DataEntitys.Count() > 0) { foreach (DynamicObject item in e.DataEntitys) { //1、获取当前单据中【客户】、【部门】信息 DynamicObject khObject = item["F_BTO_KHDM"] as DynamicObject;//客户 DynamicObject bmObject = item["F_BTO_SXBM"] as DynamicObject;//部门 decimal sqed = Convert.ToDecimal(item["F_BTO_BQSQED"])*10000;//本期申请额度 decimal sqzq = Convert.ToDecimal(item["F_BTO_BQSQZQ"]);//本期申请账期 //2、通过以上两个字段 到【信用档案】中查询是否存在记录 string sql = "select fid from T_CRE_CUSTARCHIVES where FDEPTID = " + bmObject["Id"].ToString() + ""; DynamicObjectCollection col = DBUtils.ExecuteDynamicObject(this.Context, sql); if (col.Count > 0) { string sqlKH = "select y.fid from T_CRE_CUSTARCHIVESENTRY y left join T_CRE_CUSTARCHIVES s on y.fid = s.fid where y.fobjectid = " + khObject["Id"].ToString() + " and s.fdeptid = " + bmObject["Id"].ToString() + ""; DynamicObjectCollection colKH = DBUtils.ExecuteDynamicObject(this.Context, sqlKH); if (colKH.Count > 0) { //查询档案信息对象 IMetaDataService metaService = Kingdee.BOS.App.ServiceHelper.GetService(); FormMetadata XydaMeta = metaService.Load(this.Context, "CRE_CustArchives") as FormMetadata; //信用档案 BusinessInfo XydaInfo = XydaMeta.BusinessInfo; DynamicObject XydaObject = BusinessDataServiceHelper.LoadSingle(this.Context, colKH[0]["fid"], XydaInfo.GetDynamicObjectType()); DynamicObjectCollection entryEntitys = XydaObject["Entity"] as DynamicObjectCollection; //信用对象设置分录集合 string billState = XydaObject["DocumentStatus"].ToString(); //结束查询档案信息对象 //反审核 List> lstKeyValuePairs = new List>(); ISetStatusService setStatusService = Kingdee.BOS.App.ServiceHelper.GetService(); KeyValuePair