0
This commit is contained in:
parent
3237265dfd
commit
9bb3fb4696
@ -336,9 +336,16 @@ WHERE
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="orgId"></param>
|
/// <param name="orgId"></param>
|
||||||
/// <param name="contractNo"></param>
|
/// <param name="contractNo"></param>
|
||||||
|
/// <param name="billIds"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
internal decimal GetSubmitedAmount(string orgId, string contractNo)
|
internal decimal GetSubmitedAmount(string orgId, string contractNo, List<string> billIds)
|
||||||
{
|
{
|
||||||
|
var billIdFilter = string.Empty;
|
||||||
|
if (billIds != null && billIds.Count > 0)
|
||||||
|
{
|
||||||
|
var billIdString = string.Join(",", billIds.Select(n => "'" + n + "'"));
|
||||||
|
billIdFilter = $@" AND t1.FID NOT IN ({billIdString}) ";
|
||||||
|
}
|
||||||
var sqlTemp = $@"/*dialect*/SELECT
|
var sqlTemp = $@"/*dialect*/SELECT
|
||||||
ISNULL (SUM(t1e_O.FALLAMOUNT), 0) AS SubmitAmount
|
ISNULL (SUM(t1e_O.FALLAMOUNT), 0) AS SubmitAmount
|
||||||
FROM
|
FROM
|
||||||
@ -350,6 +357,7 @@ WHERE
|
|||||||
AND t1.FDOCUMENTSTATUS = 'B'
|
AND t1.FDOCUMENTSTATUS = 'B'
|
||||||
AND t1e.F_CONTRACTNO = '{contractNo}'
|
AND t1e.F_CONTRACTNO = '{contractNo}'
|
||||||
AND t1.FSALEORGID = '{orgId}'
|
AND t1.FSALEORGID = '{orgId}'
|
||||||
|
{billIdFilter}
|
||||||
";
|
";
|
||||||
var sql = string.Format(sqlTemp, orgId, contractNo);
|
var sql = string.Format(sqlTemp, orgId, contractNo);
|
||||||
var result = DBServiceHelper.ExecuteDynamicObject(ctx, sql);
|
var result = DBServiceHelper.ExecuteDynamicObject(ctx, sql);
|
||||||
|
|||||||
@ -39,6 +39,11 @@ namespace GZ_LTHPilot_ORDER.T_IV_SALESIC.ServicePlugIn
|
|||||||
/// 价税合计原币
|
/// 价税合计原币
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public decimal AllAmountFor { get; set; }
|
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>();
|
var entryListUnion = new List<SALESIC>();
|
||||||
foreach (var bill in e.SelectedRows)
|
foreach (var bill in e.SelectedRows)
|
||||||
{
|
{
|
||||||
|
var billId = bill["Id"].ToString();
|
||||||
var org = bill["SALEORGID"] as DynamicObject;
|
var org = bill["SALEORGID"] as DynamicObject;
|
||||||
var orgId = org["Id"].ToString(); // 销售组织
|
var orgId = org["Id"].ToString(); // 销售组织
|
||||||
var entryList = bill["SALESICENTRY"] as DynamicObjectCollection;
|
var entryList = bill["SALESICENTRY"] as DynamicObjectCollection;
|
||||||
@ -56,6 +62,7 @@ namespace GZ_LTHPilot_ORDER.T_IV_SALESIC.ServicePlugIn
|
|||||||
{
|
{
|
||||||
entryListUnion.Add(new SALESIC()
|
entryListUnion.Add(new SALESIC()
|
||||||
{
|
{
|
||||||
|
BillId = billId,
|
||||||
OrgId = orgId,
|
OrgId = orgId,
|
||||||
ContractNo = item["F_contractno"].ToString(),
|
ContractNo = item["F_contractno"].ToString(),
|
||||||
AllAmountFor = Convert.ToDecimal(item["ALLAMOUNTFOR"])
|
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 SumALLAMOUNTFOR = item.Sum(n => n.AllAmountFor);
|
||||||
|
var billIds = item.Select(n => n.BillId).ToList();
|
||||||
// TODO 校验是否超额
|
// TODO 校验是否超额
|
||||||
var verifResult = ExcessVerification(orgId, contractNo, SumALLAMOUNTFOR);
|
var verifResult = ExcessVerification(orgId, contractNo, SumALLAMOUNTFOR, billIds);
|
||||||
if (verifResult != null)
|
if (verifResult != null)
|
||||||
{
|
{
|
||||||
//有错误信息
|
//有错误信息
|
||||||
@ -123,7 +131,7 @@ namespace GZ_LTHPilot_ORDER.T_IV_SALESIC.ServicePlugIn
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
// 校验源单是否超额
|
// 校验源单是否超额
|
||||||
var srcVerifResult = ExcessVerification(orgId, srcContractNo, 0);
|
var srcVerifResult = ExcessVerification(orgId, srcContractNo, 0, null);
|
||||||
if (srcVerifResult != null)
|
if (srcVerifResult != null)
|
||||||
{
|
{
|
||||||
return srcVerifResult;
|
return srcVerifResult;
|
||||||
@ -139,8 +147,9 @@ namespace GZ_LTHPilot_ORDER.T_IV_SALESIC.ServicePlugIn
|
|||||||
/// <param name="orgId">销售组织</param>
|
/// <param name="orgId">销售组织</param>
|
||||||
/// <param name="contractNo">合同号</param>
|
/// <param name="contractNo">合同号</param>
|
||||||
/// <param name="amount">开票金额</param>
|
/// <param name="amount">开票金额</param>
|
||||||
|
/// <param name="billIds">本次操作单据ID</param>
|
||||||
/// <returns></returns>
|
/// <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);
|
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 saleOrderNoString = string.Join(",\n\r", saleOrderNoList);
|
||||||
var saleOrder = saleOrderList[0];
|
var saleOrder = saleOrderList[0];
|
||||||
// 已提交发票金额(本币)
|
// 已提交发票金额(本币)
|
||||||
var submitedAmount = saleOrderService.GetSubmitedAmount(orgId, contractNo);
|
var submitedAmount = saleOrderService.GetSubmitedAmount(orgId, contractNo, billIds);
|
||||||
// 销售订单价税合计(本币)
|
// 销售订单价税合计(本币)
|
||||||
var saleOrderAmount = saleOrderService.GetSaleOrderAmount(orgId, contractNo);
|
var saleOrderAmount = saleOrderService.GetSaleOrderAmount(orgId, contractNo);
|
||||||
// 销售订单累计开票金额(本币)
|
// 销售订单累计开票金额(本币)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user