using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Util; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace GZ_LTHPilot_ORDER.RECEIVEBILL { [Description("服务插件:收款单反审核后反写销售订单表头累计核销字段"), HotUpdate] public class ReceivebillCounterOrder : AbstractOperationServicePlugIn { public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e) { base.AfterExecuteOperationTransaction(e); foreach (var Row in e.SelectedRows) { //获取单据信息 var Billobj = Row.DataEntity; //获取反审核非预收款单的销售出库单的销售出库单源单。 var FSRCBILLNOS = SqlManage.SqlManage.GetRECEIVEBILLFSRCBILLNOAndFREALRECAMOUNTFOR(this.Context, Convert.ToString(Billobj["Id"])); if (FSRCBILLNOS.Count > 0) { foreach (var FSRCBILLNO in FSRCBILLNOS) { SqlManage.SqlManage.UpdateOrderF_AMOUNTOld(this.Context, FSRCBILLNO["FSoorDerno"].ToString(), FSRCBILLNO["FALLAMOUNTFOR_D"].ToString()); } } //获取反审核预收款的收款单的源单编号信息 var OrderFbillnos = SqlManage.SqlManage.GetRECEIVEBILLFSRCBILLNOS(this.Context, Convert.ToString(Billobj["Id"])); if (OrderFbillnos.Count > 0) { foreach (var OrderFbillno in OrderFbillnos) { SqlManage.SqlManage.UpdateOrderF_AMOUNTOld(this.Context, OrderFbillno["FSRCBILLNO"].ToString(), OrderFbillno["FREALRECAMOUNTFOR_S"].ToString()); } } } } } }