后台报表业务开发
【摘要】有现成的报表工具,何必再浪费时间去开发呢?
前言
最近项目组在开发《智能远程抄表预付费系统》,因为进度紧张,所以领导临时安排我写写报表业务。简单的说:报表就是用表格、图表等格式来动态显示数据。在业务上理解起来并不困难,唯一的问题就是需要梳理清各个数据库表的关系。
项目基于开源项目jeecg-boot 进行二次开发。
前端:Vue+使用开源项目jeecg-boot中封装的曲线、柱状图、饼状图、折线图等报表组件。
后端:Spring Boot+Mybatis Plus
数据库:PostgreSQL
1.熟悉相关表结构以及表与表之间的关系。
2.参考原型图和后台数据库写出查询数据的sql。
3.从mapper->service->controller在Java层面处理数据并返回json格式。
不要以为报表就是很简单的查出来几条sql数据,直接扔过去就ok了。其实,额额额,其实也差不多。不过呢,问题总会遇到的,下面我打算总结几个值得记录的问题。
注:为了保证公司业务的安全性,不会直接贴代码。创建几个简单的表,讲讲思路,达到效果就可以。
按日期分组(GROUP BY)查询统计时 空数据补0
- 1.新建日期临时表 联合查询 UNION
- 2.在Java中补充数据
同列分类求和并按其他列分组
userid | type | income |
---|---|---|
1 | 微信 | 4 |
2 | 支付宝 | 2 |
2 | 微信 | 6 |
1 | 支付宝 | 7 |
… | … | … |
问题描述:如上表 INCOME,要分别统计每个用户微信、支付宝的收入总和,结果格式如下。(即按微信、支付宝分类,按照userid分group求和)
userid | 微信 | 支付宝 |
---|---|---|
1 | xxx | xxx |
2 | xxx | xxx |
1 | SELECT userid, |
Java实现打印机打印账单
敬请期待…