diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/data/model/CustomSQL.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/data/model/CustomSQL.java index a5ad4ec..8499a7a 100644 --- a/cit-esi-api/src/main/java/br/com/centralit/esi/api/data/model/CustomSQL.java +++ b/cit-esi-api/src/main/java/br/com/centralit/esi/api/data/model/CustomSQL.java @@ -36,7 +36,7 @@ public class CustomSQL extends PersistentObject { @Id @GeneratedValue(strategy = GenerationType.AUTO) - @JsonView({Views.EsiDataObjectListView.class, Views.EsiDataObjectEditView.class }) + @JsonView({Views.GenericView.class }) protected Long id; @ManyToOne(fetch=FetchType.LAZY, optional=false) @@ -44,15 +44,15 @@ public class CustomSQL extends PersistentObject { protected DataObject dataObject; @Column(nullable = false) - @JsonView({ Views.EsiDataObjectListView.class, Views.EsiDataObjectEditView.class, Views.EsiPackageExportView.class}) + @JsonView({ Views.GenericView.class}) private SqlClauseTypeEnum type; @Column(nullable = true, length=100) - @JsonView({ Views.EsiDataObjectListView.class, Views.EsiDataObjectEditView.class, Views.EsiPackageExportView.class}) + @JsonView({ Views.GenericView.class}) private String name; @Column(nullable = true, length=255) - @JsonView({ Views.EsiDataObjectListView.class, Views.EsiDataObjectEditView.class, Views.EsiPackageExportView.class}) + @JsonView({ Views.GenericView.class}) private String description; @Column(nullable = false) diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/data/model/DataObject.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/data/model/DataObject.java index 61c59ff..04075e3 100644 --- a/cit-esi-api/src/main/java/br/com/centralit/esi/api/data/model/DataObject.java +++ b/cit-esi-api/src/main/java/br/com/centralit/esi/api/data/model/DataObject.java @@ -71,7 +71,7 @@ public class DataObject extends PersistentObjectAudit { protected Resource form; @OneToMany(cascade = { CascadeType.ALL }, mappedBy = "dataObject", fetch = FetchType.LAZY) - @JsonView({ Views.EsiDataObjectEditView.class, Views.EsiPackageExportView.class}) + @JsonView({ Views.EsiResourceEditView.class, Views.EsiDataObjectEditView.class, Views.EsiPackageExportView.class}) private List sqls; @OneToMany(cascade = { CascadeType.ALL }, mappedBy = "dataObject", fetch = FetchType.LAZY) diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/model/ReportDataSource.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/model/ReportDataSource.java index 68e55f5..1d8650d 100644 --- a/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/model/ReportDataSource.java +++ b/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/model/ReportDataSource.java @@ -81,6 +81,7 @@ public class ReportDataSource extends PersistentObject { this.outputAttributeName = reportDataSource.getOutputAttributeName(); this.restoreManyToOne = reportDataSource.getRestoreManyToOne(); this.restoreOneToMany = reportDataSource.getRestoreOneToMany(); + this.customSQL = reportDataSource.getCustomSQL(); } @Override diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/model/ReportParameter.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/model/ReportParameter.java index 13d26b1..53f38a2 100644 --- a/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/model/ReportParameter.java +++ b/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/model/ReportParameter.java @@ -23,10 +23,12 @@ import br.com.centralit.framework.json.Views; import br.com.centralit.framework.model.arquitetura.PersistentObject; import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonView; @Entity @Table(name="RES_ReportParameter") +@JsonIgnoreProperties({ "$index" }) public class ReportParameter extends PersistentObject { /** @@ -86,14 +88,16 @@ public class ReportParameter extends PersistentObject { } public ReportParameter(ReportVersion report, ReportParameter reportParameter) { - this.name = reportParameter.name; + this.name = reportParameter.getName(); this.report = report; - this.type = reportParameter.type; - this.dataObject = reportParameter.dataObject; - this.flow = reportParameter.flow; - this.image = reportParameter.image; - this.scriptCode = reportParameter.scriptCode; - this.outputAttributeName = reportParameter.outputAttributeName; + this.type = reportParameter.getType(); + this.dataObject = reportParameter.getDataObject(); + this.flow = reportParameter.getFlow(); + this.image = reportParameter.getImage(); + this.scriptCode = reportParameter.getScriptCode(); + this.outputAttributeName = reportParameter.getOutputAttributeName(); + this.constant = reportParameter.getConstant(); + this.customSQL = reportParameter.getCustomSQL(); } public ReportVersion getReport() { diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/model/Resource.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/model/Resource.java index d80ff6f..9e95d67 100644 --- a/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/model/Resource.java +++ b/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/model/Resource.java @@ -50,6 +50,10 @@ public class Resource extends PersistentObject { @JsonView({ Views.GenericView.class}) private HashMap inputMap; + @Transient + @JsonView({ Views.GenericView.class}) + private String path; + public Resource() { } @@ -125,5 +129,13 @@ public class Resource extends PersistentObject { public void setInputMap(HashMap inputMap) { this.inputMap = inputMap; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; } } diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/service/impl/ReportManagerImpl.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/service/impl/ReportManagerImpl.java index f236d3b..e47bd89 100644 --- a/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/service/impl/ReportManagerImpl.java +++ b/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/service/impl/ReportManagerImpl.java @@ -12,8 +12,10 @@ import org.springframework.stereotype.Component; import br.com.centralit.esi.api.data.service.DataSourceService; import br.com.centralit.esi.api.data.service.impl.DataManager; import br.com.centralit.esi.api.execution.component.ExecuteScript; +import br.com.centralit.esi.api.resource.model.ImageVersion; import br.com.centralit.esi.api.resource.model.ReportParameter; import br.com.centralit.esi.api.resource.model.ReportVersion; +import br.com.centralit.esi.api.resource.service.ImageVersionService; import br.com.centralit.esi.api.resource.service.ReportManager; import br.com.centralit.esi.api.runtime.RuntimeEnvironment; import br.com.centralit.esi.api.runtime.RuntimeEnvironmentImpl; @@ -39,11 +41,14 @@ public abstract class ReportManagerImpl implements ReportManager { @Autowired protected ServletContext servletContext; + + @Autowired + protected ImageVersionService imageVersionService; protected abstract Object buildDataSource(ReportVersion report, HashMap inputMap); protected Map buildParams(ReportVersion report, HashMap inputMap) { - HashMap outputMap = new HashMap(); + HashMap outputMap = inputMap; if (report.getParameters() != null) { for (ReportParameter parameter : report.getParameters()) { @@ -54,6 +59,14 @@ public abstract class ReportManagerImpl implements ReportManager { return outputMap; } + protected void addMapValue(HashMap map, String name, Object value) { + if (map.containsKey(name)) { + map.remove(map.get(name)); + } + + map.put(name, value); + } + protected void buildParam(ReportParameter parameter, HashMap inputMap, HashMap outputMap) { switch (parameter.getType()) { case DATAOBJECT: @@ -63,7 +76,7 @@ public abstract class ReportManagerImpl implements ReportManager { for (HashMap map : resultSet) { Object value = map.get(parameter.getOutputAttributeName()); if (value != null) { - outputMap.put(parameter.getOutputAttributeName(), value); + addMapValue(outputMap, parameter.getName(), value); break; } } @@ -75,7 +88,7 @@ public abstract class ReportManagerImpl implements ReportManager { if (output.getOutputVariables() != null) { Object value = output.getValue(parameter.getOutputAttributeName()); if (value != null) { - outputMap.put(parameter.getOutputAttributeName(), value); + addMapValue(outputMap, parameter.getName(), value); } } break; @@ -84,13 +97,21 @@ public abstract class ReportManagerImpl implements ReportManager { RuntimeEnvironment runtimeEnvironment = new RuntimeEnvironmentImpl(null, inputMap); Object value = ExecuteScript.execute(runtimeEnvironment, parameter.getName(), parameter.getScriptCode()); if (value != null) { - outputMap.put(parameter.getName(), value); + addMapValue(outputMap, parameter.getName(), value); } break; case IMAGE: + ImageVersion imageVersion = (ImageVersion) imageVersionService.findByName(parameter.getImage().getName()); + + String path = servletContext.getRealPath(imageVersion.getFullPath()); + addMapValue(outputMap, parameter.getName(), path); break; + case CONSTANT: + addMapValue(outputMap, parameter.getName(), parameter.getConstant()); + break; + default: break; } diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/service/impl/ReportVersionServiceImpl.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/service/impl/ReportVersionServiceImpl.java index 5319e90..91f720e 100644 --- a/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/service/impl/ReportVersionServiceImpl.java +++ b/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/service/impl/ReportVersionServiceImpl.java @@ -88,7 +88,7 @@ public class ReportVersionServiceImpl extends ResourceVersionServiceImpl impleme protected void build(ResourceVersion resourceVersion) { ReportVersion reportVersion = (ReportVersion) resourceVersion; - if (reportVersion.getEngine() == null && !UtilString.isNullOrEmpty(reportVersion.getFileName())) { + if (!UtilString.isNullOrEmpty(reportVersion.getFileName())) { if (reportVersion.getFileName().toUpperCase().indexOf(".JRXML") > 0) { reportVersion.setEngine(ReportEngineEnum.JASPER); }else{ @@ -102,7 +102,9 @@ public class ReportVersionServiceImpl extends ResourceVersionServiceImpl impleme parameter.setReport(reportVersion); switch (parameter.getType()) { case DATAOBJECT: - parameter.setDataObject(dataObjectService.find(parameter.getDataObject().getId())); + if (parameter.getDataObject() != null) { + parameter.setDataObject(dataObjectService.find(parameter.getDataObject().getId())); + } if (parameter.getCustomSQL() != null) { parameter.setCustomSQL(customSQLService.find(parameter.getCustomSQL().getId())); } @@ -110,7 +112,9 @@ public class ReportVersionServiceImpl extends ResourceVersionServiceImpl impleme parameter.setImage(null); break; case FLOW: - parameter.setFlow(flowService.find(parameter.getFlow().getId())); + if (parameter.getFlow() != null) { + parameter.setFlow(flowService.find(parameter.getFlow().getId())); + } parameter.setDataObject(null); parameter.setCustomSQL(null); parameter.setImage(null); @@ -118,8 +122,10 @@ public class ReportVersionServiceImpl extends ResourceVersionServiceImpl impleme case IMAGE: parameter.setFlow(null); parameter.setDataObject(null); - parameter.setCustomSQL(null); - parameter.setImage(resourceService.find(parameter.getImage().getId())); + parameter.setCustomSQL(null); + if (parameter.getImage() != null) { + parameter.setImage(resourceService.find(parameter.getImage().getId())); + } break; default: parameter.setFlow(null); @@ -191,7 +197,9 @@ public class ReportVersionServiceImpl extends ResourceVersionServiceImpl impleme newResourceVersion.setForm(oldResourceVersion.getForm()); newResourceVersion.setFormVersion(oldResourceVersion.getFormVersion()); - newResourceVersion.setDataSource(new ReportDataSource(oldResourceVersion.getDataSource())); + if (oldResourceVersion.getDataSource() != null) { + newResourceVersion.setDataSource(new ReportDataSource(oldResourceVersion.getDataSource())); + } if (oldResourceVersion.getParameters() != null) { List parameters = new ArrayList(); @@ -239,10 +247,25 @@ public class ReportVersionServiceImpl extends ResourceVersionServiceImpl impleme } private void compile(ReportVersion reportVersion) { - if (reportVersion.getEngine().equals(ReportEngineEnum.JASPER)) { - jasperReportManager.compile(reportVersion); - }else if (reportVersion.getEngine().equals(ReportEngineEnum.PENTAHO)) { - pentahoReportManager.compile(reportVersion); + if (reportVersion != null && reportVersion.getFile() != null) { + if (reportVersion.getEngine().equals(ReportEngineEnum.JASPER)) { + jasperReportManager.compile(reportVersion); + }else if (reportVersion.getEngine().equals(ReportEngineEnum.PENTAHO)) { + pentahoReportManager.compile(reportVersion); + } } } + + @Override + public void uploadAll() { + List resources = this.findAll(); + if (resources != null) { + for (ResourceVersion resourceVersion : resources) { + upload(resourceVersion); + } + for (ResourceVersion resourceVersion : resources) { + compile((ReportVersion) resourceVersion); + } + } + } } \ No newline at end of file diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/service/impl/ResourceVersionServiceImpl.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/service/impl/ResourceVersionServiceImpl.java index 70ee78a..1ca0a2d 100644 --- a/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/service/impl/ResourceVersionServiceImpl.java +++ b/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/service/impl/ResourceVersionServiceImpl.java @@ -155,8 +155,6 @@ public class ResourceVersionServiceImpl extends GenericServiceImpl + + @@ -17,7 +19,19 @@ - <band height="79" splitType="Stretch"/> + <band height="79" splitType="Stretch"> + <image> + <reportElement x="7" y="6" width="229" height="53" uuid="31a8d692-cfa6-4a78-923f-79ab2b2097ad"/> + <imageExpression><![CDATA[$P{logo}]]></imageExpression> + </image> + <textField> + <reportElement x="258" y="14" width="286" height="20" uuid="b557e877-9ab5-4810-9959-a72a5ab19c71"/> + <textElement> + <font size="14" isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$P{titulo}]]></textFieldExpression> + </textField> + </band> diff --git a/cit-esi-web/src/main/webapp/assets/js/angular/custom/controller/ReportController.js b/cit-esi-web/src/main/webapp/assets/js/angular/custom/controller/ReportController.js index e288da9..1ff5d20 100644 --- a/cit-esi-web/src/main/webapp/assets/js/angular/custom/controller/ReportController.js +++ b/cit-esi-web/src/main/webapp/assets/js/angular/custom/controller/ReportController.js @@ -172,7 +172,6 @@ citApp.controller('ReportController', ["$scope", "appService", "ReportRepository $rootScope.formVersion = $scope.report.formVersion; $rootScope.widgets = $scope.widgets; - $rootScope.formBuilderControllerScope = $scope; $scope.appController.addNewWorkspace($translate.instant("ESI.DESENHO_TELA"), componentsPage, true, 'mod-red-dark', $scope.report.formVersion); }; @@ -230,8 +229,6 @@ citApp.controller('ReportController', ["$scope", "appService", "ReportRepository $timeout(function(){ $scope.reportForm.$submitted = false; $scope.reportForm.$setPristine(); - $scope.showComponents(); - $scope.appController.activeWorkspace($scope.workspace); }); }; @@ -351,6 +348,10 @@ citApp.controller('ReportController', ["$scope", "appService", "ReportRepository } }; + $scope.closeModal = function() { + $scope.$modalInstance.close(); + }; + $scope.afterSave = function() { $scope.setLoading(false); @@ -398,8 +399,6 @@ citApp.controller('ReportController', ["$scope", "appService", "ReportRepository $scope.getReport = function(report, edit){ $scope.setLoadingGet(true); - $scope.resetForm(); - ReportRepository.get(report.id).then(function(result) { $scope.report = result.originalElement; @@ -424,9 +423,13 @@ citApp.controller('ReportController', ["$scope", "appService", "ReportRepository ,controllerCode : $scope.RESOURCE_REPORT_CONTROLLER ,dependencies: $scope.RESOURCE_REPORT_DEPENDENCIES ? $scope.RESOURCE_REPORT_DEPENDENCIES.split(',') : [] }; } - + $scope.showComponents(); + $scope.appController.activeWorkspace($scope.workspace); } }); + }else{ + $scope.showComponents(); + $scope.appController.activeWorkspace($scope.workspace); } $scope.edit = edit; diff --git a/cit-esi-web/src/main/webapp/assets/js/angular/custom/directive/FormBuilderDirective.js b/cit-esi-web/src/main/webapp/assets/js/angular/custom/directive/FormBuilderDirective.js index 156e0eb..79a69fb 100644 --- a/cit-esi-web/src/main/webapp/assets/js/angular/custom/directive/FormBuilderDirective.js +++ b/cit-esi-web/src/main/webapp/assets/js/angular/custom/directive/FormBuilderDirective.js @@ -13,6 +13,7 @@ citApp.directive("formBuilder", ['ImageRepository', '$translate', '$filter', '$t templateUrl : '/cit-esi-web/assets/js/angular/custom/directive/html/formBuilder.html', link : function($scope, $element, attributes) { + $scope.showSaveButton = $rootScope.formBuilderControllerScope != undefined; $scope.appController = angular.element("#citapp-controller").scope(); $scope.msg = []; diff --git a/cit-esi-web/src/main/webapp/assets/js/angular/custom/directive/html/formBuilder.html b/cit-esi-web/src/main/webapp/assets/js/angular/custom/directive/html/formBuilder.html index e14e72a..31ea2cd 100644 --- a/cit-esi-web/src/main/webapp/assets/js/angular/custom/directive/html/formBuilder.html +++ b/cit-esi-web/src/main/webapp/assets/js/angular/custom/directive/html/formBuilder.html @@ -2,11 +2,11 @@
- -