Files
GateDge2023_ljy/05.长园/CYG.AutoWriteOffWizardEditPlugInEx/AutoWriteOffWizardEditEx.cs

60 lines
2.1 KiB
C#
Raw Normal View History

2024-08-29 09:42:49 +08:00
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args.WizardForm;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Util;
using Kingdee.K3.FIN.AP.Business.PlugIn;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Log;
namespace CYG.AutoWriteOffWizardEditPlugInEx
{
[HotUpdate, Description("转销处理EX")]
public class AutoWriteOffWizardEditEx : AutoWriteOffWizardEdit
{
public override void WizardStepChanging(WizardStepChangingEventArgs e)
{
base.WizardStepChanging(e);
if (e.OldWizardStep.Key.Equals("FWizard1") && e.NewWizardStep.Key.Equals("FWizard2") && !e.Cancel)
{
try
{
//获取进行转销的单据
var dieObjs = this.DebitDate;
foreach (var debitObj in dieObjs.Values)
{
var billId = debitObj.BillId;
var cSqlL = $@"/*dialect*/
SELECT t1e.FSRCBILLID,t3.FBILLNO
FROM T_AR_RECMACTHLOG t1
INNER JOIN T_AR_RECMACTHLOGENTRY t1e on t1.FID = t1e.FID
INNER JOIN T_AR_RECMACTHLOGENTRY t2e on t2e.FID = t1e.FID
INNER JOIN T_AR_RECEIVABLE t3 on t3.FID = t1e.FSRCBILLID
WHERE 1 = 1
AND t2e.FSRCBILLID = {billId}
AND t2e.FSOURCEFROMID = 'AR_receivable'
AND t1e.FISADIBILL = 1
AND t1.FMATCHFIELDNAME = 'FMatchAmount'
";
//判断是否转销成功
var cResObjs = DBServiceHelper.ExecuteDynamicObject(this.Context, cSqlL);
if (cResObjs != null && cResObjs.Count == 2)
{
var sqlL = $@"/*dialect*/ EXEC PROC_UPDATE_AR_WRITEOFFMATCH {billId} ";
DBServiceHelper.Execute(this.Context, sqlL);
}
}
}
catch (Exception ex)
{
Logger.Error("应收转销后更新对应数据", ex.Message, ex);
}
}
}
}
}