新增定时属性销售订单累计核销金额字段,
修复发票反审核时没有刷新累计开票金额字段的问题, 修改累计开票金额取数逻辑 TODO:销售发票提交校验逻辑修改
This commit is contained in:
parent
b47838589d
commit
a18026e5bc
@ -440,6 +440,7 @@
|
||||
</Target>
|
||||
<Import Project="packages\SkiaSharp.NativeAssets.Win32.2.88.8\build\net462\SkiaSharp.NativeAssets.Win32.targets" Condition="Exists('packages\SkiaSharp.NativeAssets.Win32.2.88.8\build\net462\SkiaSharp.NativeAssets.Win32.targets')" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>copy $(TargetPath) "D:\kingdee\K3Cloud\WebSite\Bin\$(TargetFileName)"</PostBuildEvent>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@ -29,20 +29,61 @@ namespace GZ_LTHPilot_ORDER.ScheduleService
|
||||
var orgList = orgService.GetOrgList();
|
||||
var tableName = tempTableService.CreateTempTable();
|
||||
CreateTempTable(ctx, tableName);
|
||||
var advanceAays = GetAdvanceAays(schedule);
|
||||
var planStartDate = DateTime.Now;
|
||||
foreach (var item in orgList)
|
||||
{
|
||||
var advanceAays = GetAdvanceAays(schedule);
|
||||
// 获取组织Id
|
||||
var orgId = item["FORGID"].ToString();
|
||||
// 提前天的日期
|
||||
var startDate = DateTime.Now.Date.AddDays(-advanceAays - 1);
|
||||
var endDate = DateTime.Now;
|
||||
var receiveAmountList = saleOrderService.GetSaleOrderReceiveAmountByDate(orgId, startDate, endDate);
|
||||
InsertDataToTempTable(ctx, tableName, orgId, receiveAmountList);
|
||||
|
||||
// 循环查询销售订单执行明细表,每次查询一个月的数据, 将数据插入自定义临时表中
|
||||
var startDate = planStartDate.AddDays(-advanceAays);
|
||||
var endDate = startDate.AddMonths(1);
|
||||
// 如果开始时间大于计划开始时间,说明结束了
|
||||
while (startDate > planStartDate)
|
||||
{
|
||||
var receiveAmountList = saleOrderService.GetSaleOrderReceiveAmountByDate(orgId, startDate, endDate);
|
||||
InsertDataToTempTable(ctx, tableName, orgId, receiveAmountList);
|
||||
startDate = startDate.AddMonths(1);
|
||||
endDate = startDate.AddMonths(1);
|
||||
}
|
||||
}
|
||||
UpdateSaleOrderReceiveAmount(ctx, tableName);
|
||||
tempTableService.DropTempTable(tableName);
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新销售订单累计核销金额
|
||||
/// </summary>
|
||||
/// <param name="ctx"></param>
|
||||
/// <param name="tableName"></param>
|
||||
/// <returns></returns>
|
||||
private int UpdateSaleOrderReceiveAmount(Context ctx, string tableName)
|
||||
{
|
||||
var sql = $@"
|
||||
UPDATE t1
|
||||
SET
|
||||
t1.F_AMOUNT = FAMOUNT
|
||||
FROM
|
||||
T_SAL_ORDER t1
|
||||
INNER JOIN {tableName} t2 ON t1.FSALEORGID = t2.FORGID
|
||||
AND t1.FBILLNO = t2.FBILLNO
|
||||
";
|
||||
|
||||
|
||||
return DBServiceHelper.Execute(ctx, sql);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 将查询的数据插入临时表
|
||||
/// </summary>
|
||||
/// <param name="ctx"></param>
|
||||
/// <param name="tableName"></param>
|
||||
/// <param name="orgId"></param>
|
||||
/// <param name="saleExecuteOuts"></param>
|
||||
/// <returns></returns>
|
||||
private int InsertDataToTempTable(Context ctx, string tableName, string orgId, List<SaleExecuteOut> saleExecuteOuts)
|
||||
{
|
||||
var values = saleExecuteOuts.Select(n => $"({orgId},'{n.FSALEORGNAME}','{n.FBILLNO}',{n.FALLMATCHAMOUNT},'{n.FDate}')");
|
||||
@ -56,6 +97,11 @@ VALUES
|
||||
return DBServiceHelper.Execute(ctx, sqlTemp);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 创建临时表
|
||||
/// </summary>
|
||||
/// <param name="ctx"></param>
|
||||
/// <param name="tableName"></param>
|
||||
private void CreateTempTable(Context ctx, string tableName)
|
||||
{
|
||||
var sql = $@"
|
||||
|
||||
@ -30,8 +30,6 @@ namespace GZ_LTHPilot_ORDER.ScheduleService
|
||||
var saleOrderList = saleOrderService.GetSaleOrderByOrgIdAndContractNo(saleOrgId, contractNo);
|
||||
if (saleOrderList.Count == 0)
|
||||
{
|
||||
//var errInfo = string.Format("纸质合同号:{0},没有找到对应的销售订单,请检查销售订单是否已审核,或者被作废", contractNo);
|
||||
//throw new Exception(errInfo);
|
||||
continue;
|
||||
}
|
||||
var saleOrder = saleOrderList[0];
|
||||
|
||||
@ -37,38 +37,48 @@ namespace GZ_LTHPilot_ORDER.Service
|
||||
var saleOrgId = saleOrder["FSALEORGID"].ToString();
|
||||
var sqlTemp = @"/*dialect*/UPDATE t1
|
||||
SET
|
||||
t1.F_INVOICEAMOUNT = TEMP1.FAFTERTOTALTAX
|
||||
t1.F_INVOICEAMOUNT = ISNULL (TEMP1.FAFTERTOTALTAXFOR, 0) + ROUND(
|
||||
(
|
||||
ISNULL (TEMP1.FAFTERTOTALTAX, 0) / ISNULL (t1fin.FEXCHANGERATE, 0)
|
||||
),
|
||||
2
|
||||
)
|
||||
FROM
|
||||
T_SAL_ORDER t1
|
||||
INNER JOIN (
|
||||
INNER JOIN T_SAL_ORDERFIN t1fin ON t1.FID = t1fin.FID
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
FSALEORGID,
|
||||
F_PaperNumber,
|
||||
SUM(FAFTERTOTALTAX) FAFTERTOTALTAX
|
||||
SUM(FAFTERTOTALTAX) FAFTERTOTALTAX, -- 价税合计本币
|
||||
SUM(FAFTERTOTALTAXFOR) FAFTERTOTALTAXFOR -- 价税合计原币
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
FSALEORGID, -- 销售组织
|
||||
F_PaperNumber, -- 纸质合同号
|
||||
ISNULL (FAFTERTOTALTAX, 0) FAFTERTOTALTAX -- 价税合计本币
|
||||
0 FAFTERTOTALTAX,
|
||||
ISNULL (FAFTERTOTALTAXFOR, 0) FAFTERTOTALTAXFOR -- 价税合计
|
||||
FROM
|
||||
T_IV_SALESIC
|
||||
WHERE
|
||||
1 = 1
|
||||
AND FDOCUMENTSTATUS = 'C'
|
||||
AND FCANCELSTATUS = 'A'
|
||||
AND FDATE >= '2025-01-01'
|
||||
AND FSALEORGID = '{0}'
|
||||
AND F_PaperNumber = '{1}'
|
||||
AND FDATE >= '2025-01-01'
|
||||
UNION ALL
|
||||
SELECT
|
||||
'100302' FSALEORGID, -- 销售组织
|
||||
合同号 F_PaperNumber, -- 纸质合同号
|
||||
SUM(ISNULL (专票金额, 0) + ISNULL (普票金额, 0)) FAFTERTOTALTAX -- 价税合计本币
|
||||
FROm
|
||||
dbo.oldk3seorder0701
|
||||
SUM(ISNULL (专票金额, 0) + ISNULL (普票金额, 0)) FAFTERTOTALTAX, -- 价税合计本币
|
||||
0 -- 价税合计
|
||||
FROM
|
||||
oldk3seorder0701
|
||||
WHERE
|
||||
1 = 1
|
||||
AND 日期 < '2025-01-01'
|
||||
AND 合同号 = '{1}'
|
||||
GROUP BY
|
||||
合同号
|
||||
|
||||
@ -39,8 +39,7 @@ namespace GZ_LTHPilot_ORDER.T_IV_SALESIC.ServicePlugIn
|
||||
var saleOrderList = saleOrderService.GetSaleOrderByOrgIdAndContractNo(orgId, contractNo);
|
||||
if (saleOrderList.Count == 0)
|
||||
{
|
||||
//var errInfo = string.Format("纸质合同号:{0},没有找到对应的销售订单,请检查销售订单是否已审核,或者被作废", contractNo);
|
||||
//throw new Exception(errInfo);
|
||||
|
||||
continue;
|
||||
}
|
||||
if (saleOrderList.Count > 1)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user