报表服务

参考文档

https://open.hand-china.com/document-center/doc/component/181/12455?doc_id=10088&_back=%2Fdocument-center%3Fs%3D%25E6%258A%25A5%25E8%25A1%25A8&doc_code=10088#SQL校验

https://open.hand-china.com/community/detail/602321568030396416

数据集

//输入参数进行需要打印的数据查询,用于维护数据集,维护报表模板时的字段也来源于此
//数据集需要用page来接
@ApiOperation(value = "查询合同数据集")
@Permission(level = ResourceLevel.ORGANIZATION)
@ProcessLovValue(targetField = BaseConstants.FIELD_BODY)
@GetMapping("/searchContractData")
public ResponseEntity<Page<ContractDataDTO>> searchContractData(
@RequestParam(value = "contractNum") String contractNum, @RequestParam(required = false) Long orderId, @PathVariable Long organizationId) {
Page<ContractDataDTO> accountBillHeaders =
this.contractService.searchContractData(contractNum, orderId, organizationId);
return Results.success(accountBillHeaders);
}
    /**
* 查询合同数据集
* @param contractNum
* @param orderId
* @return
*/
Page<ContractDataDTO> searchContractData(String contractNum, Long orderId, Long organizationId);
//查询出的数据作为content来set到page返回
@Override
public Page<ContractDataDTO> searchContractData(String contractNum, Long orderId, Long organizationId) {
ContractDataDTO contractData = new ContractDataDTO();
//获取头信息
Contract tempContract = new Contract();
tempContract.setContractNum(contractNum);
Contract contract = contractService.selectOne(tempContract);
String contractType = contract.getContractType();
BeanUtils.copyProperties(contract, contractData);
// 获取运单信息
if (orderId != null) {
IfpShipment ifpShipment = ifpShipmentService.selectByPrimaryKey(orderId);
BeanUtils.copyProperties(ifpShipment, contractData);
Company company = companyService.selectByPrimaryKey(ifpShipment.getShipperCompanyId());
contractData.setShipperCompanyName(company.getName());
IfpVehicle ifpVehicle = iIfpVehicleService.selectByPrimaryKey(ifpShipment.getVehicleGid());
contractData.setVehicleLpn(ifpVehicle.getLpn());
contractData.setXid(ifpShipment.getXid());
}
Long driverId = 0L;
//承运人合同司机id取承运人id
if ("FREIGHTER".equals(contractType)) {
driverId = contract.getFreighterId();
} else {
driverId = contract.getDriverId();
}
IfpDriver driver = iIfpDriverService.selectByPrimaryKey(driverId);
contractData.setDriverName(driver.getName());
contractData.setDriverIdCard(driver.getIdCardNo());
contractData.setDriverPhone(driver.getPhone());
contractData.setDriverIdCardAddress(driver.getIdCardAddress());
//修改时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
contractData.setEndTime(sdf.format(contract.getContractEndTime()));
contractData.setStartTime(sdf.format(contract.getContractStartTime()));
contractData.setSignTime(sdf.format(contract.getContractSignTime()));
List<ContractDataDTO> contractDataList = new ArrayList<>();
contractDataList.add(contractData);
Page<ContractDataDTO> page = new Page<>();
page.setContent(contractDataList);
return page;
}





维护数据集查询接口,输入参数进行需要打印的数据查询,用于维护数据集,后续维护报表模板时的字段也来源于此。报表打印数据源最好新建VO进行查询,勿与其它查询接口混用,需要进行隔离。目前支持SQL类型和URL类型数据集,需要对数据集头信息和参数进行配置。

打印方法(实际走的不是printHelper)





维护打印配置接口,对应报表查询功能,入参需要和数据集入参保持相同。若有多个模板需要在此进行维护,需要对PDF、EXCEL、WORD的打印配置进行维护。

报表模板管理



维护rtf模板后导入,用于维护报表的模板。

报表定义



用于后续报表查询,一个报表可对应多个模板。

报表查询





此功能用于查询报表、生成报表以及导出报表。

rtf模板维护



维护基础的模板格式



安装BI Publisher插件,进行示例XML导入,示例XML从数据集页面获取。导入之后使用BI Publisher的“字段”功能,对模板上的字段进行设置,最后可以通过预览方式进行本地预览。可通过“字段浏览器”来查看字段是否显示正常,若字段加载不出来可以新建rtf文件,把文本拷贝过来再新加字段。





XML文件获取。















字段维护及本地预览。

