-
Notifications
You must be signed in to change notification settings - Fork 242
Report
对于图表/报表,框架涉及如下几方面:
Chart/Plot: 对于一些客户需要很炫的在线图表功能,虽然Flash不失为一个选择,但是更倾向于类似JQuery Flot这样的Javascript插件。
JasperReport: JasperReport通过多种组合工具可以支持绝大部分不同层面的企业报表需求:
- Jaspersoft Studio : 便捷的可视化报表设计IDE工具
- JasperReports Library : 以组件模式嵌入Web应用生成报表
- JasperReports Server : 以独立模式部署/管理/运行报表服务,一般用于大型企业系统提供灵活和全面的独立报表服务
Applet:一般报表/单据都涉及打印需求,尤其还涉及到像快递单这样的套打票据,需要精确控制打印尺寸和纸张方向等特性,一般单纯的浏览器客户端无法提供这些特性,一些常见的解决方案是包括借助额外的C/S程序或者ActiveX浏览器控件等。JasperReport提供一个基于Applet的JRViewer组件,虽然基于Applet的实现方式也饱受诟病,包括需要用户机器安装JRE,下载一系列JAR组件,浏览器权限配置等,但是结合一些项目的经验和各方面因素综合考虑,在不考虑带宽等限制,一致的系统开发实施管理流程等,对于一般运行与企业内网的企业应用,采用Applet方案也算是个不错的选择。Applet需要客户端安装JRE运行环境及相关配置,具体可参考报表预览页面的提示链接“如果无法正常显示报表组件,请点击查看配置说明”,按照安装配置说明一步步配置客户端运行环境。
框架采用JasperReport+Applet方式实现打印报表的在线预览/在线编辑/多格式数据导出/精确套打等常见业务需求,目前此套方案已在实际项目中使用,可以实现常见的发货单/快递单等单据的针式打印的准确分页切纸走位。框架在JRViewer Applet基础上扩展,提供一个比较常见的个性需求:在预览界面,可以方便的 在线修改相关数据,以便以修改后的数据直接打印或导出数据。另外,框架扩展做了 报表的缓存和刷新检测处理,自动检测JasperReport的jrxml模板文件的时间戳,如果有更新则重新编译缓存报表文件,便于开发和生产环境的随时更新报表模板定义。
TODO 基于JQuery Flot的销售趋势图,折线图/饼状图/柱状图等
对于进销存系统,一般会配备扫描枪快速录入商品,实际操作无需把一堆实物商品堆在工位,可以通过打印常用销售商品的条码清单,只需简单扫描纸质清单列表上的商品条码即可快速录入商品条码。
模板文件路径:prototype/src/main/webapp/WEB-INF/template/jasper/COMMODITY_BARCODE_LIST.jrxml
- Jaspersoft Studio报表可视化设计,对于需要提供在线编辑的属性,按照如下图设置超链接属性即可:
- 在业务界面集成
- 调用打印预览输出
- 在线修改可编辑属性(LinkType=XEdit)
- 点击左上角的保存按钮,支持多种格式导出,如PDF,Excel等
- 导出到Excel文件,以便线下自由编辑使用
典型的套打业务: