博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决报表表头格式问题
阅读量:7288 次
发布时间:2019-06-30

本文共 7536 字,大约阅读时间需要 25 分钟。

private void CreateReportTable(string tableName)        {            StringBuilder SB = new StringBuilder();            SB.AppendFormat("/*dialect*/ CREATE TABLE {0}\n ", tableName);            SB.AppendFormat(" (\n ");            SB.AppendFormat("    FANALYSISID        NUMBER (10) NOT NULL,\n ");            SB.AppendFormat("    FANOTHERANALYSISID NUMBER (10) DEFAULT 0,\n ");            SB.AppendFormat("    FSALORDERDIMEID    NUMBER (10) NOT NULL,\n ");            SB.AppendFormat("    FYEARPERIOD        VARCHAR2 (43 BYTE),\n ");            SB.AppendFormat("    FWORKSHOP          NVARCHAR2 (255),\n ");            SB.AppendFormat("    FWORKSHOPID        NUMBER (10) DEFAULT 0,\n ");            SB.AppendFormat("    FSALEORG           NVARCHAR2 (255),\n ");            SB.AppendFormat("    FSALEGROUP         NVARCHAR2 (255),\n ");            SB.AppendFormat("    FSALORDERBILLNO    VARCHAR2 (255 BYTE),\n ");            SB.AppendFormat("    FSALORDERSEQ       NUMBER (10),\n ");            SB.AppendFormat("    FPRDTRACKNO        NVARCHAR2 (255),\n ");            SB.AppendFormat("    FCUSTOMER          NVARCHAR2 (255),\n ");            SB.AppendFormat("    FINVOICECUSTOMER   NVARCHAR2 (255),\n ");            SB.AppendFormat("    FSHIRTORDNO        NVARCHAR2 (255),\n ");            SB.AppendFormat("    FMTONO             NVARCHAR2 (255),\n ");            SB.AppendFormat("    FPRODUCTNUMBER     NVARCHAR2 (255),\n ");            SB.AppendFormat("    FCLOTHINGSERIES    NVARCHAR2 (255),\n ");            SB.AppendFormat("    FSLEEVETYPE        NVARCHAR2 (255),\n ");            SB.AppendFormat("    FMALEORFEMALE      NVARCHAR2 (255),\n ");            SB.AppendFormat("    FMATERIALSOURCE    NVARCHAR2 (255),\n");            SB.AppendFormat("    FFABRICSOURCE      NVARCHAR2 (255),\n ");            SB.AppendFormat("    FCLOTHINGCONTENTS  NVARCHAR2 (255),\n ");            SB.AppendFormat("    FSPECIALART        NVARCHAR2 (255),\n ");            SB.AppendFormat("    FPROCESSMETHOD     NVARCHAR2 (255),\n ");            SB.AppendFormat("    FFABRICFLOWERCOLOR NVARCHAR2 (255),\n ");            SB.AppendFormat("    FSALEDIRECT        NVARCHAR2 (255),\n ");            SB.AppendFormat("    FWORKSHOPOUTQTY    NUMBER (10),\n ");            SB.AppendFormat("    FWORKSHOPCUROUTQTY NUMBER (10),\n ");            SB.AppendFormat("    FCURROUTSTOCKQTY   NUMBER (10),\n ");            SB.AppendFormat("    FSALEAMOUNT        NUMBER (23,10),\n ");            SB.AppendFormat("    FORDERCOST         NUMBER (23,10),\n ");            SB.AppendFormat("    FFABRCIID          NUMBER(10) DEFAULT 0,\n ");            SB.AppendFormat("    FINSTOCKDAYS       NUMBER (23,10) DEFAULT 0,\n ");            SB.AppendFormat("    FINSTOCKDATE       NVARCHAR2 (255),\n ");            SB.AppendFormat("    FCONTRACTDELIVERYTIME NVARCHAR2 (255),\n ");            SB.AppendFormat("    FREALDELIVERYTIME     NVARCHAR2 (255),\n ");            SB.AppendFormat("    FCONTRACTFABRICPRICE  NUMBER (23,10),\n ");            SB.AppendFormat("    FCONTRACTCONSUMPT     NUMBER (23,10),\n ");            SB.AppendFormat("    FCONTRACTFABRICQTY    NUMBER (23,10),\n ");            SB.AppendFormat("    FMLINCOME          NUMBER (23,10),\n ");            SB.AppendFormat("    FFLINCOME          NUMBER (23,10),\n ");            SB.AppendFormat("    FJGFINCOME         NUMBER (23,10),\n ");            SB.AppendFormat("    FSYMLINCOME        NUMBER (23,10),\n ");            SB.AppendFormat("    FREALFABRICPRICE   NUMBER (23,10),\n ");            SB.AppendFormat("    FREALCONSUMPT      NUMBER (23,10),\n ");            SB.AppendFormat("    FREALFABRICQTY     NUMBER (23,10),\n ");            SB.AppendFormat("    FREALFABRICAMOUNT  NUMBER (23,10),\n ");            SB.AppendFormat("    FSELFCONSUMPT      NUMBER (23,10),\n ");            SB.AppendFormat("    FREFERRINGFACTOR   NUMBER (23,10),\n ");            SB.AppendFormat("    FSTANDARDCOST      NUMBER (23,10),\n ");            SB.AppendFormat("    FMLCOST            NUMBER (23,10),\n ");            SB.AppendFormat("    FFLCOST            NUMBER (23,10),\n ");            SB.AppendFormat("    FJGFCOST           NUMBER (23,10),\n ");            SB.AppendFormat("    FSYMLCOST          NUMBER (23,10),\n ");            var ParentColumnNumber = this.DynamicColumn.Select(o => o.ParentNumber).ToList().Distinct();            foreach (var colNumber in ParentColumnNumber)            {                string ParentColumnName = this.DynamicColumn.Where(p => p.ParentNumber == colNumber).Select(o => o.ParentName).FirstOrDefault();                if (ParentColumnName == null || ParentColumnName == "") continue;                var Columns = this.DynamicColumn.Where(o => o.ParentNumber == colNumber).OrderBy(p => p.Number);                foreach (var col in Columns)                {                    SB.AppendFormat("    {0}   NUMBER(23,10),\n ", col.Number);                }                //if (Columns.Count() > 1)                //{                SB.AppendFormat("    {0}   NUMBER(23,10) DEFAULT 0,\n ", colNumber);                //}            }            SB.AppendFormat("    FMLPROFIT      NUMBER(23,10)   DEFAULT 0,\n ");            SB.AppendFormat("    FFLPROFIT      NUMBER(23,10)  DEFAULT 0,\n ");            SB.AppendFormat("    FJGFPROFIT     NUMBER(23,10)   DEFAULT 0,\n ");            SB.AppendFormat("    FSYMLPROFIT    NUMBER(23,10)  DEFAULT 0,\n ");            SB.AppendFormat("    FORDERPROFIT   NUMBER(23,10)   DEFAULT 0,\n ");            SB.AppendFormat("    FORDERUNITPROFIT   NUMBER(23,10)   DEFAULT 0,\n ");            SB.AppendFormat("    FANOTHERPROFIT     NUMBER(23,10)   DEFAULT 0,\n ");            SB.AppendFormat("    FANOTHERUNITPROFIT NUMBER(23,10)   DEFAULT 0,\n ");            SB.AppendFormat("    FREMARKS       NVARCHAR2 (255),\n");            SB.AppendFormat("    FIDENTITYID    NUMBER(10)   DEFAULT 0\n ");            SB.AppendFormat(" )\n ");            DBUtils.Execute(this.Context, SB.ToString());        }

 

var ParentColumnNumber = this.DynamicColumn.Select(o => o.ParentNumber).ToList().Distinct();            foreach (var colNumber in ParentColumnNumber)            {                if (colNumber == "FXSFYSUM")                {                    string ParentColumnName =                        this.DynamicColumn.Where(p => p.ParentNumber == colNumber)                            .Select(o => o.ParentName)                            .FirstOrDefault();                    if (ParentColumnName == null || ParentColumnName == "") continue;                    ListHeader Cheader = header.AddChild();                    Cheader.Caption = new LocaleValue(ParentColumnName, this.Context.UserLocale.LCID);                    var Columns = this.DynamicColumn.Where(o => o.ParentNumber == colNumber).OrderBy(p => p.Number);                    foreach (var col in Columns)                    {                        Cheader.AddChild(col.Number, new LocaleValue(col.Name, this.Context.UserLocale.LCID),                            SqlStorageType.SqlDecimal);                    }                    if (Columns.Count() > 1)                    {                                                    Cheader.AddChild(colNumber, new LocaleValue("小计", this.Context.UserLocale.LCID),                                    SqlStorageType.SqlDecimal);                    }                }            }

 

不管前台显示什么,后头表该有的都有,然后控制显示字段。刚开始后台表已做处理,相同组的列名添加汇总字段,不管组里的列数是否大于1,都添加汇总列。

忘记了,突然想起来,那么前台表就随意控制。

在过滤界面,可设置显示隐藏列属性。

 

以上好像没啥价值;

 

转载于:https://www.cnblogs.com/liuyudong0825/p/6543433.html

你可能感兴趣的文章
C++中关于指针作为参数传递的问题
查看>>
大清单报表应当怎么做?
查看>>
Spring AOP 实现方法日志记录以及执行时间打印
查看>>
Linux中 tail -f;tail -F;tailf的区别
查看>>
Linux下的数据备份工具rsync
查看>>
支付宝小程序注意事项
查看>>
ArrayList
查看>>
【小松教你手游开发】【unity实用技能】List列表排序
查看>>
日常工作之Zabbix源码编译,兼容mysql5.6
查看>>
Zabbix分布式监控
查看>>
中兴智能视觉大数据报道:人工智能相当火爆,或将下一个风口
查看>>
OCP 12c最新考试原题及答案(071-3)
查看>>
xdebug+phpstorm(windows)
查看>>
Spring Boot整合Hibernate操作
查看>>
阿里云移动端播放器高级功能---直播时移
查看>>
主动式部署陷阱
查看>>
webx2.0-RundataService学习总结
查看>>
SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系
查看>>
云计算培训论云计算下的网络安全及措施
查看>>
users表空间在线损坏(不通过RMAN恢复)
查看>>