Commit fbb5fa54eb7aa9f4986f5a9632454407c8957e1d
1 parent
3695cd57
Exists in
master
Implementação de recursos de relatório
Showing
9 changed files
with
175 additions
and
21 deletions
Show diff stats
cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/dao/impl/CssVersionDaoHibernate.java
... | ... | @@ -2,8 +2,11 @@ package br.com.centralit.esi.api.resource.dao.impl; |
2 | 2 | |
3 | 3 | import org.springframework.stereotype.Repository; |
4 | 4 | |
5 | +import br.com.centralit.esi.api.enumerated.ResourceTypeEnum; | |
5 | 6 | import br.com.centralit.esi.api.resource.dao.CssVersionDao; |
6 | 7 | import br.com.centralit.esi.api.resource.model.CssVersion; |
8 | +import br.com.centralit.esi.api.resource.model.ResourceVersion; | |
9 | +import br.com.centralit.framework.dao.arquitetura.SearchSeven; | |
7 | 10 | |
8 | 11 | @Repository("cssVersionDao") |
9 | 12 | public class CssVersionDaoHibernate extends ResourceVersionDaoHibernate implements CssVersionDao { |
... | ... | @@ -12,4 +15,20 @@ public class CssVersionDaoHibernate extends ResourceVersionDaoHibernate implemen |
12 | 15 | super(CssVersion.class); |
13 | 16 | } |
14 | 17 | |
18 | + @Override | |
19 | + public ResourceVersion findByName(String resourceName) { | |
20 | + SearchSeven search = new SearchSeven(); | |
21 | + | |
22 | + search.addFilterEqual("resource.name", resourceName); | |
23 | + | |
24 | + search.addFilterEqual("resource.type", ResourceTypeEnum.CSS); | |
25 | + | |
26 | + search.addFilterEmpty("resource.dataInativo"); | |
27 | + search.addFilterEmpty("dataInativo"); | |
28 | + | |
29 | + search.setMaxResults(1); | |
30 | + | |
31 | + return this.searchUnique(search, CssVersion.class); | |
32 | + } | |
33 | + | |
15 | 34 | } | ... | ... |
cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/dao/impl/FileVersionDaoHibernate.java
... | ... | @@ -2,8 +2,11 @@ package br.com.centralit.esi.api.resource.dao.impl; |
2 | 2 | |
3 | 3 | import org.springframework.stereotype.Repository; |
4 | 4 | |
5 | +import br.com.centralit.esi.api.enumerated.ResourceTypeEnum; | |
5 | 6 | import br.com.centralit.esi.api.resource.dao.FileVersionDao; |
6 | 7 | import br.com.centralit.esi.api.resource.model.FileVersion; |
8 | +import br.com.centralit.esi.api.resource.model.ResourceVersion; | |
9 | +import br.com.centralit.framework.dao.arquitetura.SearchSeven; | |
7 | 10 | |
8 | 11 | @Repository("fileVersionDao") |
9 | 12 | public class FileVersionDaoHibernate extends ResourceVersionDaoHibernate implements FileVersionDao { |
... | ... | @@ -11,5 +14,21 @@ public class FileVersionDaoHibernate extends ResourceVersionDaoHibernate impleme |
11 | 14 | public FileVersionDaoHibernate() { |
12 | 15 | super(FileVersion.class); |
13 | 16 | } |
14 | - | |
17 | + | |
18 | + @Override | |
19 | + public ResourceVersion findByName(String resourceName) { | |
20 | + SearchSeven search = new SearchSeven(); | |
21 | + | |
22 | + search.addFilterEqual("resource.name", resourceName); | |
23 | + | |
24 | + search.addFilterEqual("resource.type", ResourceTypeEnum.FILE); | |
25 | + | |
26 | + search.addFilterEmpty("resource.dataInativo"); | |
27 | + search.addFilterEmpty("dataInativo"); | |
28 | + | |
29 | + search.setMaxResults(1); | |
30 | + | |
31 | + return this.searchUnique(search, FileVersion.class); | |
32 | + } | |
33 | + | |
15 | 34 | } | ... | ... |
cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/dao/impl/FormVersionDaoHibernate.java
... | ... | @@ -2,8 +2,11 @@ package br.com.centralit.esi.api.resource.dao.impl; |
2 | 2 | |
3 | 3 | import org.springframework.stereotype.Repository; |
4 | 4 | |
5 | +import br.com.centralit.esi.api.enumerated.ResourceTypeEnum; | |
5 | 6 | import br.com.centralit.esi.api.resource.dao.FormVersionDao; |
6 | 7 | import br.com.centralit.esi.api.resource.model.FormVersion; |
8 | +import br.com.centralit.esi.api.resource.model.ResourceVersion; | |
9 | +import br.com.centralit.framework.dao.arquitetura.SearchSeven; | |
7 | 10 | |
8 | 11 | @Repository("formVersionDao") |
9 | 12 | public class FormVersionDaoHibernate extends ResourceVersionDaoHibernate implements FormVersionDao { |
... | ... | @@ -12,4 +15,20 @@ public class FormVersionDaoHibernate extends ResourceVersionDaoHibernate impleme |
12 | 15 | super(FormVersion.class); |
13 | 16 | } |
14 | 17 | |
18 | + @Override | |
19 | + public ResourceVersion findByName(String resourceName) { | |
20 | + SearchSeven search = new SearchSeven(); | |
21 | + | |
22 | + search.addFilterEqual("resource.name", resourceName); | |
23 | + | |
24 | + search.addFilterEqual("resource.type", ResourceTypeEnum.FORM); | |
25 | + | |
26 | + search.addFilterEmpty("resource.dataInativo"); | |
27 | + search.addFilterEmpty("dataInativo"); | |
28 | + | |
29 | + search.setMaxResults(1); | |
30 | + | |
31 | + return this.searchUnique(search, FormVersion.class); | |
32 | + } | |
33 | + | |
15 | 34 | } | ... | ... |
cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/dao/impl/ImageVersionDaoHibernate.java
... | ... | @@ -2,8 +2,11 @@ package br.com.centralit.esi.api.resource.dao.impl; |
2 | 2 | |
3 | 3 | import org.springframework.stereotype.Repository; |
4 | 4 | |
5 | +import br.com.centralit.esi.api.enumerated.ResourceTypeEnum; | |
5 | 6 | import br.com.centralit.esi.api.resource.dao.ImageVersionDao; |
6 | 7 | import br.com.centralit.esi.api.resource.model.ImageVersion; |
8 | +import br.com.centralit.esi.api.resource.model.ResourceVersion; | |
9 | +import br.com.centralit.framework.dao.arquitetura.SearchSeven; | |
7 | 10 | |
8 | 11 | @Repository("imageVersionDao") |
9 | 12 | public class ImageVersionDaoHibernate extends ResourceVersionDaoHibernate implements ImageVersionDao { |
... | ... | @@ -12,4 +15,20 @@ public class ImageVersionDaoHibernate extends ResourceVersionDaoHibernate implem |
12 | 15 | super(ImageVersion.class); |
13 | 16 | } |
14 | 17 | |
18 | + @Override | |
19 | + public ResourceVersion findByName(String resourceName) { | |
20 | + SearchSeven search = new SearchSeven(); | |
21 | + | |
22 | + search.addFilterEqual("resource.name", resourceName); | |
23 | + | |
24 | + search.addFilterEqual("resource.type", ResourceTypeEnum.IMAGE); | |
25 | + | |
26 | + search.addFilterEmpty("resource.dataInativo"); | |
27 | + search.addFilterEmpty("dataInativo"); | |
28 | + | |
29 | + search.setMaxResults(1); | |
30 | + | |
31 | + return this.searchUnique(search, ImageVersion.class); | |
32 | + } | |
33 | + | |
15 | 34 | } | ... | ... |
cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/dao/impl/JavaScriptVersionDaoHibernate.java
... | ... | @@ -2,8 +2,11 @@ package br.com.centralit.esi.api.resource.dao.impl; |
2 | 2 | |
3 | 3 | import org.springframework.stereotype.Repository; |
4 | 4 | |
5 | +import br.com.centralit.esi.api.enumerated.ResourceTypeEnum; | |
5 | 6 | import br.com.centralit.esi.api.resource.dao.JavaScriptVersionDao; |
6 | 7 | import br.com.centralit.esi.api.resource.model.JavaScriptVersion; |
8 | +import br.com.centralit.esi.api.resource.model.ResourceVersion; | |
9 | +import br.com.centralit.framework.dao.arquitetura.SearchSeven; | |
7 | 10 | |
8 | 11 | @Repository("javaScriptVersionDao") |
9 | 12 | public class JavaScriptVersionDaoHibernate extends ResourceVersionDaoHibernate implements JavaScriptVersionDao { |
... | ... | @@ -12,4 +15,21 @@ public class JavaScriptVersionDaoHibernate extends ResourceVersionDaoHibernate i |
12 | 15 | super(JavaScriptVersion.class); |
13 | 16 | } |
14 | 17 | |
18 | + @Override | |
19 | + public ResourceVersion findByName(String resourceName) { | |
20 | + SearchSeven search = new SearchSeven(); | |
21 | + | |
22 | + search.addFilterEqual("resource.name", resourceName); | |
23 | + | |
24 | + search.addFilterEqual("resource.type", ResourceTypeEnum.JAVASCRIPT); | |
25 | + | |
26 | + search.addFilterEmpty("resource.dataInativo"); | |
27 | + search.addFilterEmpty("dataInativo"); | |
28 | + | |
29 | + search.setMaxResults(1); | |
30 | + | |
31 | + return this.searchUnique(search, JavaScriptVersion.class); | |
32 | + } | |
33 | + | |
34 | + | |
15 | 35 | } | ... | ... |
cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/dao/impl/PageVersionDaoHibernate.java
... | ... | @@ -2,8 +2,11 @@ package br.com.centralit.esi.api.resource.dao.impl; |
2 | 2 | |
3 | 3 | import org.springframework.stereotype.Repository; |
4 | 4 | |
5 | +import br.com.centralit.esi.api.enumerated.ResourceTypeEnum; | |
5 | 6 | import br.com.centralit.esi.api.resource.dao.PageVersionDao; |
6 | 7 | import br.com.centralit.esi.api.resource.model.PageVersion; |
8 | +import br.com.centralit.esi.api.resource.model.ResourceVersion; | |
9 | +import br.com.centralit.framework.dao.arquitetura.SearchSeven; | |
7 | 10 | |
8 | 11 | @Repository("pageVersionDao") |
9 | 12 | public class PageVersionDaoHibernate extends ResourceVersionDaoHibernate implements PageVersionDao { |
... | ... | @@ -12,4 +15,20 @@ public class PageVersionDaoHibernate extends ResourceVersionDaoHibernate impleme |
12 | 15 | super(PageVersion.class); |
13 | 16 | } |
14 | 17 | |
18 | + @Override | |
19 | + public ResourceVersion findByName(String resourceName) { | |
20 | + SearchSeven search = new SearchSeven(); | |
21 | + | |
22 | + search.addFilterEqual("resource.name", resourceName); | |
23 | + | |
24 | + search.addFilterEqual("resource.type", ResourceTypeEnum.PAGE); | |
25 | + | |
26 | + search.addFilterEmpty("resource.dataInativo"); | |
27 | + search.addFilterEmpty("dataInativo"); | |
28 | + | |
29 | + search.setMaxResults(1); | |
30 | + | |
31 | + return this.searchUnique(search, PageVersion.class); | |
32 | + } | |
33 | + | |
15 | 34 | } | ... | ... |
cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/service/impl/JasperReportManagerImpl.java
... | ... | @@ -12,7 +12,6 @@ import net.sf.jasperreports.engine.JasperCompileManager; |
12 | 12 | import net.sf.jasperreports.engine.JasperExportManager; |
13 | 13 | import net.sf.jasperreports.engine.JasperFillManager; |
14 | 14 | import net.sf.jasperreports.engine.JasperPrint; |
15 | -import net.sf.jasperreports.engine.data.JRBeanArrayDataSource; | |
16 | 15 | import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; |
17 | 16 | import net.sf.json.JSONArray; |
18 | 17 | |
... | ... | @@ -125,8 +124,11 @@ public class JasperReportManagerImpl extends ReportManagerImpl implements Jasper |
125 | 124 | |
126 | 125 | case SCRIPT: |
127 | 126 | RuntimeEnvironment runtimeEnvironment = new RuntimeEnvironmentImpl(null, inputMap); |
128 | - Object object = ExecuteScript.execute(runtimeEnvironment, report.getResource().getName(), reportDataSource.getScriptCode()); | |
129 | - dataSource = new JRBeanArrayDataSource(new Object[]{object}); | |
127 | + Object value = ExecuteScript.execute(runtimeEnvironment, report.getResource().getName(), reportDataSource.getScriptCode()); | |
128 | + if (value != null) { | |
129 | + JSONArray array = JSONArray.fromObject(value); | |
130 | + dataSource = new JRBeanCollectionDataSource(array); | |
131 | + } | |
130 | 132 | break; |
131 | 133 | |
132 | 134 | default: | ... | ... |
cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/service/impl/ReportVersionServiceImpl.java
... | ... | @@ -98,8 +98,12 @@ public class ReportVersionServiceImpl extends ResourceVersionServiceImpl impleme |
98 | 98 | case FLOW: |
99 | 99 | parameter.setFlow(flowService.find(parameter.getFlow().getId())); |
100 | 100 | parameter.setDataObject(null); |
101 | + parameter.setCustomSQL(null); | |
101 | 102 | break; |
102 | 103 | default: |
104 | + parameter.setFlow(null); | |
105 | + parameter.setDataObject(null); | |
106 | + parameter.setCustomSQL(null); | |
103 | 107 | break; |
104 | 108 | } |
105 | 109 | } |
... | ... | @@ -128,17 +132,17 @@ public class ReportVersionServiceImpl extends ResourceVersionServiceImpl impleme |
128 | 132 | reportDataSource.setConnection(null); |
129 | 133 | break; |
130 | 134 | default: |
135 | + reportDataSource.setConnection(null); | |
136 | + reportDataSource.setFlow(null); | |
137 | + reportDataSource.setDataObject(null); | |
138 | + reportDataSource.setCustomSQL(null); | |
131 | 139 | break; |
132 | 140 | } |
133 | 141 | } |
134 | 142 | |
135 | 143 | FormVersion formVersion = reportVersion.getFormVersion(); |
136 | 144 | formVersion.setPath(reportVersion.getPath()); |
137 | - if (formVersion.isNew()) { | |
138 | - formVersion = (FormVersion) formVersionService.save(reportVersion.getFormVersion()); | |
139 | - }else{ | |
140 | - formVersion = (FormVersion) formVersionService.merge(reportVersion.getFormVersion()); | |
141 | - } | |
145 | + formVersion = (FormVersion) formVersionService.save(reportVersion.getFormVersion()); | |
142 | 146 | |
143 | 147 | reportVersion.setForm(formVersion.getResource()); |
144 | 148 | } |
... | ... | @@ -148,9 +152,9 @@ public class ReportVersionServiceImpl extends ResourceVersionServiceImpl impleme |
148 | 152 | ReportVersion oldResourceVersion = (ReportVersion) resourceVersion; |
149 | 153 | |
150 | 154 | ReportVersion newResourceVersion = new ReportVersion(); |
151 | - newResourceVersion.setFile(oldResourceVersion.getFile()); | |
152 | - newResourceVersion.setFileName(oldResourceVersion.getFileName()); | |
153 | - newResourceVersion.setFileSize(oldResourceVersion.getFileSize()); | |
155 | + newResourceVersion.setEngine(oldResourceVersion.getEngine()); | |
156 | + newResourceVersion.setForm(oldResourceVersion.getForm()); | |
157 | + newResourceVersion.setFormVersion(oldResourceVersion.getFormVersion()); | |
154 | 158 | |
155 | 159 | newResourceVersion.setDataSource(new ReportDataSource(oldResourceVersion.getDataSource())); |
156 | 160 | ... | ... |
cit-esi-web/src/main/webapp/assets/js/angular/custom/controller/ReportController.js
... | ... | @@ -337,6 +337,8 @@ citApp.controller('ReportController', ["$scope", "appService", "ReportRepository |
337 | 337 | } |
338 | 338 | $scope.report.formVersion.menu = menu; |
339 | 339 | |
340 | + $scope.verifyDataSource(); | |
341 | + | |
340 | 342 | if (oldVersion) { |
341 | 343 | ReportRepository.replace($scope.report).then(function(result) { |
342 | 344 | $scope.report = result.originalElement; |
... | ... | @@ -355,16 +357,45 @@ citApp.controller('ReportController', ["$scope", "appService", "ReportRepository |
355 | 357 | } |
356 | 358 | }; |
357 | 359 | |
360 | + $scope.verifyDataSource = function() { | |
361 | + var dataSource = $scope.report.dataSource; | |
362 | + if (dataSource.type == 'CONNECTION') { | |
363 | + $scope.report.dataSource.connection = {id: dataSource.connection.id}; | |
364 | + $scope.report.dataSource.dataObject = null; | |
365 | + $scope.report.dataSource.flow = null; | |
366 | + $scope.report.dataSource.customSQL = null; | |
367 | + }else if (dataSource.type == 'DATAOBJECT') { | |
368 | + $scope.report.dataSource.connection = null; | |
369 | + $scope.report.dataSource.dataObject = {id: dataSource.dataObject.id}; | |
370 | + $scope.report.dataSource.flow = null; | |
371 | + if (dataSource.customSQL) { | |
372 | + $scope.report.dataSource.customSQL = {id: dataSource.customSQL.id}; | |
373 | + } | |
374 | + }else if (dataSource.type == 'FLOW') { | |
375 | + $scope.report.dataSource.connection = null; | |
376 | + $scope.report.dataSource.dataObject = null; | |
377 | + $scope.report.dataSource.flow = {id: dataSource.flow.id}; | |
378 | + $scope.report.dataSource.customSQL = null; | |
379 | + }else{ | |
380 | + $scope.report.dataSource.connection = null; | |
381 | + $scope.report.dataSource.dataObject = null; | |
382 | + $scope.report.dataSource.flow = null; | |
383 | + $scope.report.dataSource.customSQL = null; | |
384 | + } | |
385 | + }; | |
386 | + | |
358 | 387 | $scope.uploadFile = function() { |
359 | - $scope.uploader.url = '/cit-esi-web/rest/esi/resource/report/upload?'; | |
360 | - $scope.uploader.url += 'name=' + $scope.report.resource.name; | |
361 | - $scope.uploader.url += '&description=' + $scope.report.resource.description; | |
362 | - $scope.uploader.url += '&path=' + $scope.report.path; | |
363 | - $scope.uploader.url += '&replace=true'; | |
364 | - $scope.uploader.url += '&id=' + $scope.report.id; | |
365 | - | |
366 | - $scope.uploader.queue[0].url = $scope.uploader.url; | |
367 | - $scope.uploader.uploadAll(); | |
388 | + if ($scope.uploader.queue.length > 0) { | |
389 | + $scope.uploader.url = '/cit-esi-web/rest/esi/resource/report/upload?'; | |
390 | + $scope.uploader.url += 'name=' + $scope.report.resource.name; | |
391 | + $scope.uploader.url += '&description=' + $scope.report.resource.description; | |
392 | + $scope.uploader.url += '&path=' + $scope.report.path; | |
393 | + $scope.uploader.url += '&replace=true'; | |
394 | + $scope.uploader.url += '&id=' + $scope.report.id; | |
395 | + | |
396 | + $scope.uploader.queue[0].url = $scope.uploader.url; | |
397 | + $scope.uploader.uploadAll(); | |
398 | + } | |
368 | 399 | }; |
369 | 400 | |
370 | 401 | // Limpa o formulario preenchido |
... | ... | @@ -377,6 +408,8 @@ citApp.controller('ReportController', ["$scope", "appService", "ReportRepository |
377 | 408 | // Consulta entidade e mostra no formulario |
378 | 409 | $scope.getReport = function(report, edit){ |
379 | 410 | $scope.setLoadingGet(true); |
411 | + | |
412 | + $scope.resetForm(); | |
380 | 413 | |
381 | 414 | ReportRepository.get(report.id).then(function(result) { |
382 | 415 | $scope.report = result.originalElement; | ... | ... |