Commit 6b65a5c0408a8bae0b632de375d342fd26b9316d
1 parent
b6eba4b6
Exists in
master
Implementação dos recursos de relatório
Showing
8 changed files
with
90 additions
and
8 deletions
Show diff stats
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 |