2025-03-21 19:32:34 +08:00

1324 lines
65 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Kingdee.BOS.App.Data;
using Kingdee.BOS;
using Kingdee.BOS.Contracts.Report;
using Kingdee.BOS.Core.Report;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Pilot.Report.Exploitation.PublicClass;
using Kingdee.BOS.Log;
using Pilot.Report.Exploitation.Common;
using NPOI.Util;
namespace Pilot.Report.Exploitation.AnnualSalesPaymentSum
{
[Description("【列表插件】年度销售额&回款额汇总【报表】"), HotUpdate]
public class AnnualSalesPaymentSumReport: SysReportBaseService
{
private string tableNameView = EnvironmentTEST.tableNameView_TEST;
/// <summary>
/// 初始化
/// </summary>
public override void Initialize()
{
base.Initialize();
this.ReportProperty.ReportName = new LocaleValue("年度销售额-回款额汇总", base.Context.UserLocale.LCID);
this.ReportProperty.IsUIDesignerColumns = false;
// 简单账表类型:普通、树形、分页
this.ReportProperty.ReportType = ReportType.REPORTTYPE_NORMAL;
this.IsCreateTempTableByPlugin = true;
//
this.IsCreateTempTableByPlugin = true;
//
this.ReportProperty.IsGroupSummary = true;
//
this.ReportProperty.SimpleAllCols = false;
// 单据主键两行FID相同则为同一单的两条分录单据编号可以不重复显示
this.ReportProperty.PrimaryKeyFieldName = "FID";
//
this.ReportProperty.IsDefaultOnlyDspSumAndDetailData = true;
// 设置精度控制
var list = new List<DecimalControlField>
{
//new DecimalControlField("FDECIMALS", "OrigInvoiceAmount"),
//new DecimalControlField("FDECIMALS", "ExchangeRate"),
//new DecimalControlField("FDECIMALS", "InvoiceAmountTHB"),
//new DecimalControlField("FDECIMALS", "MonthEndExRate"),
//new DecimalControlField("FDECIMALS", "RevaluationAountInTHB"),
//new DecimalControlField("FDECIMALS", "UnrealizedGainLoss"),
};
this.ReportProperty.DecimalControlFieldList = list;
}
/// <summary>
/// 报表列表头
/// </summary>
/// <param name="filter"></param>
/// <returns></returns>
public override ReportHeader GetReportHeaders(IRptParams filter)
{
base.GetReportHeaders(filter);
ReportHeader header = new ReportHeader();
header.AddChild("Salesperson", new LocaleValue("销售员"), SqlStorageType.Sqlvarchar);
header.AddChild("X1Month", new LocaleValue("1月(销售额)"), SqlStorageType.SqlDecimal);
header.AddChild("H1Month", new LocaleValue("1月(回款额)"), SqlStorageType.SqlDecimal);
header.AddChild("X2Month", new LocaleValue("2月(销售额)"), SqlStorageType.SqlDecimal);
header.AddChild("H2Month", new LocaleValue("2月(回款额)"), SqlStorageType.SqlDecimal);
header.AddChild("X2Month", new LocaleValue("3月(销售额)"), SqlStorageType.SqlDecimal);
header.AddChild("H3Month", new LocaleValue("3月(回款额)"), SqlStorageType.SqlDecimal);
header.AddChild("X4Month", new LocaleValue("4月(销售额)"), SqlStorageType.SqlDecimal);
header.AddChild("H4Month", new LocaleValue("4月(回款额)"), SqlStorageType.SqlDecimal);
header.AddChild("X5Month", new LocaleValue("5月(销售额)"), SqlStorageType.SqlDecimal);
header.AddChild("H5Month", new LocaleValue("5月(回款额)"), SqlStorageType.SqlDecimal);
header.AddChild("X6Month", new LocaleValue("6月(销售额)"), SqlStorageType.SqlDecimal);
header.AddChild("H6Month", new LocaleValue("6月(回款额)"), SqlStorageType.SqlDecimal);
header.AddChild("X7Month", new LocaleValue("7月(销售额)"), SqlStorageType.SqlDecimal);
header.AddChild("H7Month", new LocaleValue("7月(回款额)"), SqlStorageType.SqlDecimal);
header.AddChild("X8Month", new LocaleValue("8月(销售额)"), SqlStorageType.SqlDecimal);
header.AddChild("H8Month", new LocaleValue("8月(回款额)"), SqlStorageType.SqlDecimal);
header.AddChild("X9Month", new LocaleValue("9月(销售额)"), SqlStorageType.SqlDecimal);
header.AddChild("H9Month", new LocaleValue("9月(回款额)"), SqlStorageType.SqlDecimal);
header.AddChild("X10Month", new LocaleValue("10月(销售额)"), SqlStorageType.SqlDecimal);
header.AddChild("H10Month", new LocaleValue("10月(回款额)"), SqlStorageType.SqlDecimal);
header.AddChild("X11Month", new LocaleValue("11月(销售额)"), SqlStorageType.SqlDecimal);
header.AddChild("H11Month", new LocaleValue("11月(回款额)"), SqlStorageType.SqlDecimal);
header.AddChild("X12Month", new LocaleValue("12月(销售额)"), SqlStorageType.SqlDecimal);
header.AddChild("H12Month", new LocaleValue("12月(回款额)"), SqlStorageType.SqlDecimal);
header.AddChild("XCumulative", new LocaleValue("累计销售额"), SqlStorageType.SqlDecimal);
header.AddChild("HCumulative", new LocaleValue("累计回款额"), SqlStorageType.SqlDecimal);
header.AddChild("UsualAlterAmount", new LocaleValue("往年订单变更金额"), SqlStorageType.SqlDecimal);
header.AddChild("ZhuhaiPilot", new LocaleValue("珠海派诺业绩合计"), SqlStorageType.SqlDecimal);
header.AddChild("SiNO", new LocaleValue("兴诺业绩"), SqlStorageType.SqlDecimal);
header.AddChild("SiNOUsualAlter", new LocaleValue("兴诺往年订单变更"), SqlStorageType.SqlDecimal);
header.AddChild("WuhanPilotThisYear", new LocaleValue("武汉派诺-当年业绩"), SqlStorageType.SqlDecimal);
header.AddChild("WuhanPilotUsualAlter", new LocaleValue("武汉派诺-往年订单变更"), SqlStorageType.SqlDecimal);
header.AddChild("Discovery", new LocaleValue("碳索业绩"), SqlStorageType.SqlDecimal);
header.AddChild("HongKongPilot", new LocaleValue("香港派诺业绩"), SqlStorageType.SqlDecimal);
header.AddChild("HuaXiaYunLian", new LocaleValue("华夏云联业绩"), SqlStorageType.SqlDecimal);
header.AddChild("PilotSumAmount", new LocaleValue("派诺集团最终业绩合计金额"), SqlStorageType.SqlDecimal);
header.AddChild("SBU", new LocaleValue("SBU"), SqlStorageType.Sqlvarchar);
header.AddChild("DetailArea", new LocaleValue("明细区域"), SqlStorageType.Sqlvarchar);
foreach (var item in header.GetChilds())
{
item.Width = 160;
}
return header;
}
#region SQL
///// <summary>
///// 显示报表数据
///// </summary>
///// <param name="filter"></param>
///// <param name="tableName"></param>
//public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
//{
// DynamicObject customFilter = filter.FilterParameter.CustomFilter;
// // 销售员列表
// var salesperson = (customFilter["F_Salesperson"] as DynamicObjectCollection)?.Select(n => (n["F_Salesperson"] as DynamicObject)["msterID"].ToString()).ToList();
// // 销售员
// var salespersonString = salesperson == null ? "" : string.Join(",", salesperson);
// // 组织列表
// var organizationList = (customFilter["FZuZhi"] as DynamicObjectCollection)?.Select(n => (n["FZuZhi"] as DynamicObject)["ID"].ToString()).ToList();
// // 组织
// var organization = organizationList == null ? "" : (string.Join(",", organizationList));
// //// 开始日期
// //string fStrartDate = customFilter["FStrartDate"]?.ToString();
// //// 结束日期
// //string fEndDate = customFilter["FEndDate"]?.ToString();
// //// 审核开始日期
// //string fSDate = customFilter["FSDate"]?.ToString();
// //// 审核结束日期
// //string fEDate = customFilter["FEDate"]?.ToString();
// // 下单时间
// string fDate = customFilter["F_Date"]?.ToString();
// int year = Convert.ToInt32(fDate.Split('-')[0]);
// base.BuilderReportSqlAndTempTable(filter, tableName);
// string sql = string.Format(@"/*dialect*/
// Select
// CASE WHEN ISNULL(W4.FNAME,'') = '' THEN W1.FNAME
// ELSE W4.FNAME END as 'Salesperson', --销售员
// CASE WHEN Month(D.FDATE)= 1 AND YEAR(D.FDATE)= {0} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
// THEN ISNULL(W3.FSHAREAMOUNT,0)
// WHEN Month(D.FDATE)= 1 AND YEAR(D.FDATE)= {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)
// ELSE 0
// END as 'XOneMonth', --> 一月销售额
// CASE WHEN MONTH(D.FDATE) = 1 AND YEAR(D.FDATE)= {0}
// THEN ISNULL(E.FALLAMOUNT,0)
// ELSE 0
// END as 'HOneMonth', --> 一月回款额
// CASE WHEN Month(D.FDATE)= 2 AND YEAR(D.FDATE)= {0} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
// THEN ISNULL(W3.FSHAREAMOUNT,0)
// WHEN Month(D.FDATE)= 2 AND YEAR(D.FDATE)= {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)
// ELSE 0
// END as 'XTwoMonth', --> 二月销售额
// CASE WHEN MONTH(D.FDATE) = 2 AND YEAR(D.FDATE)= {0}
// THEN ISNULL(E.FALLAMOUNT,0)
// ELSE 0
// END as 'HTwoMonth', --> 二月回款额
// CASE WHEN Month(D.FDATE)= 3 AND YEAR(D.FDATE)= {0} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
// THEN ISNULL(W3.FSHAREAMOUNT,0)
// WHEN Month(D.FDATE)= 3 AND YEAR(D.FDATE)= {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)
// ELSE 0
// END as 'XThreeMonth', --> 三月销售额
// CASE WHEN MONTH(D.FDATE) = 3 AND YEAR(D.FDATE)= {0}
// THEN ISNULL(E.FALLAMOUNT,0)
// ELSE 0
// END as 'HThreeMonth', --> 三月回款额
// CASE WHEN Month(D.FDATE)= 4 AND YEAR(D.FDATE)= {0} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
// THEN ISNULL(W3.FSHAREAMOUNT,0)
// WHEN Month(D.FDATE)= 4 AND YEAR(D.FDATE)= {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)
// ELSE 0
// END as 'XFourMonth', --> 四月销售额
// CASE WHEN MONTH(D.FDATE) = 4 AND YEAR(D.FDATE)= {0}
// THEN ISNULL(E.FALLAMOUNT,0)
// ELSE 0
// END as 'HFourMonth', --> 四月回款额
// CASE WHEN Month(D.FDATE)= 5 AND YEAR(D.FDATE)= {0} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
// THEN ISNULL(W3.FSHAREAMOUNT,0)
// WHEN Month(D.FDATE)= 5 AND YEAR(D.FDATE)= {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)
// ELSE 0
// END as 'XFiveMonth', --> 五月销售额
// CASE WHEN MONTH(D.FDATE) = 5 AND YEAR(D.FDATE)= {0}
// THEN ISNULL(E.FALLAMOUNT,0)
// ELSE 0
// END as 'HFiveMonth', --> 五月回款额
// CASE WHEN Month(D.FDATE)= 6 AND YEAR(D.FDATE)= {0} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
// THEN ISNULL(W3.FSHAREAMOUNT,0)
// WHEN Month(D.FDATE)= 6 AND YEAR(D.FDATE)= {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)
// ELSE 0
// END as 'XSixMonth', --> 六月销售额
// CASE WHEN MONTH(D.FDATE) = 6 AND YEAR(D.FDATE)= {0}
// THEN ISNULL(E.FALLAMOUNT,0)
// ELSE 0
// END as 'HSixMonth', --> 六月回款额
// CASE WHEN Month(D.FDATE)= 7 AND YEAR(D.FDATE)= {0} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
// THEN ISNULL(W3.FSHAREAMOUNT,0)
// WHEN Month(D.FDATE)= 7 AND YEAR(D.FDATE)= {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)
// ELSE 0
// END as 'XSevenMonth', --> 七月销售额
// CASE WHEN MONTH(D.FDATE) = 7 AND YEAR(D.FDATE)= {0}
// THEN ISNULL(E.FALLAMOUNT,0)
// ELSE 0
// END as 'HSevenMonth', --> 七月回款额
// CASE WHEN Month(D.FDATE)= 8 AND YEAR(D.FDATE)= {0} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
// THEN ISNULL(W3.FSHAREAMOUNT,0)
// WHEN Month(D.FDATE)= 8 AND YEAR(D.FDATE)= {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)
// ELSE 0
// END as 'XEightMonth', --> 八月销售额
// CASE WHEN MONTH(D.FDATE) = 8 AND YEAR(D.FDATE)= {0}
// THEN ISNULL(E.FALLAMOUNT,0)
// ELSE 0
// END as 'HEightMonth', --> 八月回款额
// CASE WHEN Month(D.FDATE)= 9 AND YEAR(D.FDATE)= {0} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
// THEN ISNULL(W3.FSHAREAMOUNT,0)
// WHEN Month(D.FDATE)= 9 AND YEAR(D.FDATE)= {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)
// ELSE 0
// END as 'XNineMonth', --> 九月销售额
// CASE WHEN MONTH(D.FDATE) = 9 AND YEAR(D.FDATE)= {0}
// THEN ISNULL(E.FALLAMOUNT,0)
// ELSE 0
// END as 'HNineMonth', --> 九月回款额
// CASE WHEN Month(D.FDATE)= 10 AND YEAR(D.FDATE)= {0} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
// THEN ISNULL(W3.FSHAREAMOUNT,0)
// WHEN Month(D.FDATE)= 10 AND YEAR(D.FDATE)= {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)
// ELSE 0
// END as 'XTenMonth', --> 十月销售额
// CASE WHEN MONTH(D.FDATE) = 10 AND YEAR(D.FDATE)= {0}
// THEN ISNULL(E.FALLAMOUNT,0)
// ELSE 0
// END as 'HTenMonth', --> 十月回款额
// CASE WHEN Month(D.FDATE)= 11 AND YEAR(D.FDATE)= {0} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
// THEN ISNULL(W3.FSHAREAMOUNT,0)
// WHEN Month(D.FDATE)= 11 AND YEAR(D.FDATE)= {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)
// ELSE 0
// END as 'XElevenMonth', --> 十一月销售额
// CASE WHEN MONTH(D.FDATE) = 11 AND YEAR(D.FDATE)= {0}
// THEN ISNULL(E.FALLAMOUNT,0)
// ELSE 0
// END as 'HElevenMonth', --> 十一月回款额
// CASE WHEN Month(D.FDATE)= 12 AND YEAR(D.FDATE)= {0} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
// THEN ISNULL(W3.FSHAREAMOUNT,0)
// WHEN Month(D.FDATE)= 12 AND YEAR(D.FDATE)= {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)
// ELSE 0
// END as 'XTwelveMonth', --> 十二月销售额
// CASE WHEN MONTH(D.FDATE) = 12 AND YEAR(D.FDATE)= {0}
// THEN ISNULL(E.FALLAMOUNT,0)
// ELSE 0
// END as 'HTwelveMonth', --> 十二月回款额
// CASE WHEN YEAR(D.FDATE)= {0} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
// THEN ISNULL(W3.FSHAREAMOUNT,0)
// WHEN YEAR(D.FDATE)= {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)
// ELSE 0
// END as 'XCumulative', --> 累计销售额
// CASE WHEN YEAR(D.FDATE)= {0}
// THEN ISNULL(E.FALLAMOUNT,0)
// ELSE 0
// END as 'HCumulative', --> 累计回款额
// CASE WHEN YEAR(D.FDATE) < {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
// From T_SCM_BILLCHANGEVERSIONS
// WHere FVERSION =
// (
// Select MAX(FVERSION) as FVERSION From T_SCM_BILLCHANGEVERSIONS
// WHERE
// FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = D.FBILLNO
// )
// AND FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = D.FBILLNO)
// -
// (SELECT
// CAST(JSON_VALUE(CAST(FJSONDATA AS NVARCHAR(MAX)), '$.SaleOrderFinance[0].BillAllAmount_LC') as decimal(23,10) ) AS FPrice
// From T_SCM_BILLCHANGEVERSIONS
// WHere FVERSION =
// (
// Select MIN(FVERSION) as FVERSION From T_SCM_BILLCHANGEVERSIONS
// WHERE
// FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = D.FBILLNO
// )
// AND FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = D.FBILLNO)),0)
// ELSE 0
// END as 'UsualAlterAmount', --> 往年订单变更金额
// CASE WHEN D.FSaleOrgId = 100302 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
// THEN ISNULL(W3.FSHAREAMOUNT,0)
// WHEN YEAR(D.FDATE)= {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)
// ELSE 0
// END as 'ZhuhaiPilot', --> 珠海派诺业绩合计
// CASE WHEN D.FSaleOrgId = 100303 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
// THEN ISNULL(W3.FSHAREAMOUNT,0)
// WHEN YEAR(D.FDATE)= {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)
// ELSE 0
// END as 'SiNO', --> 兴诺合计
// CASE WHEN YEAR(D.FDATE) < {0} AND D.FSalerId = D.FSALERID AND D.FSaleOrgId = 100303 --兴诺
// THEN
// ISNULL(((SELECT
// CAST(JSON_VALUE(CAST(FJSONDATA AS NVARCHAR(MAX)), '$.SaleOrderFinance[0].BillAllAmount_LC') as decimal(23,10) ) AS FPrice
// From T_SCM_BILLCHANGEVERSIONS
// WHere FVERSION =
// (
// Select MAX(FVERSION) as FVERSION From T_SCM_BILLCHANGEVERSIONS
// WHERE
// FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = D.FBILLNO
// )
// AND FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = D.FBILLNO)
// -
// (SELECT
// CAST(JSON_VALUE(CAST(FJSONDATA AS NVARCHAR(MAX)), '$.SaleOrderFinance[0].BillAllAmount_LC') as decimal(23,10) ) AS FPrice
// From T_SCM_BILLCHANGEVERSIONS
// WHere FVERSION =
// (
// Select MIN(FVERSION) as FVERSION From T_SCM_BILLCHANGEVERSIONS
// WHERE
// FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = D.FBILLNO
// )
// AND FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = D.FBILLNO)),0)
// ELSE 0
// END as 'SiNOUsualAlter', --> 兴诺往年订单变更
// CASE WHEN D.FSaleOrgId = 100305 AND YEAR(D.FDATE) = {0} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
// THEN ISNULL(W3.FSHAREAMOUNT,0)
// WHEN YEAR(D.FDATE)= {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)
// ELSE 0
// END as 'WuhanPilotThisYear', --> 武汉派诺-当年业绩
// CASE WHEN YEAR(D.FDATE) < {0} AND D.FSalerId = D.FSALERID AND D.FSaleOrgId = 100305 --武汉派诺
// THEN
// ISNULL(((SELECT
// CAST(JSON_VALUE(CAST(FJSONDATA AS NVARCHAR(MAX)), '$.SaleOrderFinance[0].BillAllAmount_LC') as decimal(23,10) ) AS FPrice
// From T_SCM_BILLCHANGEVERSIONS
// WHere FVERSION =
// (
// Select MAX(FVERSION) as FVERSION From T_SCM_BILLCHANGEVERSIONS
// WHERE
// FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = D.FBILLNO
// )
// AND FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = D.FBILLNO)
// -
// (SELECT
// CAST(JSON_VALUE(CAST(FJSONDATA AS NVARCHAR(MAX)), '$.SaleOrderFinance[0].BillAllAmount_LC') as decimal(23,10) ) AS FPrice
// From T_SCM_BILLCHANGEVERSIONS
// WHere FVERSION =
// (
// Select MIN(FVERSION) as FVERSION From T_SCM_BILLCHANGEVERSIONS
// WHERE
// FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = D.FBILLNO
// )
// AND FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = D.FBILLNO)),0)
// ELSE 0
// END as 'WuhanPilotUsualAlter', --> 武汉派诺-往年订单变更
// CASE WHEN D.FSaleOrgId = 438223 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
// THEN ISNULL(W3.FSHAREAMOUNT,0)
// WHEN YEAR(D.FDATE)= {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)
// ELSE 0
// END as 'Discovery', --> 碳索业绩
// CASE WHEN D.FSaleOrgId = 438224 AND YEAR(D.FDATE) = {0} AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
// THEN ISNULL(W3.FSHAREAMOUNT,0)
// WHEN YEAR(D.FDATE)= {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)
// ELSE 0
// END as 'HongKongPilot', --> 香港派诺业绩
// CASE WHEN D.FSaleOrgId = 533896 AND ISNULL(W3.FSHAREAMOUNT,-1)!=-1
// THEN ISNULL(W3.FSHAREAMOUNT,0)
// WHEN YEAR(D.FDATE)= {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)
// ELSE 0
// END as 'HuaXiaYunLian', --> 华夏云联业绩
// CASE WHEN ISNULL(W3.FSHAREAMOUNT,-1)!=-1
// THEN ISNULL(W3.FSHAREAMOUNT,0)
// WHEN YEAR(D.FDATE)= {0} THEN ISNULL(DD.FBILLALLAMOUNT_LC,0)
// ELSE 0
// END as 'PilotSumAmount', --> 派诺集团最终业绩合计金额
// ISNULL(A.区域,'') as 'SBU',
// ISNULL(A.明细区域,'') as 'DetailArea'
// INTO #TempTable1
// From
// T_SAL_ORDER D --销售订单
// LEFT JOIN T_SAL_ORDERFIN DD on D.FID = DD.FID
// LEFT JOIN
// V_BD_SALESMAN_L W1 on W1.fid = D.FSALERID
// LEFT JOIN
// T_PerformanceSharing W2 on W2.FSOURCEBILLNO = D.FBILLNO
// LEFT JOIN
// T_PerformanceSharingEntry W3 on W2.FID = W3.FID
// LEFT JOIN
// V_BD_SALESMAN_L W4 on W3.FSALEID = W4.fid
// LEFT JOIN
// ERPTOHR.HYHRV3.dbo.v_erp_empinfo A on W1.FNAME = A.名称
// LEFT JOIN
// (Select FNumber,FENTRYID From T_BAS_ASSISTANTDATAENTRY Where FID = '670cc977263353') W8 --合同类型
// on W8.FENTRYID = D.F_ORDERCATEGORY
// LEFT JOIN
// (Select
// a1.FORDERNUMBER,
// SUM(a1.FALLAMOUNT) as 'FALLAMOUNT'
// From
// T_AR_RECEIVABLEENTRY a1
// JOIN
// T_AR_RECEIVABLE a2
// on a1.FID = a2.FID
// Where a1.FORDERNUMBER != '' AND a2.FSETACCOUNTTYPE = 3
// GROUP BY a1.FORDERNUMBER) E
// on D.FBILLNO = E.FORDERNUMBER
// -- 条件
// Where D.FDocumentStatus = 'C' AND W8.FNumber != 'Z' --AND D.FID in (Select * From #TABLEXYX)
// ", year, year - 1, tableNameView);
// if (!string.IsNullOrEmpty(salespersonString))
// {
// sql += string.Format(@" AND (W3.FSALEID in ({0}) or D.FSALERID in ({0}))", salespersonString);
// }
// if (!string.IsNullOrEmpty(organization))
// {
// sql += string.Format(@" AND D.FSALEORGID in ({0})", organization);
// }
// //if (!string.IsNullOrEmpty(fStrartDate))
// //{
// // sql += string.Format(@" AND D.FDate >= '{0}'", fStrartDate);
// //}
// //if (!string.IsNullOrEmpty(fEndDate))
// //{
// // sql += string.Format(@" AND D.FDate <= '{0}'", fEndDate);
// //}
// sql += string.Format(@";");
// sql += string.Format(@"/*dialect*/
// Select
// Salesperson,
// ISNULL(SUM(XOneMonth),0) as 'XOneMonth',
// ISNULL(SUM(HOneMonth),0) as 'HOneMonth',
// ISNULL(SUM(XTwoMonth),0) as 'XTwoMonth',
// ISNULL(SUM(HTwoMonth),0) as 'HTwoMonth',
// ISNULL(SUM(XThreeMonth),0) as 'XThreeMonth',
// ISNULL(SUM(HThreeMonth),0) as 'HThreeMonth',
// ISNULL(SUM(XFourMonth),0) as 'XFourMonth',
// ISNULL(SUM(HFourMonth),0) as 'HFourMonth',
// ISNULL(SUM(XFiveMonth),0) as 'XFiveMonth',
// ISNULL(SUM(HFiveMonth),0) as 'HFiveMonth',
// ISNULL(SUM(XSixMonth),0) as 'XSixMonth',
// ISNULL(SUM(HSixMonth),0) as 'HSixMonth',
// ISNULL(SUM(XSevenMonth),0) as 'XSevenMonth',
// ISNULL(SUM(HSevenMonth),0) as 'HSevenMonth',
// ISNULL(SUM(XEightMonth),0) as 'XEightMonth',
// ISNULL(SUM(HEightMonth),0) as 'HEightMonth',
// ISNULL(SUM(XNineMonth),0) as 'XNineMonth',
// ISNULL(SUM(HNineMonth),0) as 'HNineMonth',
// ISNULL(SUM(XTenMonth),0) as 'XTenMonth',
// ISNULL(SUM(HTenMonth),0) as 'HTenMonth',
// ISNULL(SUM(XElevenMonth),0) as 'XElevenMonth',
// ISNULL(SUM(HElevenMonth),0) as 'HElevenMonth',
// ISNULL(SUM(XTwelveMonth),0) as 'XTwelveMonth',
// ISNULL(SUM(HTwelveMonth),0) as 'HTwelveMonth',
// ISNULL(SUM(XCumulative),0) as 'XCumulative',
// ISNULL(SUM(HCumulative),0) as 'HCumulative',
// ISNULL(SUM(UsualAlterAmount),0) as 'UsualAlterAmount',
// ISNULL(SUM(ZhuhaiPilot),0) as 'ZhuhaiPilot',
// ISNULL(SUM(SiNO),0) as 'SiNO',
// ISNULL(SUM(SiNOUsualAlter),0) as 'SiNOUsualAlter',
// ISNULL(SUM(WuhanPilotThisYear),0) as 'WuhanPilotThisYear',
// ISNULL(SUM(WuhanPilotUsualAlter),0) as 'WuhanPilotUsualAlter',
// ISNULL(SUM(Discovery),0) as 'Discovery',
// ISNULL(SUM(HongKongPilot),0) as 'HongKongPilot',
// ISNULL(SUM(HuaXiaYunLian),0) as 'HuaXiaYunLian',
// ISNULL(SUM(PilotSumAmount),0) as 'PilotSumAmount',
// SBU,
// DetailArea,
// 0 Sort
// Into #TempTable2
// From
// #TempTable1
// Group by Salesperson,SBU,DetailArea;");
// sql += string.Format(@"/*dialect*/
// Select
// *
// INTO #TempTable3
// From (SELECT * FROM #TempTable2
// UNION ALL
// Select
// (t1.SBU+'小计'),
// ISNULL(SUM(t1.XOneMonth),0),
// ISNULL(SUM(t1.HOneMonth),0),
// ISNULL(SUM(t1.XTwoMonth),0),
// ISNULL(SUM(t1.HTwoMonth),0),
// ISNULL(SUM(t1.XThreeMonth),0),
// ISNULL(SUM(t1.HThreeMonth),0),
// ISNULL(SUM(t1.XFourMonth),0),
// ISNULL(SUM(t1.HFourMonth),0),
// ISNULL(SUM(t1.XFiveMonth),0),
// ISNULL(SUM(t1.HFiveMonth),0),
// ISNULL(SUM(t1.XSixMonth),0),
// ISNULL(SUM(t1.HSixMonth),0),
// ISNULL(SUM(t1.XSevenMonth),0),
// ISNULL(SUM(t1.HSevenMonth),0),
// ISNULL(SUM(t1.XEightMonth),0),
// ISNULL(SUM(t1.HEightMonth),0),
// ISNULL(SUM(t1.XNineMonth),0),
// ISNULL(SUM(t1.HNineMonth),0),
// ISNULL(SUM(t1.XTenMonth),0),
// ISNULL(SUM(t1.HTenMonth),0),
// ISNULL(SUM(t1.XElevenMonth),0),
// ISNULL(SUM(t1.HElevenMonth),0),
// ISNULL(SUM(t1.XTwelveMonth),0),
// ISNULL(SUM(t1.HTwelveMonth),0),
// ISNULL(SUM(t1.XCumulative),0),
// ISNULL(SUM(t1.HCumulative),0),
// ISNULL(SUM(t1.UsualAlterAmount),0),
// ISNULL(SUM(t1.ZhuhaiPilot),0),
// ISNULL(SUM(t1.SiNO),0),
// ISNULL(SUM(t1.SiNOUsualAlter),0),
// ISNULL(SUM(t1.WuhanPilotThisYear),0),
// ISNULL(SUM(t1.WuhanPilotUsualAlter),0),
// ISNULL(SUM(t1.Discovery),0),
// ISNULL(SUM(t1.HongKongPilot),0),
// ISNULL(SUM(t1.HuaXiaYunLian),0),
// ISNULL(SUM(t1.PilotSumAmount),0),
// t1.SBU,
// '',
// 1 Sort
// From #TempTable2 t1 GROUP BY t1.SBU) t1
// ORDER BY t1.SBU,Sort;
// SELECT
// *
// INTO #TempTable4
// FROM #TempTable3
// UNION ALL
// Select
// '事业部+海外+市场部+EMT/售后团队+产品线+市场部+商运部-小计' as 'Salesperson',
// ISNULL(SUM(XOneMonth),0) as 'XOneMonth',
// ISNULL(SUM(HOneMonth),0) as 'HOneMonth',
// ISNULL(SUM(XTwoMonth),0) as 'XTwoMonth',
// ISNULL(SUM(HTwoMonth),0) as 'HTwoMonth',
// ISNULL(SUM(XThreeMonth),0) as 'XThreeMonth',
// ISNULL(SUM(HThreeMonth),0) as 'HThreeMonth',
// ISNULL(SUM(XFourMonth),0) as 'XFourMonth',
// ISNULL(SUM(HFourMonth),0) as 'HFourMonth',
// ISNULL(SUM(XFiveMonth),0) as 'XFiveMonth',
// ISNULL(SUM(HFiveMonth),0) as 'HFiveMonth',
// ISNULL(SUM(XSixMonth),0) as 'XSixMonth',
// ISNULL(SUM(HSixMonth),0) as 'HSixMonth',
// ISNULL(SUM(XSevenMonth),0) as 'XSevenMonth',
// ISNULL(SUM(HSevenMonth),0) as 'HSevenMonth',
// ISNULL(SUM(XEightMonth),0) as 'XEightMonth',
// ISNULL(SUM(HEightMonth),0) as 'HEightMonth',
// ISNULL(SUM(XNineMonth),0) as 'XNineMonth',
// ISNULL(SUM(HNineMonth),0) as 'HNineMonth',
// ISNULL(SUM(XTenMonth),0) as 'XTenMonth',
// ISNULL(SUM(HTenMonth),0) as 'HTenMonth',
// ISNULL(SUM(XElevenMonth),0) as 'XElevenMonth',
// ISNULL(SUM(HElevenMonth),0) as 'HElevenMonth',
// ISNULL(SUM(XTwelveMonth),0) as 'XTwelveMonth',
// ISNULL(SUM(HTwelveMonth),0) as 'HTwelveMonth',
// ISNULL(SUM(XCumulative),0) as 'XCumulative',
// ISNULL(SUM(HCumulative),0) as 'HCumulative',
// ISNULL(SUM(UsualAlterAmount),0) as 'UsualAlterAmount',
// ISNULL(SUM(ZhuhaiPilot),0) as 'ZhuhaiPilot',
// ISNULL(SUM(SiNO),0) as 'SiNO',
// ISNULL(SUM(SiNOUsualAlter),0) as 'SiNOUsualAlter',
// ISNULL(SUM(WuhanPilotThisYear),0) as 'WuhanPilotThisYear',
// ISNULL(SUM(WuhanPilotUsualAlter),0) as 'WuhanPilotUsualAlter',
// ISNULL(SUM(Discovery),0) as 'Discovery',
// ISNULL(SUM(HongKongPilot),0) as 'HongKongPilot',
// ISNULL(SUM(HuaXiaYunLian),0) as 'HuaXiaYunLian',
// ISNULL(SUM(PilotSumAmount),0) as 'PilotSumAmount',
// '',
// '',
// 1 Sort
// From
// #TempTable2
// Where SBU in ('事业部','海外','市场部','EMT/售后团队','产品线','市场部','商运部')
// UNION ALL
// Select
// '派诺集团合计(行业线+SBU+事业部+海外+市场部+EMT团队+产品线+市场部+其他+各子公司)' as 'Salesperson',
// ISNULL(SUM(XOneMonth),0) as 'XOneMonth',
// ISNULL(SUM(HOneMonth),0) as 'HOneMonth',
// ISNULL(SUM(XTwoMonth),0) as 'XTwoMonth',
// ISNULL(SUM(HTwoMonth),0) as 'HTwoMonth',
// ISNULL(SUM(XThreeMonth),0) as 'XThreeMonth',
// ISNULL(SUM(HThreeMonth),0) as 'HThreeMonth',
// ISNULL(SUM(XFourMonth),0) as 'XFourMonth',
// ISNULL(SUM(HFourMonth),0) as 'HFourMonth',
// ISNULL(SUM(XFiveMonth),0) as 'XFiveMonth',
// ISNULL(SUM(HFiveMonth),0) as 'HFiveMonth',
// ISNULL(SUM(XSixMonth),0) as 'XSixMonth',
// ISNULL(SUM(HSixMonth),0) as 'HSixMonth',
// ISNULL(SUM(XSevenMonth),0) as 'XSevenMonth',
// ISNULL(SUM(HSevenMonth),0) as 'HSevenMonth',
// ISNULL(SUM(XEightMonth),0) as 'XEightMonth',
// ISNULL(SUM(HEightMonth),0) as 'HEightMonth',
// ISNULL(SUM(XNineMonth),0) as 'XNineMonth',
// ISNULL(SUM(HNineMonth),0) as 'HNineMonth',
// ISNULL(SUM(XTenMonth),0) as 'XTenMonth',
// ISNULL(SUM(HTenMonth),0) as 'HTenMonth',
// ISNULL(SUM(XElevenMonth),0) as 'XElevenMonth',
// ISNULL(SUM(HElevenMonth),0) as 'HElevenMonth',
// ISNULL(SUM(XTwelveMonth),0) as 'XTwelveMonth',
// ISNULL(SUM(HTwelveMonth),0) as 'HTwelveMonth',
// ISNULL(SUM(XCumulative),0) as 'XCumulative',
// ISNULL(SUM(HCumulative),0) as 'HCumulative',
// ISNULL(SUM(UsualAlterAmount),0) as 'UsualAlterAmount',
// ISNULL(SUM(ZhuhaiPilot),0) as 'ZhuhaiPilot',
// ISNULL(SUM(SiNO),0) as 'SiNO',
// ISNULL(SUM(SiNOUsualAlter),0) as 'SiNOUsualAlter',
// ISNULL(SUM(WuhanPilotThisYear),0) as 'WuhanPilotThisYear',
// ISNULL(SUM(WuhanPilotUsualAlter),0) as 'WuhanPilotUsualAlter',
// ISNULL(SUM(Discovery),0) as 'Discovery',
// ISNULL(SUM(HongKongPilot),0) as 'HongKongPilot',
// ISNULL(SUM(HuaXiaYunLian),0) as 'HuaXiaYunLian',
// ISNULL(SUM(PilotSumAmount),0) as 'PilotSumAmount',
// '',
// '',
// 2 Sort
// From
// #TempTable2;");
// sql += string.Format(@"/*dialect*/
// Select
// B.FNAME,
// ISNULL((Select SUM(a2.FBILLALLAMOUNT_LC) From T_SAL_ORDER a1 JOIN T_SAL_ORDERFIN a2 on a1.FID = a2.FID Where a1.FDocumentStatus = 'C'
// AND a1.FID = A.FID AND Month(A.FDATE)=1 AND YEAR(A.FDATE)={0}),0)
// as 'XOneMonth', --> 一月销售额
// CASE WHEN MONTH(A.FDATE) = 1
// THEN ISNULL(C.FALLAMOUNT,0)
// ELSE 0
// END as 'HOneMonth', --> 一月回款额
// ISNULL((Select SUM(a2.FBILLALLAMOUNT_LC) From T_SAL_ORDER a1 JOIN T_SAL_ORDERFIN a2 on a1.FID = a2.FID Where a1.FDocumentStatus = 'C'
// AND a1.FID = A.FID AND Month(A.FDATE)=2 AND YEAR(A.FDATE)={0}),0)
// as 'XTwoMonth', --> 二月销售额
// CASE WHEN MONTH(A.FDATE) = 2
// THEN ISNULL(C.FALLAMOUNT,0)
// ELSE 0
// END as 'HTwoMonth', --> 二月回款额
// ISNULL((Select SUM(a2.FBILLALLAMOUNT_LC) From T_SAL_ORDER a1 JOIN T_SAL_ORDERFIN a2 on a1.FID = a2.FID Where a1.FDocumentStatus = 'C'
// AND a1.FID = A.FID AND Month(A.FDATE)=3 AND YEAR(A.FDATE)={0}),0)
// as 'XThreeMonth', --> 三月销售额
// CASE WHEN MONTH(A.FDATE) = 3
// THEN ISNULL(C.FALLAMOUNT,0)
// ELSE 0
// END as 'HThreeMonth', --> 三月回款额
// ISNULL((Select SUM(a2.FBILLALLAMOUNT_LC) From T_SAL_ORDER a1 JOIN T_SAL_ORDERFIN a2 on a1.FID = a2.FID Where a1.FDocumentStatus = 'C'
// AND a1.FID = A.FID AND Month(A.FDATE)=4 AND YEAR(A.FDATE)={0}),0)
// as 'XFourMonth', --> 四月销售额
// CASE WHEN MONTH(A.FDATE) = 4
// THEN ISNULL(C.FALLAMOUNT,0)
// ELSE 0
// END as 'HFourMonth', --> 四月回款额
// ISNULL((Select SUM(a2.FBILLALLAMOUNT_LC) From T_SAL_ORDER a1 JOIN T_SAL_ORDERFIN a2 on a1.FID = a2.FID Where a1.FDocumentStatus = 'C'
// AND a1.FID = A.FID AND Month(A.FDATE)=5 AND YEAR(A.FDATE)={0}),0)
// as 'XFiveMonth', --> 五月销售额
// CASE WHEN MONTH(A.FDATE) = 5
// THEN ISNULL(C.FALLAMOUNT,0)
// ELSE 0
// END as 'HFiveMonth', --> 五月回款额
// ISNULL((Select SUM(a2.FBILLALLAMOUNT_LC) From T_SAL_ORDER a1 JOIN T_SAL_ORDERFIN a2 on a1.FID = a2.FID Where a1.FDocumentStatus = 'C'
// AND a1.FID = A.FID AND Month(A.FDATE)=6 AND YEAR(A.FDATE)={0}),0)
// as 'XSixMonth', --> 六月销售额
// CASE WHEN MONTH(A.FDATE) = 6
// THEN ISNULL(C.FALLAMOUNT,0)
// ELSE 0
// END as 'HSixMonth', --> 六月回款额
// ISNULL((Select SUM(a2.FBILLALLAMOUNT_LC) From T_SAL_ORDER a1 JOIN T_SAL_ORDERFIN a2 on a1.FID = a2.FID Where a1.FDocumentStatus = 'C'
// AND a1.FID = A.FID AND Month(A.FDATE)=7 AND YEAR(A.FDATE)={0}),0)
// as 'XSevenMonth', --> 七月销售额
// CASE WHEN MONTH(A.FDATE) = 7
// THEN ISNULL(C.FALLAMOUNT,0)
// ELSE 0
// END as 'HSevenMonth', --> 七月回款额
// ISNULL((Select SUM(a2.FBILLALLAMOUNT_LC) From T_SAL_ORDER a1 JOIN T_SAL_ORDERFIN a2 on a1.FID = a2.FID Where a1.FDocumentStatus = 'C'
// AND a1.FID = A.FID AND Month(A.FDATE)=8 AND YEAR(A.FDATE)={0}),0)
// as 'XEightMonth', --> 八月销售额
// CASE WHEN MONTH(A.FDATE) = 8
// THEN ISNULL(C.FALLAMOUNT,0)
// ELSE 0
// END as 'HEightMonth', --> 八月回款额
// ISNULL((Select SUM(a2.FBILLALLAMOUNT_LC) From T_SAL_ORDER a1 JOIN T_SAL_ORDERFIN a2 on a1.FID = a2.FID Where a1.FDocumentStatus = 'C'
// AND a1.FID = A.FID AND Month(A.FDATE)=9 AND YEAR(A.FDATE)={0}),0)
// as 'XNineMonth', --> 九月销售额
// CASE WHEN MONTH(A.FDATE) = 9
// THEN ISNULL(C.FALLAMOUNT,0)
// ELSE 0
// END as 'HNineMonth', --> 九月回款额
// ISNULL((Select SUM(a2.FBILLALLAMOUNT_LC) From T_SAL_ORDER a1 JOIN T_SAL_ORDERFIN a2 on a1.FID = a2.FID Where a1.FDocumentStatus = 'C'
// AND a1.FID = A.FID AND Month(A.FDATE)=10 AND YEAR(A.FDATE)={0}),0)
// as 'XTenMonth', --> 十月销售额
// CASE WHEN MONTH(A.FDATE) = 10
// THEN ISNULL(C.FALLAMOUNT,0)
// ELSE 0
// END as 'HTenMonth', --> 十月回款额
// ISNULL((Select SUM(a2.FBILLALLAMOUNT_LC) From T_SAL_ORDER a1 JOIN T_SAL_ORDERFIN a2 on a1.FID = a2.FID Where a1.FDocumentStatus = 'C'
// AND a1.FID = A.FID AND Month(A.FDATE)=11 AND YEAR(A.FDATE)={0}),0)
// as 'XElevenMonth', --> 十一月销售额
// CASE WHEN MONTH(A.FDATE) = 11
// THEN ISNULL(C.FALLAMOUNT,0)
// ELSE 0
// END as 'HElevenMonth', --> 十一月回款额
// ISNULL((Select SUM(a2.FBILLALLAMOUNT_LC) From T_SAL_ORDER a1 JOIN T_SAL_ORDERFIN a2 on a1.FID = a2.FID Where a1.FDocumentStatus = 'C'
// AND a1.FID = A.FID AND Month(A.FDATE)=12 AND YEAR(A.FDATE)={0}),0)
// as 'XTwelveMonth', --> 十二月销售额
// CASE WHEN MONTH(A.FDATE) = 12
// THEN ISNULL(C.FALLAMOUNT,0)
// ELSE 0
// END as 'HTwelveMonth', --> 十二月回款额
// ISNULL((Select SUM(a2.FBILLALLAMOUNT_LC) From T_SAL_ORDER a1 JOIN T_SAL_ORDERFIN a2 on a1.FID = a2.FID Where a1.FDocumentStatus = 'C'
// AND a1.FID = A.FID AND YEAR(A.FDATE)={0}),0)
// as 'XCumulative', --> 累计销售额
// ISNULL(C.FALLAMOUNT,0) as 'HCumulative', --> 累计回款额
// CASE WHEN YEAR(A.FDATE) < YEAR(GETDATE())
// THEN
// ISNULL(((SELECT
// CAST(JSON_VALUE(CAST(FJSONDATA AS NVARCHAR(MAX)), '$.SaleOrderFinance[0].BillAllAmount_LC') as decimal(23,10) ) AS FPrice
// From T_SCM_BILLCHANGEVERSIONS
// WHere FVERSION =
// (
// Select MAX(FVERSION) as FVERSION From T_SCM_BILLCHANGEVERSIONS
// WHERE
// FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = A.FBILLNO
// )
// AND FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = A.FBILLNO)
// -
// (SELECT
// CAST(JSON_VALUE(CAST(FJSONDATA AS NVARCHAR(MAX)), '$.SaleOrderFinance[0].BillAllAmount_LC') as decimal(23,10) ) AS FPrice
// From T_SCM_BILLCHANGEVERSIONS
// WHere FVERSION =
// (
// Select MIN(FVERSION) as FVERSION From T_SCM_BILLCHANGEVERSIONS
// WHERE
// FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = A.FBILLNO
// )
// AND FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = A.FBILLNO)),0)
// ELSE 0
// END as 'UsualAlterAmount', --> 往年订单变更金额
// ISNULL((Select SUM(a2.FBILLALLAMOUNT_LC) From T_SAL_ORDER a1 JOIN T_SAL_ORDERFIN a2 on a1.FID = a2.FID Where a1.FDocumentStatus = 'C'
// AND a1.FID = A.FID AND A.FSaleOrgId = 100302),0)
// as 'ZhuhaiPilot', --> 珠海派诺业绩合计
// ISNULL((Select SUM(a2.FBILLALLAMOUNT_LC) From T_SAL_ORDER a1 JOIN T_SAL_ORDERFIN a2 on a1.FID = a2.FID Where a1.FDocumentStatus = 'C'
// AND a1.FID = A.FID AND A.FSaleOrgId = 100303),0)
// as 'SiNO', --> 兴诺合计
// CASE WHEN YEAR(A.FDATE) < YEAR(GETDATE()) AND A.FSaleOrgId = 100303 --兴诺
// THEN
// ISNULL(((SELECT
// CAST(JSON_VALUE(CAST(FJSONDATA AS NVARCHAR(MAX)), '$.SaleOrderFinance[0].BillAllAmount_LC') as decimal(23,10) ) AS FPrice
// From T_SCM_BILLCHANGEVERSIONS
// WHere FVERSION =
// (
// Select MAX(FVERSION) as FVERSION From T_SCM_BILLCHANGEVERSIONS
// WHERE
// FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = A.FBILLNO
// )
// AND FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = A.FBILLNO)
// -
// (SELECT
// CAST(JSON_VALUE(CAST(FJSONDATA AS NVARCHAR(MAX)), '$.SaleOrderFinance[0].BillAllAmount_LC') as decimal(23,10) ) AS FPrice
// From T_SCM_BILLCHANGEVERSIONS
// WHere FVERSION =
// (
// Select MIN(FVERSION) as FVERSION From T_SCM_BILLCHANGEVERSIONS
// WHERE
// FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = A.FBILLNO
// )
// AND FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = A.FBILLNO)),0)
// ELSE 0
// END as 'SiNOUsualAlter', --> 兴诺往年订单变更
// ISNULL((Select SUM(a2.FBILLALLAMOUNT_LC) From T_SAL_ORDER a1 JOIN T_SAL_ORDERFIN a2 on a1.FID = a2.FID Where a1.FDocumentStatus = 'C'
// AND a1.FID = A.FID AND A.FSaleOrgId = 100305),0)
// as 'WuhanPilotThisYear', --> 武汉派诺-当年业绩
// CASE WHEN YEAR(A.FDATE) < YEAR(GETDATE()) AND A.FSaleOrgId = 100305 --武汉派诺
// THEN
// ISNULL(((SELECT
// CAST(JSON_VALUE(CAST(FJSONDATA AS NVARCHAR(MAX)), '$.SaleOrderFinance[0].BillAllAmount_LC') as decimal(23,10) ) AS FPrice
// From T_SCM_BILLCHANGEVERSIONS
// WHere FVERSION =
// (
// Select MAX(FVERSION) as FVERSION From T_SCM_BILLCHANGEVERSIONS
// WHERE
// FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = A.FBILLNO
// )
// AND FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = A.FBILLNO)
// -
// (SELECT
// CAST(JSON_VALUE(CAST(FJSONDATA AS NVARCHAR(MAX)), '$.SaleOrderFinance[0].BillAllAmount_LC') as decimal(23,10) ) AS FPrice
// From T_SCM_BILLCHANGEVERSIONS
// WHere FVERSION =
// (
// Select MIN(FVERSION) as FVERSION From T_SCM_BILLCHANGEVERSIONS
// WHERE
// FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = A.FBILLNO
// )
// AND FFORMID = 'SAL_SaleOrder'
// AND FBILLNO = A.FBILLNO)),0)
// ELSE 0
// END as 'WuhanPilotUsualAlter', --> 武汉派诺-往年订单变更
// ISNULL((Select SUM(a2.FBILLALLAMOUNT_LC) From T_SAL_ORDER a1 JOIN T_SAL_ORDERFIN a2 on a1.FID = a2.FID Where a1.FDocumentStatus = 'C'
// AND a1.FID = A.FID AND A.FSaleOrgId = 438223),0)
// as 'Discovery', --> 碳索业绩
// ISNULL((Select SUM(a2.FBILLALLAMOUNT_LC) From T_SAL_ORDER a1 JOIN T_SAL_ORDERFIN a2 on a1.FID = a2.FID Where a1.FDocumentStatus = 'C'
// AND a1.FID = A.FID AND A.FSaleOrgId = 438224),0)
// as 'HongKongPilot', --> 香港派诺业绩
// ISNULL((Select SUM(a2.FBILLALLAMOUNT_LC) From T_SAL_ORDER a1 JOIN T_SAL_ORDERFIN a2 on a1.FID = a2.FID Where a1.FDocumentStatus = 'C'
// AND a1.FID = A.FID AND A.FSaleOrgId = 533896),0)
// as 'HuaXiaYunLian', --> 华夏云联业绩
// ISNULL((Select SUM(a2.FBILLALLAMOUNT_LC) From T_SAL_ORDER a1 JOIN T_SAL_ORDERFIN a2 on a1.FID = a2.FID Where a1.FDocumentStatus = 'C'
// AND a1.FID = A.FID),0)
// as 'PilotSumAmount', --> 派诺集团最终业绩合计金额
// '' as 'SBU',
// '' as 'DetailArea'
// Into #TempTable5
// From
// T_SAL_ORDER A
// Right JOIN
// (Select a2.FNAME,a1.FORGID From
// T_ORG_ORGANIZATIONS a1
// JOIN
// T_ORG_ORGANIZATIONS_L a2
// on a1.FORGID = a2.FORGID
// Where a2.FLOCALEID = 2052
// AND a1.FDocumentStatus = 'C'
// AND a2.FNAME != '总帐套') B
// on A.FSaleOrgId = B.FORGID
// AND A.FDocumentStatus = 'C'
// AND A.FCancelStatus = 'A'
// LEFT JOIN
// (Select
// a1.FORDERNUMBER,
// SUM(a1.FALLAMOUNT) as 'FALLAMOUNT'
// From
// T_AR_RECEIVABLEENTRY a1
// JOIN
// T_AR_RECEIVABLE a2
// on a1.FID = a2.FID
// Where a1.FORDERNUMBER != '' AND a2.FSETACCOUNTTYPE = 3
// GROUP BY a1.FORDERNUMBER) C
// on A.FBILLNO = C.FORDERNUMBER
// LEFT JOIN
// (Select FNumber,FENTRYID From T_BAS_ASSISTANTDATAENTRY Where FID = '670cc977263353') W8 --合同类型
// on W8.FENTRYID = A.F_ORDERCATEGORY
// Where A.FDocumentStatus = 'C' AND W8.FNumber != 'Z' --AND A.FID in (Select * From #TABLEXYX)", year);
// if (!string.IsNullOrEmpty(salespersonString))
// {
// sql += string.Format(@" AND A.FSalerId in ({0})", salespersonString);
// }
// if (!string.IsNullOrEmpty(organization))
// {
// sql += string.Format(@" AND A.FSaleOrgId in ({0})", organization);
// }
// //if (!string.IsNullOrEmpty(fStrartDate))
// //{
// // sql += string.Format(@" AND A.FDate >= '{0}'", fStrartDate);
// //}
// //if (!string.IsNullOrEmpty(fEndDate))
// //{
// // sql += string.Format(@" AND A.FDate <= '{0}'", fEndDate);
// //}
// //if (!string.IsNullOrEmpty(fSDate))
// //{
// // sql += string.Format(@" AND A.FAPPROVEDATE >= '{0}'", fSDate);
// //}
// //if (!string.IsNullOrEmpty(fEDate))
// //{
// // sql += string.Format(@" AND A.FAPPROVEDATE <= '{0}'", fEDate);
// //}
// sql += string.Format(@";");
// sql += string.Format(@"/*dialect*/
// Select
// FNAME+'合计:' as 'FNAME',
// ISNULL(SUM(XOneMonth),0) as 'XOneMonth',
// ISNULL(SUM(HOneMonth),0) as 'HOneMonth',
// ISNULL(SUM(XTwoMonth),0) as 'XTwoMonth',
// ISNULL(SUM(HTwoMonth),0) as 'HTwoMonth',
// ISNULL(SUM(XThreeMonth),0) as 'XThreeMonth',
// ISNULL(SUM(HThreeMonth),0) as 'HThreeMonth',
// ISNULL(SUM(XFourMonth),0) as 'XFourMonth',
// ISNULL(SUM(HFourMonth),0) as 'HFourMonth',
// ISNULL(SUM(XFiveMonth),0) as 'XFiveMonth',
// ISNULL(SUM(HFiveMonth),0) as 'HFiveMonth',
// ISNULL(SUM(XSixMonth),0) as 'XSixMonth',
// ISNULL(SUM(HSixMonth),0) as 'HSixMonth',
// ISNULL(SUM(XSevenMonth),0) as 'XSevenMonth',
// ISNULL(SUM(HSevenMonth),0) as 'HSevenMonth',
// ISNULL(SUM(XEightMonth),0) as 'XEightMonth',
// ISNULL(SUM(HEightMonth),0) as 'HEightMonth',
// ISNULL(SUM(XNineMonth),0) as 'XNineMonth',
// ISNULL(SUM(HNineMonth),0) as 'HNineMonth',
// ISNULL(SUM(XTenMonth),0) as 'XTenMonth',
// ISNULL(SUM(HTenMonth),0) as 'HTenMonth',
// ISNULL(SUM(XElevenMonth),0) as 'XElevenMonth',
// ISNULL(SUM(HElevenMonth),0) as 'HElevenMonth',
// ISNULL(SUM(XTwelveMonth),0) as 'XTwelveMonth',
// ISNULL(SUM(HTwelveMonth),0) as 'HTwelveMonth',
// ISNULL(SUM(XCumulative),0) as 'XCumulative',
// ISNULL(SUM(HCumulative),0) as 'HCumulative',
// ISNULL(SUM(UsualAlterAmount),0) as 'UsualAlterAmount',
// ISNULL(SUM(ZhuhaiPilot),0) as 'ZhuhaiPilot',
// ISNULL(SUM(SiNO),0) as 'SiNO',
// ISNULL(SUM(SiNOUsualAlter),0) as 'SiNOUsualAlter',
// ISNULL(SUM(WuhanPilotThisYear),0) as 'WuhanPilotThisYear',
// ISNULL(SUM(WuhanPilotUsualAlter),0) as 'WuhanPilotUsualAlter',
// ISNULL(SUM(Discovery),0) as 'Discovery',
// ISNULL(SUM(HongKongPilot),0) as 'HongKongPilot',
// ISNULL(SUM(HuaXiaYunLian),0) as 'HuaXiaYunLian',
// ISNULL(SUM(PilotSumAmount),0) as 'PilotSumAmount',
// SBU,
// DetailArea,
// 3 Sort
// Into #TempTable6
// From
// #TempTable5
// Group by FNAME,SBU,DetailArea;");
// sql += string.Format(@"/*dialect*/
// Select
// *
// INTO #TempTable7
// From
// #TempTable6
// UNION ALL
// Select
// '派诺集团总计:' as 'FNAME',
// ISNULL(SUM(XOneMonth),0) as 'XOneMonth',
// ISNULL(SUM(HOneMonth),0) as 'HOneMonth',
// ISNULL(SUM(XTwoMonth),0) as 'XTwoMonth',
// ISNULL(SUM(HTwoMonth),0) as 'HTwoMonth',
// ISNULL(SUM(XThreeMonth),0) as 'XThreeMonth',
// ISNULL(SUM(HThreeMonth),0) as 'HThreeMonth',
// ISNULL(SUM(XFourMonth),0) as 'XFourMonth',
// ISNULL(SUM(HFourMonth),0) as 'HFourMonth',
// ISNULL(SUM(XFiveMonth),0) as 'XFiveMonth',
// ISNULL(SUM(HFiveMonth),0) as 'HFiveMonth',
// ISNULL(SUM(XSixMonth),0) as 'XSixMonth',
// ISNULL(SUM(HSixMonth),0) as 'HSixMonth',
// ISNULL(SUM(XSevenMonth),0) as 'XSevenMonth',
// ISNULL(SUM(HSevenMonth),0) as 'HSevenMonth',
// ISNULL(SUM(XEightMonth),0) as 'XEightMonth',
// ISNULL(SUM(HEightMonth),0) as 'HEightMonth',
// ISNULL(SUM(XNineMonth),0) as 'XNineMonth',
// ISNULL(SUM(HNineMonth),0) as 'HNineMonth',
// ISNULL(SUM(XTenMonth),0) as 'XTenMonth',
// ISNULL(SUM(HTenMonth),0) as 'HTenMonth',
// ISNULL(SUM(XElevenMonth),0) as 'XElevenMonth',
// ISNULL(SUM(HElevenMonth),0) as 'HElevenMonth',
// ISNULL(SUM(XTwelveMonth),0) as 'XTwelveMonth',
// ISNULL(SUM(HTwelveMonth),0) as 'HTwelveMonth',
// ISNULL(SUM(XCumulative),0) as 'XCumulative',
// ISNULL(SUM(HCumulative),0) as 'HCumulative',
// ISNULL(SUM(UsualAlterAmount),0) as 'UsualAlterAmount',
// ISNULL(SUM(ZhuhaiPilot),0) as 'ZhuhaiPilot',
// ISNULL(SUM(SiNO),0) as 'SiNO',
// ISNULL(SUM(SiNOUsualAlter),0) as 'SiNOUsualAlter',
// ISNULL(SUM(WuhanPilotThisYear),0) as 'WuhanPilotThisYear',
// ISNULL(SUM(WuhanPilotUsualAlter),0) as 'WuhanPilotUsualAlter',
// ISNULL(SUM(Discovery),0) as 'Discovery',
// ISNULL(SUM(HongKongPilot),0) as 'HongKongPilot',
// ISNULL(SUM(HuaXiaYunLian),0) as 'HuaXiaYunLian',
// ISNULL(SUM(PilotSumAmount),0) as 'PilotSumAmount',
// '',
// '',
// 4 Sort
// From
// #TempTable6;");
// sql += string.Format(@"/*dialect*/
// Select
// *
// Into #TempTable8
// From
// #TempTable4 v1
// UNION ALL
// Select * From #TempTable7;");
// sql += string.Format(@"/*dialect*/
// Select *,0 A
// INTO #TempTable9
// From #TempTable8");
// sql += string.Format(@"/*dialect*/
// SELECT
// *,
// ROW_NUMBER() OVER (ORDER BY A) AS FID,
// ROW_NUMBER() OVER (ORDER BY A) AS FIDENTITYID
// INTO {0}
// From
// #TempTable9;", tableName);
// Loghelp.Log("年度销售额&回款额汇总");
// Loghelp.Log(sql);
// DBUtils.Execute(this.Context, sql);
//}
#endregion
/// <summary>
/// 获取前端组件转换过滤条件
/// </summary>
/// <param name="filter"></param>
/// <returns></returns>
public override ReportTitles GetReportTitles(IRptParams filter)
{
ReportTitles reportTitles = new ReportTitles();
DynamicObject customFilter = filter.FilterParameter.CustomFilter;
if (customFilter != null)
{
// 销售员
var salesperson = (customFilter["F_Salesperson"] as DynamicObjectCollection)?.Select(n => (n["F_Salesperson"] as DynamicObject)["Name"].ToString()).ToList();
// 年份
string fDate = customFilter["F_Date"]?.ToString();
//// 开始日期
//string fStrartDate = customFilter["FStrartDate"]?.ToString();
//// 结束日期
//string fEndDate = customFilter["FEndDate"]?.ToString();
//// 开始日期
//string fSDate = customFilter["FSDate"]?.ToString();
//// 结束日期
//string fEDate = customFilter["FEDate"]?.ToString();
// 组织
var organizationList = (customFilter["FZuZhi"] as DynamicObjectCollection)?.Select(n => (n["FZuZhi"] as DynamicObject)["Name"].ToString()).ToList();
//这里是报表页面的标识 FStrartDate
reportTitles.AddTitle("FSalesperson", salesperson == null ? "" : string.Join(",", salesperson));
reportTitles.AddTitle("FDate", fDate == null ? null : Convert.ToDateTime(fDate).ToString("yyyy-MM-dd"));
//reportTitles.AddTitle("FStrartDate", string.IsNullOrWhiteSpace(fStrartDate) ? "" : Convert.ToDateTime(fStrartDate).ToString("yyyy-MM-dd"));
//reportTitles.AddTitle("FEndDate", string.IsNullOrWhiteSpace(fEndDate) ? "" : Convert.ToDateTime(fEndDate).ToString("yyyy-MM-dd"));
//reportTitles.AddTitle("FSDate", string.IsNullOrWhiteSpace(fSDate) ? "" : Convert.ToDateTime(fSDate).ToString("yyyy-MM-dd"));
//reportTitles.AddTitle("FEDate", string.IsNullOrWhiteSpace(fEDate) ? "" : Convert.ToDateTime(fEDate).ToString("yyyy-MM-dd"));
reportTitles.AddTitle("FZuZhi", organizationList == null ? "" : string.Join(",", organizationList));
}
return reportTitles;
}
/// <summary>
/// 显示报表数据
/// </summary>
/// <param name="filter"></param>
/// <param name="tableName"></param>
public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
{
DynamicObject customFilter = filter.FilterParameter.CustomFilter;
// 销售员列表
var salesperson = (customFilter["F_Salesperson"] as DynamicObjectCollection)?.Select(n => (n["F_Salesperson"] as DynamicObject)["msterID"].ToString()).ToList();
// 销售员
var salespersonString = salesperson == null ? "" : string.Join(",", salesperson);
// 组织列表
var organizationList = (customFilter["FZuZhi"] as DynamicObjectCollection)?.Select(n => (n["FZuZhi"] as DynamicObject)["ID"].ToString()).ToList();
// 组织
var organization = organizationList == null ? "" : (string.Join(",", organizationList));
// 下单时间
string fDate = customFilter["F_Date"]?.ToString();
int year = Convert.ToInt32(fDate.Split('-')[0]);
base.BuilderReportSqlAndTempTable(filter, tableName);
string sqlWhere = " and 1=1 ";
if (!string.IsNullOrEmpty(salespersonString))
{
sqlWhere += string.Format(@" AND [销售员ID] in ({0}) ", salespersonString);
}
if (!string.IsNullOrEmpty(organization))
{
sqlWhere += string.Format(@" AND [组织ID] in ({0})", organization);
}
string sql2 = $@"/*dialect*/SELECT EE.*
,ee.销售员 AS Salesperson
,[累计销售额] as XCumulative,[往年订单变更金额] as UsualAlterAmount,[兴诺业绩] as SiNO,[兴诺往年订单变更] as SiNOUsualAlter,[武汉派诺-当年业绩] as WuhanPilotThisYear
,[武汉派诺-往年订单变更] as WuhanPilotUsualAlter, [碳索业绩] as Discovery,[香港派诺业绩] as HongKongPilot,[华夏云联业绩] as HuaXiaYunLian ,[明细区域] as DetailArea
,[ZhuhaiPilot]=[累计销售额]+[往年订单变更金额]
,[PilotSumAmount]=[累计销售额]+[往年订单变更金额]+[兴诺业绩]+[兴诺往年订单变更]+[武汉派诺-当年业绩]+[武汉派诺-往年订单变更]+[碳索业绩]+[香港派诺业绩]+[华夏云联业绩]
,ROW_NUMBER() OVER (ORDER BY [SUB],[销售员ID]) AS FID
,ROW_NUMBER() OVER (ORDER BY [销售员ID]) AS FIDENTITYID ,0 AS Sort, 0 as sortNum
into {tableName}
FROM (
SELECT DISTINCT
A.*";
DateTime monthStart = DateTime.Parse($@"{year}-01-01");
DateTime monthEnd = DateTime.Parse($@"{year}-02-01");
DateTime yearStart= DateTime.Parse($@"{year}-01-01");
DateTime yearEnd = yearStart.AddYears(1);
for (int i = 1; i < 13; i++)
{
sql2 += $@" ,[X{i}Month]=ISNULL((
SELECT SUM([订单总额]) FROM (
SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额]
FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID]
AND AA.[订单日期] >='{monthStart}' AND AA.[订单日期] <'{monthEnd}') kk
),0)
,[H{i}Month]=ISNULL((
SELECT SUM([累计到款金额]) FROM (
SELECT DISTINCT [销售员ID],销售单主键ID,[累计到款金额]
FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID]
AND AA.[应收单日期] >='{monthStart}' AND AA.[应收单日期] <'{monthEnd}') kk
),0) ";
monthStart = monthStart.AddMonths(1);
monthEnd = monthEnd.AddMonths(1);
}
sql2 += $@",[累计销售额]=ISNULL((
SELECT SUM(分摊金额) FROM (
SELECT DISTINCT [销售员ID],销售单主键ID,分摊金额
FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID]
AND AA.[订单日期] >='{yearStart}' AND AA.[订单日期] <'{yearEnd}') kk
),0)
,[累计回款额]=ISNULL((
SELECT SUM([累计到款金额]) FROM (
SELECT DISTINCT [销售员ID],销售单主键ID,[累计到款金额]
FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID]
AND AA.[应收单日期] >='{yearStart}' AND AA.[应收单日期] <'{yearEnd}') kk
),0)
,[往年订单变更金额]=ISNULL((SELECT SUM(FBillAllAmount_LC-F_Amountstar)
FROM (
SELECT FChangeDate,FJoinOrderAmount ,b.FBILLNO, aa.FBillAllAmount_LC,F_Amountstar
FROM T_SAL_ORDERFIN aa
LEFT JOIN T_SAL_ORDER B
ON aa.FID=b.fid
WHERE aa.FID IN (SELECT [销售单主键ID] FROM [ZZZ_SalesRportShareData] share WITH(NOLOCK)
WHERE [订单日期] >='{yearStart}' AND [订单日期] <'{yearEnd}' AND share.[销售员ID]=a.[销售员ID] AND 组织ID=100302 )
AND B.FCHANGEDATE >='{yearStart}' AND B.FCHANGEDATE<'{yearEnd}'
) ss),0)
,[兴诺业绩]=ISNULL((
SELECT SUM([订单总额]) FROM (
SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额]
FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] AND 组织ID=100303
AND AA.[订单日期] >='{yearStart}' AND AA.[订单日期] <'{yearEnd}') kk
),0)
,[兴诺往年订单变更]=ISNULL((SELECT SUM(FBillAllAmount_LC-F_Amountstar)
FROM (
SELECT FChangeDate,FJoinOrderAmount ,b.FBILLNO, aa.FBillAllAmount_LC,F_Amountstar
FROM T_SAL_ORDERFIN aa
LEFT JOIN T_SAL_ORDER B
ON aa.FID=b.fid
WHERE aa.FID IN (SELECT [销售单主键ID] FROM [ZZZ_SalesRportShareData] share WITH(NOLOCK)
WHERE [订单日期] >='{yearStart}' AND [订单日期] <'{yearEnd}' AND share.[销售员ID]=a.[销售员ID] AND 组织ID=100303 )
AND B.FCHANGEDATE >='{yearStart}' AND B.FCHANGEDATE<'{yearEnd}'
) ss),0)
,[武汉派诺-当年业绩]=ISNULL((
SELECT SUM([订单总额]) FROM (
SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额]
FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] AND 组织ID=100305
AND AA.[订单日期] >='{yearStart}' AND AA.[订单日期] <'{yearEnd}') kk
),0)
,[武汉派诺-往年订单变更]=ISNULL((SELECT SUM(FBillAllAmount_LC-F_Amountstar)
FROM (
SELECT FChangeDate,FJoinOrderAmount ,b.FBILLNO, aa.FBillAllAmount_LC,F_Amountstar
FROM T_SAL_ORDERFIN aa
LEFT JOIN T_SAL_ORDER B
ON aa.FID=b.fid
WHERE aa.FID IN (SELECT [销售单主键ID] FROM [ZZZ_SalesRportShareData] share WITH(NOLOCK)
WHERE [订单日期] >='{yearStart}' AND [订单日期] <'{yearEnd}' AND share.[销售员ID]=a.[销售员ID] AND 组织ID=100305 )
AND B.FCHANGEDATE >='{yearStart}' AND B.FCHANGEDATE<'{yearEnd}'
) ss),0)
,[碳索业绩]=ISNULL((
SELECT SUM([订单总额]) FROM (
SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额]
FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] AND 组织ID=438223
AND AA.[订单日期] >='{yearStart}' AND AA.[订单日期] <'{yearEnd}') kk
),0)
,[香港派诺业绩]=ISNULL((
SELECT SUM([订单总额]) FROM (
SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额]
FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] AND 组织ID=438224
AND AA.[订单日期] >='{yearStart}' AND AA.[订单日期] <'{yearEnd}') kk
),0)
,[华夏云联业绩]=ISNULL((
SELECT SUM([订单总额]) FROM (
SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额]
FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] AND 组织ID=533896
AND AA.[订单日期] >='{yearStart}' AND AA.[订单日期] <'{yearEnd}') kk
),0)
FROM
(SELECT DISTINCT [销售员] ,[销售员ID],[SBU] ,[明细区域] FROM [ZZZ_SalesRportShareData] WITH(NOLOCK)
WHERE [订单日期] >='{yearStart}' AND [订单日期] <'{yearEnd}' {sqlWhere} ) A ) EE
ORDER BY [SBU] ,[销售员ID] ";
//sqlWhere += string.Format(@"/*dialect*/
//SELECT
//*,
//ROW_NUMBER() OVER (ORDER BY A) AS FID,
//ROW_NUMBER() OVER (ORDER BY A) AS FIDENTITYID
//INTO {0}
//From
//#TempTable9;", tableName);
Loghelp.Log("年度销售额&回款额汇总");
Loghelp.Log(sql2);
var list= DBUtils.ExecuteDynamicObject(this.Context, sql2);
//var sbuList = list.Select(t => t["SBU"].ToString).ToList();
//string sbu = "";
//int row = 0;
//foreach (var item in list)
//{
// if (sbu != item["sbu"] && row>0 ||(row==(list.Count-1)))
// {
// var templist = list.Where(t => t["sbu"] == sbu).ToList();
// sbu = item["sbu"].ToString();
// var tempItem = item.Copy();
// tempItem["Salesperson"] = sbu + "小计";
// tempItem["sbu"] = "";
// tempItem["X1Month"] = templist.Sum(t =>long.Parse( t["X1Month"].ToString()));
// tempItem["X2Month"] = templist.Sum(t => long.Parse(t["X2Month"].ToString()));
// tempItem["X3Month"] = templist.Sum(t => long.Parse(t["X3Month"].ToString()));
// tempItem["X4Month"] = templist.Sum(t => long.Parse(t["X4Month"].ToString()));
// tempItem["X5Month"] = templist.Sum(t => long.Parse(t["X5Month"].ToString()));
// tempItem["X6Month"] = templist.Sum(t => long.Parse(t["X6Month"].ToString()));
// tempItem["X7Month"] = templist.Sum(t => long.Parse(t["X7Month"].ToString()));
// tempItem["X8Month"] = templist.Sum(t => long.Parse(t["X8Month"].ToString()));
// tempItem["X9Month"] = templist.Sum(t => long.Parse(t["X9Month"].ToString()));
// tempItem["X10Month"] = templist.Sum(t => long.Parse(t["X10Month"].ToString()));
// tempItem["X11Month"] = templist.Sum(t => long.Parse(t["X11Month"].ToString()));
// tempItem["X12Month"] = templist.Sum(t => long.Parse(t["X12Month"].ToString()));
// tempItem["H1Month"] = templist.Sum(t => long.Parse(t["H1Month"].ToString()));
// tempItem["H2Month"] = templist.Sum(t => long.Parse(t["H2Month"].ToString()));
// tempItem["H3Month"] = templist.Sum(t => long.Parse(t["H3Month"].ToString()));
// tempItem["H4Month"] = templist.Sum(t => long.Parse(t["H4Month"].ToString()));
// tempItem["H5Month"] = templist.Sum(t => long.Parse(t["H5Month"].ToString()));
// tempItem["H6Month"] = templist.Sum(t => long.Parse(t["H6Month"].ToString()));
// tempItem["H7Month"] = templist.Sum(t => long.Parse(t["H7Month"].ToString()));
// tempItem["H8Month"] = templist.Sum(t => long.Parse(t["H8Month"].ToString()));
// tempItem["H9Month"] = templist.Sum(t => long.Parse(t["H9Month"].ToString()));
// tempItem["H10Month"] = templist.Sum(t => long.Parse(t["H10Month"].ToString()));
// tempItem["H11Month"] = templist.Sum(t => long.Parse(t["H11Month"].ToString()));
// tempItem["H12Month"] = templist.Sum(t => long.Parse(t["H12Month"].ToString()));
// tempItem["H1Month"] = templist.Sum(t => long.Parse(t["H1Month"].ToString()));
// list.Insert(row, tempItem);
// }
// if (row == 0)
// {
// sbu = item["sbu"].ToString();
// }
//}
}
}
}