报表开发步骤-程序员宅基地

技术标签: nc培训  数据库  大数据  sql  

报表开发步骤

1.什么是报表?

例如从两张表里面查出数据,查出来的这个数据不需要存数据库,只需要把这些数据查出来,然后展示出来。

2.报表的两种开发方法

开发方法1(不用代码)

报表开发的位置:动态建模平台 --> 报表平台

首先在:语义模型 --> 语义模型-全局(最高) 或 语义模型- 集团(第二高)
语义模型:存报表的sql语句和字段名等信息,相当于报表的后端

  1. 新建办公费预算明细表语义模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

然后在:自由报表 --> 自由报表-全局(最高) 或 自由报表-集团(第二高)
自由报表:用于画报表的结构,相当于报表的前端

  1. 新建办公费预算明细表自由报表
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    注意:组织类型得选业务单元,不可以是全局
    在这里插入图片描述
    在这里插入图片描述
    分配权限
    在这里插入图片描述
    在这里插入图片描述
    重新登录一下客户端
    在这里插入图片描述
    添加插件类
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
nc.itf.jgxc.report.newcont.INewContReport

两种设置查询条件的查询方法:

  1. 用它自带的查询模板
  2. 创建查询模板

1.用它自带的查询模板
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.创建查询模板的方法配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
分配节点
在这里插入图片描述
在这里插入图片描述
这个地方的节点标识应该不填,而不应该是qt,如果填qt的话加额外的代码处理会报错;资产层次这个地方应改是水平,而不应该是平台
(功能节点默认模板设置中新加的在pub_systemplate_base这个表里面)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

开发方法2(用代码)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

下面的代码拿过来直接用就行

        nc.pub.smart.context.SmartContext context = getContext();
        String sql = nc.bs.framework.common.NCLocator.getInstance()
                                                     .lookup(nc.ift.wgbfb.report.bgmxys.IBgmxysReport.class)
                                                     .getBgmxysReportSql(context);
        setResultSQL(sql);

除了接口类名以外,方法名也要改为对应的方法名,不然编译会不通过
在这里插入图片描述
upm注册
在这里插入图片描述
代码逻辑:(生成一个临时表,然后展示)
这一步是生成一个空的临时表,往里面插数据,然后查询临时表
在这里插入图片描述
创建临时表
在这里插入图片描述
对应临时表里的类型
在这里插入图片描述
在这里插入图片描述
查数据
在这里插入图片描述
获取查询模板上传过来的数据(多选数组类型,单选不是数组类型)
在这里插入图片描述
从查询模板上选的数据,存到这里面(比如选了好几个组织,需要把主键拿出来存到数组中,一会写sql语句会用到),把查询到的数据拆解到对应的VO(把数组类型的数据根据逗号进行分割,然后一个个存到数组中)
在这里插入图片描述
组织这个东西有点奇怪,他传过来的不是组织,而是sql语句
在这里插入图片描述
向临时表中插入数据
在这里插入图片描述
对应vo里的类型
在这里插入图片描述
把临时表中的数据拿出来
在这里插入图片描述
上面3步所有的逻辑,就根下图作用一样
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
自由报表部分和第一种一模一样

3.两种方法的选择

用不用代码的方法取决于是否需要对数据进行二次加工;如果只是单纯的把两张表里面的数据合并到一起,然后直接展示出来,就可以不用代码的方式;如果是从一张表里面查出数据,然后通过一系列的计算,然后再去展示,这时候就要用代码的方式

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45714641/article/details/130644527

智能推荐

跨域的时候报“没有权限”错误-程序员宅基地

文章浏览阅读607次。转http://blog.csdn.net/wolfcyl/article/details/6612089加try{//报错代码}catch(e){}或try{//报错代码}catch(e){setTimeout(arguments.callee,0);}引用[code="java"] IE下使用location对象有时会出现“没有权限”的错误..._额外域提示没有权限

js实现图片缩放_图片缩放 data:image js-程序员宅基地

文章浏览阅读2k次。HTML代码<div id="imgDiv"> <img id="img"/></div>js代码//给图片绑定鼠标滚轮事件$("#img").addEventListener("mousewheel", function(){ var zoom = parseInt(self.viewImg.style.zoom, 10) || 100; zoom += event.wheelDelta / 12; if (zoom >= 1_图片缩放 data:image js

音视频直播技术--视频渲染之EGL_egl10 渲染-程序员宅基地

文章浏览阅读806次。我们在Andriod系统下做视频渲染时要使用 OpengGL ES, 而使用 OpengGL ES 就不得不提到 EGL。那么EGL是什么呢?它又在渲染时起到什么作用呢?今天我就给大家介绍一下 EGL.什么是EGLEGL是一套用于管理绘制Surface的API。_egl10 渲染

