This commit is contained in:
2025-10-27 23:51:36 +08:00
parent 3237265dfd
commit 9bb3fb4696
2 changed files with 22 additions and 5 deletions

View File

@@ -39,6 +39,11 @@ namespace GZ_LTHPilot_ORDER.T_IV_SALESIC.ServicePlugIn
/// 价税合计原币
/// </summary>
public decimal AllAmountFor { get; set; }
/// <summary>
/// 单据Id
/// </summary>
public string BillId { get; set; }
}
@@ -48,6 +53,7 @@ namespace GZ_LTHPilot_ORDER.T_IV_SALESIC.ServicePlugIn
var entryListUnion = new List<SALESIC>();
foreach (var bill in e.SelectedRows)
{
var billId = bill["Id"].ToString();
var org = bill["SALEORGID"] as DynamicObject;
var orgId = org["Id"].ToString(); // 销售组织
var entryList = bill["SALESICENTRY"] as DynamicObjectCollection;
@@ -56,6 +62,7 @@ namespace GZ_LTHPilot_ORDER.T_IV_SALESIC.ServicePlugIn
{
entryListUnion.Add(new SALESIC()
{
BillId = billId,
OrgId = orgId,
ContractNo = item["F_contractno"].ToString(),
AllAmountFor = Convert.ToDecimal(item["ALLAMOUNTFOR"])
@@ -84,8 +91,9 @@ namespace GZ_LTHPilot_ORDER.T_IV_SALESIC.ServicePlugIn
}
// 发票单体价税合计原币
var SumALLAMOUNTFOR = item.Sum(n => n.AllAmountFor);
var billIds = item.Select(n => n.BillId).ToList();
// TODO 校验是否超额
var verifResult = ExcessVerification(orgId, contractNo, SumALLAMOUNTFOR);
var verifResult = ExcessVerification(orgId, contractNo, SumALLAMOUNTFOR, billIds);
if (verifResult != null)
{
//有错误信息
@@ -123,7 +131,7 @@ namespace GZ_LTHPilot_ORDER.T_IV_SALESIC.ServicePlugIn
return null;
}
// 校验源单是否超额
var srcVerifResult = ExcessVerification(orgId, srcContractNo, 0);
var srcVerifResult = ExcessVerification(orgId, srcContractNo, 0, null);
if (srcVerifResult != null)
{
return srcVerifResult;
@@ -139,8 +147,9 @@ namespace GZ_LTHPilot_ORDER.T_IV_SALESIC.ServicePlugIn
/// <param name="orgId">销售组织</param>
/// <param name="contractNo">合同号</param>
/// <param name="amount">开票金额</param>
/// <param name="billIds">本次操作单据ID</param>
/// <returns></returns>
private OperateResult ExcessVerification(string orgId, string contractNo, decimal amount)
private OperateResult ExcessVerification(string orgId, string contractNo, decimal amount, List<string> billIds)
{
// 销售订单服务
var saleOrderService = new SaleOrderService(this.Context);
@@ -154,7 +163,7 @@ namespace GZ_LTHPilot_ORDER.T_IV_SALESIC.ServicePlugIn
var saleOrderNoString = string.Join(",\n\r", saleOrderNoList);
var saleOrder = saleOrderList[0];
// 已提交发票金额(本币)
var submitedAmount = saleOrderService.GetSubmitedAmount(orgId, contractNo);
var submitedAmount = saleOrderService.GetSubmitedAmount(orgId, contractNo, billIds);
// 销售订单价税合计(本币)
var saleOrderAmount = saleOrderService.GetSaleOrderAmount(orgId, contractNo);
// 销售订单累计开票金额(本币)