Commit 6b65a5c0408a8bae0b632de375d342fd26b9316d

Authored by Carlos Alberto
1 parent b6eba4b6
Exists in master

Implementação dos recursos de relatório

cit-esi-api/src/main/java/br/com/centralit/esi/api/data/model/DataObject.java
@@ -43,7 +43,7 @@ public class DataObject extends PersistentObjectAudit { @@ -43,7 +43,7 @@ public class DataObject extends PersistentObjectAudit {
43 43
44 @Id 44 @Id
45 @GeneratedValue(strategy = GenerationType.AUTO) 45 @GeneratedValue(strategy = GenerationType.AUTO)
46 - @JsonView({Views.EsiDataObjectListView.class, Views.EsiDataObjectEditView.class }) 46 + @JsonView({Views.GenericView.class})
47 protected Long id; 47 protected Long id;
48 48
49 @ManyToOne(fetch=FetchType.LAZY, optional=false) 49 @ManyToOne(fetch=FetchType.LAZY, optional=false)
cit-esi-api/src/main/java/br/com/centralit/esi/api/data/model/DataSource.java
@@ -30,7 +30,7 @@ public class DataSource extends PersistentObjectAudit { @@ -30,7 +30,7 @@ public class DataSource extends PersistentObjectAudit {
30 30
31 @Id 31 @Id
32 @GeneratedValue(strategy = GenerationType.AUTO) 32 @GeneratedValue(strategy = GenerationType.AUTO)
33 - @JsonView({Views.EsiDataObjectListView.class, Views.EsiDataObjectEditView.class }) 33 + @JsonView({Views.GenericView.class })
34 protected Long id; 34 protected Long id;
35 35
36 @Column(nullable = false, length=100) 36 @Column(nullable = false, length=100)
cit-esi-api/src/main/java/br/com/centralit/esi/api/enumerated/ReportParameterTypeEnum.java
@@ -4,7 +4,8 @@ public enum ReportParameterTypeEnum { @@ -4,7 +4,8 @@ public enum ReportParameterTypeEnum {
4 DATAOBJECT("ESI.ENUMERADO.DATASOURCE_OBJETO_DADOS"), 4 DATAOBJECT("ESI.ENUMERADO.DATASOURCE_OBJETO_DADOS"),
5 FLOW("ESI.ENUMERADO.DATASOURCE_FLUXO_ESI"), 5 FLOW("ESI.ENUMERADO.DATASOURCE_FLUXO_ESI"),
6 SCRIPT("ESI.ENUMERADO.DATASOURCE_SCRIPT"), 6 SCRIPT("ESI.ENUMERADO.DATASOURCE_SCRIPT"),
7 - IMAGE("ESI.ENUMERADO.DATASOURCE_IMAGEM"); 7 + IMAGE("ESI.ENUMERADO.DATASOURCE_IMAGEM"),
  8 + CONSTANT("ESI.ENUMERADO.DATASOURCE_CONSTANTE");
8 9
9 private String id; 10 private String id;
10 private String description; 11 private String description;
cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/model/ReportParameter.java
1 package br.com.centralit.esi.api.resource.model; 1 package br.com.centralit.esi.api.resource.model;
2 2
  3 +import javax.persistence.Basic;
3 import javax.persistence.Column; 4 import javax.persistence.Column;
4 import javax.persistence.Embedded; 5 import javax.persistence.Embedded;
5 import javax.persistence.Entity; 6 import javax.persistence.Entity;
@@ -7,9 +8,12 @@ import javax.persistence.FetchType; @@ -7,9 +8,12 @@ import javax.persistence.FetchType;
7 import javax.persistence.GeneratedValue; 8 import javax.persistence.GeneratedValue;
8 import javax.persistence.GenerationType; 9 import javax.persistence.GenerationType;
9 import javax.persistence.Id; 10 import javax.persistence.Id;
  11 +import javax.persistence.Lob;
10 import javax.persistence.ManyToOne; 12 import javax.persistence.ManyToOne;
11 import javax.persistence.Table; 13 import javax.persistence.Table;
12 14
  15 +import org.hibernate.annotations.Type;
  16 +
13 import br.com.centralit.esi.api.data.model.CustomSQL; 17 import br.com.centralit.esi.api.data.model.CustomSQL;
14 import br.com.centralit.esi.api.data.model.DataObject; 18 import br.com.centralit.esi.api.data.model.DataObject;
15 import br.com.centralit.esi.api.design.model.Flow; 19 import br.com.centralit.esi.api.design.model.Flow;
@@ -58,6 +62,12 @@ public class ReportParameter extends PersistentObject { @@ -58,6 +62,12 @@ public class ReportParameter extends PersistentObject {
58 @Embedded 62 @Embedded
59 @JsonView({ Views.EsiResourceEditView.class, Views.EsiPackageExportView.class}) 63 @JsonView({ Views.EsiResourceEditView.class, Views.EsiPackageExportView.class})
60 private ScriptCode scriptCode; 64 private ScriptCode scriptCode;
  65 +
  66 + @Lob
  67 + @Basic(fetch = FetchType.LAZY)
  68 + @Type(type="org.hibernate.type.StringClobType")
  69 + @JsonView({ Views.EsiResourceEditView.class, Views.EsiPackageExportView.class})
  70 + private String constant;
61 71
62 @Column(nullable = true) 72 @Column(nullable = true)
63 @JsonView({ Views.EsiResourceEditView.class, Views.EsiPackageExportView.class}) 73 @JsonView({ Views.EsiResourceEditView.class, Views.EsiPackageExportView.class})
@@ -166,5 +176,13 @@ public class ReportParameter extends PersistentObject { @@ -166,5 +176,13 @@ public class ReportParameter extends PersistentObject {
166 public void setCustomSQL(CustomSQL customSQL) { 176 public void setCustomSQL(CustomSQL customSQL) {
167 this.customSQL = customSQL; 177 this.customSQL = customSQL;
168 } 178 }
  179 +
  180 + public String getConstant() {
  181 + return constant;
  182 + }
  183 +
  184 + public void setConstant(String constant) {
  185 + this.constant = constant;
  186 + }
169 187
170 } 188 }
cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/service/impl/ReportVersionServiceImpl.java
@@ -27,6 +27,7 @@ import br.com.centralit.esi.api.resource.service.PentahoReportManager; @@ -27,6 +27,7 @@ import br.com.centralit.esi.api.resource.service.PentahoReportManager;
27 import br.com.centralit.esi.api.resource.service.ReportDataSourceService; 27 import br.com.centralit.esi.api.resource.service.ReportDataSourceService;
28 import br.com.centralit.esi.api.resource.service.ReportParameterService; 28 import br.com.centralit.esi.api.resource.service.ReportParameterService;
29 import br.com.centralit.esi.api.resource.service.ReportVersionService; 29 import br.com.centralit.esi.api.resource.service.ReportVersionService;
  30 +import br.com.centralit.esi.api.resource.service.ResourceService;
30 import br.com.centralit.framework.util.UtilString; 31 import br.com.centralit.framework.util.UtilString;
31 32
32 @Service("reportVersionService") 33 @Service("reportVersionService")
@@ -55,6 +56,9 @@ public class ReportVersionServiceImpl extends ResourceVersionServiceImpl impleme @@ -55,6 +56,9 @@ public class ReportVersionServiceImpl extends ResourceVersionServiceImpl impleme
55 56
56 @Autowired 57 @Autowired
57 private FlowService flowService; 58 private FlowService flowService;
  59 +
  60 + @Autowired
  61 + private ResourceService resourceService;
58 62
59 @Autowired 63 @Autowired
60 private CustomSQLService customSQLService; 64 private CustomSQLService customSQLService;
@@ -103,16 +107,25 @@ public class ReportVersionServiceImpl extends ResourceVersionServiceImpl impleme @@ -103,16 +107,25 @@ public class ReportVersionServiceImpl extends ResourceVersionServiceImpl impleme
103 parameter.setCustomSQL(customSQLService.find(parameter.getCustomSQL().getId())); 107 parameter.setCustomSQL(customSQLService.find(parameter.getCustomSQL().getId()));
104 } 108 }
105 parameter.setFlow(null); 109 parameter.setFlow(null);
  110 + parameter.setImage(null);
106 break; 111 break;
107 case FLOW: 112 case FLOW:
108 parameter.setFlow(flowService.find(parameter.getFlow().getId())); 113 parameter.setFlow(flowService.find(parameter.getFlow().getId()));
109 parameter.setDataObject(null); 114 parameter.setDataObject(null);
110 - parameter.setCustomSQL(null); 115 + parameter.setCustomSQL(null);
  116 + parameter.setImage(null);
  117 + break;
  118 + case IMAGE:
  119 + parameter.setFlow(null);
  120 + parameter.setDataObject(null);
  121 + parameter.setCustomSQL(null);
  122 + parameter.setImage(resourceService.find(parameter.getImage().getId()));
111 break; 123 break;
112 default: 124 default:
113 parameter.setFlow(null); 125 parameter.setFlow(null);
114 parameter.setDataObject(null); 126 parameter.setDataObject(null);
115 parameter.setCustomSQL(null); 127 parameter.setCustomSQL(null);
  128 + parameter.setImage(null);
116 break; 129 break;
117 } 130 }
118 } 131 }
cit-esi-web/src/main/java/br/com/centralit/listener/StartupListenerEsi.java
@@ -2176,6 +2176,7 @@ public class StartupListenerEsi extends UtilStartup implements ApplicationListen @@ -2176,6 +2176,7 @@ public class StartupListenerEsi extends UtilStartup implements ApplicationListen
2176 internacionalizacaoList.add(new Internacionalizacao("ESI.ENUMERADO.DATASOURCE_OBJETO_DADOS", "Objeto de dados", dominio, modulo)); 2176 internacionalizacaoList.add(new Internacionalizacao("ESI.ENUMERADO.DATASOURCE_OBJETO_DADOS", "Objeto de dados", dominio, modulo));
2177 internacionalizacaoList.add(new Internacionalizacao("ESI.ENUMERADO.DATASOURCE_FLUXO_ESI", "Fluxo ESI", dominio, modulo)); 2177 internacionalizacaoList.add(new Internacionalizacao("ESI.ENUMERADO.DATASOURCE_FLUXO_ESI", "Fluxo ESI", dominio, modulo));
2178 internacionalizacaoList.add(new Internacionalizacao("ESI.ENUMERADO.DATASOURCE_SCRIPT", "Script", dominio, modulo)); 2178 internacionalizacaoList.add(new Internacionalizacao("ESI.ENUMERADO.DATASOURCE_SCRIPT", "Script", dominio, modulo));
  2179 + internacionalizacaoList.add(new Internacionalizacao("ESI.ENUMERADO.DATASOURCE_CONSTANTE", "Constante", dominio, modulo));
2179 internacionalizacaoList.add(new Internacionalizacao("ESI.ENUMERADO.DATASOURCE_IMAGEM", "Imagem", dominio, modulo)); 2180 internacionalizacaoList.add(new Internacionalizacao("ESI.ENUMERADO.DATASOURCE_IMAGEM", "Imagem", dominio, modulo));
2180 2181
2181 internacionalizacaoList.add(new Internacionalizacao("ESI.ENUMERADO.TIPO_ENGINE_REGRA_DROOLS", "Drools", dominio, modulo)); 2182 internacionalizacaoList.add(new Internacionalizacao("ESI.ENUMERADO.TIPO_ENGINE_REGRA_DROOLS", "Drools", dominio, modulo));
cit-esi-web/src/main/webapp/assets/js/angular/custom/controller/ReportController.js
1 'use strict'; 1 'use strict';
2 2
3 -citApp.controller('ReportController', ["$scope", "appService", "ReportRepository", "FlowRepository", "FormWidgetRepository", "ParameterRepository", "MenuRepository", "FormBuilderRepository", "DataSourceRepository", "DataObjectRepository", "$filter", "$translate", "DomainRepository", "$timeout", "$http", "$rootScope", "$modal",  
4 - function ReportController($scope, appService, ReportRepository, FlowRepository, FormWidgetRepository, ParameterRepository, MenuRepository, FormBuilderRepository, DataSourceRepository, DataObjectRepository, $filter, $translate, DomainRepository, $timeout, $http, $rootScope, $modal) { 3 +citApp.controller('ReportController', ["$scope", "appService", "ReportRepository", "FlowRepository", "FormWidgetRepository", "ResourceRepository", "ParameterRepository", "MenuRepository", "FormBuilderRepository", "DataSourceRepository", "DataObjectRepository", "$filter", "$translate", "DomainRepository", "$timeout", "$http", "$rootScope", "$modal",
  4 + function ReportController($scope, appService, ReportRepository, FlowRepository, FormWidgetRepository, ResourceRepository, ParameterRepository, MenuRepository, FormBuilderRepository, DataSourceRepository, DataObjectRepository, $filter, $translate, DomainRepository, $timeout, $http, $rootScope, $modal) {
5 5
6 var componentsPage = '/cit-esi-web/assets/js/angular/custom/directive/html/formComponents.html'; 6 var componentsPage = '/cit-esi-web/assets/js/angular/custom/directive/html/formComponents.html';
7 $scope.appController = angular.element("#citapp-controller").scope(); 7 $scope.appController = angular.element("#citapp-controller").scope();
@@ -357,7 +357,7 @@ citApp.controller('ReportController', ["$scope", "appService", "ReportRepository @@ -357,7 +357,7 @@ citApp.controller('ReportController', ["$scope", "appService", "ReportRepository
357 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_SALVO')); 357 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_SALVO'));
358 $scope.reportForm.$submitted = false; 358 $scope.reportForm.$submitted = false;
359 359
360 - $scope.getReport(result.originalElement, true); 360 + $scope.getReport($scope.report, true);
361 361
362 }; 362 };
363 363
@@ -509,5 +509,33 @@ citApp.controller('ReportController', ["$scope", "appService", "ReportRepository @@ -509,5 +509,33 @@ citApp.controller('ReportController', ["$scope", "appService", "ReportRepository
509 }else{ 509 }else{
510 $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS')); 510 $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS'));
511 } 511 }
512 - }; 512 + };
  513 +
  514 + $scope.findImage = function(value) {
  515 + var imageVH = {
  516 + nome : value
  517 + };
  518 + return ResourceRepository.findResource(imageVH).then(function(result) {
  519 + var images = [];
  520 + if (result && result.length > 0) {
  521 + for (var i = 0; i < result.length; i++) {
  522 + var resource = result[i].originalElement;
  523 + if (resource.type == 'IMAGE') {
  524 + images.push(result[i]);
  525 + }
  526 + }
  527 + }
  528 + return images;
  529 + });
  530 + };
  531 +
  532 + $scope.setImage = function(item) {
  533 + $scope.parameter.image = item;
  534 + };
  535 +
  536 + $scope.clearAutoCompleteImage = function() {
  537 + $scope.parameter.image = null;
  538 + };
  539 +
  540 +
513 }]); 541 }]);
cit-esi-web/src/main/webapp/html/report/dialogReportParameter.html
@@ -82,6 +82,27 @@ @@ -82,6 +82,27 @@
82 <label-ui-ace ng-theme="eclipse" ng-mode="javascript" ng-model="parameter.scriptCode.script" ng-obrigatorio="true"/> 82 <label-ui-ace ng-theme="eclipse" ng-mode="javascript" ng-model="parameter.scriptCode.script" ng-obrigatorio="true"/>
83 </div> 83 </div>
84 </div> 84 </div>
  85 +
  86 + <div class="row">
  87 + <div class="col-md-6">
  88 + <auto-complete ng-find="findImage(value)"
  89 + ng-acao-borracha="clearAutoCompleteImage()"
  90 + ng-item="item.name"
  91 + ng-id="parameter.image"
  92 + ng-label="ESI.ENUMERADO.DATASOURCE_IMAGEM"
  93 + ng-model="parameter.image"
  94 + form="reportForm"
  95 + ng-obrigatorio="true"
  96 + ng-set-result="setImage(item)">
  97 + </auto-complete>
  98 + </div>
  99 + </div>
  100 +
  101 + <div class='row' ng-if="parameter.type == 'CONSTANT'">
  102 + <div class='col-md-12'>
  103 + <label-ui-ace ng-theme="eclipse" ng-mode="text" ng-model="parameter.constant" ng-obrigatorio="true"/>
  104 + </div>
  105 + </div>
85 </fieldset> 106 </fieldset>
86 107
87 108