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; /// /// 初始化 /// 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 = false; // this.ReportProperty.SimpleAllCols = false; // 单据主键:两行FID相同,则为同一单的两条分录,单据编号可以不重复显示 //this.ReportProperty.PrimaryKeyFieldName = "FID"; // this.ReportProperty.IsDefaultOnlyDspSumAndDetailData = true; // 设置精度控制 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"), }; this.ReportProperty.DecimalControlFieldList = list; } /// /// 报表列表头 /// /// /// 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 ///// ///// 显示报表数据 ///// ///// ///// //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; } /// /// 显示报表数据 /// /// /// 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 guid = Guid.NewGuid().ToString().Replace("-", ""); 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 [SBU] ,[销售员ID])*10 AS FID ,ROW_NUMBER() OVER (ORDER BY [SBU] ,[销售员ID])*10 AS FIDENTITYID ,0 AS Sort into {tableName}{guid} 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] ,[明细区域],组织ID FROM [ZZZ_SalesRportShareData] WITH(NOLOCK) WHERE [订单日期] >='{yearStart}' AND [订单日期] <'{yearEnd}' {sqlWhere} ) A ) EE ORDER BY [SBU] ,[销售员ID] "; Loghelp.Log("年度销售额&回款额汇总"); Loghelp.Log(sql2); #region //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); //var list= DBUtils.ExecuteDynamicObject(this.Context, sql2); //var sbuList = list.Select(t=>t["SBU"]).ToList().Distinct().ToList(); // sbu //EMT //半导体及北方大区 //采购部 //电能质量APF / SVG产品线 //服务运维部 //国际事业部 //海外营销部 //机场行业线 //决策团队 //诺瓦数能 //其他 //商务运营部 //数据中心 //武汉派诺 //新疆区 //医院 //营销中心 //硬件研发部 //战略市场部 //智慧能源事业部 //string sbu1 = ""; //string sbu2 = ""; //string sbu3 = ""; //string sbu4 = ""; //string sbu = ""; //Dictionary heBingDic = new Dictionary(); //heBingDic.Add(sbu1, 0); //heBingDic.Add(sbu2, 0); //heBingDic.Add(sbu3, 0); //heBingDic.Add(sbu4, 0); //int row = 0; //var insertList = list.Where(t=>1==0).ToList(); //insertList = new List(); //foreach (var item in list) //{ // if (sbu != item["sbu"] && row > 0 || (row == (list.Count - 1))) // { // var templist = list.Where(t => t["sbu"] == sbu).ToList(); // var tempItem = item.Copy(); // tempItem["Salesperson"] = sbu + "小计"; // sbu = item["sbu"].ToString(); // 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["XCumulative"] = templist.Sum(t => long.Parse(t["XCumulative"].ToString())); // tempItem["UsualAlterAmount"] = templist.Sum(t => long.Parse(t["UsualAlterAmount"].ToString())); // tempItem["SiNO"] = templist.Sum(t => long.Parse(t["SiNO"].ToString())); // tempItem["SiNOUsualAlter"] = templist.Sum(t => long.Parse(t["SiNOUsualAlter"].ToString())); // tempItem["WuhanPilotThisYear"] = templist.Sum(t => long.Parse(t["WuhanPilotThisYear"].ToString())); // tempItem["WuhanPilotUsualAlter"] = templist.Sum(t => long.Parse(t["WuhanPilotUsualAlter"].ToString())); // tempItem["Discovery"] = templist.Sum(t => long.Parse(t["Discovery"].ToString())); // tempItem["HongKongPilot"] = templist.Sum(t => long.Parse(t["HongKongPilot"].ToString())); // tempItem["HuaXiaYunLian"] = templist.Sum(t => long.Parse(t["HuaXiaYunLian"].ToString())); // tempItem["DetailArea"] = item["DetailArea"].ToString(); // tempItem["ZhuhaiPilot"] = templist.Sum(t => long.Parse(t["[ZhuhaiPilot]"].ToString())); // tempItem["PilotSumAmount"] = templist.Sum(t => long.Parse(t["PilotSumAmount"].ToString())); // tempItem["FID"] =int.Parse(item["FID"].ToString())+1; // tempItem["FIDENTITYID"] = int.Parse(item["FIDENTITYID"].ToString()) + 1; ; // tempItem["Sort"] = 1; // insertList.Add(tempItem); // } // if (row == 0) // { // sbu = item["sbu"].ToString(); // } //} // var heJi2 = insertList.Where(t =>( t["SBU"].ToString().Contains("EMT") && !t["SBU"].ToString().Contains("EMT团队")) || t["SBU"].ToString().Contains("数据中心") // || t["SBU"].ToString().Contains("医院") || t["SBU"].ToString().Contains("机场行业线")).ToList(); // var heJi3 = insertList.Where(t => t["SBU"].ToString().Contains("半导体及北方大区") || t["SBU"].ToString().Contains("营销中心") //|| t["SBU"].ToString().Contains("新疆区") ).ToList(); // var heJi4 = insertList.Where(t => t["SBU"].ToString().Contains("诺瓦数能") || t["SBU"].ToString().Contains("智慧能源事业部") // || t["SBU"].ToString().Contains("国际事业部") ||( t["SBU"].ToString().Contains("其他")|| t["SBU"]==null)).ToList(); #endregion string insertSql = $@"/*dialect*/ UPDATE {tableName}{guid} SET sbu='其他' WHERE sbu IS null;"; DBUtils.ExecuteDynamicObject(this.Context, sql2); insertSql += $@" /*dialect*/ insert into {tableName}{guid} (Salesperson,[销售员ID],SBU,DetailArea,X1Month,H1Month,X2Month,H2Month,X3Month,H3Month,X4Month,H4Month ,X5Month,H5Month,X6Month,H6Month ,X7Month, H7Month,X8Month,H8Month,X9Month,H9Month,X10Month,H10Month,X11Month,H11Month,X12Month,H12Month ,[XCumulative],[UsualAlterAmount],[SiNO],[SiNOUsualAlter],[WuhanPilotThisYear],[WuhanPilotUsualAlter],[Discovery],[HongKongPilot],HuaXiaYunLian ,[ZhuhaiPilot],[PilotSumAmount],FID,FIDENTITYID,sort ,[累计销售额],[累计回款额],[往年订单变更金额],[兴诺业绩],[兴诺往年订单变更],[武汉派诺-当年业绩],[武汉派诺-往年订单变更],[碳索业绩],[香港派诺业绩],[华夏云联业绩] ,组织ID) SELECT [sbu]+'小计' , 99383320 ,'','', SUM(X1Month) AS X1Month,SUM(H1Month) AS H1Month, SUM(X2Month) AS X2Month,SUM(H2Month) AS H2Month, SUM(X3Month) AS X3Month,SUM(H3Month) AS H3Month, SUM(X4Month) AS X4Month,SUM(H4Month) AS H4Month , SUM(X5Month) AS X5Month,SUM(H5Month) AS H5Month, SUM(X6Month) AS X6Month,SUM(H6Month) AS H6Month, SUM(X7Month) AS X7Month,SUM(H7Month) AS H7Month, SUM(X8Month) AS X8Month, SUM(h8Month) AS h8Month,SUM(X9Month) AS X9Month,SUM(H9Month) AS H9Month , SUM(X10Month) AS X10Month,SUM(H10Month) AS H10Month , SUM(X11Month) AS X11Month,SUM(H11Month) AS H11Month , SUM(X12Month) AS X12Month , SUM(H12Month) AS H12Month , SUM([XCumulative]) AS [XCumulative], SUM([UsualAlterAmount]) AS [UsualAlterAmount],SUM([SiNO]) AS [SiNO], SUM([SiNOUsualAlter]) AS [SiNOUsualAlter] ,SUM([WuhanPilotThisYear]) AS [WuhanPilotThisYear],SUM([WuhanPilotUsualAlter]) AS [WuhanPilotUsualAlter],SUM([Discovery]) AS [Discovery] ,SUM([HongKongPilot]) AS [HongKongPilot] ,SUM([HuaXiaYunLian]) AS [HuaXiaYunLian],SUM([ZhuhaiPilot]) AS [ZhuhaiPilot],SUM([PilotSumAmount]) AS [PilotSumAmount],MAX(FID)+1 AS FID ,MAX(FIDENTITYID)+1 AS FIDENTITYID ,1 as sort ,0 as 累计销售额, 0 [累计回款额],0 [往年订单变更金额],0 [兴诺业绩],0 [兴诺往年订单变更],0 [武汉派诺-当年业绩],0 [武汉派诺-往年订单变更],0 [碳索业绩] ,0 [香港派诺业绩],0 [华夏云联业绩], 100302 [组织ID] FROM {tableName}{guid} where [组织ID]=100302 GROUP BY SBU insert into {tableName}{guid} (Salesperson,[销售员ID],SBU,DetailArea,X1Month,H1Month,X2Month,H2Month,X3Month,H3Month,X4Month,H4Month ,X5Month,H5Month,X6Month,H6Month ,X7Month, H7Month,X8Month,H8Month,X9Month,H9Month,X10Month,H10Month,X11Month,H11Month,X12Month,H12Month ,[XCumulative],[UsualAlterAmount],[SiNO],[SiNOUsualAlter],[WuhanPilotThisYear],[WuhanPilotUsualAlter],[Discovery],[HongKongPilot],HuaXiaYunLian ,[ZhuhaiPilot],[PilotSumAmount],FID,FIDENTITYID,sort ,[累计销售额],[累计回款额],[往年订单变更金额],[兴诺业绩],[兴诺往年订单变更],[武汉派诺-当年业绩],[武汉派诺-往年订单变更],[碳索业绩],[香港派诺业绩],[华夏云联业绩] ,组织ID ) SELECT '派诺集团合计(行业线+SBU+诺瓦数能+事业部+OEM配套组+EMT团队+其他+各子公司)' , 99383322 ,'','', SUM(X1Month) AS X1Month,SUM(H1Month) AS H1Month, SUM(X2Month) AS X2Month,SUM(H2Month) AS H2Month, SUM(X3Month) AS X3Month,SUM(H3Month) AS H3Month, SUM(X4Month) AS X4Month,SUM(H4Month) AS H4Month , SUM(X5Month) AS X5Month,SUM(H5Month) AS H5Month, SUM(X6Month) AS X6Month,SUM(H6Month) AS H6Month, SUM(X7Month) AS X7Month,SUM(H7Month) AS H7Month, SUM(X8Month) AS X8Month, SUM(h8Month) AS h8Month,SUM(X9Month) AS X9Month,SUM(H9Month) AS H9Month , SUM(X10Month) AS X10Month,SUM(H10Month) AS H10Month , SUM(X11Month) AS X11Month,SUM(H11Month) AS H11Month , SUM(X12Month) AS X12Month , SUM(H12Month) AS H12Month , SUM([XCumulative]) AS [XCumulative], SUM([UsualAlterAmount]) AS [UsualAlterAmount],SUM([SiNO]) AS [SiNO], SUM([SiNOUsualAlter]) AS [SiNOUsualAlter] ,SUM([WuhanPilotThisYear]) AS [WuhanPilotThisYear],SUM([WuhanPilotUsualAlter]) AS [WuhanPilotUsualAlter],SUM([Discovery]) AS [Discovery] ,SUM([HongKongPilot]) AS [HongKongPilot] ,SUM([HuaXiaYunLian]) AS [HuaXiaYunLian],SUM([ZhuhaiPilot]) AS [ZhuhaiPilot],SUM([PilotSumAmount]) AS [PilotSumAmount],(SELECT MAX(FID) FROM {tableName}{guid} )+1 +1 AS FID ,(SELECT MAX(FID) FROM {tableName}{guid} )+1 AS FIDENTITYID ,2 as sort ,0 as 累计销售额, 0 [累计回款额],0 [往年订单变更金额],SUM([兴诺业绩]) [兴诺业绩],SUM([兴诺往年订单变更]) [兴诺往年订单变更],SUM([武汉派诺-当年业绩]) [武汉派诺-当年业绩],SUM([武汉派诺-往年订单变更]) [武汉派诺-往年订单变更],SUM([碳索业绩]) [碳索业绩] ,SUM([香港派诺业绩]) [香港派诺业绩],SUM([华夏云联业绩]) [华夏云联业绩],100302 as [组织ID] FROM {tableName}{guid} where [销售员ID]<99383300 AND 组织ID=100302 UPDATE {tableName}{guid} SET [XCumulative]=(b.[XCumulative]) ,[UsualAlterAmount]=(b.[UsualAlterAmount]),[SiNO]=(b.[SiNO]),[SiNOUsualAlter]=(b.[SiNOUsualAlter]) ,[WuhanPilotThisYear]=(b.[WuhanPilotThisYear]),[WuhanPilotUsualAlter]=(b.[WuhanPilotUsualAlter]),[Discovery]=(b.[Discovery]),[HongKongPilot]=(b.[HongKongPilot]),[HuaXiaYunLian]=(b.[HuaXiaYunLian]) ,[ZhuhaiPilot]=(b.[ZhuhaiPilot]),[PilotSumAmount]=(b.[PilotSumAmount]) FROM (SELECT [XCumulative]=SUM(b.[XCumulative]) ,[UsualAlterAmount]=SUM(b.[UsualAlterAmount]),[SiNO]=SUM(b.[SiNO]),[SiNOUsualAlter]=SUM(b.[SiNOUsualAlter]) ,[WuhanPilotThisYear]=SUM(b.[WuhanPilotThisYear]),[WuhanPilotUsualAlter]=SUM(b.[WuhanPilotUsualAlter]),[Discovery]=SUM(b.[Discovery]),[HongKongPilot]=SUM(b.[HongKongPilot]),[HuaXiaYunLian]=SUM(b.[HuaXiaYunLian]) ,[ZhuhaiPilot]=SUM(b.[ZhuhaiPilot]),[PilotSumAmount]=SUM(b.[PilotSumAmount]) FROM {tableName}{guid} b WITH(NOLOCK) WHERE b.[销售员ID] < 99383300 ) b WHERE {tableName}{guid} .[销售员ID]=99383322; insert into {tableName}{guid} (Salesperson,[销售员ID],SBU,DetailArea,X1Month,H1Month,X2Month,H2Month,X3Month,H3Month,X4Month,H4Month ,X5Month,H5Month,X6Month,H6Month ,X7Month, H7Month,X8Month,H8Month,X9Month,H9Month,X10Month,H10Month,X11Month,H11Month,X12Month,H12Month ,[XCumulative],[UsualAlterAmount],[SiNO],[SiNOUsualAlter],[WuhanPilotThisYear],[WuhanPilotUsualAlter],[Discovery],[HongKongPilot],HuaXiaYunLian ,[ZhuhaiPilot],[PilotSumAmount],FID,FIDENTITYID,sort ,[累计销售额],[累计回款额],[往年订单变更金额],[兴诺业绩],[兴诺往年订单变更],[武汉派诺-当年业绩],[武汉派诺-往年订单变更],[碳索业绩],[香港派诺业绩],[华夏云联业绩] ,组织ID ) SELECT '一、珠海兴诺合计' , 99383323 ,'','', SUM(X1Month) AS X1Month,SUM(H1Month) AS H1Month, SUM(X2Month) AS X2Month,SUM(H2Month) AS H2Month, SUM(X3Month) AS X3Month,SUM(H3Month) AS H3Month, SUM(X4Month) AS X4Month,SUM(H4Month) AS H4Month , SUM(X5Month) AS X5Month,SUM(H5Month) AS H5Month, SUM(X6Month) AS X6Month,SUM(H6Month) AS H6Month, SUM(X7Month) AS X7Month,SUM(H7Month) AS H7Month, SUM(X8Month) AS X8Month, SUM(h8Month) AS h8Month,SUM(X9Month) AS X9Month,SUM(H9Month) AS H9Month , SUM(X10Month) AS X10Month,SUM(H10Month) AS H10Month , SUM(X11Month) AS X11Month,SUM(H11Month) AS H11Month , SUM(X12Month) AS X12Month , SUM(H12Month) AS H12Month , 0 AS [XCumulative], 0 AS [UsualAlterAmount],0 AS [SiNO], 0 AS [SiNOUsualAlter] ,0 AS [WuhanPilotThisYear],0 AS [WuhanPilotUsualAlter],0 AS [Discovery] ,0 AS [HongKongPilot] ,0 AS [HuaXiaYunLian],0 AS [ZhuhaiPilot], 0 AS [PilotSumAmount],(SELECT MAX(FID) FROM {tableName}{guid} )+1 AS FID ,(SELECT MAX(FID) FROM {tableName}{guid} )+1 +1 AS FIDENTITYID ,3 as sort ,0 as 累计销售额, 0 [累计回款额],0 [往年订单变更金额],0 [兴诺业绩],0 [兴诺往年订单变更],0 [武汉派诺-当年业绩],0 [武汉派诺-往年订单变更],0 [碳索业绩] ,0 [香港派诺业绩],0 [华夏云联业绩],100303 as [组织ID] FROM {tableName}{guid} where [销售员ID] <99383300 AND 组织ID=100303 insert into {tableName}{guid} (Salesperson,[销售员ID],SBU,DetailArea,X1Month,H1Month,X2Month,H2Month,X3Month,H3Month,X4Month,H4Month ,X5Month,H5Month,X6Month,H6Month ,X7Month, H7Month,X8Month,H8Month,X9Month,H9Month,X10Month,H10Month,X11Month,H11Month,X12Month,H12Month ,[XCumulative],[UsualAlterAmount],[SiNO],[SiNOUsualAlter],[WuhanPilotThisYear],[WuhanPilotUsualAlter],[Discovery],[HongKongPilot],HuaXiaYunLian ,[ZhuhaiPilot],[PilotSumAmount],FID,FIDENTITYID,sort ,[累计销售额],[累计回款额],[往年订单变更金额],[兴诺业绩],[兴诺往年订单变更],[武汉派诺-当年业绩],[武汉派诺-往年订单变更],[碳索业绩],[香港派诺业绩],[华夏云联业绩] ,组织ID ) SELECT '二、华夏云联合计' , 99383324 ,'','', SUM(X1Month) AS X1Month,SUM(H1Month) AS H1Month, SUM(X2Month) AS X2Month,SUM(H2Month) AS H2Month, SUM(X3Month) AS X3Month,SUM(H3Month) AS H3Month, SUM(X4Month) AS X4Month,SUM(H4Month) AS H4Month , SUM(X5Month) AS X5Month,SUM(H5Month) AS H5Month, SUM(X6Month) AS X6Month,SUM(H6Month) AS H6Month, SUM(X7Month) AS X7Month,SUM(H7Month) AS H7Month, SUM(X8Month) AS X8Month, SUM(h8Month) AS h8Month,SUM(X9Month) AS X9Month,SUM(H9Month) AS H9Month , SUM(X10Month) AS X10Month,SUM(H10Month) AS H10Month , SUM(X11Month) AS X11Month,SUM(H11Month) AS H11Month , SUM(X12Month) AS X12Month , SUM(H12Month) AS H12Month , 0 AS [XCumulative], 0 AS [UsualAlterAmount],0 AS [SiNO], 0 AS [SiNOUsualAlter] ,0 AS [WuhanPilotThisYear],0 AS [WuhanPilotUsualAlter],0 AS [Discovery] ,0 AS [HongKongPilot] ,0 AS [HuaXiaYunLian],0 AS [ZhuhaiPilot], 0 AS [PilotSumAmount],(SELECT MAX(FID) FROM {tableName}{guid} )+1 AS FID ,(SELECT MAX(FID) FROM {tableName}{guid} )+1 +1 AS FIDENTITYID ,3 as sort ,0 as 累计销售额, 0 [累计回款额],0 [往年订单变更金额],0 [兴诺业绩],0 [兴诺往年订单变更],0 [武汉派诺-当年业绩],0 [武汉派诺-往年订单变更],0 [碳索业绩] ,0 [香港派诺业绩],0 [华夏云联业绩],533896 as [组织ID] FROM {tableName}{guid} where [销售员ID]!=99383320 AND 组织ID=533896 insert into {tableName}{guid} (Salesperson,[销售员ID],SBU,DetailArea,X1Month,H1Month,X2Month,H2Month,X3Month,H3Month,X4Month,H4Month ,X5Month,H5Month,X6Month,H6Month ,X7Month, H7Month,X8Month,H8Month,X9Month,H9Month,X10Month,H10Month,X11Month,H11Month,X12Month,H12Month ,[XCumulative],[UsualAlterAmount],[SiNO],[SiNOUsualAlter],[WuhanPilotThisYear],[WuhanPilotUsualAlter],[Discovery],[HongKongPilot],HuaXiaYunLian ,[ZhuhaiPilot],[PilotSumAmount],FID,FIDENTITYID,sort ,[累计销售额],[累计回款额],[往年订单变更金额],[兴诺业绩],[兴诺往年订单变更],[武汉派诺-当年业绩],[武汉派诺-往年订单变更],[碳索业绩],[香港派诺业绩],[华夏云联业绩] ,组织ID ) SELECT '三、香港派诺合计' , 99383325 ,'','', SUM(X1Month) AS X1Month,SUM(H1Month) AS H1Month, SUM(X2Month) AS X2Month,SUM(H2Month) AS H2Month, SUM(X3Month) AS X3Month,SUM(H3Month) AS H3Month, SUM(X4Month) AS X4Month,SUM(H4Month) AS H4Month , SUM(X5Month) AS X5Month,SUM(H5Month) AS H5Month, SUM(X6Month) AS X6Month,SUM(H6Month) AS H6Month, SUM(X7Month) AS X7Month,SUM(H7Month) AS H7Month, SUM(X8Month) AS X8Month, SUM(h8Month) AS h8Month,SUM(X9Month) AS X9Month,SUM(H9Month) AS H9Month , SUM(X10Month) AS X10Month,SUM(H10Month) AS H10Month , SUM(X11Month) AS X11Month,SUM(H11Month) AS H11Month , SUM(X12Month) AS X12Month , SUM(H12Month) AS H12Month , 0 AS [XCumulative], 0 AS [UsualAlterAmount],0 AS [SiNO], 0 AS [SiNOUsualAlter] ,0 AS [WuhanPilotThisYear],0 AS [WuhanPilotUsualAlter],0 AS [Discovery] ,0 AS [HongKongPilot] ,0 AS [HuaXiaYunLian],0 AS [ZhuhaiPilot], 0 AS [PilotSumAmount],(SELECT MAX(FID) FROM {tableName}{guid} )+1 AS FID ,(SELECT MAX(FID) FROM {tableName}{guid} )+1 +1 AS FIDENTITYID ,3 as sort ,0 as 累计销售额, 0 [累计回款额],0 [往年订单变更金额],0 [兴诺业绩],0 [兴诺往年订单变更],0 [武汉派诺-当年业绩],0 [武汉派诺-往年订单变更],0 [碳索业绩] ,0 [香港派诺业绩],0 [华夏云联业绩],438224 as [组织ID] FROM {tableName}{guid} where [销售员ID] <99383300 AND 组织ID=438224 insert into {tableName}{guid} (Salesperson,[销售员ID],SBU,DetailArea,X1Month,H1Month,X2Month,H2Month,X3Month,H3Month,X4Month,H4Month ,X5Month,H5Month,X6Month,H6Month ,X7Month, H7Month,X8Month,H8Month,X9Month,H9Month,X10Month,H10Month,X11Month,H11Month,X12Month,H12Month ,[XCumulative],[UsualAlterAmount],[SiNO],[SiNOUsualAlter],[WuhanPilotThisYear],[WuhanPilotUsualAlter],[Discovery],[HongKongPilot],HuaXiaYunLian ,[ZhuhaiPilot],[PilotSumAmount],FID,FIDENTITYID,sort ,[累计销售额],[累计回款额],[往年订单变更金额],[兴诺业绩],[兴诺往年订单变更],[武汉派诺-当年业绩],[武汉派诺-往年订单变更],[碳索业绩],[香港派诺业绩],[华夏云联业绩] ,组织ID ) SELECT '四、碳索合计' , 99383326 ,'','', SUM(X1Month) AS X1Month,SUM(H1Month) AS H1Month, SUM(X2Month) AS X2Month,SUM(H2Month) AS H2Month, SUM(X3Month) AS X3Month,SUM(H3Month) AS H3Month, SUM(X4Month) AS X4Month,SUM(H4Month) AS H4Month , SUM(X5Month) AS X5Month,SUM(H5Month) AS H5Month, SUM(X6Month) AS X6Month,SUM(H6Month) AS H6Month, SUM(X7Month) AS X7Month,SUM(H7Month) AS H7Month, SUM(X8Month) AS X8Month, SUM(h8Month) AS h8Month,SUM(X9Month) AS X9Month,SUM(H9Month) AS H9Month , SUM(X10Month) AS X10Month,SUM(H10Month) AS H10Month , SUM(X11Month) AS X11Month,SUM(H11Month) AS H11Month , SUM(X12Month) AS X12Month , SUM(H12Month) AS H12Month , 0 AS [XCumulative], 0 AS [UsualAlterAmount],0 AS [SiNO], 0 AS [SiNOUsualAlter] ,0 AS [WuhanPilotThisYear],0 AS [WuhanPilotUsualAlter],0 AS [Discovery] ,0 AS [HongKongPilot] ,0 AS [HuaXiaYunLian],0 AS [ZhuhaiPilot], 0 AS [PilotSumAmount],(SELECT MAX(FID) FROM {tableName}{guid} )+1 AS FID ,(SELECT MAX(FID) FROM {tableName}{guid} )+1 +1 AS FIDENTITYID ,3 as sort ,0 as 累计销售额, 0 [累计回款额],0 [往年订单变更金额],0 [兴诺业绩],0 [兴诺往年订单变更],0 [武汉派诺-当年业绩],0 [武汉派诺-往年订单变更],0 [碳索业绩] ,0 [香港派诺业绩],0 [华夏云联业绩],438223 as [组织ID] FROM {tableName}{guid} where [销售员ID] <99383300 AND 组织ID=438223 insert into {tableName}{guid} (Salesperson,[销售员ID],SBU,DetailArea,X1Month,H1Month,X2Month,H2Month,X3Month,H3Month,X4Month,H4Month ,X5Month,H5Month,X6Month,H6Month ,X7Month, H7Month,X8Month,H8Month,X9Month,H9Month,X10Month,H10Month,X11Month,H11Month,X12Month,H12Month ,[XCumulative],[UsualAlterAmount],[SiNO],[SiNOUsualAlter],[WuhanPilotThisYear],[WuhanPilotUsualAlter],[Discovery],[HongKongPilot],HuaXiaYunLian ,[ZhuhaiPilot],[PilotSumAmount],FID,FIDENTITYID,sort ,[累计销售额],[累计回款额],[往年订单变更金额],[兴诺业绩],[兴诺往年订单变更],[武汉派诺-当年业绩],[武汉派诺-往年订单变更],[碳索业绩],[香港派诺业绩],[华夏云联业绩] ,组织ID ) SELECT '五、武汉派诺合计' , 99383327 ,'','', SUM(X1Month) AS X1Month,SUM(H1Month) AS H1Month, SUM(X2Month) AS X2Month,SUM(H2Month) AS H2Month, SUM(X3Month) AS X3Month,SUM(H3Month) AS H3Month, SUM(X4Month) AS X4Month,SUM(H4Month) AS H4Month , SUM(X5Month) AS X5Month,SUM(H5Month) AS H5Month, SUM(X6Month) AS X6Month,SUM(H6Month) AS H6Month, SUM(X7Month) AS X7Month,SUM(H7Month) AS H7Month, SUM(X8Month) AS X8Month, SUM(h8Month) AS h8Month,SUM(X9Month) AS X9Month,SUM(H9Month) AS H9Month , SUM(X10Month) AS X10Month,SUM(H10Month) AS H10Month , SUM(X11Month) AS X11Month,SUM(H11Month) AS H11Month , SUM(X12Month) AS X12Month , SUM(H12Month) AS H12Month , 0 AS [XCumulative], 0 AS [UsualAlterAmount],0 AS [SiNO], 0 AS [SiNOUsualAlter] ,0 AS [WuhanPilotThisYear],0 AS [WuhanPilotUsualAlter],0 AS [Discovery] ,0 AS [HongKongPilot] ,0 AS [HuaXiaYunLian],0 AS [ZhuhaiPilot], 0 AS [PilotSumAmount],(SELECT MAX(FID) FROM {tableName}{guid} )+1 AS FID ,(SELECT MAX(FID) FROM {tableName}{guid} )+1 +1 AS FIDENTITYID ,3 as sort ,0 as 累计销售额, 0 [累计回款额],0 [往年订单变更金额],0 [兴诺业绩],0 [兴诺往年订单变更],0 [武汉派诺-当年业绩],0 [武汉派诺-往年订单变更],0 [碳索业绩] ,0 [香港派诺业绩],0 [华夏云联业绩],100305 as [组织ID] FROM {tableName}{guid} where [销售员ID] < 99383300 AND 组织ID=100305 insert into {tableName}{guid} (Salesperson,[销售员ID],SBU,DetailArea,X1Month,H1Month,X2Month,H2Month,X3Month,H3Month,X4Month,H4Month ,X5Month,H5Month,X6Month,H6Month ,X7Month, H7Month,X8Month,H8Month,X9Month,H9Month,X10Month,H10Month,X11Month,H11Month,X12Month,H12Month ,[XCumulative],[UsualAlterAmount],[SiNO],[SiNOUsualAlter],[WuhanPilotThisYear],[WuhanPilotUsualAlter],[Discovery],[HongKongPilot],HuaXiaYunLian ,[ZhuhaiPilot],[PilotSumAmount],FID,FIDENTITYID,sort ,[累计销售额],[累计回款额],[往年订单变更金额],[兴诺业绩],[兴诺往年订单变更],[武汉派诺-当年业绩],[武汉派诺-往年订单变更],[碳索业绩],[香港派诺业绩],[华夏云联业绩] ,组织ID ) SELECT '派诺集团总计(一+二+三)' , 99383328 ,'','', SUM(X1Month) AS X1Month,SUM(H1Month) AS H1Month, SUM(X2Month) AS X2Month,SUM(H2Month) AS H2Month, SUM(X3Month) AS X3Month,SUM(H3Month) AS H3Month, SUM(X4Month) AS X4Month,SUM(H4Month) AS H4Month , SUM(X5Month) AS X5Month,SUM(H5Month) AS H5Month, SUM(X6Month) AS X6Month,SUM(H6Month) AS H6Month, SUM(X7Month) AS X7Month,SUM(H7Month) AS H7Month, SUM(X8Month) AS X8Month, SUM(h8Month) AS h8Month,SUM(X9Month) AS X9Month,SUM(H9Month) AS H9Month , SUM(X10Month) AS X10Month,SUM(H10Month) AS H10Month , SUM(X11Month) AS X11Month,SUM(H11Month) AS H11Month , SUM(X12Month) AS X12Month , SUM(H12Month) AS H12Month , SUM([XCumulative]) AS [XCumulative], SUM([UsualAlterAmount]) AS [UsualAlterAmount],SUM([SiNO]) AS [SiNO], SUM([SiNOUsualAlter]) AS [SiNOUsualAlter] ,SUM([WuhanPilotThisYear]) AS [WuhanPilotThisYear],SUM([WuhanPilotUsualAlter]) AS [WuhanPilotUsualAlter],SUM([Discovery]) AS [Discovery] ,SUM([HongKongPilot]) AS [HongKongPilot] ,SUM([HuaXiaYunLian]) AS [HuaXiaYunLian],SUM([ZhuhaiPilot]) AS [ZhuhaiPilot],SUM([PilotSumAmount]) AS [PilotSumAmount],(SELECT MAX(FID) FROM {tableName}{guid} )+1 +1 AS FID ,(SELECT MAX(FID) FROM {tableName}{guid} )+1 AS FIDENTITYID ,4 as sort ,0 as 累计销售额, 0 [累计回款额],0 [往年订单变更金额],SUM([兴诺业绩]) [兴诺业绩],SUM([兴诺往年订单变更]) [兴诺往年订单变更],SUM([武汉派诺-当年业绩]) [武汉派诺-当年业绩],SUM([武汉派诺-往年订单变更]) [武汉派诺-往年订单变更],SUM([碳索业绩]) [碳索业绩] ,SUM([香港派诺业绩]) [香港派诺业绩],SUM([华夏云联业绩]) [华夏云联业绩],999999 as [组织ID] FROM {tableName}{guid} where [销售员ID] IN (99383327,99383326,99383325,99383324,99383323,99383322) "; Loghelp.Log("insertSql:"); Loghelp.Log(insertSql); DBUtils.ExecuteDynamicObject(this.Context, insertSql); insertSql = ""; insertSql += $@"/*dialect*/ SELECT ROW_NUMBER() OVER (ORDER BY MAX(FID)) FID, ROW_NUMBER() OVER (ORDER BY MAX(FID)) FIDENTITYID, Salesperson,SBU,DetailArea,SUM(X1Month) AS X1Month,SUM(H1Month) AS H1Month, SUM(X2Month) AS X2Month,SUM(H2Month) AS H2Month, SUM(X3Month) AS X3Month,SUM(H3Month) AS H3Month, SUM(X4Month) AS X4Month,SUM(H4Month) AS H4Month , SUM(X5Month) AS X5Month,SUM(H5Month) AS H5Month, SUM(X6Month) AS X6Month,SUM(H6Month) AS H6Month, SUM(X7Month) AS X7Month,SUM(H7Month) AS H7Month, SUM(X8Month) AS X8Month, SUM(h8Month) AS h8Month,SUM(X9Month) AS X9Month,SUM(H9Month) AS H9Month , SUM(X10Month) AS X10Month,SUM(H10Month) AS H10Month , SUM(X11Month) AS X11Month,SUM(H11Month) AS H11Month , SUM(X12Month) AS X12Month , SUM(H12Month) AS H12Month , SUM([XCumulative]) AS [XCumulative], SUM([UsualAlterAmount]) AS [UsualAlterAmount],SUM([SiNO]) AS [SiNO], SUM([SiNOUsualAlter]) AS [SiNOUsualAlter] ,SUM([WuhanPilotThisYear]) AS [WuhanPilotThisYear],SUM([WuhanPilotUsualAlter]) AS [WuhanPilotUsualAlter],SUM([Discovery]) AS [Discovery] ,SUM([HongKongPilot]) AS [HongKongPilot] ,SUM([HuaXiaYunLian]) AS [HuaXiaYunLian],SUM([ZhuhaiPilot]) AS [ZhuhaiPilot],SUM([PilotSumAmount]) AS [PilotSumAmount],MAX(sort) sort INTO {tableName} FROM {tableName}{guid} GROUP BY Salesperson,SBU,DetailArea ORDER BY FID ; drop table {tableName}{guid} ; "; Loghelp.Log("最后创建表:"); Loghelp.Log(insertSql); DBUtils.Execute(this.Context, insertSql); //string upsql = $@"update {tableName}{guid} set fid=sortNum,FIDENTITYID=sortNum1"; } } }