【HZERO】报表服务的更多相关文章

  1. SQL Server 2008 报表服务入门

    目录 报表服务的安装与配置 开发报表的过程 报表制作实例 一.报表服务的安装与配置 1. 报表服务的组件 2. 报表服务 2008 的安装 2.1在SQL Server 2008上安装报表服务有两种方 ...

  2. SSRS报表服务随笔(rdl报表服务)-创建一个简单的报表

    这段时间一直在敲rdl报表,在国内的不这么留在,在国外的话,还是挺流行的,国内的话,这方面的资料很少很少,也踏过不少坑 先从SSRS了解起,SSRS全称 SQL Server Reporting Se ...

  3. SQL Server 2008 报表服务入门【转】

    转http://www.cnblogs.com/YZDONET/archive/2012/08/17/2644711.html 概述 上周,Tim与我们分享了SQL Server 2008 报表服务的 ...

  4. Microsoft Dynamics CRM 2013 安装 报表服务出现“ SQL Server Reporting Services 帐户是本地用户且不受支持 ”错误的解决方法

    安装好CRM 2013 之后,还需要安装报表服务,发现出现:SQL Server Reporting Services 帐户是本地用户且不受支持,具体如下图: 经过分析原来发现是需要用域用户,打开对应 ...

  5. SSAS(SQL Server 分析服务)、***S(SQL Server报表服务)、SSIS(SQL Server集成服务)

    一.数据仓库入门 实验手册 1. 创建数据源  http://jimshu.blog.51cto.com/3171847/13366622. 创建数据源视图 http://jimshu.blog.51 ...

  6. SQLServer 2012 报表服务部署配置(1)

    由于最近客户项目中,一直在做SQL Server 方面配置.就给大家概况简述一下 报表服务安装及遇到问题.安装和运行 SQL Server 2012 的微软原厂都有最低硬件和软件要求,对于我们大多数新 ...

  7. SSRS报表服务随笔(rdl报表服务)-报表数据:使用第三方控件生成条形码

    因为工作需要,需要将订单号显示成条形码,比如数据库存储的20190106A,我需要把这个转换为Code128来显示出来 在国内我没有找到这方面的教程,最后还是一个人自己摸索出来的 在这里我是使用的是B ...

  8. SSRS报表服务随笔(rdl报表服务)-报表结构与样式

    设计rdl报表,比设置HTML页面简单多了,Reporting报表分为页眉,页脚,主体三个部分 rdl文件实际是xml结构的文件,具体是什么语言呢,很抱歉,这点我还不能回复,在我看来,是由固定节点的x ...

  9. SSRS报表服务随笔(rdl报表服务)-报表参数

    上一篇我们说了创建一个简单的显示报表,但在实际工作中,我们有很多要带条件的报表 现在先认识一下报表数据,首次打开SSDT,报表数据在窗口的左侧,要是找不到了,没关系,在工具栏-视图-最下面的报表数据 ...

  10. SQLServer 2012 报表服务部署配置(2)

    2.当系统打开"SQL Server安装中心",则说明我们可以开始正常的安装SQL Server 2012,可以通过"计划"."安装".&q ...

随机推荐

  1. Codeforces Global Round 13 A-D题题解

    写在前边 链接:Codeforces Global Round 13 \(A,B,C,D\) A. K-th Largest Value 链接:A题链接 题目大意: 有一个字串只由\(0.1\)组成, ...

  2. 快速下载vscode、git

    在官网下载vscode太慢,解决方式: http://vscode.cdn.azure.cn/stable/ea3859d4ba2f3e577a159bc91e3074c5d85c0523/VSCod ...

  3. 记录一次 postgresql 优化案例( volatility 自定义函数无法并行查询 )

    同事最近做个金融适配项目,找我看条SQL,告知ORACLE跑1分钟,PG要跑30分钟(其实并没有这么夸张), 废话不说,贴慢SQL. 慢SQL(关键信息已经加密): explain analyze S ...

  4. 我最喜欢的白版应用,AI加持的新功能开源!强烈推荐

    Excalidraw 把他们的文本到图表的功能开源了 Excalidraw是一个虚拟白板应用,专门用于绘制类似手绘的图表.它提供了一个无限的.基于画布的白板,具有手绘风格,支持多种功能. 之前我分享的 ...

  5. 使用mumu模拟器抓包 andriod app

    背景 公司H5嵌入到农行手机app里面.某天有人反馈进入国内机票订单详情时,应用崩溃了,如下图: 经过测试,此问题仅在安卓手机中出现,且其他页面都正常.于是我怀疑可能是这个页面代码有问题,想着能否抓包 ...

  6. IP的电源管脚

    IP的电源管脚是个特殊的存在. 1.对于前度RTL集成,需要和IP vendor以及后端确认,集成与综合时是否需要将电源DVDD,AVDD,引出到top层. 2.绝大部分情况下IP的电源PIN是sup ...

  7. [QOJ1359] Setting Maps

    题目链接 \(k=1\) 的时候显然是最小割.把一个点 \(u\) 拆成 两个点,中间连流量为 \(c_u\) 的边. 那么考虑扩展到 \(k\) 更大的情况.把上图的每个入点和出点都拆成 \(k\) ...

  8. GKCTF2020WP-Crypto Misc

    Crypto 小学生的密码学 题目 e(x)=11x+6(mod26) 密文:welcylk (flag为base64形式) 我的解答: 考点:仿射密码,已知a,b 结果base64加密即可 flag ...

  9. Rong晔大佬教程学习(0):前言

    2023-12-13 在安装了tinyriscv的工具链之后,本想着说去看那个技术文档,但是那个技术文档只是相当于一个"使用手册",而不是技术教程,所以说还是得去补一补计组的知识. ...

  10. 基于yolo的口罩识别(开源代码和数据集)

    2020年开头真的很人意外,开年爆发了疫情.此次疫情牵动了各行各业,在这里衷心的感谢奋斗在一线的医疗工作者:您们辛苦了.作为一名非医专业的学生,在这样情况下,除了不乱跑以外,我也想以另一种方式去致敬那 ...