新增K3退货金额、云星空退货金额、整单可开票金额

This commit is contained in:
2025-08-16 17:47:20 +08:00
parent eebdd72801
commit 5099b4ee8f
9 changed files with 377 additions and 130 deletions

View File

@@ -19,8 +19,12 @@ namespace GZ_LTHPilot_ORDER.T_IV_SALESIC.ServicePlugIn
{
base.OnPreparePropertys(e);
e.FieldKeys.Add("F_PaperNumber");
e.FieldKeys.Add("F_contractno");
e.FieldKeys.Add("FALLAMOUNTFOR");
e.FieldKeys.Add("FSALEORGID");
}
/// <summary>
/// 审核插件执行后插件、事务提交后事件
/// </summary>
@@ -31,27 +35,34 @@ namespace GZ_LTHPilot_ORDER.T_IV_SALESIC.ServicePlugIn
foreach (var bill in e.DataEntitys)
{
var org = bill["SALEORGID"] as DynamicObject;
var orgId = org["Id"].ToString(); // 销售订单
var contractNo = bill["F_PaperNumber"].ToString(); // 纸质合同号
var orgId = org["Id"].ToString(); // 销售组织
var entryList = bill["SALESICENTRY"] as DynamicObjectCollection;
// 根据合同号分组
var grouped = entryList.GroupBy(n => n["F_contractno"].ToString());
// 销售订单服务
var saleOrderService = new SaleOrderService(this.Context);
// TODO 根据组织和纸质合同号查找销售订单
var saleOrderList = saleOrderService.GetSaleOrderByOrgIdAndContractNo(orgId, contractNo);
if (saleOrderList.Count == 0)
{
continue;
}
if (saleOrderList.Count > 1)
{
var errInfo = string.Format("纸质合同号:{0},找到多个销售订单,请检查组织内纸质合同号唯一性", contractNo);
throw new Exception(errInfo);
}
var saleOrder = saleOrderList[0];
// 发票服务
SaleSicsService saleSicsService = new SaleSicsService(this.Context);
// TODO 刷新销售订单单头的累计开票金额
saleSicsService.UpdateSaleOrderSumSicsamountBySaleOrder(saleOrder);
foreach (var group in grouped)
{
// 纸质合同号
var contractNo = group.Key;
// TODO 根据组织和纸质合同号查找销售订单
var saleOrderList = saleOrderService.GetSaleOrderByOrgIdAndContractNo(orgId, contractNo);
if (saleOrderList.Count == 0)
{
continue;
}
foreach (var saleOrder in saleOrderList)
{
// TODO 刷新销售订单单头的累计开票金额
saleSicsService.UpdateSaleOrderSumSicsamountBySaleOrder(saleOrder);
}
}
}
}
}