From b595f279c857a6a4c18b3476512e957ac4190b8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E7=8B=97=E8=9B=8B?= <12086832+li-goudan233@user.noreply.gitee.com> Date: Tue, 15 Apr 2025 11:11:33 +0800 Subject: [PATCH] 1 --- GZ_LTHReportForms.csproj | 1 + ReporyDDWFH/DDWFHMX.cs | 68 ++++ YingShouBaoBiao/YingShouQDNF.cs | 307 +----------------- YingShouBaoBiao/YingShouSBU.cs | 82 +---- bin/Debug/GZ_LTHReportForms.dll | Bin 72704 -> 49664 bytes bin/Debug/GZ_LTHReportForms.pdb | Bin 60928 -> 62976 bytes .../应收情况概况表按(签订年份)创建表单SQL.sql | 9 + .../应收情况概况表按(签订年份)插入数据SQL.sql | 70 ++++ .../订单未发货明细表创建表单sql.sql | 20 ++ .../订单未发货明细表插入数据SQL.sql | 35 ++ 10 files changed, 225 insertions(+), 367 deletions(-) create mode 100644 ReporyDDWFH/DDWFHMX.cs create mode 100644 派诺报表SQL文件/应收情况概况表按(签订年份)创建表单SQL.sql create mode 100644 派诺报表SQL文件/应收情况概况表按(签订年份)插入数据SQL.sql create mode 100644 派诺报表SQL文件/订单未发货明细表创建表单sql.sql create mode 100644 派诺报表SQL文件/订单未发货明细表插入数据SQL.sql diff --git a/GZ_LTHReportForms.csproj b/GZ_LTHReportForms.csproj index 7063e53..4389381 100644 --- a/GZ_LTHReportForms.csproj +++ b/GZ_LTHReportForms.csproj @@ -56,6 +56,7 @@ + diff --git a/ReporyDDWFH/DDWFHMX.cs b/ReporyDDWFH/DDWFHMX.cs new file mode 100644 index 0000000..5374603 --- /dev/null +++ b/ReporyDDWFH/DDWFHMX.cs @@ -0,0 +1,68 @@ +using Kingdee.BOS.Core.Report; +using Kingdee.BOS; +using Kingdee.BOS.Util; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Kingdee.BOS.Contracts.Report; +using Kingdee.BOS.Orm.DataEntity; + +namespace GZ_LTHReportForms.ReporyDDWFH +{ + [Description("【报表服务插件】订单为未发货明细表_TH"), HotUpdate] + public class DDWFHMX : SysReportBaseService + { + public override void Initialize() + { + base.Initialize(); + this.ReportProperty.ReportName = new LocaleValue("销售业绩排行榜", base.Context.UserLocale.LCID); + this.ReportProperty.IsUIDesignerColumns = false; + // 简单账表类型:普通、树形、分页 + this.ReportProperty.ReportType = ReportType.REPORTTYPE_NORMAL; + this.IsCreateTempTableByPlugin = true; + // + this.IsCreateTempTableByPlugin = true; + // + this.ReportProperty.IsGroupSummary = true; + // + this.ReportProperty.SimpleAllCols = false; + // 单据主键:两行FID相同,则为同一单的两条分录,单据编号可以不重复显示 + this.ReportProperty.PrimaryKeyFieldName = "FID"; + // + this.ReportProperty.IsDefaultOnlyDspSumAndDetailData = true; + + // 设置精度控制 + var list = new List + { + 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) + { + DynamicObject customFilter = filter.FilterParameter.CustomFilter; + + base.GetReportHeaders(filter); + + ReportHeader header = new ReportHeader(); + + header.AddChild("部门_SBU", new LocaleValue("部门(SBU)"), SqlStorageType.Sqlvarchar); + header.AddChild("",new LocaleValue()); + + foreach (var item in header.GetChilds()) + { + item.Width = 160; + } + return header; + } + } +} diff --git a/YingShouBaoBiao/YingShouQDNF.cs b/YingShouBaoBiao/YingShouQDNF.cs index 5382020..cbe1777 100644 --- a/YingShouBaoBiao/YingShouQDNF.cs +++ b/YingShouBaoBiao/YingShouQDNF.cs @@ -30,61 +30,6 @@ namespace GZ_LTHReportForms.YingShouBaoBiao //设置是否分组汇总 this.ReportProperty.IsGroupSummary = true; } - //获取过滤条件信息(构造单据信息) - public override ReportTitles GetReportTitles(IRptParams filter) - { - //创建标题对象 - ReportTitles reportTitles = new ReportTitles(); - //获取自定义过滤条件 - DynamicObject customFilter = filter.FilterParameter.CustomFilter; - if (customFilter != null) - { - //获取组织名称 - string multiOrgnNameValues = this.GetMultiOrgnNameValues(customFilter["F_YKQC_OrgId_qtr"] as DynamicObject); - //添加标题 - reportTitles.AddTitle("F_YKQC_OrgId_qtr", multiOrgnNameValues); - } - //返回标题 - return reportTitles; - } - //获取组织名称 - private string GetMultiOrgnNameValues(DynamicObject orgIdStrings) - { - //获取组织名称 - List list = new List(); - //初始化结果字符串 - string result = string.Empty; - //如果组织ID字符串不为空 - if (orgIdStrings != null) - { - //获取查询服务 - IQueryService service = Kingdee.BOS.Contracts.ServiceFactory.GetService(base.Context); - //创建查询参数 - QueryBuilderParemeter para = new QueryBuilderParemeter - { - FormId = "ORG_Organizations", - //查询组织名称 - SelectItems = SelectorItemInfo.CreateItems("FNAME"), - //过滤条件,根据组织ID和区域ID - FilterClauseWihtKey = string.Format("FORGID IN ({0}) AND FLOCALEID = {1}", orgIdStrings["Id"].Long2Int(), base.Context.UserLocale.LCID) - }; - //获取动态对象集合 - DynamicObjectCollection dynamicObjects = service.GetDynamicObjectCollection(base.Context, para, null); - //遍历获取到的动态对象 - foreach (DynamicObject current in dynamicObjects) - { - //将组织名称添加到列表 - list.Add(current["FNAME"].ToString()); - } - //如果列表不为空 - if (list.Count > 0) - { - result = string.Join(",", list.ToArray()); - } - } - //返回组织名称字符串 - return result; - } //设置单据列 public override ReportHeader GetReportHeaders(IRptParams filter) { @@ -104,259 +49,17 @@ namespace GZ_LTHReportForms.YingShouBaoBiao //创建临时表 public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName) { - //获取过滤条件 - string Filter = GetFilterWhere(filter); - /* - 取数SQL - SQL查询字符串,提取所需数据并将结果存入临时表 - */ + base.BuilderReportSqlAndTempTable (filter, tableName); + + + string sql = string.Format(@"/*dialect*/ -DECLARE @ResultDate VARCHAR(1000); -DECLARE @ThisDate VARCHAR(1000); -DECLARE @SUMDQ DECIMAL(10, 2); - --- 取上一年的年底日期 -SET @ResultDate = FORMAT(DATEADD(DAY, -1, DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), 0)),'yyyy-MM-dd'); ---取当前日期 -SET @ThisDate = FORMAT(GETDATE(),'yyyy-MM-dd') - -SELECT W.*,x.FNAME into #RecCond FROM T_SAL_ORDERPLAN W -INNER JOIN T_BD_RecCondition_L X on X.FID = W.F_RecConditionId - -SELECT D.FID,sum(b.fqty) AS 'FQTY',sum(E.fallamount) AS 'FAMOUNT' - INTO #SAL - FROM T_SAL_DELIVERYNOTICE A - INNER JOIN T_SAL_DELIVERYNOTICEENTRY B ON A.FID = B.FID - INNER JOIN T_SAL_DELIVERYNOTICEENTRY_F E ON E.FENTRYID = B.FENTRYID - INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK C ON C.FENTRYID = B.FENTRYID - INNER JOIN T_SAL_ORDERENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID - WHERE A.FDOCUMENTSTATUS= 'C' - GROUP BY D.FID - - - SELECT D.FID,sum(b.fqty) AS 'FQTY',sum(E.fallamount) AS 'FAMOUNT' - INTO #RETURN - FROM T_SAL_RETURNNOTICE A - INNER JOIN T_SAL_RETURNNOTICEENTRY B ON A.FID = B.FID - INNER JOIN T_SAL_RETURNNOTICEENTRY_F E ON E.FENTRYID = B.FENTRYID - INNER JOIN T_SAL_RETURNNOTICEENTRY_LK C ON C.FENTRYID = B.FENTRYID - INNER JOIN T_SAL_ORDERENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID - WHERE A.FDOCUMENTSTATUS= 'C' - GROUP BY D.FID - - - SELECT F.FID,sum(b.FREALQTY) AS 'FQTY',sum(G.FALLAMOUNT_LC) AS 'FAMOUNT' - INTO #OUTSTOCK - FROM T_SAL_OUTSTOCK A - INNER JOIN T_SAL_OUTSTOCKENTRY B ON A.FID = B.FID - INNER JOIN T_SAL_OUTSTOCKENTRY_F G ON G.FENTRYID = B.FENTRYID - INNER JOIN T_SAL_OUTSTOCKENTRY_LK C ON C.FENTRYID = B.FENTRYID - INNER JOIN T_SAL_DELIVERYNOTICEENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID - INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK E ON E.FENTRYID = D.FENTRYID - INNER JOIN T_SAL_ORDERENTRY F ON F.FID = E.FSBILLID AND F.FENTRYID = E.FSID - WHERE A.FDOCUMENTSTATUS= 'C' - GROUP BY F.FID - - SELECT F.FID,sum(b.FREALQTY) AS 'FQTY',sum(G.FALLAMOUNT_LC) AS 'FAMOUNT' - INTO #RETURNSTOCK - FROM T_SAL_RETURNSTOCK A - INNER JOIN T_SAL_RETURNSTOCKENTRY B ON A.FID = B.FID - INNER JOIN T_SAL_RETURNSTOCKENTRY_F G ON G.FENTRYID = B.FENTRYID - INNER JOIN T_SAL_RETURNSTOCKENTRY_LK C ON C.FENTRYID = B.FENTRYID - INNER JOIN T_SAL_RETURNNOTICEENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID - INNER JOIN T_SAL_RETURNNOTICEENTRY_LK E ON E.FENTRYID = D.FENTRYID - INNER JOIN T_SAL_ORDERENTRY F ON F.FID = E.FSBILLID AND F.FENTRYID = E.FSID - WHERE A.FDOCUMENTSTATUS= 'C' - GROUP BY F.FID - - SELECT b.FORDERENTRYID as 'FENTRYID',sum(b.FPriceQty) AS 'FQTY',sum(b.FALLAMOUNT) AS 'FAMOUNT' - INTO #RECE - FROM t_AR_receivable A - INNER JOIN t_AR_receivableENTRY B ON A.FID = B.FID - WHERE A.FDOCUMENTSTATUS= 'C' - GROUP BY b.FORDERENTRYID - -SELECT -ROW_NUMBER() OVER (ORDER BY A.FDATE DESC) AS FID, -ROW_NUMBER() OVER (ORDER BY A.FDATE DESC) AS FIDENTITYID, -convert( nvarchar(10), year(A.FDATE)) AS '签订年份', -CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.Fid,n.FSaleId,X.FNAME ORDER BY n.FSaleId,X.FNAME) != 1 THEN null - WHEN X.FNAME in ('预付款(仪表)','预付款(系统)') THEN null - WHEN X.FNAME in ('货到收款(仪表)','货到收款(系统)') AND DATEADD(day, W.F_DAY, CK.F_SFSIGNATURETIME) < @ResultDate AND W.FRECADVANCERATE = 100 THEN ISNULL(Q.累计发货金额,0)-ISNULL(v.累计退货金额,0) - WHEN X.FNAME in ('货到收款(仪表)','货到收款(系统)') AND DATEADD(day, W.F_DAY, CK.F_SFSIGNATURETIME) < @ResultDate THEN ISNULL(W.F_MBBA_Decimal_uky,0) - WHEN X.FNAME in ('货到票到收款(系统)','货到票到收款(仪表)') AND DATEADD(day, W.F_DAY,FP.F_DATE) < @ResultDate AND W.FRECADVANCERATE = 100 THEN ISNULL(Q.累计发货金额,0)-ISNULL(v.累计退货金额,0) - WHEN X.FNAME in ('货到票到收款(系统)','货到票到收款(仪表)') AND DATEADD(day, W.F_DAY,FP.F_DATE) < @ResultDate THEN ISNULL(W.F_MBBA_Decimal_uky,0) - WHEN X.FNAME in ('款到发货(仪表)','款到发货(系统)') AND DATEADD(day, W.F_DAY,Q.发货日期) < @ResultDate AND W.FRECADVANCERATE = 100 THEN ISNULL(Q.累计发货金额,0)-ISNULL(v.累计退货金额,0) - WHEN X.FNAME in ('款到发货(仪表)','款到发货(系统)') AND DATEADD(day, W.F_DAY,Q.发货日期) < @ResultDate THEN ISNULL(W.F_MBBA_Decimal_uky,0) - ELSE null--款到发货(仪表) - END AS '年底到期应收款额', -CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.Fid,n.FSaleId,X.FNAME ORDER BY n.FSaleId,X.FNAME) != 1 THEN null - WHEN X.FNAME in ('预付款(仪表)','预付款(系统)') THEN null - WHEN X.FNAME in ('货到收款(仪表)','货到收款(系统)') AND DATEADD(day, W.F_DAY, CK.F_SFSIGNATURETIME) < @ThisDate AND W.FRECADVANCERATE = 100 THEN ISNULL(Q.累计发货金额,0)-ISNULL(v.累计退货金额,0) - WHEN X.FNAME in ('货到收款(仪表)','货到收款(系统)') AND DATEADD(day, W.F_DAY, CK.F_SFSIGNATURETIME) < @ThisDate THEN ISNULL(W.F_MBBA_Decimal_uky,0) - WHEN X.FNAME in ('货到票到收款(系统)','货到票到收款(仪表)') AND DATEADD(day, W.F_DAY,FP.F_DATE) < @ThisDate AND W.FRECADVANCERATE = 100 THEN ISNULL(Q.累计发货金额,0)-ISNULL(v.累计退货金额,0) - WHEN X.FNAME in ('货到票到收款(系统)','货到票到收款(仪表)') AND DATEADD(day, W.F_DAY,FP.F_DATE) < @ThisDate THEN ISNULL(W.F_MBBA_Decimal_uky,0) - WHEN X.FNAME in ('款到发货(仪表)','款到发货(系统)') AND DATEADD(day, W.F_DAY,Q.发货日期) < @ThisDate AND W.FRECADVANCERATE = 100 THEN ISNULL(Q.累计发货金额,0)-ISNULL(v.累计退货金额,0) - WHEN X.FNAME in ('款到发货(仪表)','款到发货(系统)') AND DATEADD(day, W.F_DAY,Q.发货日期) < @ThisDate THEN ISNULL(W.F_MBBA_Decimal_uky,0) - ELSE null--款到发货(仪表) - END AS '到期应收款额' -INTO #TEMP1 - FROM T_SAL_ORDER A --销售订单表头 - LEFT JOIN - (Select a2.FENTRYID,a2.FDATAVALUE From T_BAS_ASSISTANTDATAENTRY a1 JOIN T_BAS_ASSISTANTDATAENTRY_L a2 on a1.FENTRYID = a2.FENTRYID - Where a1.FID = '670cc977263353') B on A.F_ORDERCATEGORY = B.FENTRYID - --INNER JOIN T_SAL_orderentry b on a.FID = B.FID --销售订单表体 - INNER JOIN T_BD_CUSTOMER_L C ON C.FCUSTID= A.FCUSTID AND C.FLOCALEID= 2052 --客户附属表 - INNER JOIN T_SAL_ORDERFIN F ON F.FID = A.FID - INNER JOIN T_BD_CUSTOMER I ON I .FCUSTID = A.FCUSTID - INNER JOIN T_SAL_ORDERFIN J ON J.FID= A.FID - LEFT JOIN T_BAS_PREBDONE_L G ON G.FID = A.F_projectname AND G.FLocaleID =2052 - LEFT JOIN T_BAS_PREBDTHREE H ON H.FID = A.F_BON - lEFT JOIN V_ASSISTANTDATA K ON K.FENTRYID = I.FCompanyNature - lEFT JOIN V_BD_SALESMAN_L L ON L.fid = A.FSALERID - left JOIN T_PerformanceSharing M ON M.FSOURCEBILLNO = A.FBILLNO - left JOIN T_PerformanceSharingEntry N ON N.FID=M.FID - LEFT JOIN V_BD_SALESMAN_L O ON O.fid= N.FSALEID - LEFT JOIN V_ASSISTANTDATA P ON P.FENTRYID = I.F_CREDITCLASSIFICATION - LEFT JOIN T_SAL_OUTSTOCK CK on CK.F_CONTRACTNUMBER = A.F_CONTRACTNUMBER --销售出库单 - LEFT JOIN T_IV_SALESIC FP on FP.F_PAPERNUMBER = A.F_CONTRACTNUMBER --销售增值税专用发票 - LEFT JOIN - ( - SELECT F_Papercontract,MAX(CONVERT(NVARCHAR(10), A.FDATE,23)) AS '发货日期',SUM(B.FBILLALLAMOUNT_LC) AS '累计发货金额' FROM T_SAL_DELIVERYNOTICE A - INNER JOIN T_SAL_DELIVERYNOTICEFIN B ON A.FID =B.FID - WHERE A.FDOCUMENTSTATUS= 'C' - GROUP BY A.F_Papercontract - ) Q ON Q.F_PAPERCONTRACT = A.F_contractnumber --获取发货通知单最大的发货日期 - LEFT JOIN T_META_FORMENUMITEM R ON r.FVALUE = A.F_OrderType AND R.FID = 'bc2c1d77-0f4b-41d2-b61b-e29554c570d4' - LEFT JOIN T_META_FORMENUMITEM_L S ON S.FENUMID = R.FENUMID AND S.FLOCALEID = 2052 - LEFT JOIN - ( - SELECT F_Paper ,CONVERT(NVARCHAR(10), MAX(FDATE),23) AS '开票日期',CONVERT(NVARCHAR(10), - MAX(FDATE),23) AS '没有红色的开票日期' - FROM t_AR_receivable A - INNER JOIN T_AR_RECEIVABLEENTRY B ON A.FID = B.FID - WHERE A.FDOCUMENTSTATUS = 'C' AND A.FCancelStatus = 'A' - GROUP BY F_Paper - ) T ON T.F_PAPER = A.F_contractnumber - LEFT JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory - LEFT JOIN - ( - SELECT F_contractnumber,MAX(CONVERT(NVARCHAR(10), A.FDATE,23)) AS '退货日期',SUM(B.FBILLALLAMOUNT_LC) AS '累计退货金额' FROM T_SAL_RETURNSTOCK A - INNER JOIN T_SAL_RETURNSTOCKFIN B ON A.FID =B.FID - WHERE A.FDOCUMENTSTATUS= 'C' - GROUP BY A.F_contractnumber - ) V ON V.F_contractnumber = A.F_contractnumber --获取销售退货单 - LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo AC ON AC.名称=L.FNAME - LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACC ON ACC.名称=O.FNAME - --LEFT JOIN temp20241206 AC ON AC.名称=L.FNAME - --LEFT JOIN temp20241206 ACC ON ACC.名称=O.FNAME - LEFT JOIN T_SAL_ORDERPLAN W ON W.FID= A.FID - LEFT JOIN T_BD_RecCondition_L X on X.FID = W.F_RecConditionId - LEFT JOIN #RecCond Y ON Y.FID =A.FID AND Y.FNAME LIKE '%质保金%' - LEFT JOIN (select distinct fid from #RecCond Z where Z.FNAME LIKE '%款到%') z on z.fid =a.fid - LEFT JOIN (select distinct fid from #RecCond AA where AA.FNAME LIKE '%协议%') AA on AA.fid =a.fid - LEFT JOIN (SELECT distinct F_Papercontract FROM T_SAL_DELIVERYNOTICE WHERE F_SFYFH ='是') AB ON AB.F_PAPERCONTRACT = A.F_contractnumber - LEFT JOIN - ( - SELECT - F_Papercontract,CAST( sum(b.FALLAMOUNT) AS REAL) AS '发票总金额', - CAST (sum(CASE WHEN F_Papercontract = 'Y' THEN b.FALLAMOUNT ELSE 0 END ) AS REAL) AS '发票总金额(普票存财务)' - FROM t_AR_receivable A - INNER JOIN T_AR_RECEIVABLEFIN B ON A.FID = B.FID - GROUP BY F_Papercontract - ) AD ON AD.F_PAPERCONTRACT = A.F_contractnumber - LEFT JOIN - ( - SELECT a.F_Papercontract, - avg(d.FCURWRITTENOFFAMOUNT) as '累计收款' - - FROM t_AR_receivable A - INNER JOIN T_AR_RECEIVABLEENTRY E ON E.FID =A.FID - INNER JOIN T_AR_RECMacthLogENTRY B ON A.FBILLNO = B.FSRCBILLNO - INNER JOIN T_AR_RECMacthLog C ON C.FID = B.FID - INNER JOIN T_AR_RECMacthLogENTRY D ON D.FID = B.FID - AND D.FSOURCETYPE = '36cf265bd8c3452194ed9c83ec5e73d2' - WHERE - 1=1 - group by a.F_Papercontract - ) AE ON AE.F_Papercontract = A.F_contractnumber - WHERE 1=1 AND A.FDOCUMENTSTATUS = 'C' AND B.FDATAVALUE != 'Z' - AND ((F.FBILLALLAMOUNT_LC * isnull(n.FSHARERATE,100) /100)!=0) -{1} - ORDER BY A.F_contractnumber - -SELECT @SUMDQ = SUM(到期应收款额) FROM #TEMP1 - - -SELECT - 签订年份 AS 签订年份1, - CONVERT(DECIMAL(10, 2),SUM(ISNULL(年底到期应收款额, 0)),2) AS '总年底到期应收款额', - CONVERT(DECIMAL(10, 2),SUM(ISNULL(到期应收款额, 0)),2) AS '总到期应收款额', - '' AS '占比', - 0 AS '变化' - INTO #TEMP2 -FROM - #TEMP1 -GROUP BY - 签订年份 -ORDER BY - 签订年份 DESC; - - ALTER TABLE #TEMP2 - ALTER COLUMN 占比 NVARCHAR(100); - -UPDATE #TEMP2 -SET 占比 = CASE - WHEN 总到期应收款额 = 0 THEN '' -- 防止除以0 - ELSE CONVERT(nvarchar(10), CONVERT(DECIMAL(10, 2), (总到期应收款额 / @SUMDQ) * 100),2) + '%' -END; - - - -UPDATE #TEMP2 -SET 变化 = CONVERT(DECIMAL(10, 2),(总到期应收款额 - 总年底到期应收款额),2) - -SELECT -ROW_NUMBER() OVER (ORDER BY B.签订年份1 DESC) AS FID, -ROW_NUMBER() OVER (ORDER BY B.签订年份1 DESC) AS FIDENTITYID, -B.签订年份1 AS '签订年份', -CASE -WHEN B.总年底到期应收款额 = 0 THEN null -ELSE B.总年底到期应收款额 END AS '年底到期应收款额', -CASE -WHEN B.总到期应收款额 = 0 THEN null -ELSE B.总到期应收款额 END AS '到期应收款额', -B.占比 AS '占比', -CASE -WHEN B.变化 = 0 THEN null -ELSE B.变化 END AS '变化' -INTO {0} FROM #TEMP2 B -WHERE B.签订年份1 >= YEAR(GETDATE()) - 5 -GROUP BY B.签订年份1,B.总年底到期应收款额,B.总到期应收款额,B.占比,B.变化 - -", tableName, Filter); + ", tableName); //执行SQL并动态创建报表 DBUtils.ExecuteDynamicObject(this.Context, sql); } - //获取过滤条件 - private string GetFilterWhere(IRptParams fileter) - { - //获取自定义过滤条件 - DynamicObject customFilter = fileter.FilterParameter.CustomFilter; - //创建字符串构建器 - StringBuilder strwhere = new StringBuilder(); - var orgFid = customFilter["F_YKQC_OrgId_qtr"] as DynamicObject; - if (orgFid != null) - { - string org = string.IsNullOrWhiteSpace(customFilter["F_YKQC_OrgId_qtr"].ToString()) ? "" : - string.Format("AND A.FSaleOrgId IN ({0})", orgFid["Id"].Long2Int()); - //添加组织过滤条件 - strwhere.AppendLine(org); - } - return strwhere.ToString(); - } //添加合计列 public override List GetSummaryColumnInfo(IRptParams filter) { diff --git a/YingShouBaoBiao/YingShouSBU.cs b/YingShouBaoBiao/YingShouSBU.cs index 2474188..edd7cb3 100644 --- a/YingShouBaoBiao/YingShouSBU.cs +++ b/YingShouBaoBiao/YingShouSBU.cs @@ -30,79 +30,31 @@ namespace GZ_LTHReportForms.YingShouBaoBiao this.ReportProperty.IsGroupSummary = true; } - //获取过滤条件信息(构造单据信息) - public override ReportTitles GetReportTitles(IRptParams filter) - { - //创建标题对象 - ReportTitles reportTitles = new ReportTitles(); - //获取自定义过滤条件 - DynamicObject customFilter = filter.FilterParameter.CustomFilter; - if (customFilter != null) - { - //获取组织名称 - string multiOrgnNameValues = this.GetMultiOrgnNameValues(customFilter["F_YKQC_OrgId_uky"] as DynamicObject); - //添加标题 - reportTitles.AddTitle("F_YKQC_OrgId_re5", multiOrgnNameValues); - } - //返回标题 - return reportTitles; - } - //获取组织名称 - private string GetMultiOrgnNameValues(DynamicObject orgIdStrings) - { - //获取组织名称 - List list = new List(); - //初始化结果字符串 - string result = string.Empty; - //如果组织ID字符串不为空 - if (orgIdStrings != null) - { - //获取查询服务 - IQueryService service = Kingdee.BOS.Contracts.ServiceFactory.GetService(base.Context); - //创建查询参数 - QueryBuilderParemeter para = new QueryBuilderParemeter - { - FormId = "ORG_Organizations", - //查询组织名称 - SelectItems = SelectorItemInfo.CreateItems("FNAME"), - //过滤条件,根据组织ID和区域ID - FilterClauseWihtKey = string.Format("FORGID IN ({0}) AND FLOCALEID = {1}", orgIdStrings["Id"].Long2Int(), base.Context.UserLocale.LCID) - }; - //获取动态对象集合 - DynamicObjectCollection dynamicObjects = service.GetDynamicObjectCollection(base.Context, para, null); - //遍历获取到的动态对象 - foreach (DynamicObject current in dynamicObjects) - { - //将组织名称添加到列表 - list.Add(current["FNAME"].ToString()); - } - //如果列表不为空 - if (list.Count > 0) - { - result = string.Join(",", list.ToArray()); - } - } - //返回组织名称字符串 - return result; - } //设置单据列 public override ReportHeader GetReportHeaders(IRptParams filter) { DynamicObject customFilter = filter.FilterParameter.CustomFilter; - //结束日期 - string FYear = (customFilter["F_EDate"] == null) ? DateTime.Now.Year.ToString() : Convert.ToDateTime( - customFilter["F_EDate"]).ToString("yyyy-MM"); + //当前时间格式化 + string FNowDate = (customFilter["F_EDate"] == null) ? DateTime.Now.ToString("yyyy年M月") : Convert.ToDateTime( + customFilter["F_EDate"]).ToString("yyyy年MM月"); + + //过去时间格式化 + DateTime currentDate = DateTime.Now; + + DateTime lastYearDecember = new DateTime(currentDate.Year - 1, 12, 31); + + string FLastDate = lastYearDecember.ToString("yyyy年MM月"); //创建表头对象 ReportHeader header = new ReportHeader(); header.AddChild("SBU", new LocaleValue("SBU", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); - header.AddChild("年初到期应收款额", new LocaleValue(FYear +"期初到期应收额", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); - header.AddChild("其中_年初应收款专责小组", new LocaleValue("其中:"+FYear+"期初应收款专责小组", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); - header.AddChild("本年到期应收款额", new LocaleValue(FYear+"到期应收额", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); - header.AddChild("其中_本年应收款专责小组", new LocaleValue("其中:"+FYear+"应收款专责小组", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); + header.AddChild("年初到期应收款额", new LocaleValue(FLastDate + "期初到期应收额", this.Context.UserLocale.LCID), SqlStorageType.SqlDecimal); + header.AddChild("其中_年初应收款专责小组", new LocaleValue("其中:期初应收款专责小组", this.Context.UserLocale.LCID), SqlStorageType.SqlDecimal); + header.AddChild("本年到期应收款额", new LocaleValue(FNowDate + "到期应收额", this.Context.UserLocale.LCID), SqlStorageType.SqlDecimal); + header.AddChild("其中_本年应收款专责小组", new LocaleValue("其中:应收款专责小组", this.Context.UserLocale.LCID), SqlStorageType.SqlDecimal); header.AddChild("占比", new LocaleValue("占比", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); - header.AddChild("变化", new LocaleValue("变化", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); + header.AddChild("变化", new LocaleValue("变化", this.Context.UserLocale.LCID), SqlStorageType.SqlDecimal); foreach(var item in header.GetChilds()) { item.Width = 200; @@ -125,7 +77,7 @@ namespace GZ_LTHReportForms.YingShouBaoBiao customFilter["F_EDate"]).ToString("yyyy-MM-dd"); string sql = String.Format(@"/*dialect*/ - EXEC YSQKGKSBU_GZTH '{0}' '{1}' + EXEC YSQKGKSBU_GZTH '{0}','{1}' SELECT ROW_NUMBER() OVER (ORDER BY SBU DESC) AS FID, ROW_NUMBER() OVER (ORDER BY SBU DESC) AS FIDENTITYID, @@ -142,7 +94,7 @@ namespace GZ_LTHReportForms.YingShouBaoBiao result.Add(new SummaryField("年初到期应收款额", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM)); result.Add(new SummaryField("其中_年初应收款专责小组", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM)); result.Add(new SummaryField("本年到期应收款额", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM)); - result.Add(new SummaryField("其中_本年应收款专责小组", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM)); + result.Add(new SummaryField("其中_本年应收款专责小组", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM)); result.Add(new SummaryField("变化", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM)); return result; } diff --git a/bin/Debug/GZ_LTHReportForms.dll b/bin/Debug/GZ_LTHReportForms.dll index 122b8c5a48bcc0406f55bb2305eedd0cc9b42a90..20688069afe8f793e5fa2c89aa49d8e9d80cdf53 100644 GIT binary patch delta 7423 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 E1_}zN4*&oF delta 8234 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 diff --git a/bin/Debug/GZ_LTHReportForms.pdb b/bin/Debug/GZ_LTHReportForms.pdb index 51cd2db6dd55751f2e2bbcc0525893f81785a30a..1429ae3268f96bd308871cdc7a5eddf45941da6d 100644 GIT binary patch delta 8065 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 delta 8086 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 1 + + --ݹڹ˵ڽ + SELECT ISNULL([ǩ],1) AS ǩ ,SUM([ڽ]) AS ڽ + INTO #BNTEMP1 + FROM ZRP_YingShouMingXi_yuyubo + WHERE (@FSDate = '' OR [ʱ] >= @FSDate) + AND (@FEDate = '' OR [ʱ] <= @FEDate) + GROUP BY [ǩ] + ORDER BY [ǩ] DESC + + --뱾굽ڽ + INSERT INTO YSQKGK_QDNF([ǩ],[굽Ӧտ]) + SELECT [ǩ],[ڽ] FROM #BNTEMP1 WHERE [ǩ] <> 1 + + SELECT * + INTO #TEMP1 + FROM + (SELECT [ǩ],SUM(Ӧտ) AS Ӧն, + SUM([굽Ӧտ]) AS 굽Ӧտ + FROM YSQKGK_QDNF GROUP BY [ǩ]) AS YS + + --ձ + TRUNCATE TABLE YSQKGK_QDNF + + + INSERT INTO YSQKGK_QDNF([ǩ],[Ӧտ],[굽Ӧտ]) + SELECT [ǩ],[Ӧն],[굽Ӧտ] FROM #TEMP1 + + + + DROP TABLE #QCTEMP1,#BNTEMP1,#TEMP1 + diff --git a/派诺报表SQL文件/订单未发货明细表创建表单sql.sql b/派诺报表SQL文件/订单未发货明细表创建表单sql.sql new file mode 100644 index 0000000..39c2f8a --- /dev/null +++ b/派诺报表SQL文件/订单未发货明细表创建表单sql.sql @@ -0,0 +1,20 @@ +CREATE TABLE GZ_DDWFHMX_TH ( + FId INT, + DATE, + Ƶ VARCHAR(200), + VARCHAR(200), + ҵԱ VARCHAR(200), + ͬ VARCHAR(200), + ͻ VARCHAR(200), + Ŀ VARCHAR(200), + ϱ VARCHAR(200), + ͺ VARCHAR(200), + DECIMAL(23, 10), + ˰ DECIMAL(23, 10), + ѷ DECIMAL(23, 10), + ѷ DECIMAL(23, 10), + δ DECIMAL(23, 10), + δ DECIMAL(23, 10), + ͬ VARCHAR(200), + VARCHAR(200) +); \ No newline at end of file diff --git a/派诺报表SQL文件/订单未发货明细表插入数据SQL.sql b/派诺报表SQL文件/订单未发货明细表插入数据SQL.sql new file mode 100644 index 0000000..1e85b0b --- /dev/null +++ b/派诺报表SQL文件/订单未发货明细表插入数据SQL.sql @@ -0,0 +1,35 @@ + +SELECT +A.FID AS FID, +A.FApproveDate AS '', +B.FNAME AS 'Ƶ', +CASE WHEN ISNULL(E.FNAME,'') = '' THEN ACG. +ELSE ACE. END AS '', +CASE WHEN ISNULL(E.FNAME,'') = '' THEN G.FNAME +ELSE E.FNAME END AS 'ҵԱ', +A.F_contractnumber AS 'ͬ', +F.FNAME AS 'ͻ', +H.FNAME AS 'Ŀ', +WL.FNUMBER AS 'ϱ', +WL_L.FNAME AS '', +WL_L.FSpecification AS 'ͺ', +AE.FQTY AS '', +AE_F.FTaxPrice AS '˰', +HT_L.FDATAVALUE AS 'ͬ', +A.F_Deliveryconditions AS '' +FROM T_SAL_ORDER A +INNER JOIN T_SEC_USER B ON A.FCreatorId = B.FUSERID --û +INNER JOIN V_BD_SALESMAN_L G ON G.FID = A.FSALERID -- Ա۶ +LEFT JOIN T_PerformanceSharing C ON C.FSOURCEBILLNO = A.FBILLNO AND C.FDOCUMENTSTATUS = 'C' --ҵ̯ +LEFT JOIN T_PerformanceSharingEntry D ON C.FID=D.FID --ҵ̯ϸ +LEFT JOIN V_BD_SALESMAN_L E ON E.fid= D.FSaleId --Ա,ҵ̯ +LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACE ON ACE.=E.FNAME --ҵ̯Ա +LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACG ON ACG.=G.FNAME --۶ҵԱ +INNER JOIN T_BD_CUSTOMER_L F ON F.FCUSTID = A.FCustId --ͻ +INNER JOIN T_BAS_PREBDONE_L H ON H.FID = A.F_projectname --ĿƱ +INNER JOIN T_SAL_ORDERENTRY AE ON AE.FID = A.FID --۶ϸ +INNER JOIN T_BD_MATERIAL WL ON WL.FMATERIALID = AE.FMaterialId --ϱ +INNER JOIN T_BD_MATERIAL_L WL_L ON WL_L.FMATERIALID = WL.FMATERIALID --_L +INNER JOIN T_SAL_ORDERENTRY_F AE_F ON AE_F.FENTRYID = AE.FENTRYID --۶ϸ- +INNER JOIN T_BAS_ASSISTANTDATAENTRY_L HT_L On A.F_Ordercategory = HT_L.FENTRYID --ͬ͸_L +WHERE A.FDocumentStatus = 'C'