diff --git a/Pilot.Report.Exploitation/AnnualSalesPaymentSum/AnnualSalesPaymentSumReport.cs b/Pilot.Report.Exploitation/AnnualSalesPaymentSum/AnnualSalesPaymentSumReport.cs index 8547dd3..dfbea40 100644 --- a/Pilot.Report.Exploitation/AnnualSalesPaymentSum/AnnualSalesPaymentSumReport.cs +++ b/Pilot.Report.Exploitation/AnnualSalesPaymentSum/AnnualSalesPaymentSumReport.cs @@ -13,6 +13,7 @@ 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 { @@ -46,12 +47,12 @@ namespace Pilot.Report.Exploitation.AnnualSalesPaymentSum // 设置精度控制 var list = new List { - new DecimalControlField("FDECIMALS", "OrigInvoiceAmount"), - new DecimalControlField("FDECIMALS", "ExchangeRate"), - new DecimalControlField("FDECIMALS", "InvoiceAmountTHB"), - new DecimalControlField("FDECIMALS", "MonthEndExRate"), - new DecimalControlField("FDECIMALS", "RevaluationAountInTHB"), - new DecimalControlField("FDECIMALS", "UnrealizedGainLoss"), + //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; } @@ -67,31 +68,31 @@ namespace Pilot.Report.Exploitation.AnnualSalesPaymentSum ReportHeader header = new ReportHeader(); - header.AddChild("Salesperson", new LocaleValue("销售人员"), SqlStorageType.Sqlvarchar); - header.AddChild("XOneMonth", new LocaleValue("1月(销售额)"), SqlStorageType.SqlDecimal); - header.AddChild("HOneMonth", new LocaleValue("1月(回款额)"), SqlStorageType.SqlDecimal); - header.AddChild("XTwoMonth", new LocaleValue("2月(销售额)"), SqlStorageType.SqlDecimal); - header.AddChild("HTwoMonth", new LocaleValue("2月(回款额)"), SqlStorageType.SqlDecimal); - header.AddChild("XThreeMonth", new LocaleValue("3月(销售额)"), SqlStorageType.SqlDecimal); - header.AddChild("HThreeMonth", new LocaleValue("3月(回款额)"), SqlStorageType.SqlDecimal); - header.AddChild("XFourMonth", new LocaleValue("4月(销售额)"), SqlStorageType.SqlDecimal); - header.AddChild("HFourMonth", new LocaleValue("4月(回款额)"), SqlStorageType.SqlDecimal); - header.AddChild("XFiveMonth", new LocaleValue("5月(销售额)"), SqlStorageType.SqlDecimal); - header.AddChild("HFiveMonth", new LocaleValue("5月(回款额)"), SqlStorageType.SqlDecimal); - header.AddChild("XSixMonth", new LocaleValue("6月(销售额)"), SqlStorageType.SqlDecimal); - header.AddChild("HSixMonth", new LocaleValue("6月(回款额)"), SqlStorageType.SqlDecimal); - header.AddChild("XSevenMonth", new LocaleValue("7月(销售额)"), SqlStorageType.SqlDecimal); - header.AddChild("HSevenMonth", new LocaleValue("7月(回款额)"), SqlStorageType.SqlDecimal); - header.AddChild("XEightMonth", new LocaleValue("8月(销售额)"), SqlStorageType.SqlDecimal); - header.AddChild("HEightMonth", new LocaleValue("8月(回款额)"), SqlStorageType.SqlDecimal); - header.AddChild("XNineMonth", new LocaleValue("9月(销售额)"), SqlStorageType.SqlDecimal); - header.AddChild("HNineMonth", new LocaleValue("9月(回款额)"), SqlStorageType.SqlDecimal); - header.AddChild("XTenMonth", new LocaleValue("10月(销售额)"), SqlStorageType.SqlDecimal); - header.AddChild("HTenMonth", new LocaleValue("10月(回款额)"), SqlStorageType.SqlDecimal); - header.AddChild("XElevenMonth", new LocaleValue("11月(销售额)"), SqlStorageType.SqlDecimal); - header.AddChild("HElevenMonth", new LocaleValue("11月(回款额)"), SqlStorageType.SqlDecimal); - header.AddChild("XTwelveMonth", new LocaleValue("12月(销售额)"), SqlStorageType.SqlDecimal); - header.AddChild("HTwelveMonth", new LocaleValue("12月(回款额)"), SqlStorageType.SqlDecimal); + 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); @@ -114,6 +115,996 @@ namespace Pilot.Report.Exploitation.AnnualSalesPaymentSum return header; } + #region 旧的SQL + ///// + ///// 显示报表数据 + ///// + ///// + ///// + //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 + + + /// + /// 获取前端组件转换过滤条件 + /// + /// + /// + 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; + } + /// /// 显示报表数据 /// @@ -135,18 +1126,6 @@ namespace Pilot.Report.Exploitation.AnnualSalesPaymentSum // 组织 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(); @@ -154,950 +1133,191 @@ namespace Pilot.Report.Exploitation.AnnualSalesPaymentSum 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); + string sqlWhere = " and 1=1 "; if (!string.IsNullOrEmpty(salespersonString)) { - sql += string.Format(@" AND (W3.FSALEID in ({0}) or D.FSALERID in ({0}))", salespersonString); + sqlWhere += string.Format(@" AND [销售员ID] in ({0}) ", salespersonString); } if (!string.IsNullOrEmpty(organization)) { - sql += string.Format(@" AND D.FSALEORGID in ({0})", organization); + sqlWhere += string.Format(@" AND [组织ID] 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)) + 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++) { - sql += string.Format(@" AND A.FSalerId in ({0})", salespersonString); + + 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); } - 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); - //} + 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) - sql += string.Format(@";"); +,[往年订单变更金额]=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] "; - 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); + //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(sql); - DBUtils.Execute(this.Context, sql); - } + 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())); - /// - /// 获取前端组件转换过滤条件 - /// - /// - /// - public override ReportTitles GetReportTitles(IRptParams filter) - { - ReportTitles reportTitles = new ReportTitles(); - DynamicObject customFilter = filter.FilterParameter.CustomFilter; + // 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())); - if (customFilter != null) - { - // 销售员 - var salesperson = (customFilter["F_Salesperson"] as DynamicObjectCollection)?.Select(n => (n["F_Salesperson"] as DynamicObject)["Name"].ToString()).ToList(); + // tempItem["H1Month"] = templist.Sum(t => long.Parse(t["H1Month"].ToString())); - // 年份 - string fDate = customFilter["F_Date"]?.ToString(); + // list.Insert(row, tempItem); + // } - // 开始日期 - string fStrartDate = customFilter["FStrartDate"]?.ToString(); + // if (row == 0) + // { + // sbu = item["sbu"].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; + //} } } } diff --git a/Pilot.Report.Exploitation/Common/Loghelp.cs b/Pilot.Report.Exploitation/Common/Loghelp.cs index 925729e..f733eca 100644 --- a/Pilot.Report.Exploitation/Common/Loghelp.cs +++ b/Pilot.Report.Exploitation/Common/Loghelp.cs @@ -13,7 +13,7 @@ namespace Pilot.Report.Exploitation.Common public static void Log(string str) { - return; + //return; str = DateTime.Now + "----\n" + str; string now = DateTime.Now.Date.ToString("yyyy-MM-dd"); string currentDirectory = Environment.CurrentDirectory; diff --git a/应收明细SQL.sql b/应收明细SQL.sql index 014486e..e4111bb 100644 --- a/应收明细SQL.sql +++ b/应收明细SQL.sql @@ -212,8 +212,8 @@ update [ZRP_YingShouMingXi_yuyubo] set [ ,[տ]=CASE WHEN []>12 THEN 'תӦרС' ELSE [Ա] END ,[Ŀ׶]= CASE WHEN ISNULL([Ŀ],'') <> '' THEN [Ŀ] WHEN ISNULL([ۼƷ],0) = 0 THEN 'δ' WHEN ISNULL( [ۼƷ],0) = ISNULL([ܶ],0) THEN '' WHEN ISNULL([ܶ],0) > ISNULL( [ۼƷ],0) then '' END -,[-׶]=CASE WHEN []>=1 AND []<=6 THEN '1-6' WHEN []>=7 AND []<=12 THEN '7-12' WHEN []>=13 AND []<=18 - THEN '13-18' WHEN []>=19 THEN '19' ELSE '' END +,[-׶]=CASE WHEN []>=1 AND []<=6 THEN '1-6' WHEN []>=7 AND []<=12 THEN '7-12' WHEN []>=13 AND []<=24 + THEN '1-2' WHEN []>=25 AND []<=36 THEN '2-3' WHEN []>=37 AND []<=48 THEN '3-4' WHEN []>=49 THEN '5' ELSE '' END --,[]=CASE WHEN []>=1 AND []<=6 THEN '' WHEN []>=7 AND []<=12 THEN '߿' WHEN []>=13 AND []<=18 --THEN 'ʦ' WHEN []>=19 THEN '' ELSE '' END ,[1-6]=CASE WHEN []>=1 AND []<=6 THEN [̯]-([ۼ˻]+[ۼƵ])*[̯]*0.01 ELSE 0 END