前言
之前有做个一个自定义报表的查询,这里使用的是一个动态的sql拼接,是前端选择了什么指标就查询什么信息!(这里的指标是多个表的字段,前端随便选择了这些指标,然后后端根据这些指标拼接sql,返回这些指标的数据)。
参数接受dto
				?
| 
								1
 
								2
 
								3
 
								4
 
								5
 
								6
 
								7
 
								8
 
								9
 
								10
 
								11
 
								12
 
								13
 
								14
 
								15
 
								16
 
								17
 
								18
 
								19
 
								20
 
								21
 
								22
 
								23
 
								24
 
								25
 
								26
 
								27
 
								28
 
								29
 
								30
 
								31
 
								32
 
								33
 
								34
 
								35
 
								36
 
								37
 
								38
 
								39
 
								40
 
								41
 
								42
 
								43
 
								44
 
								45
 
								46
 
								47
 
								48
 
								49
 
								50
 
								51
 
								52
 
								53
 
								54
 
								55
 
								56
 
								57
 
								58
 
								59
 
								60
 
								61
 
								62
 
								63
 
								64
 
								65
 
								66
 
								67
 
								68
 
								69
 
								70
 
								71
 
								72
 
								73
 
								74
 
								75
 
								76
 
								77
 
								78
 
								79
 
								80
 
								81
 
								82
 
								83
						 | publicclassdefinedreportformdto {/*** 指标id*/privatelist ids;/*** 开始时间*/@datetimeformat(pattern = "yyyy-mm")privatedate starttime;/*** 结束时间*/@datetimeformat(pattern = "yyyy-mm")privatedate endtime;/*** 频率*/privatestring timestyle;privatebooleanavg =false;privatestring idsparam;privatestring companyidsparam;publicvoidsetcompanyidsparam(string companyidsparam) {this.companyidsparam = companyidsparam;}publicvoidsetidsparam(string idsparam) {this.idsparam = idsparam;}publicstring getcompanyidsparam() {returncompanyidsparam;}publicstring getidsparam() {returnidsparam;}publicbooleanisavg() {returnavg;}publicvoidsetavg(booleanavg) {this.avg = avg;}publicdate getstarttime() {returnstarttime;}publicvoidsetstarttime(date starttime) {this.starttime = starttime;}publicdate getendtime() {returnendtime;}publicvoidsetendtime(date endtime) {this.endtime = endtime;}publicstring gettimestyle() {returntimestyle;}publicvoidsettimestyle(string timestyle) {this.timestyle = timestyle;}publiclist getids() {returnids;}publicvoidsetids(list ids) {this.ids = ids;}} | 
数据返回vo
				?
| 
								1
 
								2
 
								3
 
								4
 
								5
 
								6
 
								7
 
								8
 
								9
 
								10
 
								11
 
								12
 
								13
 
								14
 
								15
 
								16
 
								17
 
								18
 
								19
 
								20
						 | publicclassdefinedreportformvo implementsserializable {privatestring time;privatelist<map<string, object>> arr = newarraylist<>();publicstring gettime() {returntime;}publicvoidsettime(string time) {this.time = time;}publiclist<map<string, object>> getarr() {returnarr;}publicvoidsetarr(list<map<string, object>> arr) {this.arr = arr;}} | 
控制器controller
				?
| 
								1
 
								2
 
								3
 
								4
 
								5
 
								6
 
								7
 
								8
 
								9
 
								10
 
								11
 
								12
 
								13
 
								14
 
								15
 
								16
 
								17
 
								18
 
								19
 
								20
 
								21
 
								22
 
								23
 
								24
						 | @getmapping("/report/defindreport")publicjsonresponseext defindreport(definedreportformdto definedreportformdto){//测试数据 list list1 = newarraylist<>();list1.add("111");definedreportformdto.setids(list1);definedreportformdto.settimestyle("month");definedreportformdto.setavg(true); calendar instance = calendar.getinstance();instance.set(2018,1,11);definedreportformdto.setstarttime(instance.gettime());instance.settime(newdate());definedreportformdto.setendtime(instance.gettime()); | 
服务类service
				?
| 
								1
 
								2
 
								3
 
								4
 
								5
						 | publicinterfacedataacquisitionfileinfoservice {list<definedreportformvo> defindquery(definedreportformdto parameter);} | 
实现类serviceimpl
				?
| 
								1
 
								2
 
								3
 
								4
 
								5
 
								6
 
								7
 
								8
 
								9
 
								10
 
								11
 
								12
 
								13
 
								14
 
								15
 
								16
 
								17
 
								18
 
								19
 
								20
 
								21
 
								22
 
								23
 
								24
 
								25
 
								26
 
								27
 
								28
 
								29
 
								30
 
								31
 
								32
 
								33
 
								34
 
								35
 
								36
 
								37
 
								38
 
								39
 
								40
 
								41
 
								42
 
								43
 
								44
 
								45
 
								46
 
								47
 
								48
 
								49
 
								50
 
								51
 
								52
 
								53
 
								54
 
								55
 
								56
 
								57
 
								58
 
								59
 
								60
 
								61
 
								62
 
								63
 
								64
 
								65
 
								66
 
								67
 
								68
 
								69
 
								70
 
								71
 
								72
 
								73
 
								74
 
								75
 
								76
 
								77
 
								78
 
								79
 
								80
 
								81
 
								82
 
								83
 
								84
 
								85
 
								86
 
								87
 
								88
 
								89
 
								90
 
								91
 
								92
 
								93
 
								94
 
								95
 
								96
 
								97
 
								98
 
								99
 
								100
 
								101
 
								102
 
								103
 
								104
 
								105
 
								106
 
								107
 
								108
 
								109
 
								110
 
								111
 
								112
 
								113
 
								114
 
								115
 
								116
 
								117
 
								118
 
								119
 
								120
 
								121
 
								122
 
								123
 
								124
 
								125
 
								126
 
								127
 
								128
 
								129
 
								130
 
								131
 
								132
 
								133
 
								134
 
								135
 
								136
 
								137
 
								138
 
								139
 
								140
 
								141
 
								142
 
								143
 
								144
 
								145
 
								146
 
								147
 
								148
 
								149
 
								150
 
								151
 
								152
 
								153
 
								154
 
								155
 
								156
 
								157
 
								158
 
								159
 
								160
 
								161
 
								162
 
								163
 
								164
 
								165
 
								166
 
								167
 
								168
 
								169
 
								170
 
								171
 
								172
 
								173
 
								174
 
								175
 
								176
 
								177
 
								178
 
								179
 
								180
 
								181
 
								182
 
								183
 
								184
 
								185
 
								186
 
								187
 
								188
 
								189
 
								190
 
								191
 
								192
 
								193
 
								194
 
								195
 
								196
 
								197
 
								198
 
								199
 
								200
 
								201
 
								202
 
								203
 
								204
 
								205
 
								206
 
								207
 
								208
 
								209
 
								210
 
								211
 
								212
 
								213
 
								214
 
								215
 
								216
 
								217
 
								218
 
								219
 
								220
 
								221
 
								222
 | 
 
        