修改销售订单累计开票金额取值逻辑,
修改销售发票提交校验逻辑
This commit is contained in:
@@ -10,6 +10,7 @@ using Kingdee.K3.FIN.App.Core.Match.Object;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics.Contracts;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
@@ -28,6 +29,74 @@ namespace GZ_LTHPilot_ORDER.Service
|
||||
this.ctx = ctx;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// K3退货金额原币取数逻辑:K3退货金额除以销售订单汇率=K3退货金额原币
|
||||
/// </summary>
|
||||
/// <param name="contractNo">纸质合同号</param>
|
||||
/// <param name="rate">销售订单汇率</param>
|
||||
/// <returns></returns>
|
||||
public decimal GetK3SaleOrderRetrunAmount(string contractNo, string rate)
|
||||
{
|
||||
var sqlTemp = @"/*dialect*/SELECT
|
||||
ROUND(ISNULL (SUM(退货金额), 0) / {1}, 2) Amount
|
||||
FROM
|
||||
oldk3seorder0701 t1
|
||||
WHERE
|
||||
1 = 1
|
||||
AND t1.合同号 = '{0}'
|
||||
";
|
||||
var sql = string.Format(sqlTemp, contractNo, rate);
|
||||
var result = DBServiceHelper.ExecuteDynamicObject(ctx, sql);
|
||||
return Convert.ToDecimal(result[0]["Amount"]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 云星空的退货金额取数逻辑:取已审核的退货通知单的表头字段 ”源头销售订单单号#“ =本销售订单编号的退货通知单原币价税合计金额
|
||||
/// </summary>
|
||||
/// <param name="billNo">单据编号</param>
|
||||
/// <returns></returns>
|
||||
public decimal GetSaleOrderRetrunAmount(string billNo)
|
||||
{
|
||||
var sqlTemp = @"/*dialect*/SELECT
|
||||
ISNULL (SUM(FBILLALLAMOUNT), 0) Amount
|
||||
FROM
|
||||
T_SAL_RETURNNOTICE t1
|
||||
LEFT JOIN T_SAL_RETURNNOTICEFIN t1fin ON t1.FID = t1fin.FID
|
||||
WHERE
|
||||
1 = 1
|
||||
AND t1.FDOCUMENTSTATUS = 'C'
|
||||
AND t1.FCANCELSTATUS = 'A'
|
||||
AND t1.F_SOURORDERNO = '{0}'
|
||||
";
|
||||
var sql = string.Format(sqlTemp, billNo);
|
||||
var result = DBServiceHelper.ExecuteDynamicObject(ctx, sql);
|
||||
return Convert.ToDecimal(result[0]["Amount"]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 订单明细正数的物料原币价税合计(只取退补类型不等于“退回“的物料明细)
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
public decimal GetSaleOrderAmount(string id)
|
||||
{
|
||||
var sqlTemp = @"/*dialect*/SELECT
|
||||
ISNULL (SUM(t1e_f.FALLAMOUNT), 0) Amount
|
||||
FROM
|
||||
T_SAL_ORDER t1
|
||||
LEFT JOIN T_SAL_ORDERENTRY_F t1e_f ON t1.FID = t1e_f.FID
|
||||
WHERE
|
||||
1 = 1
|
||||
AND t1.FDOCUMENTSTATUS = 'C'
|
||||
AND t1.FCANCELSTATUS = 'A'
|
||||
AND t1e_f.FALLAMOUNT > 0
|
||||
AND t1.FID = '{0}'
|
||||
";
|
||||
var sql = string.Format(sqlTemp, id);
|
||||
var result = DBServiceHelper.ExecuteDynamicObject(ctx, sql);
|
||||
return Convert.ToDecimal(result[0]["Amount"]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据纸质合同号、组织获取销售订单
|
||||
/// </summary>
|
||||
|
||||
@@ -50,19 +50,21 @@ FROM
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
FSALEORGID, -- 销售组织
|
||||
F_PaperNumber, -- 纸质合同号
|
||||
ISNULL (FAFTERTOTALTAX, 0) FAFTERTOTALTAX, -- 价税合计本币
|
||||
ISNULL (FAFTERTOTALTAXFOR, 0) FAFTERTOTALTAXFOR -- 价税合计
|
||||
v1.FSALEORGID, -- 销售组织
|
||||
v1e.F_CONTRACTNO F_PaperNumber, -- 纸质合同号
|
||||
ISNULL (v1e_o.FALLAMOUNT, 0) FAFTERTOTALTAX, -- 价税合计本币
|
||||
ISNULL (v1e.FALLAMOUNTFOR, 0) FAFTERTOTALTAXFOR -- 价税合计
|
||||
FROM
|
||||
T_IV_SALESIC
|
||||
T_IV_SALESIC v1
|
||||
INNER JOIN T_IV_SALESICENTRY v1e ON v1.FID = v1e.FID
|
||||
LEFT JOIN T_IV_SALESICENTRY_O v1e_o ON v1e_o.FENTRYID = v1e.FENTRYID
|
||||
WHERE
|
||||
1 = 1
|
||||
AND FDOCUMENTSTATUS = 'C'
|
||||
AND FCANCELSTATUS = 'A'
|
||||
AND F_SFQC = 0
|
||||
AND FSALEORGID = '{0}'
|
||||
AND F_PaperNumber = '{1}'
|
||||
AND v1.FDOCUMENTSTATUS = 'C'
|
||||
AND v1.FCANCELSTATUS = 'A'
|
||||
AND v1.F_SFQC = 0
|
||||
AND v1.FSALEORGID = '{0}'
|
||||
AND v1e.F_CONTRACTNO = '{1}'
|
||||
UNION ALL
|
||||
SELECT
|
||||
'100302' FSALEORGID, -- 销售组织
|
||||
|
||||
Reference in New Issue
Block a user