This commit is contained in:
2025-03-17 19:04:06 +08:00
parent 7208608d60
commit e897e7f0dc
9 changed files with 108 additions and 130 deletions

View File

@@ -75,28 +75,28 @@ namespace Pilot.Report.Exploitation.ResultsKanbanSummary
int year = Convert.ToInt32(fDate.Split('-')[0]);
//int year = 2011;
header.AddChild("ID", new LocaleValue("序号"), SqlStorageType.Sqlvarchar);
//header.AddChild("ID", new LocaleValue("序号"), SqlStorageType.Sqlvarchar);
header.AddChild("DetailArea", new LocaleValue("明细区域"), SqlStorageType.Sqlvarchar);
header.AddChild("Salesperson", new LocaleValue("销售员"), SqlStorageType.Sqlvarchar);
header.AddChild("FPERFORMANCETARGETS", new LocaleValue(""+year+"年业绩目标(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("Pilot2024", new LocaleValue(""+year+ "派诺业绩(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("SiNO2024", new LocaleValue(""+year+ "兴诺业绩(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("WuHanPilot2024", new LocaleValue(""+year+ "武汉派诺(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("Discovery2024", new LocaleValue(""+year+ "碳索业绩(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("HongKongPilot2024", new LocaleValue(""+year+ "香港派诺业绩(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("HuaXiaYunLian2024", new LocaleValue(""+year+ "华夏云联业绩(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("2024Pilot", new LocaleValue(""+year+ "派诺业绩(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("2024SiNO", new LocaleValue(""+year+ "兴诺业绩(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("2024WuHanPilot", new LocaleValue(""+year+ "武汉派诺(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("2024Discovery", new LocaleValue(""+year+ "碳索业绩(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("2024HongKongPilot", new LocaleValue(""+year+ "香港派诺业绩(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("2024HuaXiaYunLian", new LocaleValue(""+year+ "华夏云联业绩(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("UsualAlterAmount", new LocaleValue("往年订单变更金额(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("SumAmount2024", new LocaleValue(""+year+ "合计业绩额(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("2024SumAmount", new LocaleValue(""+year+ "合计业绩额(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("SumAmount2024", new LocaleValue(""+year+ "合计业绩额(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("AttainmentRate", new LocaleValue("达标率"), SqlStorageType.Sqlvarchar);
header.AddChild("SumAmount2023", new LocaleValue(""+(year-1)+ "合计业绩额(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("2023SumAmount", new LocaleValue(""+(year-1)+ "合计业绩额(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("SameGrowthRate", new LocaleValue("同比增长率"), SqlStorageType.Sqlvarchar);
header.AddChild("FPAYMENTSUM", new LocaleValue(""+year+"回款目标(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("Payment", new LocaleValue("回款额(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("PaymentRate", new LocaleValue("回款率"), SqlStorageType.Sqlvarchar);
header.AddChild("ShippedReceivables", new LocaleValue("已发货应收款(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("ExpiredReceivables", new LocaleValue("已到期应收款(万元)"), SqlStorageType.SqlDecimal);
header.AddChild("SBU", new LocaleValue("SBU"), SqlStorageType.Sqlvarchar);
header.AddChild("Area", new LocaleValue("SBU"), SqlStorageType.Sqlvarchar);
foreach (var item in header.GetChilds())
{
@@ -151,37 +151,37 @@ namespace Pilot.Report.Exploitation.ResultsKanbanSummary
CASE WHEN ISNULL(W4.FNAME,'') = '' THEN ISNULL(A.明细区域,'') ELSE ISNULL(A2.明细区域,'') END as 'DetailArea',
CASE WHEN ISNULL(W4.FNAME,'') = '' THEN W1.FNAME ELSE W4.FNAME END as 'Salesperson',
ISNULL(E.FPERFORMANCETARGETS,0) as 'FPERFORMANCETARGETS', --> 2024年业绩目标万元
CASE WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 100302 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
CASE WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 100302 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
THEN ISNULL(W3.FSHAREAMOUNT,0)/10000
WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 100302 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 100302 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
ELSE 0
END as '2024Pilot', -->2024派诺
CASE WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 100303 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
CASE WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 100303 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
THEN ISNULL(W3.FSHAREAMOUNT,0)/10000
WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 100303 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 100303 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
ELSE 0
END as '2024SiNO', -->2024兴诺
CASE WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 100305 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
CASE WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 100305 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
THEN ISNULL(W3.FSHAREAMOUNT,0)/10000
WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 100305 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 100305 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
ELSE 0
END as '2024WuHanPilot', -->2024武汉兴诺
CASE WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 438223 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
CASE WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 438223 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
THEN ISNULL(W3.FSHAREAMOUNT,0)/10000
WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 438223 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 438223 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
ELSE 0
END as '2024Discovery', -->2024碳索
CASE WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 438224 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
CASE WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 438224 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
THEN ISNULL(W3.FSHAREAMOUNT,0)/10000
WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 438224 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 438224 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
ELSE 0
END as '2024HongKongPilot', -->2024香港兴诺
CASE WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 533896 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
CASE WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 533896 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
THEN ISNULL(W3.FSHAREAMOUNT,0)/10000
WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 533896 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 533896 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
ELSE 0
END as '2024HuaXiaYunLian', -->2024华夏云联
CASE WHEN YEAR(D.FDATE) < {0} AND D.FSalerId = D.FSALERID
CASE WHEN YEAR(D.FApproveDate) < {0} AND D.FSalerId = D.FSALERID
THEN
ISNULL(((SELECT
CAST(JSON_VALUE(CAST(FJSONDATA AS NVARCHAR(MAX)), '$.SaleOrderFinance[0].BillAllAmount_LC') as decimal(23,10) ) AS FPrice
@@ -210,14 +210,14 @@ namespace Pilot.Report.Exploitation.ResultsKanbanSummary
AND FBILLNO = D.FBILLNO))/10000,0)
ELSE 0
END as 'UsualAlterAmount', --> 往年订单变更金额(派诺&子公司合计)
CASE WHEN YEAR(D.FDATE) = {0} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
CASE WHEN YEAR(D.FApproveDate) = {0} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
THEN ISNULL(W3.FSHAREAMOUNT,0)/10000
WHEN YEAR(D.FDATE) = {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
WHEN YEAR(D.FApproveDate) = {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
ELSE 0
END as '2024SumAmount', -->2024合计业绩额
CASE WHEN YEAR(D.FDATE) = {1} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
CASE WHEN YEAR(D.FApproveDate) = {1} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
THEN ISNULL(W3.FSHAREAMOUNT,0)/10000
WHEN YEAR(D.FDATE) = {1} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
WHEN YEAR(D.FApproveDate) = {1} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
ELSE 0
END as '2023SumAmount', -->2023合计业绩额
ISNULL(E.FPAYMENTSUM,0) as 'FPAYMENTSUM', -->回款目标(万元)
@@ -329,11 +329,11 @@ namespace Pilot.Report.Exploitation.ResultsKanbanSummary
}
if (!string.IsNullOrEmpty(fStrartDate))
{
sql += string.Format(@" AND D.FDate >= '{0}'", fStrartDate);
sql += string.Format(@" AND D.FApproveDate >= '{0}'", fStrartDate);
}
if (!string.IsNullOrEmpty(fEndDate))
{
sql += string.Format(@" AND D.FDate <= '{0}'", fEndDate);
sql += string.Format(@" AND D.FApproveDate <= '{0}'", fEndDate);
}
if (!string.IsNullOrEmpty(fSDate))
{
@@ -352,37 +352,37 @@ namespace Pilot.Report.Exploitation.ResultsKanbanSummary
CASE WHEN ISNULL(W4.FNAME,'') = '' THEN ISNULL(A.明细区域,'') ELSE ISNULL(A2.明细区域,'') END as 'DetailArea',
CASE WHEN ISNULL(W4.FNAME,'') = '' THEN W1.FNAME ELSE W4.FNAME END as 'Salesperson',
ISNULL(E.FPERFORMANCETARGETS,0) as 'FPERFORMANCETARGETS', --> 2024年业绩目标万元
CASE WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 100302 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
CASE WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 100302 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
THEN ISNULL(W3.FSHAREAMOUNT,0)/10000
WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 100302 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 100302 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
ELSE 0
END as '2024Pilot', -->2024派诺
CASE WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 100303 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
CASE WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 100303 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
THEN ISNULL(W3.FSHAREAMOUNT,0)/10000
WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 100303 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 100303 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
ELSE 0
END as '2024SiNO', -->2024兴诺
CASE WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 100305 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
CASE WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 100305 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
THEN ISNULL(W3.FSHAREAMOUNT,0)/10000
WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 100305 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 100305 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
ELSE 0
END as '2024WuHanPilot', -->2024武汉兴诺
CASE WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 438223 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
CASE WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 438223 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
THEN ISNULL(W3.FSHAREAMOUNT,0)/10000
WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 438223 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 438223 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
ELSE 0
END as '2024Discovery', -->2024碳索
CASE WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 438224 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
CASE WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 438224 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
THEN ISNULL(W3.FSHAREAMOUNT,0)/10000
WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 438224 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 438224 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
ELSE 0
END as '2024HongKongPilot', -->2024香港兴诺
CASE WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 533896 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
CASE WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 533896 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
THEN ISNULL(W3.FSHAREAMOUNT,0)/10000
WHEN YEAR(D.FDATE) = {0} AND D.FSaleOrgId = 533896 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
WHEN YEAR(D.FApproveDate) = {0} AND D.FSaleOrgId = 533896 THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
ELSE 0
END as '2024HuaXiaYunLian', -->2024华夏云联
CASE WHEN YEAR(D.FDATE) < {0} AND D.FSalerId = D.FSALERID
CASE WHEN YEAR(D.FApproveDate) < {0} AND D.FSalerId = D.FSALERID
THEN
ISNULL(((SELECT
CAST(JSON_VALUE(CAST(FJSONDATA AS NVARCHAR(MAX)), '$.SaleOrderFinance[0].BillAllAmount_LC') as decimal(23,10) ) AS FPrice
@@ -411,14 +411,14 @@ namespace Pilot.Report.Exploitation.ResultsKanbanSummary
AND FBILLNO = D.FBILLNO))/10000,0)
ELSE 0
END as 'UsualAlterAmount', --> 往年订单变更金额(派诺&子公司合计)
CASE WHEN YEAR(D.FDATE) = {0} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
CASE WHEN YEAR(D.FApproveDate) = {0} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
THEN ISNULL(W3.FSHAREAMOUNT,0)/10000
WHEN YEAR(D.FDATE) = {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
WHEN YEAR(D.FApproveDate) = {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
ELSE 0
END as '2024SumAmount', -->2024合计业绩额
CASE WHEN YEAR(D.FDATE) = {1} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
CASE WHEN YEAR(D.FApproveDate) = {1} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
THEN ISNULL(W3.FSHAREAMOUNT,0)/10000
WHEN YEAR(D.FDATE) = {1} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
WHEN YEAR(D.FApproveDate) = {1} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)/10000
ELSE 0
END as '2023SumAmount', -->2023合计业绩额
ISNULL(E.FPAYMENTSUM,0) as 'FPAYMENTSUM', -->回款目标(万元)
@@ -525,11 +525,11 @@ namespace Pilot.Report.Exploitation.ResultsKanbanSummary
}
if (!string.IsNullOrEmpty(fStrartDate))
{
sql += string.Format(@" AND D.FDate >= '{0}'", fStrartDate);
sql += string.Format(@" AND D.FApproveDate >= '{0}'", fStrartDate);
}
if (!string.IsNullOrEmpty(fEndDate))
{
sql += string.Format(@" AND D.FDate <= '{0}'", fEndDate);
sql += string.Format(@" AND D.FApproveDate <= '{0}'", fEndDate);
}
if (!string.IsNullOrEmpty(fSDate))
{
@@ -682,8 +682,7 @@ namespace Pilot.Report.Exploitation.ResultsKanbanSummary
(
{0}
UNION ALL
SELECT
null,
SELECT
null,
'合计:',
null,
@@ -701,6 +700,7 @@ namespace Pilot.Report.Exploitation.ResultsKanbanSummary
SUM(Payment),
SUM(ShippedReceivables),
SUM(ExpiredReceivables),
null,
3,
{2} FID,
{2} FIDENTITYID