mqtt等待来自服务器响应超时,等待来自服务器的响应时超时 (32000) at org.eclipse.paho.client.mqttv3.interna...-程序员宅基地

文章浏览阅读2.3k次。等待来自服务器的响应时超时 (32000) at org.eclipse.paho.client.mqttv3.internaltry {// host为主机名,test为clientid即连接MQTT的客户端ID,一般以客户端唯一标识符表示,MemoryPersistence设置clientid的保存形式,默认为以内存保存this.client = new MqttClient(HOST, cl..._mqtt等待来自服务器响应超时,等待来自服务器的响应时超时 (32000) at org.eclipse.paho.client.mqttv3.i

Nginx日志分析竟挖掘出来自全世界的攻击_nginx 监控日志中fastjson,log4j访问-程序员宅基地

文章浏览阅读2.6k次。Nginx日志分析挖掘攻击_nginx 监控日志中fastjson,log4j访问

【数模】层次分析法总结(附Matlab代码)_层次分析法matlab程序代码-程序员宅基地

文章浏览阅读1.5k次,点赞6次,收藏29次。注意我们看上图第二步”平均随机一致性指标RI“的表格,n=2处RI为0,也就是说如果你计算一个2x2的矩阵,是一定一致的,而且没有CR的值(因为分母为0),所以如果有需要检验的二阶矩阵,我们可以稍微修改一下Matlab中n=2的值,把它改成接近0的数,比如0.0001,这样我们就可以得到一个CR的值,方便后面做数据。1.分析C-P层时,可以将C1、C2、C3分别与所有的P联系起来,实际没有对应关系的,可以将Ci的权重记为0.(如:在第三种情况中,在列P2的权重时,可以将与P2无关的C3权重记为0)_层次分析法matlab程序代码

随便推点

Tomcat源代码阅读系列之八:Tomcat 设计模式总结_设计模式根据源代码而分析得到总结报告-程序员宅基地

文章浏览阅读123次。本篇我们将来分析一下Tomcat中所涉及到设计模式,本文我们将主要来分析外观模式,观察者模式,责任链模式,模板方法模式,命令模式。 在开始本文之前,笔者先说明一下对于设计模式的一点看法。笔者曾经经常看到网上有人讨论设计模式,也偶尔会遇到有人非要严格按照GOF设计模式的类图以及其中的角色去套用别人的设计,只要类图不一样,或者角色多了或者少了就会觉得怎么和官方定义的模式不一样,其实这都是对设计模式的误..._设计模式根据源代码而分析得到总结报告

JSON格式转Map_json转map-程序员宅基地

文章浏览阅读9.3k次,点赞3次,收藏10次。JSON格式转Map。_json转map

URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "KV"-程序员宅基地

文章浏览阅读7.8k次。使用Morphia,连接mongoCaused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.mongodb.MongoClient]: Factory method 'mongo' threw exception; nested exception is java.lan..._urldecoder: illegal hex characters in escape (%) pattern - for input string:

服务器pe安装win7系统安装教程,win7 winpe安装过程图文教程-程序员宅基地

文章浏览阅读1.6k次。先说一下准备工作,1、硬盘版WINPE2、WIN7安装光盘的ISO镜像文件,当然,直接用光盘也可以。准备好上面说的两件武器,将WINPE硬盘版安装上,然后按下面步骤操作。1、将WIN7安装盘的所有文件复制到硬盘某文件夹中,建议使用英文的文件夹名称,如d:\win72、重启系统,进入WINPE,格式化C盘,快速格式化即可。3、将d:\win7\boot文件夹 和 d:\win7\bootmgr文件 ..._服务器pe安装系统

voc数据集_将MOT17-Det数据集转成VOC格式-程序员宅基地

文章浏览阅读309次。MOT17Det数据集地址:https://motchallenge.net/data/MOT17Det/PASCAL VOC数据集地址:http://host.robots.ox.ac.uk/pascal/VOC/我的另外一篇关于转化的脚本已经发布在知乎,同时另外相应的代码也在GitHub上开源,有需要的可以借助这篇文章了解相关步骤,然后直接应用相应脚本来实现转换:HUST小菜鸡:MOT数据集转..._mot17数据集 测试集怎么用

python删除文件夹无法访问_Python 自动化操作文件和文件夹-程序员宅基地

文章浏览阅读120次。投稿作者:Huang supreme编辑整理:JackTian微信公众号:杰哥的IT之旅(ID:Jake_Internet)投稿作者文章导读:1、“罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?2、利用 Python 进行多 Sheet 表合并、多工作簿合并、一表按列拆分1、输出目录下所有文件及文件夹1)os.getcwd():获取当前python程序的运行路径importos..._不能读文件删掉 python 代码

推荐文章

热门文章

相关标签