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