Commit fbb5fa54eb7aa9f4986f5a9632454407c8957e1d

Authored by Carlos Alberto
1 parent 3695cd57
Exists in master

Implementação de recursos de relatório

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;
... ...