63 lines
3.1 KiB
C#
63 lines
3.1 KiB
C#
using GZ_LTHPilot_ORDER.Service;
|
|
using Kingdee.BOS.Core.DynamicForm.PlugIn;
|
|
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
|
|
using Kingdee.BOS.Orm.DataEntity;
|
|
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.SAL_ORDER.ServicePlugIn
|
|
{
|
|
[Description("服务插件:销售订单反审核,刷新销售订单和源单整单可开票金额和退货金额金额字段"), HotUpdate]
|
|
|
|
public class UnAudit : AbstractOperationServicePlugIn
|
|
{
|
|
public override void OnPreparePropertys(PreparePropertysEventArgs e)
|
|
{
|
|
base.OnPreparePropertys(e);
|
|
e.FieldKeys.Add("F_totalinvoiceAmount"); // 整单可开票金额
|
|
e.FieldKeys.Add("F_allreturnAmount"); // 云星空退货金额
|
|
e.FieldKeys.Add("F_sourorderno"); // 源单编号
|
|
e.FieldKeys.Add("FSALEORGID"); // 销售组织
|
|
e.FieldKeys.Add("FRETURNTYPE"); // 退补类型
|
|
e.FieldKeys.Add("F_sourpapercontract"); // 源头纸质合同号#
|
|
e.FieldKeys.Add("F_contractnumber"); // 纸质合同号
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 审核插件执行后插件、事务提交后事件
|
|
/// </summary>
|
|
/// <param name="e"></param>
|
|
public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
|
|
{
|
|
base.AfterExecuteOperationTransaction(e);
|
|
SaleOrderService saleOrderService = new SaleOrderService(this.Context);
|
|
foreach (var bill in e.DataEntitys)
|
|
{
|
|
var org = bill["SALEORGID"] as DynamicObject;
|
|
var orgId = org["Id"].ToString(); // 销售组织
|
|
var contractNo = bill["F_contractnumber"].ToString(); // 纸质合同号
|
|
var srcContractNo = bill["F_sourpapercontract"].ToString(); // 源头纸质合同号
|
|
var saleOrderAmont = saleOrderService.GetSaleOrderAmount(orgId, contractNo); // 本单累计可开票金额
|
|
var k3RetrunAmount = saleOrderService.GetK3SaleOrderRetrunAmount(orgId, contractNo); // 本单云星空退货金额
|
|
var retrunAmount = saleOrderService.GetSaleOrderRetrunAmount(orgId, contractNo); // 本单k3退货金额
|
|
saleOrderService.UpdateSaleOrderOrderAmountAndRetrunAmount(orgId, contractNo, saleOrderAmont, retrunAmount, k3RetrunAmount);
|
|
if (srcContractNo.IsNullOrEmpty())
|
|
{
|
|
continue;
|
|
}
|
|
var srcSaleOrderAmont = saleOrderService.GetSaleOrderAmount(orgId, srcContractNo); // 源单累计可开票金额
|
|
var srcK3RetrunAmount = saleOrderService.GetK3SaleOrderRetrunAmount(orgId, srcContractNo); // 源单云星空退货金额
|
|
var srcRetrunAmount = saleOrderService.GetSaleOrderRetrunAmount(orgId, srcContractNo); // 源单k3退货金额
|
|
saleOrderService.UpdateSaleOrderOrderAmountAndRetrunAmount(orgId, srcContractNo, srcSaleOrderAmont, srcRetrunAmount, srcK3RetrunAmount);
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|