Commit 1589c59d8c50040183da20285db5697e4c63a65f
0 parents
Exists in
master
enviando arquivos da branch de unificação tarefa-4005
Showing
388 changed files
with
17970 additions
and
0 deletions
Show diff stats
Too many changes.
To preserve performance only 100 of 388 files displayed.
| 1 | +++ a/.project | |
| ... | ... | @@ -0,0 +1,17 @@ |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<projectDescription> | |
| 3 | + <name>cit-alcada</name> | |
| 4 | + <comment></comment> | |
| 5 | + <projects> | |
| 6 | + </projects> | |
| 7 | + <buildSpec> | |
| 8 | + <buildCommand> | |
| 9 | + <name>org.eclipse.m2e.core.maven2Builder</name> | |
| 10 | + <arguments> | |
| 11 | + </arguments> | |
| 12 | + </buildCommand> | |
| 13 | + </buildSpec> | |
| 14 | + <natures> | |
| 15 | + <nature>org.eclipse.m2e.core.maven2Nature</nature> | |
| 16 | + </natures> | |
| 17 | +</projectDescription> | ... | ... |
| 1 | +++ a/cit-alcada-api/.classpath | |
| ... | ... | @@ -0,0 +1,32 @@ |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<classpath> | |
| 3 | + <classpathentry including="**/*.java" kind="src" output="target/classes" path="src/main/java"> | |
| 4 | + <attributes> | |
| 5 | + <attribute name="optional" value="true"/> | |
| 6 | + <attribute name="maven.pomderived" value="true"/> | |
| 7 | + </attributes> | |
| 8 | + </classpathentry> | |
| 9 | + <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"> | |
| 10 | + <attributes> | |
| 11 | + <attribute name="maven.pomderived" value="true"/> | |
| 12 | + </attributes> | |
| 13 | + </classpathentry> | |
| 14 | + <classpathentry kind="src" output="target/test-classes" path="src/test/java"> | |
| 15 | + <attributes> | |
| 16 | + <attribute name="optional" value="true"/> | |
| 17 | + <attribute name="maven.pomderived" value="true"/> | |
| 18 | + </attributes> | |
| 19 | + </classpathentry> | |
| 20 | + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"> | |
| 21 | + <attributes> | |
| 22 | + <attribute name="maven.pomderived" value="true"/> | |
| 23 | + </attributes> | |
| 24 | + </classpathentry> | |
| 25 | + <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> | |
| 26 | + <attributes> | |
| 27 | + <attribute name="maven.pomderived" value="true"/> | |
| 28 | + <attribute name="org.eclipse.jst.component.nondependency" value=""/> | |
| 29 | + </attributes> | |
| 30 | + </classpathentry> | |
| 31 | + <classpathentry kind="output" path="target/classes"/> | |
| 32 | +</classpath> | ... | ... |
| 1 | +++ a/cit-alcada-api/.project | |
| ... | ... | @@ -0,0 +1,36 @@ |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<projectDescription> | |
| 3 | + <name>cit-alcada-api</name> | |
| 4 | + <comment></comment> | |
| 5 | + <projects> | |
| 6 | + </projects> | |
| 7 | + <buildSpec> | |
| 8 | + <buildCommand> | |
| 9 | + <name>org.eclipse.wst.common.project.facet.core.builder</name> | |
| 10 | + <arguments> | |
| 11 | + </arguments> | |
| 12 | + </buildCommand> | |
| 13 | + <buildCommand> | |
| 14 | + <name>org.eclipse.jdt.core.javabuilder</name> | |
| 15 | + <arguments> | |
| 16 | + </arguments> | |
| 17 | + </buildCommand> | |
| 18 | + <buildCommand> | |
| 19 | + <name>org.eclipse.wst.validation.validationbuilder</name> | |
| 20 | + <arguments> | |
| 21 | + </arguments> | |
| 22 | + </buildCommand> | |
| 23 | + <buildCommand> | |
| 24 | + <name>org.eclipse.m2e.core.maven2Builder</name> | |
| 25 | + <arguments> | |
| 26 | + </arguments> | |
| 27 | + </buildCommand> | |
| 28 | + </buildSpec> | |
| 29 | + <natures> | |
| 30 | + <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> | |
| 31 | + <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> | |
| 32 | + <nature>org.eclipse.jdt.core.javanature</nature> | |
| 33 | + <nature>org.eclipse.m2e.core.maven2Nature</nature> | |
| 34 | + <nature>org.eclipse.wst.common.project.facet.core.nature</nature> | |
| 35 | + </natures> | |
| 36 | +</projectDescription> | ... | ... |
cit-alcada-api/.settings/org.eclipse.core.resources.prefs
0 → 100644
| 1 | +++ a/cit-alcada-api/.settings/org.eclipse.jdt.core.prefs | |
| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | +eclipse.preferences.version=1 | |
| 2 | +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled | |
| 3 | +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 | |
| 4 | +org.eclipse.jdt.core.compiler.compliance=1.7 | |
| 5 | +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error | |
| 6 | +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error | |
| 7 | +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning | |
| 8 | +org.eclipse.jdt.core.compiler.source=1.7 | ... | ... |
cit-alcada-api/.settings/org.eclipse.wst.common.component
0 → 100644
| 1 | +++ a/cit-alcada-api/.settings/org.eclipse.wst.common.component | |
| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | +<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0"> | |
| 2 | + <wb-module deploy-name="cit-alcada-api"> | |
| 3 | + <wb-resource deploy-path="/" source-path="/src/main/java"/> | |
| 4 | + <wb-resource deploy-path="/" source-path="/src/main/resources"/> | |
| 5 | + </wb-module> | |
| 6 | +</project-modules> | ... | ... |
cit-alcada-api/.settings/org.eclipse.wst.common.project.facet.core.xml
0 → 100644
cit-alcada-api/.settings/org.eclipse.wst.validation.prefs
0 → 100644
| 1 | +++ a/cit-alcada-api/bin/.project | |
| ... | ... | @@ -0,0 +1,36 @@ |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<projectDescription> | |
| 3 | + <name>cit-alcada-api</name> | |
| 4 | + <comment></comment> | |
| 5 | + <projects> | |
| 6 | + </projects> | |
| 7 | + <buildSpec> | |
| 8 | + <buildCommand> | |
| 9 | + <name>org.eclipse.wst.common.project.facet.core.builder</name> | |
| 10 | + <arguments> | |
| 11 | + </arguments> | |
| 12 | + </buildCommand> | |
| 13 | + <buildCommand> | |
| 14 | + <name>org.eclipse.jdt.core.javabuilder</name> | |
| 15 | + <arguments> | |
| 16 | + </arguments> | |
| 17 | + </buildCommand> | |
| 18 | + <buildCommand> | |
| 19 | + <name>org.eclipse.wst.validation.validationbuilder</name> | |
| 20 | + <arguments> | |
| 21 | + </arguments> | |
| 22 | + </buildCommand> | |
| 23 | + <buildCommand> | |
| 24 | + <name>org.eclipse.m2e.core.maven2Builder</name> | |
| 25 | + <arguments> | |
| 26 | + </arguments> | |
| 27 | + </buildCommand> | |
| 28 | + </buildSpec> | |
| 29 | + <natures> | |
| 30 | + <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> | |
| 31 | + <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> | |
| 32 | + <nature>org.eclipse.jdt.core.javanature</nature> | |
| 33 | + <nature>org.eclipse.m2e.core.maven2Nature</nature> | |
| 34 | + <nature>org.eclipse.wst.common.project.facet.core.nature</nature> | |
| 35 | + </natures> | |
| 36 | +</projectDescription> | ... | ... |
cit-alcada-api/bin/.settings/org.eclipse.core.resources.prefs
0 → 100644
| 1 | +++ a/cit-alcada-api/bin/.settings/org.eclipse.jdt.core.prefs | |
| ... | ... | @@ -0,0 +1,5 @@ |
| 1 | +eclipse.preferences.version=1 | |
| 2 | +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 | |
| 3 | +org.eclipse.jdt.core.compiler.compliance=1.7 | |
| 4 | +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning | |
| 5 | +org.eclipse.jdt.core.compiler.source=1.7 | ... | ... |
| 1 | +++ a/cit-alcada-api/bin/pom.xml | |
| ... | ... | @@ -0,0 +1,61 @@ |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<!-- ******************************************************************************************************************** --> | |
| 3 | +<!-- * LICENCA*GPLv2 * --> | |
| 4 | +<!-- * Copyright [2011,2012,2013,2014,2015] da CentralIT Tecnologia da Informação Ltda (www.centralit.com.br) * --> | |
| 5 | +<!-- * * --> | |
| 6 | +<!-- * Este arquivo é parte do programa/software: Citsmart (www.citsmart.com.br) * --> | |
| 7 | +<!-- * * --> | |
| 8 | +<!-- * O Citsmart é um software livre; você pode redistribui-lo e/ou modificá-lo dentro dos termos da Licença * --> | |
| 9 | +<!-- * Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); na versão 2 da Licença. * --> | |
| 10 | +<!-- * * --> | |
| 11 | +<!-- * Este programa/software é distribuído na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem uma * --> | |
| 12 | +<!-- * garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral * --> | |
| 13 | +<!-- * GNU/GPL em português para maiores detalhes. * --> | |
| 14 | +<!-- * * --> | |
| 15 | +<!-- * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título 'LICENCA.txt', junto com este * --> | |
| 16 | +<!-- * programa/software, se não, acesse o Portal do Software Público Brasileiro no endereço www.softwarepublico.gov.br * --> | |
| 17 | +<!-- * ou escreva para a Fundação do Software Livre (FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,USA * --> | |
| 18 | +<!-- ******************************************************************************************************************** --> | |
| 19 | +<project | |
| 20 | + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" | |
| 21 | + xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |
| 22 | + <modelVersion>4.0.0</modelVersion> | |
| 23 | + | |
| 24 | + <parent> | |
| 25 | + <groupId>br.com.centralit</groupId> | |
| 26 | + <artifactId>cit-alcada</artifactId> | |
| 27 | + <version>1.8.0-SNAPSHOT</version> | |
| 28 | + </parent> | |
| 29 | + | |
| 30 | + <artifactId>cit-alcada-api</artifactId> | |
| 31 | + <name>cit-alcada-api</name> | |
| 32 | + | |
| 33 | + <properties> | |
| 34 | + <findbugs.config.path>${project.parent.parent.parent.basedir}/filterfile.xml</findbugs.config.path> | |
| 35 | + <license.config.path>${project.parent.parent.basedir}/src/licensing</license.config.path> | |
| 36 | + <maven-antrun-plugin.phase>package</maven-antrun-plugin.phase> | |
| 37 | + </properties> | |
| 38 | + | |
| 39 | + <dependencies> | |
| 40 | + <dependency> | |
| 41 | + <groupId>br.com.centralit</groupId> | |
| 42 | + <artifactId>cit-core</artifactId> | |
| 43 | + <version>${cit-core.version}</version> | |
| 44 | + </dependency> | |
| 45 | + <dependency> | |
| 46 | + <groupId>br.com.centralit</groupId> | |
| 47 | + <artifactId>cit-portal-api</artifactId> | |
| 48 | + <version>${project.version}</version> | |
| 49 | + </dependency> | |
| 50 | + <dependency> | |
| 51 | + <groupId>br.com.centralit</groupId> | |
| 52 | + <artifactId>cit-tabelas-corp-api</artifactId> | |
| 53 | + <version>${project.version}</version> | |
| 54 | + </dependency> | |
| 55 | + <dependency> | |
| 56 | + <groupId>org.json</groupId> | |
| 57 | + <artifactId>json</artifactId> | |
| 58 | + </dependency> | |
| 59 | + </dependencies> | |
| 60 | +</project> | |
| 61 | + | ... | ... |
cit-alcada-api/bin/src/main/java/br/com/centralit/api/dao/CentroResultadoDelegacaoDao.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/dao/LimiteAprovacaoAlcadaDao.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/dao/LimiteAprovacaoDao.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/dao/LimiteAprovacaoNivelAutoridadeDao.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/dao/LimiteAprovacaoValorDao.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/dao/SolicitacaoAlcadaDao.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/dao/impl/CentroResultadoDelegacaoDaoHibernate.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/dao/impl/LimiteAprovacaoAlcadaDaoHibernate.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/dao/impl/LimiteAprovacaoDaoHibernate.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/dao/impl/LimiteAprovacaoNivelAutoridadeDaoHibernate.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/dao/impl/LimiteAprovacaoValorDaoHibernate.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/dao/impl/SolicitacaoAlcadaDaoHibernate.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/framework/json/ViewsAlcada$AlcadaView.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/framework/json/ViewsAlcada$LimiteAprovacaoView.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/framework/json/ViewsAlcada$RecuperacaoAlcadaView.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/framework/json/ViewsAlcada.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/model/LimiteAprovacao.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/model/LimiteAprovacaoAlcada.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/model/LimiteAprovacaoNivelAutoridade.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/model/LimiteAprovacaoValor.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/model/ResponsavelAlcada.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/model/SolicitacaoAlcada.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/model/ValorAcumulado.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/package-info.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/service/CentroResultadoDelegacaoService.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/service/LimiteAprovacaoAlcadaService.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/service/LimiteAprovacaoNivelAutoridadeService.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/service/LimiteAprovacaoService.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/service/LimiteAprovacaoValorService.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/service/SolicitacaoAlcadaService.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/service/impl/CentroResultadoDelegacaoServiceImpl.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/service/impl/InicializarAlcadaServiceImpl.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/service/impl/LimiteAprovacaoAlcadaServiceImpl.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/service/impl/LimiteAprovacaoNivelAutoridadeServiceImpl.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/service/impl/LimiteAprovacaoServiceImpl.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/service/impl/LimiteAprovacaoValorServiceImpl.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/service/impl/SolicitacaoAlcadaServiceImpl.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/service/validation/CentroResultadoDelegacaoValidator.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/service/validation/LimiteAprovacaoAlcadaValidator.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/service/validation/LimiteAprovacaoNivelAutoridadeValidator.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/service/validation/LimiteAprovacaoValidator.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/service/validation/LimiteAprovacaoValorValidator.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/src/main/java/br/com/centralit/api/service/validation/SolicitacaoAlcadaValidator.class
0 → 100644
No preview for this file type
cit-alcada-api/bin/target/classes/META-INF/maven/br.com.centralit/cit-alcada-api/pom.properties
0 → 100644
| 1 | +++ a/cit-alcada-api/bin/target/classes/META-INF/maven/br.com.centralit/cit-alcada-api/pom.properties | |
| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | +#Generated by Maven Integration for Eclipse | |
| 2 | +#Thu Mar 17 13:13:12 BRT 2016 | |
| 3 | +version=1.8.0-SNAPSHOT | |
| 4 | +groupId=br.com.centralit | |
| 5 | +m2e.projectName=cit-alcada-api | |
| 6 | +m2e.projectLocation=D\:\\repositorios_git\\citsmartgrp\\cit-alcada\\cit-alcada-api | |
| 7 | +artifactId=cit-alcada-api | ... | ... |
cit-alcada-api/bin/target/classes/META-INF/maven/br.com.centralit/cit-alcada-api/pom.xml
0 → 100644
| 1 | +++ a/cit-alcada-api/bin/target/classes/META-INF/maven/br.com.centralit/cit-alcada-api/pom.xml | |
| ... | ... | @@ -0,0 +1,61 @@ |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<!-- ******************************************************************************************************************** --> | |
| 3 | +<!-- * LICENCA*GPLv2 * --> | |
| 4 | +<!-- * Copyright [2011,2012,2013,2014,2015] da CentralIT Tecnologia da Informação Ltda (www.centralit.com.br) * --> | |
| 5 | +<!-- * * --> | |
| 6 | +<!-- * Este arquivo é parte do programa/software: Citsmart (www.citsmart.com.br) * --> | |
| 7 | +<!-- * * --> | |
| 8 | +<!-- * O Citsmart é um software livre; você pode redistribui-lo e/ou modificá-lo dentro dos termos da Licença * --> | |
| 9 | +<!-- * Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); na versão 2 da Licença. * --> | |
| 10 | +<!-- * * --> | |
| 11 | +<!-- * Este programa/software é distribuído na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem uma * --> | |
| 12 | +<!-- * garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral * --> | |
| 13 | +<!-- * GNU/GPL em português para maiores detalhes. * --> | |
| 14 | +<!-- * * --> | |
| 15 | +<!-- * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título 'LICENCA.txt', junto com este * --> | |
| 16 | +<!-- * programa/software, se não, acesse o Portal do Software Público Brasileiro no endereço www.softwarepublico.gov.br * --> | |
| 17 | +<!-- * ou escreva para a Fundação do Software Livre (FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,USA * --> | |
| 18 | +<!-- ******************************************************************************************************************** --> | |
| 19 | +<project | |
| 20 | + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" | |
| 21 | + xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |
| 22 | + <modelVersion>4.0.0</modelVersion> | |
| 23 | + | |
| 24 | + <parent> | |
| 25 | + <groupId>br.com.centralit</groupId> | |
| 26 | + <artifactId>cit-alcada</artifactId> | |
| 27 | + <version>1.8.0-SNAPSHOT</version> | |
| 28 | + </parent> | |
| 29 | + | |
| 30 | + <artifactId>cit-alcada-api</artifactId> | |
| 31 | + <name>cit-alcada-api</name> | |
| 32 | + | |
| 33 | + <properties> | |
| 34 | + <findbugs.config.path>${project.parent.parent.parent.basedir}/filterfile.xml</findbugs.config.path> | |
| 35 | + <license.config.path>${project.parent.parent.basedir}/src/licensing</license.config.path> | |
| 36 | + <maven-antrun-plugin.phase>package</maven-antrun-plugin.phase> | |
| 37 | + </properties> | |
| 38 | + | |
| 39 | + <dependencies> | |
| 40 | + <dependency> | |
| 41 | + <groupId>br.com.centralit</groupId> | |
| 42 | + <artifactId>cit-core</artifactId> | |
| 43 | + <version>${cit-core.version}</version> | |
| 44 | + </dependency> | |
| 45 | + <dependency> | |
| 46 | + <groupId>br.com.centralit</groupId> | |
| 47 | + <artifactId>cit-portal-api</artifactId> | |
| 48 | + <version>${project.version}</version> | |
| 49 | + </dependency> | |
| 50 | + <dependency> | |
| 51 | + <groupId>br.com.centralit</groupId> | |
| 52 | + <artifactId>cit-tabelas-corp-api</artifactId> | |
| 53 | + <version>${project.version}</version> | |
| 54 | + </dependency> | |
| 55 | + <dependency> | |
| 56 | + <groupId>org.json</groupId> | |
| 57 | + <artifactId>json</artifactId> | |
| 58 | + </dependency> | |
| 59 | + </dependencies> | |
| 60 | +</project> | |
| 61 | + | ... | ... |
| 1 | +++ a/cit-alcada-api/pom.xml | |
| ... | ... | @@ -0,0 +1,61 @@ |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<!-- ******************************************************************************************************************** --> | |
| 3 | +<!-- * LICENCA*GPLv2 * --> | |
| 4 | +<!-- * Copyright [2011,2012,2013,2014,2015] da CentralIT Tecnologia da Informação Ltda (www.centralit.com.br) * --> | |
| 5 | +<!-- * * --> | |
| 6 | +<!-- * Este arquivo é parte do programa/software: Citsmart (www.citsmart.com.br) * --> | |
| 7 | +<!-- * * --> | |
| 8 | +<!-- * O Citsmart é um software livre; você pode redistribui-lo e/ou modificá-lo dentro dos termos da Licença * --> | |
| 9 | +<!-- * Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); na versão 2 da Licença. * --> | |
| 10 | +<!-- * * --> | |
| 11 | +<!-- * Este programa/software é distribuído na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem uma * --> | |
| 12 | +<!-- * garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral * --> | |
| 13 | +<!-- * GNU/GPL em português para maiores detalhes. * --> | |
| 14 | +<!-- * * --> | |
| 15 | +<!-- * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título 'LICENCA.txt', junto com este * --> | |
| 16 | +<!-- * programa/software, se não, acesse o Portal do Software Público Brasileiro no endereço www.softwarepublico.gov.br * --> | |
| 17 | +<!-- * ou escreva para a Fundação do Software Livre (FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,USA * --> | |
| 18 | +<!-- ******************************************************************************************************************** --> | |
| 19 | +<project | |
| 20 | + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" | |
| 21 | + xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |
| 22 | + <modelVersion>4.0.0</modelVersion> | |
| 23 | + | |
| 24 | + <parent> | |
| 25 | + <groupId>br.com.centralit</groupId> | |
| 26 | + <artifactId>cit-alcada</artifactId> | |
| 27 | + <version>1.8.0-SNAPSHOT</version> | |
| 28 | + </parent> | |
| 29 | + | |
| 30 | + <artifactId>cit-alcada-api</artifactId> | |
| 31 | + <name>cit-alcada-api</name> | |
| 32 | + | |
| 33 | + <properties> | |
| 34 | + <findbugs.config.path>${project.parent.parent.parent.basedir}/filterfile.xml</findbugs.config.path> | |
| 35 | + <license.config.path>${project.parent.parent.basedir}/src/licensing</license.config.path> | |
| 36 | + <maven-antrun-plugin.phase>package</maven-antrun-plugin.phase> | |
| 37 | + </properties> | |
| 38 | + | |
| 39 | + <dependencies> | |
| 40 | + <dependency> | |
| 41 | + <groupId>br.com.centralit</groupId> | |
| 42 | + <artifactId>cit-core</artifactId> | |
| 43 | + <version>${cit-core.version}</version> | |
| 44 | + </dependency> | |
| 45 | + <dependency> | |
| 46 | + <groupId>br.com.centralit</groupId> | |
| 47 | + <artifactId>cit-portal-api</artifactId> | |
| 48 | + <version>${project.version}</version> | |
| 49 | + </dependency> | |
| 50 | + <dependency> | |
| 51 | + <groupId>br.com.centralit</groupId> | |
| 52 | + <artifactId>cit-tabelas-corp-api</artifactId> | |
| 53 | + <version>${project.version}</version> | |
| 54 | + </dependency> | |
| 55 | + <dependency> | |
| 56 | + <groupId>org.json</groupId> | |
| 57 | + <artifactId>json</artifactId> | |
| 58 | + </dependency> | |
| 59 | + </dependencies> | |
| 60 | +</project> | |
| 61 | + | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/dao/CentroResultadoDelegacaoDao.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/dao/CentroResultadoDelegacaoDao.java | |
| ... | ... | @@ -0,0 +1,60 @@ |
| 1 | +package br.com.centralit.api.dao; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +import br.com.centralit.api.model.CentroResultadoDelegacao; | |
| 6 | +import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; | |
| 7 | + | |
| 8 | +/** | |
| 9 | + * <p> | |
| 10 | + * <img src="http://centralit.com.br/images/logo_central.png"> | |
| 11 | + * </p> | |
| 12 | + * | |
| 13 | + * <p> | |
| 14 | + * <b>Company: </b> Central IT - Governança Corporativa - | |
| 15 | + * </p> | |
| 16 | + * | |
| 17 | + * <p> | |
| 18 | + * <b>Title: </b> | |
| 19 | + * </p> | |
| 20 | + * | |
| 21 | + * <p> | |
| 22 | + * <b>Description: </b> | |
| 23 | + * </p> | |
| 24 | + * | |
| 25 | + * <p> | |
| 26 | + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> | |
| 27 | + * </p> | |
| 28 | + * | |
| 29 | + * <p> | |
| 30 | + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> | |
| 31 | + * </p> | |
| 32 | + * | |
| 33 | + * @since 30/06/2015 - 14:10:25 | |
| 34 | + * | |
| 35 | + * @version 1.0.0 | |
| 36 | + * | |
| 37 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 38 | + * | |
| 39 | + */ | |
| 40 | +public interface CentroResultadoDelegacaoDao extends CitGenericDAO { | |
| 41 | + | |
| 42 | + public List<CentroResultadoDelegacao> buscaHistoricoDelegacoes(Long idCentroResultado); | |
| 43 | + | |
| 44 | + public List<CentroResultadoDelegacao> buscaHistoricoDelegacoesUsuario(Long idUsuario); | |
| 45 | + | |
| 46 | + /** | |
| 47 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 48 | + * | |
| 49 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 50 | + * | |
| 51 | + * Método responsável por verificar se ja existe delegacao para o delegado selecionado para a alcada e o periodo selecionado | |
| 52 | + * | |
| 53 | + * @author renato.jesus | |
| 54 | + * | |
| 55 | + * @param centroResultadoDelegacao | |
| 56 | + * @return | |
| 57 | + */ | |
| 58 | + public boolean existeDelegacaoParaDelegadoNaAlcadaENoPeriodoSeleciona(CentroResultadoDelegacao centroResultadoDelegacao); | |
| 59 | + | |
| 60 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/dao/LimiteAprovacaoAlcadaDao.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/dao/LimiteAprovacaoAlcadaDao.java | |
| ... | ... | @@ -0,0 +1,45 @@ |
| 1 | +package br.com.centralit.api.dao; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +import br.com.centralit.api.model.Alcada; | |
| 6 | +import br.com.centralit.api.model.LimiteAprovacaoAlcada; | |
| 7 | +import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; | |
| 8 | + | |
| 9 | +/** | |
| 10 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 11 | + * | |
| 12 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 13 | + * | |
| 14 | + * <p><b>Title: </b></p> | |
| 15 | + * | |
| 16 | + * <p><b>Description: </b></p> | |
| 17 | + * | |
| 18 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 19 | + * | |
| 20 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 21 | + * | |
| 22 | + * @since 30/06/2015 - 13:55:59 | |
| 23 | + * | |
| 24 | + * @version 1.0.0 | |
| 25 | + * | |
| 26 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 27 | + * | |
| 28 | + */ | |
| 29 | +public interface LimiteAprovacaoAlcadaDao extends CitGenericDAO { | |
| 30 | + | |
| 31 | + /** | |
| 32 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 33 | + * | |
| 34 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 35 | + * | |
| 36 | + * Método responsável por retornar todos os limites de aprovação de uma determinada alçada | |
| 37 | + * | |
| 38 | + * @author Carlos | |
| 39 | + * | |
| 40 | + * @param alcada | |
| 41 | + * @return | |
| 42 | + */ | |
| 43 | + public List<LimiteAprovacaoAlcada> findByAlcada(Alcada alcada); | |
| 44 | + | |
| 45 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/dao/LimiteAprovacaoDao.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/dao/LimiteAprovacaoDao.java | |
| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | +package br.com.centralit.api.dao; | |
| 2 | + | |
| 3 | +import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 7 | + * | |
| 8 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 9 | + * | |
| 10 | + * <p><b>Title: </b></p> | |
| 11 | + * | |
| 12 | + * <p><b>Description: </b></p> | |
| 13 | + * | |
| 14 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 15 | + * | |
| 16 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 17 | + * | |
| 18 | + * @since 18/06/2015 - 16:57:53 | |
| 19 | + * | |
| 20 | + * @version 1.0.0 | |
| 21 | + * | |
| 22 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 23 | + * | |
| 24 | + */ | |
| 25 | +public interface LimiteAprovacaoDao extends CitGenericDAO { | |
| 26 | + | |
| 27 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/dao/LimiteAprovacaoNivelAutoridadeDao.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/dao/LimiteAprovacaoNivelAutoridadeDao.java | |
| ... | ... | @@ -0,0 +1,25 @@ |
| 1 | +package br.com.centralit.api.dao; | |
| 2 | + | |
| 3 | +import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 7 | + * | |
| 8 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 9 | + * | |
| 10 | + * <p><b>Title: </b></p> | |
| 11 | + * | |
| 12 | + * <p><b>Description: </b></p> | |
| 13 | + * | |
| 14 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 15 | + * | |
| 16 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 17 | + * | |
| 18 | + * @since 30/06/2015 - 13:56:31 | |
| 19 | + * | |
| 20 | + * @version 1.0.0 | |
| 21 | + * | |
| 22 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 23 | + * | |
| 24 | + */ | |
| 25 | +public interface LimiteAprovacaoNivelAutoridadeDao extends CitGenericDAO {} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/dao/LimiteAprovacaoValorDao.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/dao/LimiteAprovacaoValorDao.java | |
| ... | ... | @@ -0,0 +1,25 @@ |
| 1 | +package br.com.centralit.api.dao; | |
| 2 | + | |
| 3 | +import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 7 | + * | |
| 8 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 9 | + * | |
| 10 | + * <p><b>Title: </b></p> | |
| 11 | + * | |
| 12 | + * <p><b>Description: </b></p> | |
| 13 | + * | |
| 14 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 15 | + * | |
| 16 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 17 | + * | |
| 18 | + * @since 18/06/2015 - 16:57:15 | |
| 19 | + * | |
| 20 | + * @version 1.0.0 | |
| 21 | + * | |
| 22 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 23 | + * | |
| 24 | + */ | |
| 25 | +public interface LimiteAprovacaoValorDao extends CitGenericDAO {} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/dao/SolicitacaoAlcadaDao.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/dao/SolicitacaoAlcadaDao.java | |
| ... | ... | @@ -0,0 +1,35 @@ |
| 1 | +package br.com.centralit.api.dao; | |
| 2 | + | |
| 3 | +import br.com.centralit.api.model.Alcada; | |
| 4 | +import br.com.centralit.api.model.CentroResultado; | |
| 5 | +import br.com.centralit.api.model.NivelAutoridade; | |
| 6 | +import br.com.centralit.api.model.SolicitacaoAlcada; | |
| 7 | +import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; | |
| 8 | +import br.com.centralit.framework.model.Dominio; | |
| 9 | + | |
| 10 | +/** | |
| 11 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 12 | + * | |
| 13 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 14 | + * | |
| 15 | + * <p><b>Title: </b></p> * | |
| 16 | + * <p><b>Description: </b></p> | |
| 17 | + * | |
| 18 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 19 | + * | |
| 20 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 21 | + * | |
| 22 | + * @since 18/06/2015 - 16:57:15 | |
| 23 | + * | |
| 24 | + * @version 1.0.0 | |
| 25 | + * | |
| 26 | + * @author lucas.ribeiro - (<a href="mailto:lucas.centralit@gmail.com">lucas.centralit@gmail.com</a>) | |
| 27 | + * | |
| 28 | + */ | |
| 29 | +public interface SolicitacaoAlcadaDao extends CitGenericDAO { | |
| 30 | + | |
| 31 | + public Float getValorAcumulado(final Integer ano, final Integer mes, final Alcada alcada, final CentroResultado centroResultado, Dominio tipoUtilizacao, NivelAutoridade nivelAutoridade); | |
| 32 | + | |
| 33 | + public SolicitacaoAlcada recuperaPeloIdentificador(Alcada alcada, String identificadorOrigem); | |
| 34 | + | |
| 35 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/dao/impl/CentroResultadoDelegacaoDaoHibernate.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/dao/impl/CentroResultadoDelegacaoDaoHibernate.java | |
| ... | ... | @@ -0,0 +1,87 @@ |
| 1 | +package br.com.centralit.api.dao.impl; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +import org.springframework.stereotype.Repository; | |
| 6 | + | |
| 7 | +import br.com.centralit.api.dao.CentroResultadoDelegacaoDao; | |
| 8 | +import br.com.centralit.api.model.CentroResultadoDelegacao; | |
| 9 | +import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; | |
| 10 | +import br.com.centralit.framework.dao.arquitetura.SearchSeven; | |
| 11 | + | |
| 12 | +import com.googlecode.genericdao.search.Search; | |
| 13 | + | |
| 14 | +/** | |
| 15 | + * <p> | |
| 16 | + * <img src="http://centralit.com.br/images/logo_central.png"> | |
| 17 | + * </p> | |
| 18 | + * | |
| 19 | + * <p> | |
| 20 | + * <b>Company: </b> Central IT - Governança Corporativa - | |
| 21 | + * </p> | |
| 22 | + * | |
| 23 | + * <p> | |
| 24 | + * <b>Title: </b> | |
| 25 | + * </p> | |
| 26 | + * | |
| 27 | + * <p> | |
| 28 | + * <b>Description: </b> | |
| 29 | + * </p> | |
| 30 | + * | |
| 31 | + * <p> | |
| 32 | + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> | |
| 33 | + * </p> | |
| 34 | + * | |
| 35 | + * <p> | |
| 36 | + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> | |
| 37 | + * </p> | |
| 38 | + * | |
| 39 | + * @since 30/06/2015 - 14:10:22 | |
| 40 | + * | |
| 41 | + * @version 1.0.0 | |
| 42 | + * | |
| 43 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 44 | + * | |
| 45 | + */ | |
| 46 | +@Repository("centroResultadoDelegacaoDao") | |
| 47 | +public class CentroResultadoDelegacaoDaoHibernate extends CitGenericDAOImpl implements CentroResultadoDelegacaoDao { | |
| 48 | + | |
| 49 | + public CentroResultadoDelegacaoDaoHibernate() { | |
| 50 | + | |
| 51 | + super(CentroResultadoDelegacao.class); | |
| 52 | + } | |
| 53 | + | |
| 54 | + @Override | |
| 55 | + public List<CentroResultadoDelegacao> buscaHistoricoDelegacoes(Long idCentroResultado) { | |
| 56 | + | |
| 57 | + Search search = new Search(); | |
| 58 | + | |
| 59 | + search.addFilterEqual("centroResultadoResponsavelAlcada.centroResultadoResponsavel.centroResultado.id", idCentroResultado); | |
| 60 | + | |
| 61 | + return this.search(search, CentroResultadoDelegacao.class); | |
| 62 | + } | |
| 63 | + | |
| 64 | + @Override | |
| 65 | + public List<CentroResultadoDelegacao> buscaHistoricoDelegacoesUsuario(Long idUsuario) { | |
| 66 | + | |
| 67 | + Search search = new Search(); | |
| 68 | + | |
| 69 | + search.addFilterEqual("centroResultadoResponsavelAlcada.centroResultadoResponsavel.responsavel.pessoa.usuario.id", idUsuario); | |
| 70 | + | |
| 71 | + return this.search(search, CentroResultadoDelegacao.class); | |
| 72 | + } | |
| 73 | + | |
| 74 | + @Override | |
| 75 | + public boolean existeDelegacaoParaDelegadoNaAlcadaENoPeriodoSeleciona(CentroResultadoDelegacao centroResultadoDelegacao) { | |
| 76 | + | |
| 77 | + SearchSeven search = new SearchSeven(); | |
| 78 | + | |
| 79 | + search.addFilterEmpty("dataRevogacao"); | |
| 80 | + search.addFilterEqual("centroResultadoResponsavelAlcada.id", centroResultadoDelegacao.getCentroResultadoResponsavelAlcada().getId()); | |
| 81 | + search.addFilterEqual("delegado.id", centroResultadoDelegacao.getDelegado().getId()); | |
| 82 | + search.addFilterGreaterOrEqual("dataFimDelegacao", centroResultadoDelegacao.getDataInicioDelegacao()); | |
| 83 | + | |
| 84 | + return this.searchAndCount(search).getTotalCount() > 0; | |
| 85 | + } | |
| 86 | + | |
| 87 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/dao/impl/LimiteAprovacaoAlcadaDaoHibernate.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/dao/impl/LimiteAprovacaoAlcadaDaoHibernate.java | |
| ... | ... | @@ -0,0 +1,64 @@ |
| 1 | +package br.com.centralit.api.dao.impl; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +import org.springframework.stereotype.Repository; | |
| 6 | + | |
| 7 | +import br.com.centralit.api.dao.LimiteAprovacaoAlcadaDao; | |
| 8 | +import br.com.centralit.api.model.Alcada; | |
| 9 | +import br.com.centralit.api.model.LimiteAprovacaoAlcada; | |
| 10 | +import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; | |
| 11 | +import br.com.centralit.framework.dao.arquitetura.SearchSeven; | |
| 12 | + | |
| 13 | +/** | |
| 14 | + * <p> | |
| 15 | + * <img src="http://centralit.com.br/images/logo_central.png"> | |
| 16 | + * </p> | |
| 17 | + * | |
| 18 | + * <p> | |
| 19 | + * <b>Company: </b> Central IT - Governança Corporativa - | |
| 20 | + * </p> | |
| 21 | + * | |
| 22 | + * <p> | |
| 23 | + * <b>Title: </b> | |
| 24 | + * </p> | |
| 25 | + * | |
| 26 | + * <p> | |
| 27 | + * <b>Description: </b> | |
| 28 | + * </p> | |
| 29 | + * | |
| 30 | + * <p> | |
| 31 | + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> | |
| 32 | + * </p> | |
| 33 | + * | |
| 34 | + * <p> | |
| 35 | + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> | |
| 36 | + * </p> | |
| 37 | + * | |
| 38 | + * @since 30/06/2015 - 13:55:55 | |
| 39 | + * | |
| 40 | + * @version 1.0.0 | |
| 41 | + * | |
| 42 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 43 | + * | |
| 44 | + */ | |
| 45 | +@Repository("limiteAprovacaoAlcadaDao") | |
| 46 | +public class LimiteAprovacaoAlcadaDaoHibernate extends CitGenericDAOImpl implements LimiteAprovacaoAlcadaDao { | |
| 47 | + | |
| 48 | + public LimiteAprovacaoAlcadaDaoHibernate() { | |
| 49 | + | |
| 50 | + super(LimiteAprovacaoAlcada.class); | |
| 51 | + } | |
| 52 | + | |
| 53 | + @Override | |
| 54 | + public List<LimiteAprovacaoAlcada> findByAlcada(Alcada alcada) { | |
| 55 | + | |
| 56 | + SearchSeven search = new SearchSeven(); | |
| 57 | + | |
| 58 | + search.addFilterEqual("alcada", alcada); | |
| 59 | + | |
| 60 | + search.addFilterEmpty("dataInativo"); | |
| 61 | + | |
| 62 | + return this.search(search, LimiteAprovacaoAlcada.class); | |
| 63 | + } | |
| 64 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/dao/impl/LimiteAprovacaoDaoHibernate.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/dao/impl/LimiteAprovacaoDaoHibernate.java | |
| ... | ... | @@ -0,0 +1,35 @@ |
| 1 | +package br.com.centralit.api.dao.impl; | |
| 2 | + | |
| 3 | +import org.springframework.stereotype.Repository; | |
| 4 | + | |
| 5 | +import br.com.centralit.api.dao.LimiteAprovacaoDao; | |
| 6 | +import br.com.centralit.api.model.LimiteAprovacao; | |
| 7 | +import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; | |
| 8 | + | |
| 9 | +/** | |
| 10 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 11 | + * | |
| 12 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 13 | + * | |
| 14 | + * <p><b>Title: </b></p> | |
| 15 | + * | |
| 16 | + * <p><b>Description: </b></p> | |
| 17 | + * | |
| 18 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 19 | + * | |
| 20 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 21 | + * | |
| 22 | + * @since 18/06/2015 - 16:57:49 | |
| 23 | + * | |
| 24 | + * @version 1.0.0 | |
| 25 | + * | |
| 26 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 27 | + * | |
| 28 | + */ | |
| 29 | +@Repository("limiteAprovacaoDao") | |
| 30 | +public class LimiteAprovacaoDaoHibernate extends CitGenericDAOImpl implements LimiteAprovacaoDao { | |
| 31 | + public LimiteAprovacaoDaoHibernate() { | |
| 32 | + super(LimiteAprovacao.class); | |
| 33 | + } | |
| 34 | + | |
| 35 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/dao/impl/LimiteAprovacaoNivelAutoridadeDaoHibernate.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/dao/impl/LimiteAprovacaoNivelAutoridadeDaoHibernate.java | |
| ... | ... | @@ -0,0 +1,34 @@ |
| 1 | +package br.com.centralit.api.dao.impl; | |
| 2 | + | |
| 3 | +import br.com.centralit.api.model.LimiteAprovacaoNivelAutoridade; | |
| 4 | +import br.com.centralit.api.dao.LimiteAprovacaoNivelAutoridadeDao; | |
| 5 | + | |
| 6 | +import org.springframework.stereotype.Repository; | |
| 7 | +import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; | |
| 8 | + | |
| 9 | +/** | |
| 10 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 11 | + * | |
| 12 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 13 | + * | |
| 14 | + * <p><b>Title: </b></p> | |
| 15 | + * | |
| 16 | + * <p><b>Description: </b></p> | |
| 17 | + * | |
| 18 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 19 | + * | |
| 20 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 21 | + * | |
| 22 | + * @since 30/06/2015 - 13:56:28 | |
| 23 | + * | |
| 24 | + * @version 1.0.0 | |
| 25 | + * | |
| 26 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 27 | + * | |
| 28 | + */ | |
| 29 | +@Repository("limiteAprovacaoNivelAutoridadeDao") | |
| 30 | +public class LimiteAprovacaoNivelAutoridadeDaoHibernate extends CitGenericDAOImpl implements LimiteAprovacaoNivelAutoridadeDao { | |
| 31 | + public LimiteAprovacaoNivelAutoridadeDaoHibernate() { | |
| 32 | + super(LimiteAprovacaoNivelAutoridade.class); | |
| 33 | + } | |
| 34 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/dao/impl/LimiteAprovacaoValorDaoHibernate.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/dao/impl/LimiteAprovacaoValorDaoHibernate.java | |
| ... | ... | @@ -0,0 +1,34 @@ |
| 1 | +package br.com.centralit.api.dao.impl; | |
| 2 | + | |
| 3 | +import br.com.centralit.api.model.LimiteAprovacaoValor; | |
| 4 | +import br.com.centralit.api.dao.LimiteAprovacaoValorDao; | |
| 5 | + | |
| 6 | +import org.springframework.stereotype.Repository; | |
| 7 | +import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; | |
| 8 | + | |
| 9 | +/** | |
| 10 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 11 | + * | |
| 12 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 13 | + * | |
| 14 | + * <p><b>Title: </b></p> | |
| 15 | + * | |
| 16 | + * <p><b>Description: </b></p> | |
| 17 | + * | |
| 18 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 19 | + * | |
| 20 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 21 | + * | |
| 22 | + * @since 18/06/2015 - 16:57:12 | |
| 23 | + * | |
| 24 | + * @version 1.0.0 | |
| 25 | + * | |
| 26 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 27 | + * | |
| 28 | + */ | |
| 29 | +@Repository("limiteAprovacaoValorDao") | |
| 30 | +public class LimiteAprovacaoValorDaoHibernate extends CitGenericDAOImpl implements LimiteAprovacaoValorDao { | |
| 31 | + public LimiteAprovacaoValorDaoHibernate() { | |
| 32 | + super(LimiteAprovacaoValor.class); | |
| 33 | + } | |
| 34 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/dao/impl/SolicitacaoAlcadaDaoHibernate.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/dao/impl/SolicitacaoAlcadaDaoHibernate.java | |
| ... | ... | @@ -0,0 +1,94 @@ |
| 1 | +package br.com.centralit.api.dao.impl; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +import javax.persistence.Query; | |
| 6 | + | |
| 7 | +import org.springframework.stereotype.Repository; | |
| 8 | + | |
| 9 | +import br.com.centralit.api.dao.SolicitacaoAlcadaDao; | |
| 10 | +import br.com.centralit.api.model.Alcada; | |
| 11 | +import br.com.centralit.api.model.CentroResultado; | |
| 12 | +import br.com.centralit.api.model.NivelAutoridade; | |
| 13 | +import br.com.centralit.api.model.SolicitacaoAlcada; | |
| 14 | +import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; | |
| 15 | +import br.com.centralit.framework.dao.arquitetura.SearchSeven; | |
| 16 | +import br.com.centralit.framework.model.Dominio; | |
| 17 | + | |
| 18 | +/** | |
| 19 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 20 | + * | |
| 21 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 22 | + * | |
| 23 | + * <p><b>Title: </b></p> | |
| 24 | + * | |
| 25 | + * <p><b>Description: </b></p> | |
| 26 | + * | |
| 27 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 28 | + * | |
| 29 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 30 | + * | |
| 31 | + * @since 18/06/2015 - 16:57:12 | |
| 32 | + * | |
| 33 | + * @version 1.0.0 | |
| 34 | + * | |
| 35 | + * @author lucas.ribeiro - (<a href="mailto:lucas.centralit@gmail.com">lucas.centralit@gmail.com</a>) | |
| 36 | + * | |
| 37 | + */ | |
| 38 | +@Repository("solicitacaoAlcadaDao") | |
| 39 | +public class SolicitacaoAlcadaDaoHibernate extends CitGenericDAOImpl implements SolicitacaoAlcadaDao { | |
| 40 | + public SolicitacaoAlcadaDaoHibernate() { | |
| 41 | + super(SolicitacaoAlcada.class); | |
| 42 | + } | |
| 43 | + | |
| 44 | + @SuppressWarnings("unchecked") | |
| 45 | + @Override | |
| 46 | + public Float getValorAcumulado(final Integer ano, final Integer mes, Alcada alcada, CentroResultado centroResultado, Dominio tipoUtilizacao, NivelAutoridade nivelAutoridade) { | |
| 47 | + String queryString = "select solicitacaoAlcada from SolicitacaoAlcada as solicitacaoAlcada" | |
| 48 | + + " where alcada.id = :alcada_id " | |
| 49 | + + " and centroResultado.id = :centroResultado_id " | |
| 50 | + + " and tipoUtilizacao.id = :tipoUtilizacao_id " | |
| 51 | + + " and situacao.nome = 'APROVADA' " | |
| 52 | + + " and dataInativo is null " | |
| 53 | + + " and aprovador.nivelAutoridade.id = :nivelAutoridade_id " | |
| 54 | + + " and ano = :ano "; | |
| 55 | + if (mes != null) { | |
| 56 | + queryString += " and mes = :mes "; | |
| 57 | + } | |
| 58 | + Query query = em().createQuery(queryString); | |
| 59 | + query.setParameter("alcada_id", alcada.getId()); | |
| 60 | + query.setParameter("centroResultado_id", centroResultado.getId()); | |
| 61 | + query.setParameter("tipoUtilizacao_id", tipoUtilizacao.getId()); | |
| 62 | + query.setParameter("nivelAutoridade_id", nivelAutoridade.getId()); | |
| 63 | + query.setParameter("ano", ano); | |
| 64 | + if (mes != null) { | |
| 65 | + query.setParameter("mes", mes); | |
| 66 | + } | |
| 67 | + | |
| 68 | + List<SolicitacaoAlcada> solicitacoes = query.getResultList(); | |
| 69 | + | |
| 70 | + float valor = 0; | |
| 71 | + for (SolicitacaoAlcada solicitacaoAlcada : solicitacoes) { | |
| 72 | + valor += solicitacaoAlcada.getValor().floatValue(); | |
| 73 | + } | |
| 74 | + | |
| 75 | + return valor; | |
| 76 | + } | |
| 77 | + | |
| 78 | + @Override | |
| 79 | + public SolicitacaoAlcada recuperaPeloIdentificador(Alcada alcada, String identificadorUnico) { | |
| 80 | + SearchSeven search = new SearchSeven(); | |
| 81 | + | |
| 82 | + search.addFilterEqual("alcada.identificador", alcada.getIdentificador()); | |
| 83 | + search.addFilterEqual("identificador", identificadorUnico); | |
| 84 | + | |
| 85 | + search.addFilterEmpty("dataInativo"); | |
| 86 | + | |
| 87 | + search.addSort("id", true); | |
| 88 | + | |
| 89 | + search.setMaxResults(1); | |
| 90 | + | |
| 91 | + return this.searchUnique(search, SolicitacaoAlcada.class); | |
| 92 | + } | |
| 93 | + | |
| 94 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/framework/json/ViewsAlcada.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/framework/json/ViewsAlcada.java | |
| ... | ... | @@ -0,0 +1,33 @@ |
| 1 | +package br.com.centralit.api.framework.json; | |
| 2 | + | |
| 3 | +import br.com.centralit.framework.json.Views; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 7 | + * | |
| 8 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 9 | + * | |
| 10 | + * <p><b>Title: </b></p> | |
| 11 | + * | |
| 12 | + * <p><b>Description: </b></p> | |
| 13 | + * | |
| 14 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 15 | + * | |
| 16 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 17 | + * | |
| 18 | + * @since 22/06/2015 - 15:10:43 | |
| 19 | + * | |
| 20 | + * @version 1.0.0 | |
| 21 | + * | |
| 22 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 23 | + * | |
| 24 | + */ | |
| 25 | +public class ViewsAlcada extends Views { | |
| 26 | + | |
| 27 | + public static class AlcadaView extends Views.GrupoEditView {}; | |
| 28 | + | |
| 29 | + public static class LimiteAprovacaoView extends GenericView {}; | |
| 30 | + | |
| 31 | + public static class RecuperacaoAlcadaView extends GenericView {}; | |
| 32 | + | |
| 33 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/model/LimiteAprovacao.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/model/LimiteAprovacao.java | |
| ... | ... | @@ -0,0 +1,219 @@ |
| 1 | +package br.com.centralit.api.model; | |
| 2 | + | |
| 3 | +import java.util.Collection; | |
| 4 | + | |
| 5 | +import javax.persistence.CascadeType; | |
| 6 | +import javax.persistence.Entity; | |
| 7 | +import javax.persistence.FetchType; | |
| 8 | +import javax.persistence.GeneratedValue; | |
| 9 | +import javax.persistence.GenerationType; | |
| 10 | +import javax.persistence.Id; | |
| 11 | +import javax.persistence.ManyToOne; | |
| 12 | +import javax.persistence.OneToMany; | |
| 13 | + | |
| 14 | +import br.com.centralit.api.framework.json.ViewsAlcada; | |
| 15 | +import br.com.centralit.framework.model.Dominio; | |
| 16 | +import br.com.centralit.framework.model.arquitetura.PersistentObjectAuditOrganizacao; | |
| 17 | + | |
| 18 | +import com.fasterxml.jackson.annotation.JsonView; | |
| 19 | + | |
| 20 | +/** | |
| 21 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 22 | + * | |
| 23 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 24 | + * | |
| 25 | + * <p><b>Title: </b></p> | |
| 26 | + * | |
| 27 | + * <p><b>Description: </b></p> | |
| 28 | + * | |
| 29 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 30 | + * | |
| 31 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 32 | + * | |
| 33 | + * @since 18/06/2015 - 16:58:14 | |
| 34 | + * | |
| 35 | + * @version 1.0.0 | |
| 36 | + * | |
| 37 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 38 | + * | |
| 39 | + */ | |
| 40 | +@Entity | |
| 41 | +public class LimiteAprovacao extends PersistentObjectAuditOrganizacao { | |
| 42 | + | |
| 43 | + /** Atributo serialVersionUID. */ | |
| 44 | + private static final long serialVersionUID = 1L; | |
| 45 | + | |
| 46 | + /** Atributo id. */ | |
| 47 | + @Id | |
| 48 | + @GeneratedValue(strategy = GenerationType.AUTO) | |
| 49 | + @JsonView({ ViewsAlcada.LimiteAprovacaoView.class }) | |
| 50 | + private Long id; | |
| 51 | + | |
| 52 | + @JsonView({ ViewsAlcada.LimiteAprovacaoView.class }) | |
| 53 | + private String identificacao; | |
| 54 | + | |
| 55 | + @ManyToOne(fetch = FetchType.LAZY) | |
| 56 | + @JsonView({ ViewsAlcada.LimiteAprovacaoView.class }) | |
| 57 | + private Dominio dominioTipoAbrangencia; | |
| 58 | + | |
| 59 | + @ManyToOne(fetch = FetchType.LAZY) | |
| 60 | + @JsonView({ ViewsAlcada.LimiteAprovacaoView.class }) | |
| 61 | + private Dominio dominioTipoLimite; | |
| 62 | + | |
| 63 | + @OneToMany(fetch = FetchType.LAZY, mappedBy = "limiteAprovacao", cascade = CascadeType.ALL) | |
| 64 | + @JsonView({ ViewsAlcada.LimiteAprovacaoView.class }) | |
| 65 | + private Collection<LimiteAprovacaoValor> limitesAprovacoesValores; | |
| 66 | + | |
| 67 | + @OneToMany(fetch = FetchType.LAZY, mappedBy = "limiteAprovacao", cascade = CascadeType.ALL, orphanRemoval = true) | |
| 68 | + @JsonView({ ViewsAlcada.LimiteAprovacaoView.class }) | |
| 69 | + private Collection<LimiteAprovacaoNivelAutoridade> niveisAutoridades; | |
| 70 | + | |
| 71 | + @OneToMany(fetch = FetchType.LAZY, mappedBy = "limiteAprovacao", cascade = CascadeType.ALL, orphanRemoval = true) | |
| 72 | + @JsonView({ ViewsAlcada.LimiteAprovacaoView.class }) | |
| 73 | + private Collection<LimiteAprovacaoAlcada> alcadas; | |
| 74 | + | |
| 75 | + | |
| 76 | + /** | |
| 77 | + * Retorna o valor do atributo <code>id</code> | |
| 78 | + * | |
| 79 | + * @return <code>Long</code> | |
| 80 | + */ | |
| 81 | + public Long getId() { | |
| 82 | + | |
| 83 | + return id; | |
| 84 | + } | |
| 85 | + | |
| 86 | + /** | |
| 87 | + * Define o valor do atributo <code>id</code>. | |
| 88 | + * | |
| 89 | + * @param id | |
| 90 | + */ | |
| 91 | + public void setId(Long id) { | |
| 92 | + | |
| 93 | + this.id = id; | |
| 94 | + } | |
| 95 | + | |
| 96 | + /** | |
| 97 | + * Retorna o valor do atributo <code>identificacao</code> | |
| 98 | + * | |
| 99 | + * @return <code>String</code> | |
| 100 | + */ | |
| 101 | + public String getIdentificacao() { | |
| 102 | + | |
| 103 | + return identificacao; | |
| 104 | + } | |
| 105 | + | |
| 106 | + /** | |
| 107 | + * Define o valor do atributo <code>identificacao</code>. | |
| 108 | + * | |
| 109 | + * @param identificacao | |
| 110 | + */ | |
| 111 | + public void setIdentificacao(String identificacao) { | |
| 112 | + | |
| 113 | + this.identificacao = identificacao; | |
| 114 | + } | |
| 115 | + | |
| 116 | + | |
| 117 | + /** | |
| 118 | + * Retorna o valor do atributo <code>limitesAprovacoesValores</code> | |
| 119 | + * | |
| 120 | + * @return <code>Collection<LimiteAprovacaoValor></code> | |
| 121 | + */ | |
| 122 | + public Collection<LimiteAprovacaoValor> getLimitesAprovacoesValores() { | |
| 123 | + | |
| 124 | + return limitesAprovacoesValores; | |
| 125 | + } | |
| 126 | + | |
| 127 | + | |
| 128 | + /** | |
| 129 | + * Define o valor do atributo <code>limitesAprovacoesValores</code>. | |
| 130 | + * | |
| 131 | + * @param limitesAprovacoesValores | |
| 132 | + */ | |
| 133 | + public void setLimitesAprovacoesValores(Collection<LimiteAprovacaoValor> limitesAprovacoesValores) { | |
| 134 | + | |
| 135 | + this.limitesAprovacoesValores = limitesAprovacoesValores; | |
| 136 | + } | |
| 137 | + | |
| 138 | + /** | |
| 139 | + * Retorna o valor do atributo <code>dominioTipoAbrangencia</code> | |
| 140 | + * | |
| 141 | + * @return <code>Dominio</code> | |
| 142 | + */ | |
| 143 | + public Dominio getDominioTipoAbrangencia() { | |
| 144 | + | |
| 145 | + return dominioTipoAbrangencia; | |
| 146 | + } | |
| 147 | + | |
| 148 | + /** | |
| 149 | + * Define o valor do atributo <code>dominioTipoAbrangencia</code>. | |
| 150 | + * | |
| 151 | + * @param dominioTipoAbrangencia | |
| 152 | + */ | |
| 153 | + public void setDominioTipoAbrangencia(Dominio dominioTipoAbrangencia) { | |
| 154 | + | |
| 155 | + this.dominioTipoAbrangencia = dominioTipoAbrangencia; | |
| 156 | + } | |
| 157 | + | |
| 158 | + /** | |
| 159 | + * Retorna o valor do atributo <code>dominioTipoLimite</code> | |
| 160 | + * | |
| 161 | + * @return <code>Dominio</code> | |
| 162 | + */ | |
| 163 | + public Dominio getDominioTipoLimite() { | |
| 164 | + | |
| 165 | + return dominioTipoLimite; | |
| 166 | + } | |
| 167 | + | |
| 168 | + /** | |
| 169 | + * Define o valor do atributo <code>dominioTipoLimite</code>. | |
| 170 | + * | |
| 171 | + * @param dominioTipoLimite | |
| 172 | + */ | |
| 173 | + public void setDominioTipoLimite(Dominio dominioTipoLimite) { | |
| 174 | + | |
| 175 | + this.dominioTipoLimite = dominioTipoLimite; | |
| 176 | + } | |
| 177 | + | |
| 178 | + /** | |
| 179 | + * Retorna o valor do atributo <code>niveisAutoridades</code> | |
| 180 | + * | |
| 181 | + * @return <code>Collection<LimiteAprovacaoNivelAutoridade></code> | |
| 182 | + */ | |
| 183 | + public Collection<LimiteAprovacaoNivelAutoridade> getNiveisAutoridades() { | |
| 184 | + | |
| 185 | + return niveisAutoridades; | |
| 186 | + } | |
| 187 | + | |
| 188 | + /** | |
| 189 | + * Define o valor do atributo <code>niveisAutoridades</code>. | |
| 190 | + * | |
| 191 | + * @param niveisAutoridades | |
| 192 | + */ | |
| 193 | + public void setNiveisAutoridades(Collection<LimiteAprovacaoNivelAutoridade> niveisAutoridades) { | |
| 194 | + | |
| 195 | + this.niveisAutoridades = niveisAutoridades; | |
| 196 | + } | |
| 197 | + | |
| 198 | + /** | |
| 199 | + * Retorna o valor do atributo <code>alcadas</code> | |
| 200 | + * | |
| 201 | + * @return <code>Collection<LimiteAprovacaoAlcada></code> | |
| 202 | + */ | |
| 203 | + public Collection<LimiteAprovacaoAlcada> getAlcadas() { | |
| 204 | + | |
| 205 | + return alcadas; | |
| 206 | + } | |
| 207 | + | |
| 208 | + /** | |
| 209 | + * Define o valor do atributo <code>alcadas</code>. | |
| 210 | + * | |
| 211 | + * @param alcadas | |
| 212 | + */ | |
| 213 | + public void setAlcadas(Collection<LimiteAprovacaoAlcada> alcadas) { | |
| 214 | + | |
| 215 | + this.alcadas = alcadas; | |
| 216 | + } | |
| 217 | + | |
| 218 | + | |
| 219 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/model/LimiteAprovacaoAlcada.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/model/LimiteAprovacaoAlcada.java | |
| ... | ... | @@ -0,0 +1,127 @@ |
| 1 | +package br.com.centralit.api.model; | |
| 2 | + | |
| 3 | +import javax.persistence.Entity; | |
| 4 | +import javax.persistence.FetchType; | |
| 5 | +import javax.persistence.GeneratedValue; | |
| 6 | +import javax.persistence.GenerationType; | |
| 7 | +import javax.persistence.Id; | |
| 8 | +import javax.persistence.ManyToOne; | |
| 9 | + | |
| 10 | +import br.com.centralit.api.framework.json.ViewsAlcada; | |
| 11 | +import br.com.centralit.framework.model.arquitetura.PersistentObject; | |
| 12 | + | |
| 13 | +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | |
| 14 | +import com.fasterxml.jackson.annotation.JsonView; | |
| 15 | + | |
| 16 | +/** | |
| 17 | + * <p> | |
| 18 | + * <img src="http://centralit.com.br/images/logo_central.png"> | |
| 19 | + * </p> | |
| 20 | + * | |
| 21 | + * <p> | |
| 22 | + * <b>Company: </b> Central IT - Governança Corporativa - | |
| 23 | + * </p> | |
| 24 | + * | |
| 25 | + * <p> | |
| 26 | + * <b>Title: </b> | |
| 27 | + * </p> | |
| 28 | + * | |
| 29 | + * <p> | |
| 30 | + * <b>Description: </b> | |
| 31 | + * </p> | |
| 32 | + * | |
| 33 | + * <p> | |
| 34 | + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> | |
| 35 | + * </p> | |
| 36 | + * | |
| 37 | + * <p> | |
| 38 | + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> | |
| 39 | + * </p> | |
| 40 | + * | |
| 41 | + * @since 30/06/2015 - 13:56:03 | |
| 42 | + * | |
| 43 | + * @version 1.0.0 | |
| 44 | + * | |
| 45 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 46 | + * | |
| 47 | + */ | |
| 48 | +@Entity | |
| 49 | +@JsonIgnoreProperties({ "$selected", "$index" }) | |
| 50 | +public class LimiteAprovacaoAlcada extends PersistentObject { | |
| 51 | + | |
| 52 | + /** Atributo serialVersionUID. */ | |
| 53 | + private static final long serialVersionUID = 1L; | |
| 54 | + | |
| 55 | + /** Atributo id. */ | |
| 56 | + @Id | |
| 57 | + @GeneratedValue(strategy = GenerationType.AUTO) | |
| 58 | + @JsonView({ ViewsAlcada.LimiteAprovacaoView.class }) | |
| 59 | + private Long id; | |
| 60 | + | |
| 61 | + @ManyToOne(fetch = FetchType.LAZY, optional = false) | |
| 62 | + @JsonView({ ViewsAlcada.LimiteAprovacaoView.class }) | |
| 63 | + private Alcada alcada; | |
| 64 | + | |
| 65 | + @ManyToOne(fetch = FetchType.LAZY, optional = false) | |
| 66 | + private LimiteAprovacao limiteAprovacao; | |
| 67 | + | |
| 68 | + /** | |
| 69 | + * Retorna o valor do atributo <code>alcada</code> | |
| 70 | + * | |
| 71 | + * @return <code>Alcada</code> | |
| 72 | + */ | |
| 73 | + public Alcada getAlcada() { | |
| 74 | + | |
| 75 | + return alcada; | |
| 76 | + } | |
| 77 | + | |
| 78 | + /** | |
| 79 | + * Define o valor do atributo <code>alcada</code>. | |
| 80 | + * | |
| 81 | + * @param alcada | |
| 82 | + */ | |
| 83 | + public void setAlcada(Alcada alcada) { | |
| 84 | + | |
| 85 | + this.alcada = alcada; | |
| 86 | + } | |
| 87 | + | |
| 88 | + /** | |
| 89 | + * Retorna o valor do atributo <code>limiteAprovacao</code> | |
| 90 | + * | |
| 91 | + * @return <code>LimiteAprovacao</code> | |
| 92 | + */ | |
| 93 | + public LimiteAprovacao getLimiteAprovacao() { | |
| 94 | + | |
| 95 | + return limiteAprovacao; | |
| 96 | + } | |
| 97 | + | |
| 98 | + /** | |
| 99 | + * Define o valor do atributo <code>limiteAprovacao</code>. | |
| 100 | + * | |
| 101 | + * @param limiteAprovacao | |
| 102 | + */ | |
| 103 | + public void setLimiteAprovacao(LimiteAprovacao limiteAprovacao) { | |
| 104 | + | |
| 105 | + this.limiteAprovacao = limiteAprovacao; | |
| 106 | + } | |
| 107 | + | |
| 108 | + /** | |
| 109 | + * Retorna o valor do atributo <code>id</code> | |
| 110 | + * | |
| 111 | + * @return <code>Long</code> | |
| 112 | + */ | |
| 113 | + public Long getId() { | |
| 114 | + | |
| 115 | + return id; | |
| 116 | + } | |
| 117 | + | |
| 118 | + /** | |
| 119 | + * Define o valor do atributo <code>id</code>. | |
| 120 | + * | |
| 121 | + * @param id | |
| 122 | + */ | |
| 123 | + public void setId(Long id) { | |
| 124 | + | |
| 125 | + this.id = id; | |
| 126 | + } | |
| 127 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/model/LimiteAprovacaoNivelAutoridade.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/model/LimiteAprovacaoNivelAutoridade.java | |
| ... | ... | @@ -0,0 +1,118 @@ |
| 1 | +package br.com.centralit.api.model; | |
| 2 | + | |
| 3 | +import javax.persistence.Entity; | |
| 4 | +import javax.persistence.FetchType; | |
| 5 | +import javax.persistence.GeneratedValue; | |
| 6 | +import javax.persistence.GenerationType; | |
| 7 | +import javax.persistence.Id; | |
| 8 | +import javax.persistence.ManyToOne; | |
| 9 | + | |
| 10 | +import br.com.centralit.api.framework.json.ViewsAlcada; | |
| 11 | +import br.com.centralit.framework.model.arquitetura.PersistentObject; | |
| 12 | + | |
| 13 | +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | |
| 14 | +import com.fasterxml.jackson.annotation.JsonView; | |
| 15 | + | |
| 16 | +/** | |
| 17 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 18 | + * | |
| 19 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 20 | + * | |
| 21 | + * <p><b>Title: </b></p> | |
| 22 | + * | |
| 23 | + * <p><b>Description: </b></p> | |
| 24 | + * | |
| 25 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 26 | + * | |
| 27 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 28 | + * | |
| 29 | + * @since 30/06/2015 - 13:56:36 | |
| 30 | + * | |
| 31 | + * @version 1.0.0 | |
| 32 | + * | |
| 33 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 34 | + * | |
| 35 | + */ | |
| 36 | +@Entity | |
| 37 | +@JsonIgnoreProperties({"$selected","$index"}) | |
| 38 | +public class LimiteAprovacaoNivelAutoridade extends PersistentObject { | |
| 39 | + | |
| 40 | + /** Atributo serialVersionUID. */ | |
| 41 | + private static final long serialVersionUID = 1L; | |
| 42 | + | |
| 43 | + /** Atributo id. */ | |
| 44 | + @Id | |
| 45 | + @GeneratedValue(strategy = GenerationType.AUTO) | |
| 46 | + @JsonView({ ViewsAlcada.LimiteAprovacaoView.class }) | |
| 47 | + private Long id; | |
| 48 | + | |
| 49 | + @ManyToOne(fetch = FetchType.LAZY, optional = false) | |
| 50 | + private LimiteAprovacao limiteAprovacao; | |
| 51 | + | |
| 52 | + @ManyToOne(fetch = FetchType.LAZY, optional = false) | |
| 53 | + @JsonView({ ViewsAlcada.LimiteAprovacaoView.class }) | |
| 54 | + private NivelAutoridade nivelAutoridade; | |
| 55 | + | |
| 56 | + | |
| 57 | + /** | |
| 58 | + * Retorna o valor do atributo <code>limiteAprovacao</code> | |
| 59 | + * | |
| 60 | + * @return <code>LimiteAprovacao</code> | |
| 61 | + */ | |
| 62 | + public LimiteAprovacao getLimiteAprovacao() { | |
| 63 | + | |
| 64 | + return limiteAprovacao; | |
| 65 | + } | |
| 66 | + | |
| 67 | + /** | |
| 68 | + * Define o valor do atributo <code>limiteAprovacao</code>. | |
| 69 | + * | |
| 70 | + * @param limiteAprovacao | |
| 71 | + */ | |
| 72 | + public void setLimiteAprovacao(LimiteAprovacao limiteAprovacao) { | |
| 73 | + | |
| 74 | + this.limiteAprovacao = limiteAprovacao; | |
| 75 | + } | |
| 76 | + | |
| 77 | + /** | |
| 78 | + * Retorna o valor do atributo <code>nivelAutoridade</code> | |
| 79 | + * | |
| 80 | + * @return <code>NivelAutoridade</code> | |
| 81 | + */ | |
| 82 | + public NivelAutoridade getNivelAutoridade() { | |
| 83 | + | |
| 84 | + return nivelAutoridade; | |
| 85 | + } | |
| 86 | + | |
| 87 | + /** | |
| 88 | + * Define o valor do atributo <code>nivelAutoridade</code>. | |
| 89 | + * | |
| 90 | + * @param nivelAutoridade | |
| 91 | + */ | |
| 92 | + public void setNivelAutoridade(NivelAutoridade nivelAutoridade) { | |
| 93 | + | |
| 94 | + this.nivelAutoridade = nivelAutoridade; | |
| 95 | + } | |
| 96 | + | |
| 97 | + /** | |
| 98 | + * Retorna o valor do atributo <code>id</code> | |
| 99 | + * | |
| 100 | + * @return <code>Long</code> | |
| 101 | + */ | |
| 102 | + public Long getId() { | |
| 103 | + | |
| 104 | + return id; | |
| 105 | + } | |
| 106 | + | |
| 107 | + /** | |
| 108 | + * Define o valor do atributo <code>id</code>. | |
| 109 | + * | |
| 110 | + * @param id | |
| 111 | + */ | |
| 112 | + public void setId(Long id) { | |
| 113 | + | |
| 114 | + this.id = id; | |
| 115 | + } | |
| 116 | + | |
| 117 | + | |
| 118 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/model/LimiteAprovacaoValor.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/model/LimiteAprovacaoValor.java | |
| ... | ... | @@ -0,0 +1,219 @@ |
| 1 | +package br.com.centralit.api.model; | |
| 2 | + | |
| 3 | +import java.math.BigDecimal; | |
| 4 | +import java.util.ArrayList; | |
| 5 | +import java.util.Collection; | |
| 6 | + | |
| 7 | +import javax.persistence.Column; | |
| 8 | +import javax.persistence.Entity; | |
| 9 | +import javax.persistence.FetchType; | |
| 10 | +import javax.persistence.GeneratedValue; | |
| 11 | +import javax.persistence.GenerationType; | |
| 12 | +import javax.persistence.Id; | |
| 13 | +import javax.persistence.ManyToOne; | |
| 14 | +import javax.persistence.Transient; | |
| 15 | + | |
| 16 | +import br.com.centralit.api.framework.json.ViewsAlcada; | |
| 17 | +import br.com.centralit.framework.json.MoneyDeserializer; | |
| 18 | +import br.com.centralit.framework.model.Dominio; | |
| 19 | +import br.com.centralit.framework.model.arquitetura.PersistentObject; | |
| 20 | + | |
| 21 | +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | |
| 22 | +import com.fasterxml.jackson.annotation.JsonView; | |
| 23 | +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; | |
| 24 | + | |
| 25 | +/** | |
| 26 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 27 | + * | |
| 28 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 29 | + * | |
| 30 | + * <p><b>Title: </b></p> | |
| 31 | + * | |
| 32 | + * <p><b>Description: </b></p> | |
| 33 | + * | |
| 34 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 35 | + * | |
| 36 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 37 | + * | |
| 38 | + * @since 18/06/2015 - 16:57:20 | |
| 39 | + * | |
| 40 | + * @version 1.0.0 | |
| 41 | + * | |
| 42 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 43 | + * | |
| 44 | + */ | |
| 45 | +@Entity | |
| 46 | +@JsonIgnoreProperties({ "$index" }) | |
| 47 | +public class LimiteAprovacaoValor extends PersistentObject { | |
| 48 | + | |
| 49 | + /** Atributo serialVersionUID. */ | |
| 50 | + private static final long serialVersionUID = 1L; | |
| 51 | + | |
| 52 | + /** Atributo id. */ | |
| 53 | + @Id | |
| 54 | + @GeneratedValue(strategy = GenerationType.AUTO) | |
| 55 | + @JsonView({ ViewsAlcada.LimiteAprovacaoView.class }) | |
| 56 | + private Long id; | |
| 57 | + | |
| 58 | + @ManyToOne | |
| 59 | + @JsonView({ ViewsAlcada.LimiteAprovacaoView.class }) | |
| 60 | + private Dominio dominioTipoLimiteValor; | |
| 61 | + | |
| 62 | + @ManyToOne | |
| 63 | + @JsonView({ ViewsAlcada.LimiteAprovacaoView.class }) | |
| 64 | + private Dominio dominioTipoUtilizacao; | |
| 65 | + | |
| 66 | + @Column(precision = 20, scale = 2) | |
| 67 | + @JsonDeserialize(using = MoneyDeserializer.class) | |
| 68 | + @JsonView({ ViewsAlcada.LimiteAprovacaoView.class }) | |
| 69 | + private BigDecimal valorLimite; | |
| 70 | + | |
| 71 | + @ManyToOne(fetch = FetchType.LAZY, optional = false) | |
| 72 | + private LimiteAprovacao limiteAprovacao; | |
| 73 | + | |
| 74 | + @Transient | |
| 75 | + private Collection<ValorAcumulado> valoresAcumulados = new ArrayList<ValorAcumulado>(); | |
| 76 | + | |
| 77 | + /** | |
| 78 | + * Retorna o valor do atributo <code>dominioTipoLimiteValor</code> | |
| 79 | + * | |
| 80 | + * @return <code>Dominio</code> | |
| 81 | + */ | |
| 82 | + public Dominio getDominioTipoLimiteValor() { | |
| 83 | + | |
| 84 | + return dominioTipoLimiteValor; | |
| 85 | + } | |
| 86 | + | |
| 87 | + /** | |
| 88 | + * Define o valor do atributo <code>dominioTipoLimiteValor</code>. | |
| 89 | + * | |
| 90 | + * @param dominioTipoLimiteValor | |
| 91 | + */ | |
| 92 | + public void setDominioTipoLimiteValor(Dominio dominioTipoAbrangencia) { | |
| 93 | + | |
| 94 | + this.dominioTipoLimiteValor = dominioTipoAbrangencia; | |
| 95 | + } | |
| 96 | + | |
| 97 | + /** | |
| 98 | + * Retorna o valor do atributo <code>dominioTipoUtilizacao</code> | |
| 99 | + * | |
| 100 | + * @return <code>Dominio</code> | |
| 101 | + */ | |
| 102 | + public Dominio getDominioTipoUtilizacao() { | |
| 103 | + | |
| 104 | + return dominioTipoUtilizacao; | |
| 105 | + } | |
| 106 | + | |
| 107 | + /** | |
| 108 | + * Define o valor do atributo <code>dominioTipoUtilizacao</code>. | |
| 109 | + * | |
| 110 | + * @param dominioTipoUtilizacao | |
| 111 | + */ | |
| 112 | + public void setDominioTipoUtilizacao(Dominio dominioTipoUtilizacao) { | |
| 113 | + | |
| 114 | + this.dominioTipoUtilizacao = dominioTipoUtilizacao; | |
| 115 | + } | |
| 116 | + | |
| 117 | + /** | |
| 118 | + * Retorna o valor do atributo <code>valorLimite</code> | |
| 119 | + * | |
| 120 | + * @return <code>BigDecimal</code> | |
| 121 | + */ | |
| 122 | + public BigDecimal getValorLimite() { | |
| 123 | + | |
| 124 | + return valorLimite; | |
| 125 | + } | |
| 126 | + | |
| 127 | + /** | |
| 128 | + * Define o valor do atributo <code>valorLimite</code>. | |
| 129 | + * | |
| 130 | + * @param valorLimite | |
| 131 | + */ | |
| 132 | + public void setValorLimite(BigDecimal valorLimite) { | |
| 133 | + | |
| 134 | + this.valorLimite = valorLimite; | |
| 135 | + } | |
| 136 | + | |
| 137 | + /** | |
| 138 | + * Retorna o valor do atributo <code>id</code> | |
| 139 | + * | |
| 140 | + * @return <code>Long</code> | |
| 141 | + */ | |
| 142 | + public Long getId() { | |
| 143 | + | |
| 144 | + return id; | |
| 145 | + } | |
| 146 | + | |
| 147 | + /** | |
| 148 | + * Define o valor do atributo <code>id</code>. | |
| 149 | + * | |
| 150 | + * @param id | |
| 151 | + */ | |
| 152 | + public void setId(Long id) { | |
| 153 | + | |
| 154 | + this.id = id; | |
| 155 | + } | |
| 156 | + | |
| 157 | + | |
| 158 | + /** | |
| 159 | + * Retorna o valor do atributo <code>limiteAprovacao</code> | |
| 160 | + * | |
| 161 | + * @return <code>LimiteAprovacao</code> | |
| 162 | + */ | |
| 163 | + public LimiteAprovacao getLimiteAprovacao() { | |
| 164 | + | |
| 165 | + return limiteAprovacao; | |
| 166 | + } | |
| 167 | + | |
| 168 | + | |
| 169 | + /** | |
| 170 | + * Define o valor do atributo <code>limiteAprovacao</code>. | |
| 171 | + * | |
| 172 | + * @param limiteAprovacao | |
| 173 | + */ | |
| 174 | + public void setLimiteAprovacao(LimiteAprovacao limiteAprovacao) { | |
| 175 | + | |
| 176 | + this.limiteAprovacao = limiteAprovacao; | |
| 177 | + } | |
| 178 | + | |
| 179 | + /** | |
| 180 | + * Retorna o valor do atributo <code>valoresAcumulados</code> | |
| 181 | + * | |
| 182 | + * @return <code>Collection<ValorAcumulado></code> | |
| 183 | + */ | |
| 184 | + public Collection<ValorAcumulado> getValoresAcumulados() { | |
| 185 | + | |
| 186 | + return valoresAcumulados; | |
| 187 | + } | |
| 188 | + | |
| 189 | + | |
| 190 | + /** | |
| 191 | + * Define o valor do atributo <code>valoresAcumulados</code>. | |
| 192 | + * | |
| 193 | + * @param valoresAcumulados | |
| 194 | + */ | |
| 195 | + public void setValoresAcumulados(Collection<ValorAcumulado> valoresAcumulados) { | |
| 196 | + | |
| 197 | + this.valoresAcumulados = valoresAcumulados; | |
| 198 | + } | |
| 199 | + | |
| 200 | + public ValorAcumulado adicionaValorAcumulado(NivelAutoridade nivelAutoridade, Float valor) { | |
| 201 | + ValorAcumulado valorAcumulado = null; | |
| 202 | + for (ValorAcumulado valorAcumuladoAux : this.getValoresAcumulados()) { | |
| 203 | + if (valorAcumuladoAux.getNivelAutoridade().getId().equals(nivelAutoridade.getId())) { | |
| 204 | + valorAcumulado = valorAcumuladoAux; | |
| 205 | + break; | |
| 206 | + } | |
| 207 | + } | |
| 208 | + | |
| 209 | + if (valorAcumulado == null) { | |
| 210 | + valorAcumulado = new ValorAcumulado(nivelAutoridade); | |
| 211 | + this.getValoresAcumulados().add(valorAcumulado); | |
| 212 | + } | |
| 213 | + | |
| 214 | + valorAcumulado.setValor(valorAcumulado.getValor() + valor); | |
| 215 | + return valorAcumulado; | |
| 216 | + } | |
| 217 | + | |
| 218 | + | |
| 219 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/model/ResponsavelAlcada.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/model/ResponsavelAlcada.java | |
| ... | ... | @@ -0,0 +1,311 @@ |
| 1 | +package br.com.centralit.api.model; | |
| 2 | + | |
| 3 | +import java.util.ArrayList; | |
| 4 | +import java.util.List; | |
| 5 | + | |
| 6 | +import javax.persistence.CascadeType; | |
| 7 | +import javax.persistence.Column; | |
| 8 | +import javax.persistence.Entity; | |
| 9 | +import javax.persistence.FetchType; | |
| 10 | +import javax.persistence.GeneratedValue; | |
| 11 | +import javax.persistence.GenerationType; | |
| 12 | +import javax.persistence.Id; | |
| 13 | +import javax.persistence.JoinColumn; | |
| 14 | +import javax.persistence.JoinTable; | |
| 15 | +import javax.persistence.ManyToMany; | |
| 16 | +import javax.persistence.ManyToOne; | |
| 17 | + | |
| 18 | +import br.com.centralit.api.framework.json.ViewsAlcada; | |
| 19 | +import br.com.centralit.api.framework.json.ViewsTabelasCorp; | |
| 20 | +import br.com.centralit.framework.json.Views; | |
| 21 | +import br.com.centralit.framework.model.Dominio; | |
| 22 | +import br.com.centralit.framework.model.Usuario; | |
| 23 | +import br.com.centralit.framework.model.arquitetura.PersistentObject; | |
| 24 | + | |
| 25 | +import com.fasterxml.jackson.annotation.JsonIgnore; | |
| 26 | +import com.fasterxml.jackson.annotation.JsonView; | |
| 27 | + | |
| 28 | +/** | |
| 29 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 30 | + * | |
| 31 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 32 | + * | |
| 33 | + * <p><b>Title: </b></p> | |
| 34 | + * | |
| 35 | + * <p><b>Description: </b></p> | |
| 36 | + * | |
| 37 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 38 | + * | |
| 39 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 40 | + * | |
| 41 | + * @since 14/07/2015 - 13:57:20 | |
| 42 | + * | |
| 43 | + * @version 1.0.0 | |
| 44 | + * | |
| 45 | + * @author lucas.ribeiro - (<a href="mailto:lucas.centralit@gmail.com">lucas.centralit@gmail.com</a>) | |
| 46 | + * | |
| 47 | + */ | |
| 48 | +@Entity | |
| 49 | +public class ResponsavelAlcada extends PersistentObject { | |
| 50 | + | |
| 51 | + /** Atributo serialVersionUID. */ | |
| 52 | + private static final long serialVersionUID = 1L; | |
| 53 | + | |
| 54 | + /** Atributo id. */ | |
| 55 | + @Id | |
| 56 | + @GeneratedValue(strategy = GenerationType.AUTO) | |
| 57 | + @JsonView({ Views.GenericView.class }) | |
| 58 | + private Long id; | |
| 59 | + | |
| 60 | + @ManyToOne(fetch = FetchType.LAZY, optional = false) | |
| 61 | + @JsonIgnore | |
| 62 | + private SolicitacaoAlcada solicitacaoAlcada; | |
| 63 | + | |
| 64 | + @ManyToOne(fetch = FetchType.LAZY, optional = false) | |
| 65 | + @JsonView({ ViewsTabelasCorp.SolicitacaoAlcadaView.class, ViewsAlcada.RecuperacaoAlcadaView.class }) | |
| 66 | + private Colaborador colaborador; | |
| 67 | + | |
| 68 | + @ManyToOne(fetch = FetchType.LAZY, optional = false) | |
| 69 | + @JsonView({ ViewsTabelasCorp.SolicitacaoAlcadaView.class, ViewsAlcada.RecuperacaoAlcadaView.class }) | |
| 70 | + private Usuario usuario; | |
| 71 | + | |
| 72 | + @ManyToOne(fetch = FetchType.LAZY, optional = true) | |
| 73 | + @JsonView({ ViewsTabelasCorp.SolicitacaoAlcadaView.class, ViewsAlcada.RecuperacaoAlcadaView.class }) | |
| 74 | + private NivelAutoridade nivelAutoridade; | |
| 75 | + | |
| 76 | + @Column(nullable = false) | |
| 77 | + @JsonView({ Views.GenericView.class }) | |
| 78 | + protected Boolean delegacao; | |
| 79 | + | |
| 80 | + @ManyToOne(fetch = FetchType.LAZY, optional = true) | |
| 81 | + @JsonIgnore | |
| 82 | + private CentroResultadoDelegacao centroResultadoDelegacao; | |
| 83 | + | |
| 84 | + @Column(nullable = false) | |
| 85 | + @JsonView({ Views.GenericView.class }) | |
| 86 | + protected Boolean habilitado; | |
| 87 | + | |
| 88 | + @JsonView({ViewsTabelasCorp.SolicitacaoAlcadaView.class, ViewsAlcada.RecuperacaoAlcadaView.class} ) | |
| 89 | + @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) | |
| 90 | + @JoinTable(name="MotivoRejeicaoAlcada", | |
| 91 | + joinColumns= @JoinColumn( name = "autorizadorAlcada_id"), | |
| 92 | + inverseJoinColumns= @JoinColumn(name = "motivoRejeicao_id") ) | |
| 93 | + private List<Dominio> motivosRejeicao; | |
| 94 | + | |
| 95 | + public ResponsavelAlcada() { | |
| 96 | + | |
| 97 | + } | |
| 98 | + | |
| 99 | + public ResponsavelAlcada(SolicitacaoAlcada solicitacaoAlcada, Colaborador colaborador, NivelAutoridade nivelAutoridade, CentroResultadoDelegacao centroResultadoDelegacao) { | |
| 100 | + this.solicitacaoAlcada = solicitacaoAlcada; | |
| 101 | + this.habilitado = true; | |
| 102 | + this.colaborador = colaborador; | |
| 103 | + this.nivelAutoridade = nivelAutoridade; | |
| 104 | + this.usuario = colaborador.getPessoa().getUsuario(); | |
| 105 | + this.centroResultadoDelegacao = centroResultadoDelegacao; | |
| 106 | + this.setDelegacao(centroResultadoDelegacao != null); | |
| 107 | + } | |
| 108 | + | |
| 109 | + /** | |
| 110 | + * Retorna o valor do atributo <code>solicitacaoAlcada</code> | |
| 111 | + * | |
| 112 | + * @return <code>SolicitacaoAlcada</code> | |
| 113 | + */ | |
| 114 | + public SolicitacaoAlcada getSolicitacaoAlcada() { | |
| 115 | + | |
| 116 | + return solicitacaoAlcada; | |
| 117 | + } | |
| 118 | + | |
| 119 | + | |
| 120 | + /** | |
| 121 | + * Define o valor do atributo <code>solicitacaoAlcada</code>. | |
| 122 | + * | |
| 123 | + * @param solicitacaoAlcada | |
| 124 | + */ | |
| 125 | + public void setSolicitacaoAlcada(SolicitacaoAlcada solicitacaoAlcada) { | |
| 126 | + | |
| 127 | + this.solicitacaoAlcada = solicitacaoAlcada; | |
| 128 | + } | |
| 129 | + | |
| 130 | + | |
| 131 | + /** | |
| 132 | + * Retorna o valor do atributo <code>colaborador</code> | |
| 133 | + * | |
| 134 | + * @return <code>Colaborador</code> | |
| 135 | + */ | |
| 136 | + public Colaborador getColaborador() { | |
| 137 | + | |
| 138 | + return colaborador; | |
| 139 | + } | |
| 140 | + | |
| 141 | + | |
| 142 | + /** | |
| 143 | + * Define o valor do atributo <code>colaborador</code>. | |
| 144 | + * | |
| 145 | + * @param colaborador | |
| 146 | + */ | |
| 147 | + public void setColaborador(Colaborador colaborador) { | |
| 148 | + | |
| 149 | + this.colaborador = colaborador; | |
| 150 | + } | |
| 151 | + | |
| 152 | + | |
| 153 | + /** | |
| 154 | + * Retorna o valor do atributo <code>usuario</code> | |
| 155 | + * | |
| 156 | + * @return <code>Usuario</code> | |
| 157 | + */ | |
| 158 | + public Usuario getUsuario() { | |
| 159 | + | |
| 160 | + return usuario; | |
| 161 | + } | |
| 162 | + | |
| 163 | + | |
| 164 | + /** | |
| 165 | + * Define o valor do atributo <code>usuario</code>. | |
| 166 | + * | |
| 167 | + * @param usuario | |
| 168 | + */ | |
| 169 | + public void setUsuario(Usuario usuario) { | |
| 170 | + | |
| 171 | + this.usuario = usuario; | |
| 172 | + } | |
| 173 | + | |
| 174 | + | |
| 175 | + /** | |
| 176 | + * Retorna o valor do atributo <code>nivelAutoridade</code> | |
| 177 | + * | |
| 178 | + * @return <code>NivelAutoridade</code> | |
| 179 | + */ | |
| 180 | + public NivelAutoridade getNivelAutoridade() { | |
| 181 | + | |
| 182 | + return nivelAutoridade; | |
| 183 | + } | |
| 184 | + | |
| 185 | + | |
| 186 | + /** | |
| 187 | + * Define o valor do atributo <code>nivelAutoridade</code>. | |
| 188 | + * | |
| 189 | + * @param nivelAutoridade | |
| 190 | + */ | |
| 191 | + public void setNivelAutoridade(NivelAutoridade nivelAutoridade) { | |
| 192 | + | |
| 193 | + this.nivelAutoridade = nivelAutoridade; | |
| 194 | + } | |
| 195 | + | |
| 196 | + | |
| 197 | + /** | |
| 198 | + * Retorna o valor do atributo <code>delegacao</code> | |
| 199 | + * | |
| 200 | + * @return <code>Boolean</code> | |
| 201 | + */ | |
| 202 | + public Boolean getDelegacao() { | |
| 203 | + | |
| 204 | + return delegacao; | |
| 205 | + } | |
| 206 | + | |
| 207 | + | |
| 208 | + /** | |
| 209 | + * Define o valor do atributo <code>delegacao</code>. | |
| 210 | + * | |
| 211 | + * @param delegacao | |
| 212 | + */ | |
| 213 | + public void setDelegacao(Boolean delegacao) { | |
| 214 | + | |
| 215 | + this.delegacao = delegacao; | |
| 216 | + } | |
| 217 | + | |
| 218 | + | |
| 219 | + /** | |
| 220 | + * Retorna o valor do atributo <code>centroResultadoDelegacao</code> | |
| 221 | + * | |
| 222 | + * @return <code>CentroResultadoDelegacao</code> | |
| 223 | + */ | |
| 224 | + public CentroResultadoDelegacao getCentroResultadoDelegacao() { | |
| 225 | + | |
| 226 | + return centroResultadoDelegacao; | |
| 227 | + } | |
| 228 | + | |
| 229 | + | |
| 230 | + /** | |
| 231 | + * Define o valor do atributo <code>centroResultadoDelegacao</code>. | |
| 232 | + * | |
| 233 | + * @param centroResultadoDelegacao | |
| 234 | + */ | |
| 235 | + public void setCentroResultadoDelegacao(CentroResultadoDelegacao centroResultadoDelegacao) { | |
| 236 | + | |
| 237 | + this.centroResultadoDelegacao = centroResultadoDelegacao; | |
| 238 | + } | |
| 239 | + | |
| 240 | + | |
| 241 | + /** | |
| 242 | + * Retorna o valor do atributo <code>habilitado</code> | |
| 243 | + * | |
| 244 | + * @return <code>Boolean</code> | |
| 245 | + */ | |
| 246 | + public Boolean getHabilitado() { | |
| 247 | + | |
| 248 | + return habilitado; | |
| 249 | + } | |
| 250 | + | |
| 251 | + | |
| 252 | + /** | |
| 253 | + * Define o valor do atributo <code>habilitado</code>. | |
| 254 | + * | |
| 255 | + * @param habilitado | |
| 256 | + */ | |
| 257 | + public void setHabilitado(Boolean habilitado) { | |
| 258 | + | |
| 259 | + this.habilitado = habilitado; | |
| 260 | + } | |
| 261 | + | |
| 262 | + | |
| 263 | + /** | |
| 264 | + * Retorna o valor do atributo <code>motivosRejeicao</code> | |
| 265 | + * | |
| 266 | + * @return <code>List<Dominio></code> | |
| 267 | + */ | |
| 268 | + public List<Dominio> getMotivosRejeicao() { | |
| 269 | + | |
| 270 | + return motivosRejeicao; | |
| 271 | + } | |
| 272 | + | |
| 273 | + | |
| 274 | + /** | |
| 275 | + * Define o valor do atributo <code>motivosRejeicao</code>. | |
| 276 | + * | |
| 277 | + * @param motivosRejeicao | |
| 278 | + */ | |
| 279 | + public void setMotivosRejeicao(List<Dominio> motivosRejeicao) { | |
| 280 | + | |
| 281 | + this.motivosRejeicao = motivosRejeicao; | |
| 282 | + } | |
| 283 | + | |
| 284 | + | |
| 285 | + /** | |
| 286 | + * Define o valor do atributo <code>id</code>. | |
| 287 | + * | |
| 288 | + * @param id | |
| 289 | + */ | |
| 290 | + public void setId(Long id) { | |
| 291 | + | |
| 292 | + this.id = id; | |
| 293 | + } | |
| 294 | + | |
| 295 | + @Override | |
| 296 | + public Long getId() { | |
| 297 | + return this.id; | |
| 298 | + } | |
| 299 | + | |
| 300 | + public void adicionaMotivoRejeicao(Dominio motivoRejeicao) { | |
| 301 | + if (this.getMotivosRejeicao() == null) { | |
| 302 | + this.setMotivosRejeicao(new ArrayList<Dominio>()); | |
| 303 | + } | |
| 304 | + | |
| 305 | + this.setHabilitado(false); | |
| 306 | + this.getMotivosRejeicao().add(motivoRejeicao); | |
| 307 | + } | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/model/SolicitacaoAlcada.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/model/SolicitacaoAlcada.java | |
| ... | ... | @@ -0,0 +1,506 @@ |
| 1 | +package br.com.centralit.api.model; | |
| 2 | + | |
| 3 | +import java.math.BigDecimal; | |
| 4 | +import java.util.Calendar; | |
| 5 | +import java.util.List; | |
| 6 | + | |
| 7 | +import javax.persistence.CascadeType; | |
| 8 | +import javax.persistence.Column; | |
| 9 | +import javax.persistence.Entity; | |
| 10 | +import javax.persistence.FetchType; | |
| 11 | +import javax.persistence.GeneratedValue; | |
| 12 | +import javax.persistence.GenerationType; | |
| 13 | +import javax.persistence.Id; | |
| 14 | +import javax.persistence.ManyToOne; | |
| 15 | +import javax.persistence.OneToMany; | |
| 16 | +import javax.persistence.PrePersist; | |
| 17 | +import javax.persistence.Temporal; | |
| 18 | +import javax.persistence.TemporalType; | |
| 19 | +import javax.persistence.Transient; | |
| 20 | + | |
| 21 | +import br.com.centralit.api.framework.json.ViewsAlcada; | |
| 22 | +import br.com.centralit.api.framework.json.ViewsTabelasCorp; | |
| 23 | +import br.com.centralit.framework.json.JsonCalendarSimpleDateDeserializer; | |
| 24 | +import br.com.centralit.framework.json.JsonCalendarSimpleDateSerializer; | |
| 25 | +import br.com.centralit.framework.json.MoneyDeserializer; | |
| 26 | +import br.com.centralit.framework.json.Views; | |
| 27 | +import br.com.centralit.framework.model.Dominio; | |
| 28 | +import br.com.centralit.framework.model.Usuario; | |
| 29 | +import br.com.centralit.framework.model.arquitetura.PersistentObjectAudit; | |
| 30 | +import br.com.centralit.framework.util.UtilDate; | |
| 31 | + | |
| 32 | +import com.fasterxml.jackson.annotation.JsonView; | |
| 33 | +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; | |
| 34 | +import com.fasterxml.jackson.databind.annotation.JsonSerialize; | |
| 35 | + | |
| 36 | +/** | |
| 37 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 38 | + * | |
| 39 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 40 | + * | |
| 41 | + * <p><b>Title: </b></p> | |
| 42 | + * | |
| 43 | + * <p><b>Description: </b></p> | |
| 44 | + * | |
| 45 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 46 | + * | |
| 47 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 48 | + * | |
| 49 | + * @since 14/07/2015 - 13:57:20 | |
| 50 | + * | |
| 51 | + * @version 1.0.0 | |
| 52 | + * | |
| 53 | + * @author lucas.ribeiro - (<a href="mailto:lucas.centralit@gmail.com">lucas.centralit@gmail.com</a>) | |
| 54 | + * | |
| 55 | + */ | |
| 56 | +@Entity | |
| 57 | +public class SolicitacaoAlcada extends PersistentObjectAudit { | |
| 58 | + | |
| 59 | + /** Atributo serialVersionUID. */ | |
| 60 | + private static final long serialVersionUID = 1L; | |
| 61 | + | |
| 62 | + /** Atributo id. */ | |
| 63 | + @Id | |
| 64 | + @GeneratedValue(strategy = GenerationType.AUTO) | |
| 65 | + @JsonView({ Views.GenericView.class }) | |
| 66 | + private Long id; | |
| 67 | + | |
| 68 | + @JsonView({ Views.GenericView.class }) | |
| 69 | + private Integer ano; | |
| 70 | + | |
| 71 | + @JsonView({ Views.GenericView.class }) | |
| 72 | + private Integer mes; | |
| 73 | + | |
| 74 | + @ManyToOne(fetch = FetchType.LAZY, optional = false) | |
| 75 | + @JsonView({ ViewsTabelasCorp.SolicitacaoAlcadaView.class }) | |
| 76 | + private Alcada alcada; | |
| 77 | + | |
| 78 | + @ManyToOne(fetch = FetchType.LAZY, optional = false) | |
| 79 | + @JsonView({ ViewsTabelasCorp.SolicitacaoAlcadaView.class }) | |
| 80 | + private CentroResultado centroResultado; | |
| 81 | + | |
| 82 | + @ManyToOne(fetch = FetchType.LAZY, optional = true) | |
| 83 | + @JsonView({ ViewsTabelasCorp.SolicitacaoAlcadaView.class }) | |
| 84 | + private Usuario solicitante; | |
| 85 | + | |
| 86 | + @Column(nullable = false) | |
| 87 | + @Temporal(TemporalType.TIMESTAMP) | |
| 88 | + @JsonSerialize(using = JsonCalendarSimpleDateSerializer.class) | |
| 89 | + @JsonDeserialize(using = JsonCalendarSimpleDateDeserializer.class) | |
| 90 | + @JsonView({ ViewsTabelasCorp.SolicitacaoAlcadaView.class }) | |
| 91 | + private Calendar dataReferencia; | |
| 92 | + | |
| 93 | + @Column(nullable = false) | |
| 94 | + @JsonView({ ViewsTabelasCorp.SolicitacaoAlcadaView.class }) | |
| 95 | + protected String requisicaoOrigem; | |
| 96 | + | |
| 97 | + @JsonView({ ViewsTabelasCorp.SolicitacaoAlcadaView.class }) | |
| 98 | + protected String identificador; | |
| 99 | + | |
| 100 | + @ManyToOne(fetch = FetchType.LAZY, optional = true) | |
| 101 | + @JsonView({ ViewsTabelasCorp.SolicitacaoAlcadaView.class }) | |
| 102 | + private Dominio tipoUtilizacao; | |
| 103 | + | |
| 104 | + @Column(nullable = false, precision = 20, scale = 2) | |
| 105 | + @JsonDeserialize(using = MoneyDeserializer.class) | |
| 106 | + @JsonView({ Views.GenericView.class }) | |
| 107 | + private BigDecimal valor; | |
| 108 | + | |
| 109 | + @ManyToOne(fetch = FetchType.LAZY, optional = false) | |
| 110 | + @JsonView({ ViewsTabelasCorp.SolicitacaoAlcadaView.class, ViewsAlcada.RecuperacaoAlcadaView.class }) | |
| 111 | + private Dominio situacao; | |
| 112 | + | |
| 113 | + @ManyToOne(fetch = FetchType.LAZY, optional = true) | |
| 114 | + @JsonView({ ViewsTabelasCorp.SolicitacaoAlcadaView.class }) | |
| 115 | + private ResponsavelAlcada aprovador; | |
| 116 | + | |
| 117 | + @OneToMany(fetch = FetchType.LAZY, mappedBy = "solicitacaoAlcada", cascade = CascadeType.ALL) | |
| 118 | + @JsonView({ ViewsTabelasCorp.SolicitacaoAlcadaView.class, ViewsAlcada.RecuperacaoAlcadaView.class }) | |
| 119 | + private List<ResponsavelAlcada> responsaveis; | |
| 120 | + | |
| 121 | + @Transient | |
| 122 | + @JsonView({ ViewsTabelasCorp.SolicitacaoAlcadaView.class, ViewsAlcada.RecuperacaoAlcadaView.class }) | |
| 123 | + private String usernameAprovador; | |
| 124 | + | |
| 125 | + @Transient | |
| 126 | + @JsonView({ ViewsTabelasCorp.SolicitacaoAlcadaView.class }) | |
| 127 | + private Usuario usuarioAprovador; | |
| 128 | + | |
| 129 | + @Override | |
| 130 | + public Long getId() { | |
| 131 | + return this.id; | |
| 132 | + } | |
| 133 | + | |
| 134 | + public SolicitacaoAlcada() { | |
| 135 | + | |
| 136 | + } | |
| 137 | + | |
| 138 | + public SolicitacaoAlcada( final Alcada alcada, final CentroResultado centroResultado, final Usuario solicitante | |
| 139 | + , final Calendar dataReferencia, String requisicaoOrigem, Dominio tipoUtilizacao, BigDecimal valor) { | |
| 140 | + this.alcada = alcada; | |
| 141 | + this.centroResultado = centroResultado; | |
| 142 | + this.solicitante = solicitante; | |
| 143 | + this.dataReferencia = dataReferencia; | |
| 144 | + this.requisicaoOrigem = requisicaoOrigem; | |
| 145 | + this.tipoUtilizacao = tipoUtilizacao; | |
| 146 | + this.valor = valor; | |
| 147 | + } | |
| 148 | + | |
| 149 | + /** | |
| 150 | + * Retorna o valor do atributo <code>alcada</code> | |
| 151 | + * | |
| 152 | + * @return <code>Alcada</code> | |
| 153 | + */ | |
| 154 | + public Alcada getAlcada() { | |
| 155 | + | |
| 156 | + return alcada; | |
| 157 | + } | |
| 158 | + | |
| 159 | + | |
| 160 | + /** | |
| 161 | + * Define o valor do atributo <code>alcada</code>. | |
| 162 | + * | |
| 163 | + * @param alcada | |
| 164 | + */ | |
| 165 | + public void setAlcada(Alcada alcada) { | |
| 166 | + | |
| 167 | + this.alcada = alcada; | |
| 168 | + } | |
| 169 | + | |
| 170 | + | |
| 171 | + /** | |
| 172 | + * Retorna o valor do atributo <code>centroResultado</code> | |
| 173 | + * | |
| 174 | + * @return <code>CentroResultado</code> | |
| 175 | + */ | |
| 176 | + public CentroResultado getCentroResultado() { | |
| 177 | + | |
| 178 | + return centroResultado; | |
| 179 | + } | |
| 180 | + | |
| 181 | + | |
| 182 | + /** | |
| 183 | + * Define o valor do atributo <code>centroResultado</code>. | |
| 184 | + * | |
| 185 | + * @param centroResultado | |
| 186 | + */ | |
| 187 | + public void setCentroResultado(CentroResultado centroResultado) { | |
| 188 | + | |
| 189 | + this.centroResultado = centroResultado; | |
| 190 | + } | |
| 191 | + | |
| 192 | + | |
| 193 | + /** | |
| 194 | + * Retorna o valor do atributo <code>solicitante</code> | |
| 195 | + * | |
| 196 | + * @return <code>Usuario</code> | |
| 197 | + */ | |
| 198 | + public Usuario getSolicitante() { | |
| 199 | + | |
| 200 | + return solicitante; | |
| 201 | + } | |
| 202 | + | |
| 203 | + | |
| 204 | + /** | |
| 205 | + * Define o valor do atributo <code>solicitante</code>. | |
| 206 | + * | |
| 207 | + * @param solicitante | |
| 208 | + */ | |
| 209 | + public void setSolicitante(Usuario solicitante) { | |
| 210 | + | |
| 211 | + this.solicitante = solicitante; | |
| 212 | + } | |
| 213 | + | |
| 214 | + | |
| 215 | + /** | |
| 216 | + * Retorna o valor do atributo <code>dataReferencia</code> | |
| 217 | + * | |
| 218 | + * @return <code>Calendar</code> | |
| 219 | + */ | |
| 220 | + public Calendar getDataReferencia() { | |
| 221 | + | |
| 222 | + return dataReferencia; | |
| 223 | + } | |
| 224 | + | |
| 225 | + | |
| 226 | + /** | |
| 227 | + * Define o valor do atributo <code>dataReferencia</code>. | |
| 228 | + * | |
| 229 | + * @param dataReferencia | |
| 230 | + */ | |
| 231 | + public void setDataReferencia(Calendar dataReferencia) { | |
| 232 | + | |
| 233 | + this.dataReferencia = dataReferencia; | |
| 234 | + } | |
| 235 | + | |
| 236 | + | |
| 237 | + /** | |
| 238 | + * Retorna o valor do atributo <code>requisicaoOrigem</code> | |
| 239 | + * | |
| 240 | + * @return <code>String</code> | |
| 241 | + */ | |
| 242 | + public String getRequisicaoOrigem() { | |
| 243 | + | |
| 244 | + return requisicaoOrigem; | |
| 245 | + } | |
| 246 | + | |
| 247 | + | |
| 248 | + /** | |
| 249 | + * Define o valor do atributo <code>requisicaoOrigem</code>. | |
| 250 | + * | |
| 251 | + * @param requisicaoOrigem | |
| 252 | + */ | |
| 253 | + public void setRequisicaoOrigem(String requisicaoOrigem) { | |
| 254 | + | |
| 255 | + this.requisicaoOrigem = requisicaoOrigem; | |
| 256 | + } | |
| 257 | + | |
| 258 | + | |
| 259 | + /** | |
| 260 | + * Retorna o valor do atributo <code>tipoUtilizacao</code> | |
| 261 | + * | |
| 262 | + * @return <code>Dominio</code> | |
| 263 | + */ | |
| 264 | + public Dominio getTipoUtilizacao() { | |
| 265 | + | |
| 266 | + return tipoUtilizacao; | |
| 267 | + } | |
| 268 | + | |
| 269 | + | |
| 270 | + /** | |
| 271 | + * Define o valor do atributo <code>tipoUtilizacao</code>. | |
| 272 | + * | |
| 273 | + * @param tipoUtilizacao | |
| 274 | + */ | |
| 275 | + public void setTipoUtilizacao(Dominio tipoUtilizacao) { | |
| 276 | + | |
| 277 | + this.tipoUtilizacao = tipoUtilizacao; | |
| 278 | + } | |
| 279 | + | |
| 280 | + | |
| 281 | + /** | |
| 282 | + * Retorna o valor do atributo <code>valor</code> | |
| 283 | + * | |
| 284 | + * @return <code>BigDecimal</code> | |
| 285 | + */ | |
| 286 | + public BigDecimal getValor() { | |
| 287 | + | |
| 288 | + return valor; | |
| 289 | + } | |
| 290 | + | |
| 291 | + | |
| 292 | + /** | |
| 293 | + * Define o valor do atributo <code>valor</code>. | |
| 294 | + * | |
| 295 | + * @param valor | |
| 296 | + */ | |
| 297 | + public void setValor(BigDecimal valor) { | |
| 298 | + | |
| 299 | + this.valor = valor; | |
| 300 | + } | |
| 301 | + | |
| 302 | + | |
| 303 | + /** | |
| 304 | + * Retorna o valor do atributo <code>situacao</code> | |
| 305 | + * | |
| 306 | + * @return <code>Dominio</code> | |
| 307 | + */ | |
| 308 | + public Dominio getSituacao() { | |
| 309 | + | |
| 310 | + return situacao; | |
| 311 | + } | |
| 312 | + | |
| 313 | + | |
| 314 | + /** | |
| 315 | + * Define o valor do atributo <code>situacao</code>. | |
| 316 | + * | |
| 317 | + * @param situacao | |
| 318 | + */ | |
| 319 | + public void setSituacao(Dominio situacao) { | |
| 320 | + | |
| 321 | + this.situacao = situacao; | |
| 322 | + } | |
| 323 | + | |
| 324 | + | |
| 325 | + /** | |
| 326 | + * Retorna o valor do atributo <code>aprovador</code> | |
| 327 | + * | |
| 328 | + * @return <code>ResponsavelAlcada</code> | |
| 329 | + */ | |
| 330 | + public ResponsavelAlcada getAprovador() { | |
| 331 | + | |
| 332 | + return aprovador; | |
| 333 | + } | |
| 334 | + | |
| 335 | + | |
| 336 | + /** | |
| 337 | + * Retorna o valor do atributo <code>responsaveis</code> | |
| 338 | + * | |
| 339 | + * @return <code>Collection<ResponsavelAlcada></code> | |
| 340 | + */ | |
| 341 | + public List<ResponsavelAlcada> getResponsaveis() { | |
| 342 | + | |
| 343 | + return responsaveis; | |
| 344 | + } | |
| 345 | + | |
| 346 | + | |
| 347 | + /** | |
| 348 | + * Define o valor do atributo <code>responsaveis</code>. | |
| 349 | + * | |
| 350 | + * @param responsaveis | |
| 351 | + */ | |
| 352 | + public void setResponsaveis(List<ResponsavelAlcada> responsaveis) { | |
| 353 | + | |
| 354 | + this.responsaveis = responsaveis; | |
| 355 | + } | |
| 356 | + | |
| 357 | + | |
| 358 | + /** | |
| 359 | + * Define o valor do atributo <code>id</code>. | |
| 360 | + * | |
| 361 | + * @param id | |
| 362 | + */ | |
| 363 | + public void setId(Long id) { | |
| 364 | + | |
| 365 | + this.id = id; | |
| 366 | + } | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + /** | |
| 371 | + * Retorna o valor do atributo <code>ano</code> | |
| 372 | + * | |
| 373 | + * @return <code>Integer</code> | |
| 374 | + */ | |
| 375 | + public Integer getAno() { | |
| 376 | + | |
| 377 | + return ano; | |
| 378 | + } | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + /** | |
| 383 | + * Define o valor do atributo <code>ano</code>. | |
| 384 | + * | |
| 385 | + * @param ano | |
| 386 | + */ | |
| 387 | + public void setAno(Integer ano) { | |
| 388 | + | |
| 389 | + this.ano = ano; | |
| 390 | + } | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + /** | |
| 395 | + * Retorna o valor do atributo <code>mes</code> | |
| 396 | + * | |
| 397 | + * @return <code>Integer</code> | |
| 398 | + */ | |
| 399 | + public Integer getMes() { | |
| 400 | + | |
| 401 | + return mes; | |
| 402 | + } | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + /** | |
| 407 | + * Define o valor do atributo <code>mes</code>. | |
| 408 | + * | |
| 409 | + * @param mes | |
| 410 | + */ | |
| 411 | + public void setMes(Integer mes) { | |
| 412 | + | |
| 413 | + this.mes = mes; | |
| 414 | + } | |
| 415 | + | |
| 416 | + @PrePersist | |
| 417 | + protected void onPrePersist() { | |
| 418 | + super.onPrePersist(); | |
| 419 | + if(this.dataReferencia != null){ | |
| 420 | + int ano = new Integer(UtilDate.getAno(this.getDataReferencia().getTime())); | |
| 421 | + int mes = new Integer(UtilDate.getMes(this.getDataReferencia().getTime())); | |
| 422 | + | |
| 423 | + this.setMes(mes); | |
| 424 | + this.setAno(ano); | |
| 425 | + } | |
| 426 | + } | |
| 427 | + | |
| 428 | + | |
| 429 | + /** | |
| 430 | + * Retorna o valor do atributo <code>usernameAprovador</code> | |
| 431 | + * | |
| 432 | + * @return <code>String</code> | |
| 433 | + */ | |
| 434 | + public String getUsernameAprovador() { | |
| 435 | + | |
| 436 | + return usernameAprovador; | |
| 437 | + } | |
| 438 | + | |
| 439 | + | |
| 440 | + /** | |
| 441 | + * Define o valor do atributo <code>usernameAprovador</code>. | |
| 442 | + * | |
| 443 | + * @param usernameAprovador | |
| 444 | + */ | |
| 445 | + public void setUsernameAprovador(String usernameAprovador) { | |
| 446 | + | |
| 447 | + this.usernameAprovador = usernameAprovador; | |
| 448 | + } | |
| 449 | + | |
| 450 | + | |
| 451 | + /** | |
| 452 | + * Retorna o valor do atributo <code>usuarioAprovador</code> | |
| 453 | + * | |
| 454 | + * @return <code>Usuario</code> | |
| 455 | + */ | |
| 456 | + public Usuario getUsuarioAprovador() { | |
| 457 | + | |
| 458 | + return usuarioAprovador; | |
| 459 | + } | |
| 460 | + | |
| 461 | + | |
| 462 | + /** | |
| 463 | + * Define o valor do atributo <code>usuarioAprovador</code>. | |
| 464 | + * | |
| 465 | + * @param usuarioAprovador | |
| 466 | + */ | |
| 467 | + public void setUsuarioAprovador(Usuario usuarioAprovador) { | |
| 468 | + | |
| 469 | + this.usuarioAprovador = usuarioAprovador; | |
| 470 | + } | |
| 471 | + | |
| 472 | + | |
| 473 | + /** | |
| 474 | + * Retorna o valor do atributo <code>identificador</code> | |
| 475 | + * | |
| 476 | + * @return <code>String</code> | |
| 477 | + */ | |
| 478 | + public String getIdentificador() { | |
| 479 | + | |
| 480 | + return identificador; | |
| 481 | + } | |
| 482 | + | |
| 483 | + | |
| 484 | + /** | |
| 485 | + * Define o valor do atributo <code>identificador</code>. | |
| 486 | + * | |
| 487 | + * @param identificador | |
| 488 | + */ | |
| 489 | + public void setIdentificador(String identificador) { | |
| 490 | + | |
| 491 | + this.identificador = identificador; | |
| 492 | + } | |
| 493 | + | |
| 494 | + | |
| 495 | + /** | |
| 496 | + * Define o valor do atributo <code>aprovador</code>. | |
| 497 | + * | |
| 498 | + * @param aprovador | |
| 499 | + */ | |
| 500 | + public void setAprovador(ResponsavelAlcada aprovador) { | |
| 501 | + | |
| 502 | + this.aprovador = aprovador; | |
| 503 | + } | |
| 504 | + | |
| 505 | + | |
| 506 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/model/ValorAcumulado.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/model/ValorAcumulado.java | |
| ... | ... | @@ -0,0 +1,109 @@ |
| 1 | +package br.com.centralit.api.model; | |
| 2 | + | |
| 3 | +import java.io.Serializable; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 7 | + * | |
| 8 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 9 | + * | |
| 10 | + * <p><b>Title: </b></p> | |
| 11 | + * | |
| 12 | + * <p><b>Description: </b></p> | |
| 13 | + * | |
| 14 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 15 | + * | |
| 16 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 17 | + * | |
| 18 | + * @since 18/06/2015 - 16:57:20 | |
| 19 | + * | |
| 20 | + * @version 1.0.0 | |
| 21 | + * | |
| 22 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 23 | + * | |
| 24 | + */ | |
| 25 | +public class ValorAcumulado implements Serializable { | |
| 26 | + | |
| 27 | + /** Atributo serialVersionUID. */ | |
| 28 | + private static final long serialVersionUID = 1L; | |
| 29 | + | |
| 30 | + private NivelAutoridade nivelAutoridade; | |
| 31 | + | |
| 32 | + private float valor; | |
| 33 | + | |
| 34 | + private boolean rejeitado; | |
| 35 | + | |
| 36 | + public ValorAcumulado(NivelAutoridade nivelAutoridade) { | |
| 37 | + this.nivelAutoridade = nivelAutoridade; | |
| 38 | + this.valor = 0; | |
| 39 | + this.rejeitado = false; | |
| 40 | + } | |
| 41 | + | |
| 42 | + /** | |
| 43 | + * Retorna o valor do atributo <code>valor</code> | |
| 44 | + * | |
| 45 | + * @return <code>Float</code> | |
| 46 | + */ | |
| 47 | + public float getValor() { | |
| 48 | + | |
| 49 | + return valor; | |
| 50 | + } | |
| 51 | + | |
| 52 | + | |
| 53 | + /** | |
| 54 | + * Define o valor do atributo <code>valor</code>. | |
| 55 | + * | |
| 56 | + * @param valor | |
| 57 | + */ | |
| 58 | + public void setValor(float valor) { | |
| 59 | + | |
| 60 | + this.valor = valor; | |
| 61 | + } | |
| 62 | + | |
| 63 | + | |
| 64 | + /** | |
| 65 | + * Retorna o valor do atributo <code>nivelAutoridade</code> | |
| 66 | + * | |
| 67 | + * @return <code>NivelAutoridade</code> | |
| 68 | + */ | |
| 69 | + public NivelAutoridade getNivelAutoridade() { | |
| 70 | + | |
| 71 | + return nivelAutoridade; | |
| 72 | + } | |
| 73 | + | |
| 74 | + | |
| 75 | + /** | |
| 76 | + * Define o valor do atributo <code>nivelAutoridade</code>. | |
| 77 | + * | |
| 78 | + * @param nivelAutoridade | |
| 79 | + */ | |
| 80 | + public void setNivelAutoridade(NivelAutoridade nivelAutoridade) { | |
| 81 | + | |
| 82 | + this.nivelAutoridade = nivelAutoridade; | |
| 83 | + } | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + /** | |
| 88 | + * Retorna o valor do atributo <code>rejeitado</code> | |
| 89 | + * | |
| 90 | + * @return <code>boolean</code> | |
| 91 | + */ | |
| 92 | + public boolean isRejeitado() { | |
| 93 | + | |
| 94 | + return rejeitado; | |
| 95 | + } | |
| 96 | + | |
| 97 | + | |
| 98 | + /** | |
| 99 | + * Define o valor do atributo <code>rejeitado</code>. | |
| 100 | + * | |
| 101 | + * @param rejeitado | |
| 102 | + */ | |
| 103 | + public void setRejeitado(boolean rejeitado) { | |
| 104 | + | |
| 105 | + this.rejeitado = rejeitado; | |
| 106 | + } | |
| 107 | + | |
| 108 | + | |
| 109 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/package-info.java
0 → 100644
cit-alcada-api/src/main/java/br/com/centralit/api/service/CentroResultadoDelegacaoService.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/service/CentroResultadoDelegacaoService.java | |
| ... | ... | @@ -0,0 +1,36 @@ |
| 1 | +package br.com.centralit.api.service; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +import br.com.centralit.api.model.CentroResultadoDelegacao; | |
| 6 | +import br.com.centralit.framework.service.arquitetura.GenericService; | |
| 7 | + | |
| 8 | +/** | |
| 9 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 10 | + * | |
| 11 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 12 | + * | |
| 13 | + * <p><b>Title: </b></p> | |
| 14 | + * | |
| 15 | + * <p><b>Description: </b></p> | |
| 16 | + * | |
| 17 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 18 | + * | |
| 19 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 20 | + * | |
| 21 | + * @since 30/06/2015 - 14:10:14 | |
| 22 | + * | |
| 23 | + * @version 1.0.0 | |
| 24 | + * | |
| 25 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 26 | + * | |
| 27 | + */ | |
| 28 | +public interface CentroResultadoDelegacaoService extends GenericService<CentroResultadoDelegacao, Long> { | |
| 29 | + | |
| 30 | + public List<CentroResultadoDelegacao> buscaHistoricoDelegacoes(Long idCentroResultado); | |
| 31 | + | |
| 32 | + public List<CentroResultadoDelegacao> buscaHistoricoDelegacoesUsuario(Long idUsuario); | |
| 33 | + | |
| 34 | + public CentroResultadoDelegacao revogar(Long idCentroResultadoDelegacao); | |
| 35 | + | |
| 36 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/service/LimiteAprovacaoAlcadaService.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/service/LimiteAprovacaoAlcadaService.java | |
| ... | ... | @@ -0,0 +1,79 @@ |
| 1 | +package br.com.centralit.api.service; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +import br.com.centralit.api.model.Alcada; | |
| 6 | +import br.com.centralit.api.model.LimiteAprovacao; | |
| 7 | +import br.com.centralit.api.model.LimiteAprovacaoAlcada; | |
| 8 | +import br.com.centralit.framework.service.arquitetura.GenericService; | |
| 9 | + | |
| 10 | +/** | |
| 11 | + * <p> | |
| 12 | + * <img src="http://centralit.com.br/images/logo_central.png"> | |
| 13 | + * </p> | |
| 14 | + * | |
| 15 | + * <p> | |
| 16 | + * <b>Company: </b> Central IT - Governança Corporativa - | |
| 17 | + * </p> | |
| 18 | + * | |
| 19 | + * <p> | |
| 20 | + * <b>Title: </b> | |
| 21 | + * </p> | |
| 22 | + * | |
| 23 | + * <p> | |
| 24 | + * <b>Description: </b> | |
| 25 | + * </p> | |
| 26 | + * | |
| 27 | + * <p> | |
| 28 | + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> | |
| 29 | + * </p> | |
| 30 | + * | |
| 31 | + * <p> | |
| 32 | + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> | |
| 33 | + * </p> | |
| 34 | + * | |
| 35 | + * @since 23/06/2015 - 15:12:53 | |
| 36 | + * | |
| 37 | + * @version 1.0.0 | |
| 38 | + * | |
| 39 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 40 | + * | |
| 41 | + */ | |
| 42 | +public interface LimiteAprovacaoAlcadaService extends GenericService<LimiteAprovacaoAlcada, Long> { | |
| 43 | + | |
| 44 | + /** | |
| 45 | + * <p> | |
| 46 | + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> | |
| 47 | + * </p> | |
| 48 | + * | |
| 49 | + * <p> | |
| 50 | + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> | |
| 51 | + * </p> | |
| 52 | + * | |
| 53 | + * Método responsável por | |
| 54 | + * | |
| 55 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 56 | + * | |
| 57 | + * @param limiteAprovacao | |
| 58 | + */ | |
| 59 | + public void montarLimiteAprovacaoAlcada(LimiteAprovacao limiteAprovacao); | |
| 60 | + | |
| 61 | + /** | |
| 62 | + * <p> | |
| 63 | + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> | |
| 64 | + * </p> | |
| 65 | + * | |
| 66 | + * <p> | |
| 67 | + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> | |
| 68 | + * </p> | |
| 69 | + * | |
| 70 | + * Método responsável por | |
| 71 | + * | |
| 72 | + * @author renato.jesus | |
| 73 | + * | |
| 74 | + * @param alcada | |
| 75 | + * @return | |
| 76 | + */ | |
| 77 | + List<LimiteAprovacaoAlcada> findByAlcada(Alcada alcada); | |
| 78 | + | |
| 79 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/service/LimiteAprovacaoNivelAutoridadeService.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/service/LimiteAprovacaoNivelAutoridadeService.java | |
| ... | ... | @@ -0,0 +1,42 @@ |
| 1 | +package br.com.centralit.api.service; | |
| 2 | + | |
| 3 | +import br.com.centralit.api.model.LimiteAprovacao; | |
| 4 | +import br.com.centralit.api.model.LimiteAprovacaoNivelAutoridade; | |
| 5 | +import br.com.centralit.framework.service.arquitetura.GenericService; | |
| 6 | + | |
| 7 | +/** | |
| 8 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 9 | + * | |
| 10 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 11 | + * | |
| 12 | + * <p><b>Title: </b></p> | |
| 13 | + * | |
| 14 | + * <p><b>Description: </b></p> | |
| 15 | + * | |
| 16 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 17 | + * | |
| 18 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 19 | + * | |
| 20 | + * @since 23/06/2015 - 15:17:07 | |
| 21 | + * | |
| 22 | + * @version 1.0.0 | |
| 23 | + * | |
| 24 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 25 | + * | |
| 26 | + */ | |
| 27 | +public interface LimiteAprovacaoNivelAutoridadeService extends GenericService<LimiteAprovacaoNivelAutoridade, Long> { | |
| 28 | + | |
| 29 | + /** | |
| 30 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 31 | + * | |
| 32 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 33 | + * | |
| 34 | + * Método responsável por | |
| 35 | + * | |
| 36 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 37 | + * | |
| 38 | + * @param limiteAprovacao | |
| 39 | + */ | |
| 40 | + public void montarLimiteAprovacaoNivelAutoridade(LimiteAprovacao limiteAprovacao); | |
| 41 | + | |
| 42 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/service/LimiteAprovacaoService.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/service/LimiteAprovacaoService.java | |
| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | +package br.com.centralit.api.service; | |
| 2 | + | |
| 3 | +import br.com.centralit.api.model.LimiteAprovacao; | |
| 4 | +import br.com.centralit.framework.service.arquitetura.GenericService; | |
| 5 | + | |
| 6 | +/** | |
| 7 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 8 | + * | |
| 9 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 10 | + * | |
| 11 | + * <p><b>Title: </b></p> | |
| 12 | + * | |
| 13 | + * <p><b>Description: </b></p> | |
| 14 | + * | |
| 15 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 16 | + * | |
| 17 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 18 | + * | |
| 19 | + * @since 18/06/2015 - 16:57:38 | |
| 20 | + * | |
| 21 | + * @version 1.0.0 | |
| 22 | + * | |
| 23 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 24 | + * | |
| 25 | + */ | |
| 26 | +public interface LimiteAprovacaoService extends GenericService<LimiteAprovacao, Long> {} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/service/LimiteAprovacaoValorService.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/service/LimiteAprovacaoValorService.java | |
| ... | ... | @@ -0,0 +1,42 @@ |
| 1 | +package br.com.centralit.api.service; | |
| 2 | + | |
| 3 | +import br.com.centralit.api.model.LimiteAprovacao; | |
| 4 | +import br.com.centralit.api.model.LimiteAprovacaoValor; | |
| 5 | +import br.com.centralit.framework.service.arquitetura.GenericService; | |
| 6 | + | |
| 7 | +/** | |
| 8 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 9 | + * | |
| 10 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 11 | + * | |
| 12 | + * <p><b>Title: </b></p> | |
| 13 | + * | |
| 14 | + * <p><b>Description: </b></p> | |
| 15 | + * | |
| 16 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 17 | + * | |
| 18 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 19 | + * | |
| 20 | + * @since 18/06/2015 - 16:57:07 | |
| 21 | + * | |
| 22 | + * @version 1.0.0 | |
| 23 | + * | |
| 24 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 25 | + * | |
| 26 | + */ | |
| 27 | +public interface LimiteAprovacaoValorService extends GenericService<LimiteAprovacaoValor, Long> { | |
| 28 | + | |
| 29 | + /** | |
| 30 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 31 | + * | |
| 32 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 33 | + * | |
| 34 | + * Método responsável por | |
| 35 | + * | |
| 36 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 37 | + * | |
| 38 | + * @param limiteAprovacao | |
| 39 | + */ | |
| 40 | + public void montarLimiteAprovacaoValor(LimiteAprovacao limiteAprovacao); | |
| 41 | + | |
| 42 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/service/SolicitacaoAlcadaService.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/service/SolicitacaoAlcadaService.java | |
| ... | ... | @@ -0,0 +1,116 @@ |
| 1 | +package br.com.centralit.api.service; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +import br.com.centralit.api.model.Alcada; | |
| 6 | +import br.com.centralit.api.model.ResponsavelAlcada; | |
| 7 | +import br.com.centralit.api.model.SolicitacaoAlcada; | |
| 8 | +import br.com.centralit.framework.model.Usuario; | |
| 9 | +import br.com.centralit.framework.service.arquitetura.GenericService; | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 13 | + * | |
| 14 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 15 | + * | |
| 16 | + * <p><b>Title: </b></p> | |
| 17 | + * | |
| 18 | + * <p><b>Description: </b></p> | |
| 19 | + * | |
| 20 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 21 | + * | |
| 22 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 23 | + * | |
| 24 | + * @since 18/06/2015 - 16:57:07 | |
| 25 | + * | |
| 26 | + * @version 1.0.0 | |
| 27 | + * | |
| 28 | + * @author lucas.ribeiro - (<a href="mailto:lucas.centralit@gmail.com">lucas.centralit@gmail.com</a>) | |
| 29 | + * | |
| 30 | + */ | |
| 31 | +public interface SolicitacaoAlcadaService extends GenericService<SolicitacaoAlcada, Long> { | |
| 32 | + | |
| 33 | + /** | |
| 34 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 35 | + * | |
| 36 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 37 | + * | |
| 38 | + * Método responsável por retornar os autorizadores de uma solicitação de alçada | |
| 39 | + * | |
| 40 | + * @author Carlos | |
| 41 | + * | |
| 42 | + * @param solicitacaoAlcada | |
| 43 | + * @return | |
| 44 | + */ | |
| 45 | + public List<ResponsavelAlcada> getResponsaveis(SolicitacaoAlcada solicitacaoAlcada); | |
| 46 | + | |
| 47 | + /** | |
| 48 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 49 | + * | |
| 50 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 51 | + * | |
| 52 | + * Método responsável por autorizar um pedido de alçada | |
| 53 | + * | |
| 54 | + * @author Carlos | |
| 55 | + * | |
| 56 | + * @param solicitacaoAlcada | |
| 57 | + * @return | |
| 58 | + */ | |
| 59 | + public SolicitacaoAlcada aprovaSolicitacao(SolicitacaoAlcada solicitacaoAlcada, Usuario aprovador); | |
| 60 | + | |
| 61 | + /** | |
| 62 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 63 | + * | |
| 64 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 65 | + * | |
| 66 | + * Método responsável por cancelar a autorização de um pedido de alçada | |
| 67 | + * | |
| 68 | + * @author Carlos | |
| 69 | + * | |
| 70 | + * @param voucher | |
| 71 | + */ | |
| 72 | + public SolicitacaoAlcada cancelaAprovacao(SolicitacaoAlcada solicitacaoAlcada); | |
| 73 | + | |
| 74 | + /** | |
| 75 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 76 | + * | |
| 77 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 78 | + * | |
| 79 | + * Método responsável por autorizar um pedido de alçada | |
| 80 | + * | |
| 81 | + * @author Carlos | |
| 82 | + * | |
| 83 | + * @param solicitacaoAlcada | |
| 84 | + * @return | |
| 85 | + */ | |
| 86 | + public SolicitacaoAlcada aprovaPeloIdentificador(SolicitacaoAlcada solicitacaoAlcada); | |
| 87 | + | |
| 88 | + /** | |
| 89 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 90 | + * | |
| 91 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 92 | + * | |
| 93 | + * Método responsável por recuperar uma alçada pelo identificador único | |
| 94 | + * | |
| 95 | + * @author Carlos | |
| 96 | + * | |
| 97 | + * @param solicitacaoAlcada | |
| 98 | + * @return | |
| 99 | + */ | |
| 100 | + public SolicitacaoAlcada recuperaSolicitacao(Alcada alcada, String identificadorUnico); | |
| 101 | + | |
| 102 | + /** | |
| 103 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 104 | + * | |
| 105 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 106 | + * | |
| 107 | + * Método responsável por autorizar um pedido de alçada | |
| 108 | + * | |
| 109 | + * @author Carlos | |
| 110 | + * | |
| 111 | + * @param solicitacaoAlcada | |
| 112 | + * @return | |
| 113 | + */ | |
| 114 | + public Object cancelaAprovacaoPeloIdentificador(SolicitacaoAlcada solicitacaoAlcada); | |
| 115 | + | |
| 116 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/service/impl/CentroResultadoDelegacaoServiceImpl.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/service/impl/CentroResultadoDelegacaoServiceImpl.java | |
| ... | ... | @@ -0,0 +1,217 @@ |
| 1 | +package br.com.centralit.api.service.impl; | |
| 2 | + | |
| 3 | +import java.util.ArrayList; | |
| 4 | +import java.util.List; | |
| 5 | + | |
| 6 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 7 | +import org.springframework.beans.factory.annotation.Qualifier; | |
| 8 | +import org.springframework.stereotype.Service; | |
| 9 | +import org.springframework.validation.Validator; | |
| 10 | + | |
| 11 | +import br.com.centralit.api.dao.CentroResultadoDelegacaoDao; | |
| 12 | +import br.com.centralit.api.model.Alcada; | |
| 13 | +import br.com.centralit.api.model.CentroResultadoDelegacao; | |
| 14 | +import br.com.centralit.api.model.CentroResultadoDelegacaoRequisicao; | |
| 15 | +import br.com.centralit.api.model.Colaborador; | |
| 16 | +import br.com.centralit.api.service.CentroResultadoDelegacaoService; | |
| 17 | +import br.com.centralit.api.service.CentroResultadoResponsavelAlcadaService; | |
| 18 | +import br.com.centralit.api.service.ColaboradorService; | |
| 19 | +import br.com.centralit.framework.esi.enumerated.VariableTypeEnum; | |
| 20 | +import br.com.centralit.framework.esi.environment.EnvironmentVariable; | |
| 21 | +import br.com.centralit.framework.exception.BusinessException; | |
| 22 | +import br.com.centralit.framework.exception.CodigoErro; | |
| 23 | +import br.com.centralit.framework.model.Usuario; | |
| 24 | +import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; | |
| 25 | +import br.com.centralit.framework.util.UtilColecao; | |
| 26 | +import br.com.centralit.framework.util.UtilDate; | |
| 27 | +import br.com.centralit.framework.util.UtilObjeto; | |
| 28 | +import br.com.centralit.framework.util.UtilString; | |
| 29 | + | |
| 30 | +/** | |
| 31 | + * <p> | |
| 32 | + * <img src="http://centralit.com.br/images/logo_central.png"> | |
| 33 | + * </p> | |
| 34 | + * | |
| 35 | + * <p> | |
| 36 | + * <b>Company: </b> Central IT - Governança Corporativa - | |
| 37 | + * </p> | |
| 38 | + * | |
| 39 | + * <p> | |
| 40 | + * <b>Title: </b> | |
| 41 | + * </p> | |
| 42 | + * | |
| 43 | + * <p> | |
| 44 | + * <b>Description: </b> | |
| 45 | + * </p> | |
| 46 | + * | |
| 47 | + * <p> | |
| 48 | + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> | |
| 49 | + * </p> | |
| 50 | + * | |
| 51 | + * <p> | |
| 52 | + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> | |
| 53 | + * </p> | |
| 54 | + * | |
| 55 | + * @since 30/06/2015 - 14:10:09 | |
| 56 | + * | |
| 57 | + * @version 1.0.0 | |
| 58 | + * | |
| 59 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 60 | + * | |
| 61 | + */ | |
| 62 | +@Service("centroResultadoDelegacaoService") | |
| 63 | +public class CentroResultadoDelegacaoServiceImpl extends GenericServiceImpl<CentroResultadoDelegacao, Long> implements CentroResultadoDelegacaoService { | |
| 64 | + | |
| 65 | + /** Atributo centroResultadoResponsavelAlcadaService. */ | |
| 66 | + @Autowired | |
| 67 | + private CentroResultadoResponsavelAlcadaService centroResultadoResponsavelAlcadaService; | |
| 68 | + | |
| 69 | + @Autowired | |
| 70 | + private ColaboradorService colaboradorService; | |
| 71 | + | |
| 72 | + private CentroResultadoDelegacaoDao centroResultadoDelegacaoDao; | |
| 73 | + | |
| 74 | + private void disparaFluxoDelegacao(CentroResultadoDelegacao centroResultadoDelegacao) { | |
| 75 | + | |
| 76 | + Alcada alcada = centroResultadoDelegacao.getCentroResultadoResponsavelAlcada().getAlcada(); | |
| 77 | + if (!UtilString.isNullOrEmpty(alcada.getFluxoDelegacao())) { | |
| 78 | + Usuario usuario = centroResultadoDelegacao.getCentroResultadoResponsavelAlcada().getCentroResultadoResponsavel().getResponsavel().getPessoa().getUsuario(); | |
| 79 | + if (!UtilObjeto.isReferencia(usuario)) { | |
| 80 | + throw new BusinessException("MSG.USUARIO_NAO_ASSOCIADO_RESPONSAVEL", CodigoErro.REGRA_NEGOCIO.getValue()); | |
| 81 | + } | |
| 82 | + String responsavel = usuario.getUsername(); | |
| 83 | + | |
| 84 | + Colaborador colaborador = colaboradorService.getReference(centroResultadoDelegacao.getDelegado().getId()); | |
| 85 | + usuario = colaborador.getPessoa().getUsuario(); | |
| 86 | + if (!UtilObjeto.isReferencia(usuario)) { | |
| 87 | + throw new BusinessException("MSG.USUARIO_NAO_ASSOCIADO_DELEGACAO", CodigoErro.REGRA_NEGOCIO.getValue()); | |
| 88 | + } | |
| 89 | + String delegado = usuario.getUsername(); | |
| 90 | + | |
| 91 | + String abrangencia = centroResultadoDelegacao.getDominioTipoAbrangenciaDelegacao().getNome(); | |
| 92 | + | |
| 93 | + List<EnvironmentVariable> variaveis = new ArrayList<EnvironmentVariable>(); | |
| 94 | + variaveis.add(new EnvironmentVariable("alcada", VariableTypeEnum.TEXT, alcada.getIdentificador(), false)); | |
| 95 | + variaveis.add(new EnvironmentVariable("responsavel", VariableTypeEnum.TEXT, responsavel, false)); | |
| 96 | + variaveis.add(new EnvironmentVariable("delegado", VariableTypeEnum.TEXT, delegado, false)); | |
| 97 | + variaveis.add(new EnvironmentVariable("abrangencia", VariableTypeEnum.TEXT, abrangencia, false)); | |
| 98 | + variaveis.add(new EnvironmentVariable("requisicoes", VariableTypeEnum.JAVAOBJECT, centroResultadoDelegacao.getRequisicoesStr(), false)); | |
| 99 | + | |
| 100 | + this.startProcess(alcada.getFluxoDelegacao(), variaveis); | |
| 101 | + } | |
| 102 | + } | |
| 103 | + | |
| 104 | + @Autowired | |
| 105 | + public CentroResultadoDelegacaoServiceImpl( CentroResultadoDelegacaoDao centroResultadoDelegacaoDao, @Qualifier("centroResultadoDelegacaoValidator") Validator validator ) { | |
| 106 | + | |
| 107 | + this.dao = centroResultadoDelegacaoDao; | |
| 108 | + this.centroResultadoDelegacaoDao = centroResultadoDelegacaoDao; | |
| 109 | + this.validator = validator; | |
| 110 | + } | |
| 111 | + | |
| 112 | + @Override | |
| 113 | + public CentroResultadoDelegacao save(CentroResultadoDelegacao centroResultadoDelegacao) { | |
| 114 | + | |
| 115 | + // VALIDA CAMPO OBRIGATÓRIO DA ENTIDADE | |
| 116 | + if (UtilObjeto.isReferencia(this.validator)) { | |
| 117 | + this.validarEntidade(centroResultadoDelegacao, this.validator); | |
| 118 | + } | |
| 119 | + | |
| 120 | + this.existeDelegacaoParaDelegadoNaAlcadaENoPeriodoSeleciona(centroResultadoDelegacao); | |
| 121 | + | |
| 122 | + montaCentroResultadoDelegacao(centroResultadoDelegacao); | |
| 123 | + | |
| 124 | + // SALVA A TRANSFERÊNCIA | |
| 125 | + CentroResultadoDelegacao entitySaved = (CentroResultadoDelegacao) this.centroResultadoDelegacaoDao.save(centroResultadoDelegacao); | |
| 126 | + | |
| 127 | + this.disparaFluxoDelegacao(entitySaved); | |
| 128 | + | |
| 129 | + return entitySaved; | |
| 130 | + } | |
| 131 | + | |
| 132 | + @Override | |
| 133 | + public CentroResultadoDelegacao merge(CentroResultadoDelegacao entity) { | |
| 134 | + | |
| 135 | + return super.merge(entity); | |
| 136 | + } | |
| 137 | + | |
| 138 | + @Override | |
| 139 | + public List<CentroResultadoDelegacao> saveList(List<CentroResultadoDelegacao> centroResultadoDelegacaoList) { | |
| 140 | + | |
| 141 | + if (!UtilColecao.isVazio(centroResultadoDelegacaoList)) { | |
| 142 | + for (CentroResultadoDelegacao centroResultadoDelegacao : centroResultadoDelegacaoList) { | |
| 143 | + | |
| 144 | + this.save(centroResultadoDelegacao); | |
| 145 | + | |
| 146 | + } | |
| 147 | + | |
| 148 | + return super.saveList(centroResultadoDelegacaoList); | |
| 149 | + } | |
| 150 | + | |
| 151 | + return new ArrayList<CentroResultadoDelegacao>(); | |
| 152 | + } | |
| 153 | + | |
| 154 | + private void existeDelegacaoParaDelegadoNaAlcadaENoPeriodoSeleciona(CentroResultadoDelegacao centroResultadoDelegacao) { | |
| 155 | + | |
| 156 | + if (this.centroResultadoDelegacaoDao.existeDelegacaoParaDelegadoNaAlcadaENoPeriodoSeleciona(centroResultadoDelegacao)) { | |
| 157 | + throw new BusinessException("MSG.EXISTE_DELEGACAO_RESPONSAVEL_ALCADA_SELECIONADA", CodigoErro.REGRA_NEGOCIO.getValue()); | |
| 158 | + } | |
| 159 | + } | |
| 160 | + | |
| 161 | + private void montaCentroResultadoDelegacao(CentroResultadoDelegacao centroResultadoDelegacao) { | |
| 162 | + | |
| 163 | + // MONTA OS DADOS DO OBJETO CENTRORESULTADODELEGACAO | |
| 164 | + centroResultadoDelegacao.setCentroResultadoResponsavelAlcada(this.centroResultadoResponsavelAlcadaService.find(centroResultadoDelegacao.getCentroResultadoResponsavelAlcada().getId())); | |
| 165 | + | |
| 166 | + this.resolveReferenciaCentroResultadoDelegacaoInCentroResultadoDelegacaoRequisicoes(centroResultadoDelegacao); | |
| 167 | + } | |
| 168 | + | |
| 169 | + /** | |
| 170 | + * <p> | |
| 171 | + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> | |
| 172 | + * </p> | |
| 173 | + * | |
| 174 | + * <p> | |
| 175 | + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> | |
| 176 | + * </p> | |
| 177 | + * | |
| 178 | + * Método responsável por | |
| 179 | + * | |
| 180 | + * @author renato.jesus | |
| 181 | + * | |
| 182 | + * @param centroResultadoDelegacao | |
| 183 | + */ | |
| 184 | + private void resolveReferenciaCentroResultadoDelegacaoInCentroResultadoDelegacaoRequisicoes(CentroResultadoDelegacao centroResultadoDelegacao) { | |
| 185 | + | |
| 186 | + if (!UtilColecao.isVazio(centroResultadoDelegacao.getRequisicoes())) { | |
| 187 | + for (CentroResultadoDelegacaoRequisicao centroResultadoDelegacaoRequisicao : centroResultadoDelegacao.getRequisicoes()) { | |
| 188 | + centroResultadoDelegacaoRequisicao.setCentroResultadoDelegacao(centroResultadoDelegacao); | |
| 189 | + } | |
| 190 | + } | |
| 191 | + } | |
| 192 | + | |
| 193 | + @Override | |
| 194 | + public List<CentroResultadoDelegacao> buscaHistoricoDelegacoes(Long idCentroResultado) { | |
| 195 | + | |
| 196 | + return centroResultadoDelegacaoDao.buscaHistoricoDelegacoes(idCentroResultado); | |
| 197 | + } | |
| 198 | + | |
| 199 | + @Override | |
| 200 | + public List<CentroResultadoDelegacao> buscaHistoricoDelegacoesUsuario(Long idUsuario) { | |
| 201 | + | |
| 202 | + return centroResultadoDelegacaoDao.buscaHistoricoDelegacoesUsuario(idUsuario); | |
| 203 | + } | |
| 204 | + | |
| 205 | + @Override | |
| 206 | + public CentroResultadoDelegacao revogar(Long idCentroResultadoDelegacao) { | |
| 207 | + | |
| 208 | + CentroResultadoDelegacao centroResultadoDelegacao = this.find(idCentroResultadoDelegacao); | |
| 209 | + centroResultadoDelegacao.setRevogada(true); | |
| 210 | + centroResultadoDelegacao.setResponsavelRevogacao(this.getUsuario()); | |
| 211 | + centroResultadoDelegacao.setDataRevogacao(UtilDate.getDataAtualCalendar()); | |
| 212 | + | |
| 213 | + CentroResultadoDelegacao entityUpdated = merge(centroResultadoDelegacao); | |
| 214 | + return entityUpdated; | |
| 215 | + } | |
| 216 | + | |
| 217 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/service/impl/InicializarAlcadaServiceImpl.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/service/impl/InicializarAlcadaServiceImpl.java | |
| ... | ... | @@ -0,0 +1,252 @@ |
| 1 | +package br.com.centralit.api.service.impl; | |
| 2 | + | |
| 3 | +import java.io.IOException; | |
| 4 | +import java.sql.Connection; | |
| 5 | +import java.sql.SQLException; | |
| 6 | +import java.sql.Statement; | |
| 7 | +import java.util.List; | |
| 8 | + | |
| 9 | +import javax.sql.DataSource; | |
| 10 | + | |
| 11 | +import net.sf.jasperreports.engine.JRException; | |
| 12 | + | |
| 13 | +import org.apache.log4j.Logger; | |
| 14 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 15 | +import org.springframework.stereotype.Service; | |
| 16 | + | |
| 17 | +import br.com.centralit.api.service.DefaultFileService; | |
| 18 | +import br.com.centralit.api.service.DominioService; | |
| 19 | +import br.com.centralit.api.service.MenuService; | |
| 20 | +import br.com.centralit.api.service.ModuloService; | |
| 21 | +import br.com.centralit.api.service.PaginaService; | |
| 22 | +import br.com.centralit.framework.model.Menu; | |
| 23 | +import br.com.centralit.framework.model.MenuFile; | |
| 24 | +import br.com.centralit.framework.model.Pagina; | |
| 25 | +import br.com.centralit.framework.model.UtilStartup; | |
| 26 | + | |
| 27 | +@SuppressWarnings("unused") | |
| 28 | +@Service("inicializarAlcadaService") | |
| 29 | +public class InicializarAlcadaServiceImpl extends UtilStartup { | |
| 30 | + | |
| 31 | + @Autowired | |
| 32 | + private ModuloService moduloService; | |
| 33 | + | |
| 34 | + @Autowired | |
| 35 | + private DataSource citDataSource; | |
| 36 | + | |
| 37 | + /** Atributo menuService. */ | |
| 38 | + @Autowired | |
| 39 | + private MenuService menuService; | |
| 40 | + | |
| 41 | + /** Atributo dominioService. */ | |
| 42 | + @Autowired | |
| 43 | + private DominioService dominioService; | |
| 44 | + | |
| 45 | + /** Atributo paginaService. */ | |
| 46 | + @Autowired | |
| 47 | + private PaginaService paginaService; | |
| 48 | + | |
| 49 | + /** Atributo defaultFileService. */ | |
| 50 | + @Autowired | |
| 51 | + private DefaultFileService defaultFileService; | |
| 52 | + | |
| 53 | + /** Atributo menuModuloAlcada. */ | |
| 54 | + private Menu menuModuloAlcada; | |
| 55 | + | |
| 56 | + static final Logger LOG = Logger.getLogger(InicializarAlcadaServiceImpl.class); | |
| 57 | + | |
| 58 | + public void gerarCarga() { | |
| 59 | + criarPaginasMenus(); | |
| 60 | + } | |
| 61 | + | |
| 62 | + /** | |
| 63 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 64 | + * | |
| 65 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 66 | + * | |
| 67 | + * Método responsável por criar paginas e menus do modulo | |
| 68 | + * | |
| 69 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 70 | + * | |
| 71 | + */ | |
| 72 | + private void criarPaginasMenus() { | |
| 73 | + | |
| 74 | + dominioJS = this.dominioService.findByChaveAndNome(TIPO_FILE, TIPO_FILE_JS); | |
| 75 | + moduloSelecionado = this.moduloService.getModuloPorBaseUrl(BASE_URL_ALCADA, null); | |
| 76 | + | |
| 77 | + // Menu pai Alçadas | |
| 78 | + this.menuModuloAlcada = new Menu("Alçadas", null, null, null, 6, COR_ALCADA, CSS_MENU_ALCADA, OPACIDADE_MENU_ALCADA, CLASSE_ALCADA, ICONE_MENU_ALCADA, moduloSelecionado); | |
| 79 | + this.menuModuloAlcada = this.menuService.mergeIfNotExist(this.menuModuloAlcada); | |
| 80 | + | |
| 81 | + // Submenu Cadastros | |
| 82 | + Menu menuCadastros = new Menu("Cadastros", null, menuModuloAlcada, 0, 1, null, null, null, null, moduloSelecionado); | |
| 83 | + menuCadastros = this.menuService.mergeIfNotExist(menuCadastros); | |
| 84 | + | |
| 85 | + Pagina pgAlcada = new Pagina("Alçada", "/cit-alcada-web/html/alcada/alcada.html"); | |
| 86 | + pgAlcada = this.paginaService.saveIfNotExist(pgAlcada); | |
| 87 | + Menu menuAlcada = new Menu("Alçada", pgAlcada, menuCadastros, null, 2, null, null, null, null, moduloSelecionado); | |
| 88 | + menuAlcada.setIncludes(this.gerarArquivosMenu(menuAlcada, CIT_ALCADA_WEB_ANGULAR_CUSTOM, "Alcada", true, true, true)); | |
| 89 | + this.menuService.mergeIfNotExist(menuAlcada); | |
| 90 | + // Menu Alçada | |
| 91 | + Pagina pgCentroResultado = new Pagina("Centro de resultado", "/cit-alcada-web/html/centroResultado/centroResultado.html"); | |
| 92 | + pgCentroResultado = this.paginaService.saveIfNotExist(pgCentroResultado); | |
| 93 | + Menu menuCentroResultado = new Menu("Centro de resultado", pgCentroResultado, menuCadastros, null, 3, null, null, null, null, moduloSelecionado); | |
| 94 | + List<MenuFile> filesMenuFileCentroResultado = this.gerarArquivosMenu(menuCentroResultado, CIT_ALCADA_WEB_ANGULAR_CUSTOM, "CentroResultado", true, true, true); | |
| 95 | + filesMenuFileCentroResultado.addAll(this.gerarArquivosMenu(menuCentroResultado, CIT_ALCADA_WEB_ANGULAR_CUSTOM, "CentroResultadoAlcadaResponsavel", true, true, true)); | |
| 96 | + filesMenuFileCentroResultado.add(new MenuFile(CIT_ALCADA_WEB_ANGULAR_CUSTOM + "repository/CentroResultadoResponsavelRepository.js", this.dominioJS, menuCentroResultado)); | |
| 97 | + filesMenuFileCentroResultado.add(new MenuFile(CIT_ALCADA_WEB_ANGULAR_CUSTOM + "repository/CentroResultadoResponsavelRepository.min.js", this.dominioJS, menuCentroResultado)); | |
| 98 | + menuCentroResultado.setIncludes(filesMenuFileCentroResultado); | |
| 99 | + this.menuService.mergeIfNotExist(menuCentroResultado); | |
| 100 | + // Menu Alçada | |
| 101 | + Pagina pgLimiteAprovacao = new Pagina("Limite de aprovação", "/cit-alcada-web/html/limiteAprovacao/limiteAprovacao.html"); | |
| 102 | + pgLimiteAprovacao = this.paginaService.saveIfNotExist(pgLimiteAprovacao); | |
| 103 | + Menu menuLimiteAprovacao = new Menu("Limite de aprovação", pgLimiteAprovacao, menuCadastros, null, 4, null, null, null, null, moduloSelecionado); | |
| 104 | + menuLimiteAprovacao.setIncludes(this.gerarArquivosMenu(menuLimiteAprovacao, CIT_ALCADA_WEB_ANGULAR_CUSTOM, "LimiteAprovacao", true, true, true)); | |
| 105 | + this.menuService.mergeIfNotExist(menuLimiteAprovacao); | |
| 106 | + | |
| 107 | + // Submenu Delegação | |
| 108 | + Menu menuDelegacao = new Menu("Delegação", null, menuModuloAlcada, 0, 2, null, null, null, null, moduloSelecionado); | |
| 109 | + menuDelegacao = this.menuService.mergeIfNotExist(menuDelegacao); | |
| 110 | + // Menu Delegação de alçada | |
| 111 | + Pagina pgCentroResultadoDelegacao = new Pagina("Delegação por Centro de Resultado", "/cit-alcada-web/html/centroResultadoDelegacao/centroResultadoDelegacao.html"); | |
| 112 | + pgCentroResultadoDelegacao = this.paginaService.saveIfNotExist(pgCentroResultadoDelegacao); | |
| 113 | + Menu menuCentroResultadoDelegacao = new Menu("Delegação por Centro de Resultado", pgCentroResultadoDelegacao, menuDelegacao, null, 1, null, null, null, null, moduloSelecionado); | |
| 114 | + List<MenuFile> filesMenuFileCentroResultadoDelegacao = this.gerarArquivosMenu(menuCentroResultadoDelegacao, CIT_ALCADA_WEB_ANGULAR_CUSTOM, "CentroResultadoDelegacao", true, false, true); | |
| 115 | + filesMenuFileCentroResultadoDelegacao.add(new MenuFile(CIT_ALCADA_WEB_ANGULAR_CUSTOM + "repository/CentroResultadoResponsavelAlcadaRepository.js", this.dominioJS, menuCentroResultadoDelegacao)); | |
| 116 | + filesMenuFileCentroResultadoDelegacao.add(new MenuFile(CIT_ALCADA_WEB_ANGULAR_CUSTOM + "repository/CentroResultadoResponsavelAlcadaRepository.min.js", this.dominioJS, menuCentroResultadoDelegacao)); | |
| 117 | + filesMenuFileCentroResultadoDelegacao.add(new MenuFile(CIT_ALCADA_WEB_ANGULAR_CUSTOM + "repository/SolicitacaoAlcadaRepository.js", this.dominioJS, menuCentroResultadoDelegacao)); | |
| 118 | + filesMenuFileCentroResultadoDelegacao.add(new MenuFile(CIT_ALCADA_WEB_ANGULAR_CUSTOM + "repository/SolicitacaoAlcadaRepository.min.js", this.dominioJS, menuCentroResultadoDelegacao)); | |
| 119 | + menuCentroResultadoDelegacao.setIncludes(filesMenuFileCentroResultadoDelegacao); | |
| 120 | + this.menuService.mergeIfNotExist(menuCentroResultadoDelegacao); | |
| 121 | + | |
| 122 | + // Menu Delegação de alçada pelo Responsável | |
| 123 | + Pagina pgCentroResultadoDelegacaoResponsavel = new Pagina("Delegação pelo Responsável", "/cit-alcada-web/html/centroResultadoDelegacaoResponsavel/centroResultadoDelegacaoResponsavel.html"); | |
| 124 | + pgCentroResultadoDelegacaoResponsavel = this.paginaService.saveIfNotExist(pgCentroResultadoDelegacaoResponsavel); | |
| 125 | + Menu menuCentroResultadoDelegacaoResponsavel = new Menu("Delegação pelo Responsável", pgCentroResultadoDelegacaoResponsavel, menuDelegacao, null, 2, null, null, null, null, moduloSelecionado); | |
| 126 | + List<MenuFile> filesMenuFileCentroResultadoDelegacaoResponsavel = this.gerarArquivosMenu(menuCentroResultadoDelegacaoResponsavel, CIT_ALCADA_WEB_ANGULAR_CUSTOM, "CentroResultadoDelegacaoResponsavel", true, false, false); | |
| 127 | + menuCentroResultadoDelegacaoResponsavel.setIncludes(filesMenuFileCentroResultadoDelegacaoResponsavel); | |
| 128 | + this.menuService.mergeIfNotExist(menuCentroResultadoDelegacaoResponsavel); | |
| 129 | + | |
| 130 | + // Submenu Substituicao | |
| 131 | + Menu menuSubstituicao = new Menu("Substituição", null, menuModuloAlcada, 0, 3, null, null, null, null, moduloSelecionado); | |
| 132 | + menuSubstituicao = this.menuService.mergeIfNotExist(menuSubstituicao); | |
| 133 | + | |
| 134 | + // Menu Substituição | |
| 135 | + Pagina pgCentroResultadoSubstituicao = new Pagina("Substituição de Responsável", "/cit-alcada-web/html/centroResultadoSubstituicao/centroResultadoSubstituicao.html"); | |
| 136 | + pgCentroResultadoSubstituicao = this.paginaService.saveIfNotExist(pgCentroResultadoSubstituicao); | |
| 137 | + Menu menuCentroResultadoSubstituicao = new Menu("Substituição de Responsável", pgCentroResultadoSubstituicao, menuSubstituicao, null, 3, null, null, null, null, moduloSelecionado); | |
| 138 | + List<MenuFile> filesMenuFileCentroResultadoSubstituicao = this.gerarArquivosMenu(menuCentroResultadoSubstituicao, CIT_ALCADA_WEB_ANGULAR_CUSTOM, "CentroResultadoSubstituicao", true, false, true); | |
| 139 | + menuCentroResultadoSubstituicao.setIncludes(filesMenuFileCentroResultadoSubstituicao); | |
| 140 | + this.menuService.mergeIfNotExist(menuCentroResultadoSubstituicao); | |
| 141 | + Logger.getLogger(InicializarAlcadaServiceImpl.class).info("Menu executado - InicializarAlcadaServiceImpl!"); | |
| 142 | + } | |
| 143 | + | |
| 144 | + /** | |
| 145 | + * Método responsável por criar a view | |
| 146 | + * | |
| 147 | + * @author t.lucaseugenio | |
| 148 | + * | |
| 149 | + * @throws SQLException | |
| 150 | + * @throws JRException | |
| 151 | + * @throws IOException | |
| 152 | + */ | |
| 153 | + private void criarView() { | |
| 154 | + | |
| 155 | + Connection conn = null; | |
| 156 | + Statement stmt = null; | |
| 157 | + | |
| 158 | + try { | |
| 159 | + | |
| 160 | + conn = getConnection(); | |
| 161 | + if(conn != null){ | |
| 162 | + stmt = conn.createStatement(); | |
| 163 | + | |
| 164 | + StringBuilder sql = new StringBuilder(); | |
| 165 | + | |
| 166 | + sql.append("CREATE VIEW vw_centroresultadoresponsavel"); | |
| 167 | + sql.append("SELECT Alcada.identificador as alcada, cast(replace(CentroResultado.codigo,'.','') as integer) as centro_resultado, seguranca_usuario.username as usuario, CentroResultadoResponsavel.dataInativo as data_inativo, "); | |
| 168 | + sql.append(" NivelAutoridade.nome as nivel_autoridade "); | |
| 169 | + sql.append("FROM CentroResultadoResponsavel INNER JOIN "); | |
| 170 | + sql.append(" CentroResultado ON CentroResultado.id = CentroResultadoResponsavel.centroResultado_id INNER JOIN "); | |
| 171 | + sql.append(" CentroResultadoResponsavelAlcada ON "); | |
| 172 | + sql.append(" CentroResultadoResponsavelAlcada.centroResultadoResponsavel_id = CentroResultadoResponsavel.id INNER JOIN "); | |
| 173 | + sql.append(" Alcada ON Alcada.id = CentroResultadoResponsavelAlcada.alcada_id INNER JOIN "); | |
| 174 | + sql.append(" Parceiro ON Parceiro.id = CentroResultadoResponsavel.responsavel_id INNER JOIN "); | |
| 175 | + sql.append(" Pessoa ON Pessoa.id = Parceiro.pessoa_id INNER JOIN "); | |
| 176 | + sql.append(" seguranca_usuario ON seguranca_usuario.id = Pessoa.usuario_id INNER JOIN "); | |
| 177 | + sql.append(" AlcadaNivelAutoridade ON AlcadaNivelAutoridade.alcada_id = Alcada.id INNER JOIN "); | |
| 178 | + sql.append(" NivelAutoridade ON NivelAutoridade.id = AlcadaNivelAutoridade.nivelAutoridade_id "); | |
| 179 | + sql.append("where NivelAutoridade.hierarquia = "); | |
| 180 | + sql.append("(select min(t1.hierarquia) "); | |
| 181 | + sql.append("from NivelAutoridade t1 "); | |
| 182 | + sql.append("inner join AlcadaNivelAutoridade t2 on t2.nivelautoridade_id = t1.id "); | |
| 183 | + sql.append("and t2.alcada_id = Alcada.id "); | |
| 184 | + sql.append("inner join NivelAutoridadeGrupo t3 ON t3.nivelAutoridade_id = t1.id "); | |
| 185 | + sql.append("INNER JOIN GrupoUsuario t4 ON t4.usuario_id = seguranca_usuario.id AND t4.grupo_id = t3.grupo_id) "); | |
| 186 | + sql.append("union all "); | |
| 187 | + sql.append("SELECT Alcada.identificador as alcada, cast(replace(CentroResultado.codigo,'.','') as integer) as centro_resultado, seguranca_usuario.username as usuario, CentroResultadoResponsavel.dataInativo as data_inativo, "); | |
| 188 | + sql.append(" NivelAutoridade.nome as nivel_autoridade "); | |
| 189 | + sql.append("FROM centroresultadodelegacao inner join "); | |
| 190 | + sql.append("CentroResultadoResponsavelAlcada on centroresultadodelegacao.centroResultadoResponsavelAlcada_id "); | |
| 191 | + sql.append("= CentroResultadoResponsavelAlcada.id "); | |
| 192 | + sql.append("INNER JOIN CentroResultadoResponsavel on CentroResultadoResponsavel.id = CentroResultadoResponsavelAlcada.centroresultadoresponsavel_id inner join CentroResultado ON CentroResultado.id = CentroResultadoResponsavel.centroResultado_id INNER JOIN "); | |
| 193 | + sql.append(" Alcada ON Alcada.id = CentroResultadoResponsavelAlcada.alcada_id INNER JOIN "); | |
| 194 | + sql.append(" Parceiro ON Parceiro.id = centroresultadodelegacao.delegado_id INNER JOIN "); | |
| 195 | + sql.append(" Pessoa ON Pessoa.id = Parceiro.pessoa_id INNER JOIN "); | |
| 196 | + sql.append(" seguranca_usuario ON seguranca_usuario.id = Pessoa.usuario_id INNER JOIN "); | |
| 197 | + sql.append(" AlcadaNivelAutoridade ON AlcadaNivelAutoridade.alcada_id = Alcada.id INNER JOIN "); | |
| 198 | + sql.append(" NivelAutoridade ON NivelAutoridade.id = AlcadaNivelAutoridade.nivelAutoridade_id "); | |
| 199 | + sql.append("inner join Parceiro parc ON parc.id = centroresultadoresponsavel.responsavel_id INNER JOIN "); | |
| 200 | + sql.append(" Pessoa pes ON pes.id = parc.pessoa_id "); | |
| 201 | + sql.append("where NivelAutoridade.hierarquia = "); | |
| 202 | + sql.append("(select min(t1.hierarquia) "); | |
| 203 | + sql.append("from NivelAutoridade t1 "); | |
| 204 | + sql.append("inner join AlcadaNivelAutoridade t2 on t2.nivelautoridade_id = t1.id "); | |
| 205 | + sql.append("and t2.alcada_id = Alcada.id "); | |
| 206 | + sql.append("inner join NivelAutoridadeGrupo t3 ON t3.nivelAutoridade_id = t1.id "); | |
| 207 | + sql.append("INNER JOIN GrupoUsuario t4 ON t4.usuario_id = pes.usuario_id AND t4.grupo_id = t3.grupo_id) "); | |
| 208 | + | |
| 209 | + stmt.executeUpdate(sql.toString()); | |
| 210 | + } | |
| 211 | + } catch (Exception e) { | |
| 212 | + throw new RuntimeException(e); | |
| 213 | + } finally { | |
| 214 | + closeResources(conn, stmt); | |
| 215 | + | |
| 216 | + } | |
| 217 | + } | |
| 218 | + /** | |
| 219 | + * Retorna uma conexão | |
| 220 | + * | |
| 221 | + * */ | |
| 222 | + private Connection getConnection(){ | |
| 223 | + Connection conn = null; | |
| 224 | + try { | |
| 225 | + if(citDataSource != null) | |
| 226 | + return citDataSource.getConnection(); | |
| 227 | + else | |
| 228 | + return null; | |
| 229 | + } catch (SQLException sqle) { | |
| 230 | + LOG.error("N\u00e3o foi poss\u00edvel obter conex\u00e3o com o dataSource do m\u00f3dulo. Veja a exceção para identificar as causas: " + sqle.getCause()); | |
| 231 | + } | |
| 232 | + return conn; | |
| 233 | + } | |
| 234 | + | |
| 235 | + /** | |
| 236 | + * Encerra os recursos usados | |
| 237 | + * | |
| 238 | + * */ | |
| 239 | + protected void closeResources(Connection conn, Statement stmt) { | |
| 240 | + try { | |
| 241 | + if (conn != null){ | |
| 242 | + conn.close(); | |
| 243 | + } | |
| 244 | + if(stmt != null){ | |
| 245 | + stmt.close(); | |
| 246 | + } | |
| 247 | + } catch (SQLException sqle) { | |
| 248 | + LOG.error("Não consegui encerrar os recursos de conexão ao banco de dados. Veja a exceção para identificar as causas. " + sqle.getCause()); | |
| 249 | + } | |
| 250 | + } | |
| 251 | + | |
| 252 | +} | |
| 0 | 253 | \ No newline at end of file | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/service/impl/LimiteAprovacaoAlcadaServiceImpl.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/service/impl/LimiteAprovacaoAlcadaServiceImpl.java | |
| ... | ... | @@ -0,0 +1,90 @@ |
| 1 | +package br.com.centralit.api.service.impl; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 6 | +import org.springframework.beans.factory.annotation.Qualifier; | |
| 7 | +import org.springframework.stereotype.Service; | |
| 8 | +import org.springframework.validation.Validator; | |
| 9 | + | |
| 10 | +import br.com.centralit.api.dao.LimiteAprovacaoAlcadaDao; | |
| 11 | +import br.com.centralit.api.model.Alcada; | |
| 12 | +import br.com.centralit.api.model.LimiteAprovacao; | |
| 13 | +import br.com.centralit.api.model.LimiteAprovacaoAlcada; | |
| 14 | +import br.com.centralit.api.service.AlcadaService; | |
| 15 | +import br.com.centralit.api.service.LimiteAprovacaoAlcadaService; | |
| 16 | +import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; | |
| 17 | + | |
| 18 | +/** | |
| 19 | + * <p> | |
| 20 | + * <img src="http://centralit.com.br/images/logo_central.png"> | |
| 21 | + * </p> | |
| 22 | + * | |
| 23 | + * <p> | |
| 24 | + * <b>Company: </b> Central IT - Governança Corporativa - | |
| 25 | + * </p> | |
| 26 | + * | |
| 27 | + * <p> | |
| 28 | + * <b>Title: </b> | |
| 29 | + * </p> | |
| 30 | + * | |
| 31 | + * <p> | |
| 32 | + * <b>Description: </b> | |
| 33 | + * </p> | |
| 34 | + * | |
| 35 | + * <p> | |
| 36 | + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> | |
| 37 | + * </p> | |
| 38 | + * | |
| 39 | + * <p> | |
| 40 | + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> | |
| 41 | + * </p> | |
| 42 | + * | |
| 43 | + * @since 23/06/2015 - 15:13:44 | |
| 44 | + * | |
| 45 | + * @version 1.0.0 | |
| 46 | + * | |
| 47 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 48 | + * | |
| 49 | + */ | |
| 50 | +@Service("limiteAprovacaoAlcadaService") | |
| 51 | +public class LimiteAprovacaoAlcadaServiceImpl extends GenericServiceImpl<LimiteAprovacaoAlcada, Long> implements LimiteAprovacaoAlcadaService { | |
| 52 | + | |
| 53 | + /** Atributo alcadaNivelAutoridadeService. */ | |
| 54 | + @Autowired | |
| 55 | + private AlcadaService alcadaService; | |
| 56 | + | |
| 57 | + private LimiteAprovacaoAlcadaDao limiteAprovacaoAlcadaDao; | |
| 58 | + | |
| 59 | + @Autowired | |
| 60 | + public LimiteAprovacaoAlcadaServiceImpl( LimiteAprovacaoAlcadaDao limiteAprovacaoAlcadaDao, @Qualifier("limiteAprovacaoAlcadaValidator") Validator validator ) { | |
| 61 | + | |
| 62 | + this.dao = limiteAprovacaoAlcadaDao; | |
| 63 | + this.limiteAprovacaoAlcadaDao = limiteAprovacaoAlcadaDao; | |
| 64 | + this.validator = validator; | |
| 65 | + } | |
| 66 | + | |
| 67 | + /** | |
| 68 | + * {@inheritDoc} | |
| 69 | + */ | |
| 70 | + @Override | |
| 71 | + public List<LimiteAprovacaoAlcada> findByAlcada(Alcada alcada) { | |
| 72 | + | |
| 73 | + return this.limiteAprovacaoAlcadaDao.findByAlcada(alcada); | |
| 74 | + } | |
| 75 | + | |
| 76 | + /** | |
| 77 | + * | |
| 78 | + */ | |
| 79 | + @Override | |
| 80 | + public void montarLimiteAprovacaoAlcada(LimiteAprovacao limiteAprovacao) { | |
| 81 | + | |
| 82 | + // PERCORRE A LISTA DE LIMITEAPROVACAOALCADA | |
| 83 | + for (LimiteAprovacaoAlcada limiteAprovacaoAlcada : limiteAprovacao.getAlcadas()) { | |
| 84 | + // CARREGA O OBJETO LIMITEAPROVACAOALCADA | |
| 85 | + limiteAprovacaoAlcada.setAlcada(this.alcadaService.getReference(limiteAprovacaoAlcada.getAlcada().getId())); | |
| 86 | + limiteAprovacaoAlcada.setLimiteAprovacao(limiteAprovacao); | |
| 87 | + } | |
| 88 | + } | |
| 89 | + | |
| 90 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/service/impl/LimiteAprovacaoNivelAutoridadeServiceImpl.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/service/impl/LimiteAprovacaoNivelAutoridadeServiceImpl.java | |
| ... | ... | @@ -0,0 +1,62 @@ |
| 1 | +package br.com.centralit.api.service.impl; | |
| 2 | + | |
| 3 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 4 | +import org.springframework.beans.factory.annotation.Qualifier; | |
| 5 | +import org.springframework.stereotype.Service; | |
| 6 | +import org.springframework.validation.Validator; | |
| 7 | + | |
| 8 | +import br.com.centralit.api.dao.LimiteAprovacaoNivelAutoridadeDao; | |
| 9 | +import br.com.centralit.api.model.LimiteAprovacao; | |
| 10 | +import br.com.centralit.api.model.LimiteAprovacaoNivelAutoridade; | |
| 11 | +import br.com.centralit.api.service.LimiteAprovacaoNivelAutoridadeService; | |
| 12 | +import br.com.centralit.api.service.NivelAutoridadeService; | |
| 13 | +import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; | |
| 14 | + | |
| 15 | +/** | |
| 16 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 17 | + * | |
| 18 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 19 | + * | |
| 20 | + * <p><b>Title: </b></p> | |
| 21 | + * | |
| 22 | + * <p><b>Description: </b></p> | |
| 23 | + * | |
| 24 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 25 | + * | |
| 26 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 27 | + * | |
| 28 | + * @since 23/06/2015 - 15:17:38 | |
| 29 | + * | |
| 30 | + * @version 1.0.0 | |
| 31 | + * | |
| 32 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 33 | + * | |
| 34 | + */ | |
| 35 | +@Service("limiteAprovacaoNivelAutoridadeService") | |
| 36 | +public class LimiteAprovacaoNivelAutoridadeServiceImpl extends GenericServiceImpl<LimiteAprovacaoNivelAutoridade, Long> implements LimiteAprovacaoNivelAutoridadeService { | |
| 37 | + | |
| 38 | + /** Atributo alcadaNivelAutoridadeService. */ | |
| 39 | + @Autowired | |
| 40 | + private NivelAutoridadeService nivelAutoridadeService; | |
| 41 | + | |
| 42 | + @Autowired | |
| 43 | + public LimiteAprovacaoNivelAutoridadeServiceImpl(LimiteAprovacaoNivelAutoridadeDao limiteAprovacaoNivelAutoridadeDao, @Qualifier("limiteAprovacaoNivelAutoridadeValidator") Validator validator) { | |
| 44 | + this.dao = limiteAprovacaoNivelAutoridadeDao; | |
| 45 | + this.validator = validator; | |
| 46 | + } | |
| 47 | + | |
| 48 | + /** | |
| 49 | + * | |
| 50 | + */ | |
| 51 | + @Override | |
| 52 | + public void montarLimiteAprovacaoNivelAutoridade(LimiteAprovacao limiteAprovacao) { | |
| 53 | + | |
| 54 | + // TODO Auto-generated method stub | |
| 55 | + for(LimiteAprovacaoNivelAutoridade limiteAprovacaoNivelAutoridade : limiteAprovacao.getNiveisAutoridades()) { | |
| 56 | + // CARREGA O OBJETO LIMITEAPROVACAONIVELAUTORIDADE | |
| 57 | + limiteAprovacaoNivelAutoridade.setNivelAutoridade(this.nivelAutoridadeService.getReference(limiteAprovacaoNivelAutoridade.getNivelAutoridade().getId())); | |
| 58 | + limiteAprovacaoNivelAutoridade.setLimiteAprovacao(limiteAprovacao); | |
| 59 | + } | |
| 60 | + } | |
| 61 | + | |
| 62 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/service/impl/LimiteAprovacaoServiceImpl.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/service/impl/LimiteAprovacaoServiceImpl.java | |
| ... | ... | @@ -0,0 +1,107 @@ |
| 1 | +package br.com.centralit.api.service.impl; | |
| 2 | + | |
| 3 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 4 | +import org.springframework.beans.factory.annotation.Qualifier; | |
| 5 | +import org.springframework.stereotype.Service; | |
| 6 | +import org.springframework.validation.Validator; | |
| 7 | + | |
| 8 | +import br.com.centralit.api.dao.LimiteAprovacaoDao; | |
| 9 | +import br.com.centralit.api.model.LimiteAprovacao; | |
| 10 | +import br.com.centralit.api.service.LimiteAprovacaoAlcadaService; | |
| 11 | +import br.com.centralit.api.service.LimiteAprovacaoNivelAutoridadeService; | |
| 12 | +import br.com.centralit.api.service.LimiteAprovacaoService; | |
| 13 | +import br.com.centralit.api.service.LimiteAprovacaoValorService; | |
| 14 | +import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; | |
| 15 | +import br.com.centralit.framework.util.UtilObjeto; | |
| 16 | + | |
| 17 | +/** | |
| 18 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 19 | + * | |
| 20 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 21 | + * | |
| 22 | + * <p><b>Title: </b></p> | |
| 23 | + * | |
| 24 | + * <p><b>Description: </b></p> | |
| 25 | + * | |
| 26 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 27 | + * | |
| 28 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 29 | + * | |
| 30 | + * @since 18/06/2015 - 16:57:34 | |
| 31 | + * | |
| 32 | + * @version 1.0.0 | |
| 33 | + * | |
| 34 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 35 | + * | |
| 36 | + */ | |
| 37 | +@Service("limiteAprovacaoService") | |
| 38 | +public class LimiteAprovacaoServiceImpl extends GenericServiceImpl<LimiteAprovacao, Long> implements LimiteAprovacaoService { | |
| 39 | + | |
| 40 | + /** Atributo alcadaNivelAutoridadeService. */ | |
| 41 | + @Autowired | |
| 42 | + private LimiteAprovacaoNivelAutoridadeService limiteAprovacaoNivelAutoridadeService; | |
| 43 | + | |
| 44 | + /** Atributo alcadaNivelAutoridadeService. */ | |
| 45 | + @Autowired | |
| 46 | + private LimiteAprovacaoAlcadaService limiteAprovacaoAlcadaService; | |
| 47 | + | |
| 48 | + /** Atributo alcadaNivelAutoridadeService. */ | |
| 49 | + @Autowired | |
| 50 | + private LimiteAprovacaoValorService limiteAprovacaoValorService; | |
| 51 | + | |
| 52 | + private LimiteAprovacaoDao limiteAprovacaoDao; | |
| 53 | + | |
| 54 | + @Autowired | |
| 55 | + public LimiteAprovacaoServiceImpl(LimiteAprovacaoDao limiteAprovacaoDao, @Qualifier("limiteAprovacaoValidator") Validator validator) { | |
| 56 | + this.dao = limiteAprovacaoDao; | |
| 57 | + this.limiteAprovacaoDao = limiteAprovacaoDao; | |
| 58 | + this.validator = validator; | |
| 59 | + } | |
| 60 | + | |
| 61 | + public LimiteAprovacao save(LimiteAprovacao limiteAprovacao) { | |
| 62 | + | |
| 63 | + // TODO Auto-generated method stub | |
| 64 | + // VALIDA CAMPO OBRIGATÓRIO DA ENTIDADE | |
| 65 | + if (UtilObjeto.isReferencia(this.validator)) { | |
| 66 | + this.validarEntidade(limiteAprovacao, this.validator); | |
| 67 | + } | |
| 68 | + | |
| 69 | + montaLimiteAprovacao(limiteAprovacao); | |
| 70 | + | |
| 71 | + // SALVA A TRANSFERÊNCIA | |
| 72 | + LimiteAprovacao entitySaved = (LimiteAprovacao) this.limiteAprovacaoDao.save(limiteAprovacao); | |
| 73 | + | |
| 74 | + return entitySaved; | |
| 75 | + } | |
| 76 | + | |
| 77 | + /** | |
| 78 | + * | |
| 79 | + */ | |
| 80 | + @Override | |
| 81 | + public LimiteAprovacao merge(LimiteAprovacao limiteAprovacao) { | |
| 82 | + | |
| 83 | + // TODO Auto-generated method stub | |
| 84 | + // VALIDA CAMPO OBRIGATÓRIO DA ENTIDADE | |
| 85 | + if (UtilObjeto.isReferencia(this.validator)) { | |
| 86 | + this.validarEntidade(limiteAprovacao, this.validator); | |
| 87 | + } | |
| 88 | + | |
| 89 | + montaLimiteAprovacao(limiteAprovacao); | |
| 90 | + | |
| 91 | + // SALVA A TRANSFERÊNCIA | |
| 92 | + LimiteAprovacao entitySaved = (LimiteAprovacao) this.limiteAprovacaoDao.merge(limiteAprovacao); | |
| 93 | + | |
| 94 | + return entitySaved; | |
| 95 | + } | |
| 96 | + | |
| 97 | + private void montaLimiteAprovacao(LimiteAprovacao limiteAprovacao){ | |
| 98 | + // MONTA OS DADOS DO OBJETO LIMITEAPROVACAONIVELAUTORIDADE | |
| 99 | + this.limiteAprovacaoNivelAutoridadeService.montarLimiteAprovacaoNivelAutoridade(limiteAprovacao); | |
| 100 | + | |
| 101 | + // MONTA OS DADOS DO OBJETO LIMITEAPROVACAONIVELAUTORIDADE | |
| 102 | + this.limiteAprovacaoAlcadaService.montarLimiteAprovacaoAlcada(limiteAprovacao); | |
| 103 | + | |
| 104 | + // MONTA OS DADOS DO OBJETO LIMITEAPROVACAONIVELAUTORIDADE | |
| 105 | + this.limiteAprovacaoValorService.montarLimiteAprovacaoValor(limiteAprovacao); | |
| 106 | + } | |
| 107 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/service/impl/LimiteAprovacaoValorServiceImpl.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/service/impl/LimiteAprovacaoValorServiceImpl.java | |
| ... | ... | @@ -0,0 +1,64 @@ |
| 1 | +package br.com.centralit.api.service.impl; | |
| 2 | + | |
| 3 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 4 | +import org.springframework.beans.factory.annotation.Qualifier; | |
| 5 | +import org.springframework.stereotype.Service; | |
| 6 | +import org.springframework.validation.Validator; | |
| 7 | + | |
| 8 | +import br.com.centralit.api.dao.LimiteAprovacaoValorDao; | |
| 9 | +import br.com.centralit.api.model.LimiteAprovacao; | |
| 10 | +import br.com.centralit.api.model.LimiteAprovacaoValor; | |
| 11 | +import br.com.centralit.api.service.LimiteAprovacaoService; | |
| 12 | +import br.com.centralit.api.service.LimiteAprovacaoValorService; | |
| 13 | +import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; | |
| 14 | + | |
| 15 | +/** | |
| 16 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 17 | + * | |
| 18 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 19 | + * | |
| 20 | + * <p><b>Title: </b></p> | |
| 21 | + * | |
| 22 | + * <p><b>Description: </b></p> | |
| 23 | + * | |
| 24 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 25 | + * | |
| 26 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 27 | + * | |
| 28 | + * @since 18/06/2015 - 16:57:02 | |
| 29 | + * | |
| 30 | + * @version 1.0.0 | |
| 31 | + * | |
| 32 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 33 | + * | |
| 34 | + */ | |
| 35 | +@Service("limiteAprovacaoValorService") | |
| 36 | +public class LimiteAprovacaoValorServiceImpl extends GenericServiceImpl<LimiteAprovacaoValor, Long> implements LimiteAprovacaoValorService { | |
| 37 | + | |
| 38 | + /** Atributo alcadaNivelAutoridadeService. */ | |
| 39 | + @Autowired | |
| 40 | + private LimiteAprovacaoService limiteAprovacaoService; | |
| 41 | + | |
| 42 | + @Autowired | |
| 43 | + public LimiteAprovacaoValorServiceImpl(LimiteAprovacaoValorDao limiteAprovacaoValorDao, @Qualifier("limiteAprovacaoValorValidator") Validator validator) { | |
| 44 | + this.dao = limiteAprovacaoValorDao; | |
| 45 | + this.validator = validator; | |
| 46 | + } | |
| 47 | + | |
| 48 | + /** | |
| 49 | + * | |
| 50 | + */ | |
| 51 | + @Override | |
| 52 | + public void montarLimiteAprovacaoValor(LimiteAprovacao limiteAprovacao) { | |
| 53 | + | |
| 54 | + // TODO Auto-generated method stub | |
| 55 | + // PERCORRE A LISTA DE ALCADANIVELAUTORIDADE | |
| 56 | + if(limiteAprovacao.getLimitesAprovacoesValores() != null){ | |
| 57 | + for(LimiteAprovacaoValor limiteAprovacaoValor : limiteAprovacao.getLimitesAprovacoesValores()) { | |
| 58 | + // CARREGA O OBJETO LIMITEAPROVACAOVALOR | |
| 59 | + limiteAprovacaoValor.setLimiteAprovacao(limiteAprovacao); | |
| 60 | + } | |
| 61 | + } | |
| 62 | + } | |
| 63 | + | |
| 64 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/service/impl/SolicitacaoAlcadaServiceImpl.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/service/impl/SolicitacaoAlcadaServiceImpl.java | |
| ... | ... | @@ -0,0 +1,833 @@ |
| 1 | +package br.com.centralit.api.service.impl; | |
| 2 | + | |
| 3 | +import java.util.ArrayList; | |
| 4 | +import java.util.Collection; | |
| 5 | +import java.util.HashMap; | |
| 6 | +import java.util.List; | |
| 7 | + | |
| 8 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 9 | +import org.springframework.stereotype.Service; | |
| 10 | + | |
| 11 | +import br.com.centralit.api.dao.SolicitacaoAlcadaDao; | |
| 12 | +import br.com.centralit.api.model.Alcada; | |
| 13 | +import br.com.centralit.api.model.AlcadaNivelAutoridade; | |
| 14 | +import br.com.centralit.api.model.CentroResultado; | |
| 15 | +import br.com.centralit.api.model.CentroResultadoDelegacao; | |
| 16 | +import br.com.centralit.api.model.CentroResultadoDelegacaoRequisicao; | |
| 17 | +import br.com.centralit.api.model.CentroResultadoResponsavel; | |
| 18 | +import br.com.centralit.api.model.CentroResultadoResponsavelAlcada; | |
| 19 | +import br.com.centralit.api.model.Colaborador; | |
| 20 | +import br.com.centralit.api.model.LimiteAprovacao; | |
| 21 | +import br.com.centralit.api.model.LimiteAprovacaoAlcada; | |
| 22 | +import br.com.centralit.api.model.LimiteAprovacaoNivelAutoridade; | |
| 23 | +import br.com.centralit.api.model.LimiteAprovacaoValor; | |
| 24 | +import br.com.centralit.api.model.NivelAutoridade; | |
| 25 | +import br.com.centralit.api.model.NivelAutoridadeGrupo; | |
| 26 | +import br.com.centralit.api.model.ResponsavelAlcada; | |
| 27 | +import br.com.centralit.api.model.SolicitacaoAlcada; | |
| 28 | +import br.com.centralit.api.model.ValorAcumulado; | |
| 29 | +import br.com.centralit.api.service.AlcadaService; | |
| 30 | +import br.com.centralit.api.service.CentroResultadoService; | |
| 31 | +import br.com.centralit.api.service.ColaboradorService; | |
| 32 | +import br.com.centralit.api.service.DominioService; | |
| 33 | +import br.com.centralit.api.service.GrupoUsuarioService; | |
| 34 | +import br.com.centralit.api.service.InternacionalizacaoService; | |
| 35 | +import br.com.centralit.api.service.LimiteAprovacaoAlcadaService; | |
| 36 | +import br.com.centralit.api.service.NivelAutoridadeService; | |
| 37 | +import br.com.centralit.api.service.PessoaService; | |
| 38 | +import br.com.centralit.api.service.SolicitacaoAlcadaService; | |
| 39 | +import br.com.centralit.api.service.UsuarioService; | |
| 40 | +import br.com.centralit.framework.exception.BusinessException; | |
| 41 | +import br.com.centralit.framework.exception.CodigoErro; | |
| 42 | +import br.com.centralit.framework.model.Dominio; | |
| 43 | +import br.com.centralit.framework.model.GrupoUsuario; | |
| 44 | +import br.com.centralit.framework.model.Usuario; | |
| 45 | +import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; | |
| 46 | +import br.com.centralit.framework.util.UtilDate; | |
| 47 | +import br.com.centralit.framework.util.UtilObjeto; | |
| 48 | +import br.com.centralit.framework.util.UtilString; | |
| 49 | + | |
| 50 | +/** | |
| 51 | + * <p> | |
| 52 | + * <img src="http://centralit.com.br/images/logo_central.png"> | |
| 53 | + * </p> | |
| 54 | + * | |
| 55 | + * <p> | |
| 56 | + * <b>Company: </b> Central IT - Governança Corporativa - | |
| 57 | + * </p> | |
| 58 | + * | |
| 59 | + * <p> | |
| 60 | + * <b>Title: </b> | |
| 61 | + * </p> | |
| 62 | + * | |
| 63 | + * <p> | |
| 64 | + * <b>Description: </b> | |
| 65 | + * </p> | |
| 66 | + * | |
| 67 | + * <p> | |
| 68 | + * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> | |
| 69 | + * </p> | |
| 70 | + * | |
| 71 | + * <p> | |
| 72 | + * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> | |
| 73 | + * </p> | |
| 74 | + * | |
| 75 | + * @since 18/06/2015 - 16:57:02 | |
| 76 | + * | |
| 77 | + * @version 1.0.0 | |
| 78 | + * | |
| 79 | + * @author lucas.ribeiro - (<a href="mailto:lucas.centralit@gmail.com">lucas.centralit@gmail.com</a>) | |
| 80 | + * | |
| 81 | + */ | |
| 82 | +@Service("solicitacaoAlcadaService") | |
| 83 | +public class SolicitacaoAlcadaServiceImpl extends GenericServiceImpl<SolicitacaoAlcada, Long> implements SolicitacaoAlcadaService { | |
| 84 | + | |
| 85 | + public static final Long FAIXA_VALOR = 1l; | |
| 86 | + | |
| 87 | + public static final Long QUALQUER_VALOR = 2l; | |
| 88 | + | |
| 89 | + public static final Long NAO_APLICA = 3l; | |
| 90 | + | |
| 91 | + public static final Long TODOS = 2l; | |
| 92 | + | |
| 93 | + public static final Long INDIVIDUAL = 1l; | |
| 94 | + | |
| 95 | + public static final Long MENSAL = 2l; | |
| 96 | + | |
| 97 | + public static final Long ANUAL = 3l; | |
| 98 | + | |
| 99 | + public static final Long LIMITE_VALOR = 1L; | |
| 100 | + | |
| 101 | + public static final Long HIERARQUIA_SOLICITANTE = 2L; | |
| 102 | + | |
| 103 | + public static final Long PERMISSAO_AUTORIDADE = 3L; | |
| 104 | + | |
| 105 | + public static final Long REGRAS_PROCESSO = 4L; | |
| 106 | + | |
| 107 | + public static final Long USUARIO_NAO_EXISTE = 5L; | |
| 108 | + | |
| 109 | + public static final Long PERTENCE_GRUPO_RESPONSAVEL = 6L; | |
| 110 | + | |
| 111 | + public static final Long GRUPO_NAO_ASSOCIADO = 7L; | |
| 112 | + | |
| 113 | + public static final Long HIERARQUIA_AUTORIDADE = 8L; | |
| 114 | + | |
| 115 | + public static final String SITUACAO_GERADA = "GERADA"; | |
| 116 | + | |
| 117 | + public static final String SITUACAO_APROVADA = "APROVADA"; | |
| 118 | + | |
| 119 | + public static final String SITUACAO_CANCELADA = "CANCELADA"; | |
| 120 | + | |
| 121 | + @Autowired | |
| 122 | + private AlcadaService alcadaService; | |
| 123 | + | |
| 124 | + @Autowired | |
| 125 | + private DominioService dominioService; | |
| 126 | + | |
| 127 | + @Autowired | |
| 128 | + private UsuarioService usuarioService; | |
| 129 | + | |
| 130 | + @Autowired | |
| 131 | + private LimiteAprovacaoAlcadaService limiteAprovacaoAlcadaService; | |
| 132 | + | |
| 133 | + @Autowired | |
| 134 | + private CentroResultadoService centroResultadoService; | |
| 135 | + | |
| 136 | + @Autowired | |
| 137 | + private GrupoUsuarioService grupoUsuarioService; | |
| 138 | + | |
| 139 | + @Autowired | |
| 140 | + private ColaboradorService colaboradorService; | |
| 141 | + | |
| 142 | + @Autowired | |
| 143 | + private PessoaService pessoaService; | |
| 144 | + | |
| 145 | + @Autowired | |
| 146 | + private NivelAutoridadeService nivelAutoridadeService; | |
| 147 | + | |
| 148 | + @Autowired | |
| 149 | + private InternacionalizacaoService internacionalizacaoService; | |
| 150 | + | |
| 151 | + private SolicitacaoAlcadaDao solicitacaoAlcadaDao; | |
| 152 | + | |
| 153 | + private Dominio idioma = null; | |
| 154 | + | |
| 155 | + @Autowired | |
| 156 | + public SolicitacaoAlcadaServiceImpl( SolicitacaoAlcadaDao solicitacaoAlcadaDao) { | |
| 157 | + | |
| 158 | + this.dao = solicitacaoAlcadaDao; | |
| 159 | + this.solicitacaoAlcadaDao = solicitacaoAlcadaDao; | |
| 160 | + } | |
| 161 | + | |
| 162 | + @Override | |
| 163 | + public SolicitacaoAlcada save(SolicitacaoAlcada solicitacaoAlcada) { | |
| 164 | + | |
| 165 | + if (solicitacaoAlcada.getIdentificador() != null) { | |
| 166 | + SolicitacaoAlcada solicitacaoAlcadaRef = this.recuperaPeloIdentificador(solicitacaoAlcada.getAlcada(), solicitacaoAlcada.getIdentificador()); | |
| 167 | + if (UtilObjeto.isReferencia(solicitacaoAlcadaRef)) { | |
| 168 | + throw new BusinessException(internacionalizacaoService.getTranslate("MSG.SOLICITACAO_ALCADA_JA_EXISTE", this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue()); | |
| 169 | + } | |
| 170 | + } | |
| 171 | + | |
| 172 | + solicitacaoAlcada.setSituacao(dominioService.findByChaveAndNome("situacaoSolicitacaoAlcada", SITUACAO_GERADA)); | |
| 173 | + | |
| 174 | + List<ResponsavelAlcada> responsaveis = this.getResponsaveis(solicitacaoAlcada); | |
| 175 | + | |
| 176 | + solicitacaoAlcada.setResponsaveis(responsaveis); | |
| 177 | + | |
| 178 | + this.verificaAprovacao(solicitacaoAlcada); | |
| 179 | + | |
| 180 | + solicitacaoAlcada = super.save(solicitacaoAlcada); | |
| 181 | + | |
| 182 | + return solicitacaoAlcada; | |
| 183 | + } | |
| 184 | + | |
| 185 | + @Override | |
| 186 | + public boolean remove(SolicitacaoAlcada solicitacaoAlcada) { | |
| 187 | + | |
| 188 | + solicitacaoAlcada = this.getReference(solicitacaoAlcada.getId()); | |
| 189 | + | |
| 190 | + if (solicitacaoAlcada.getSituacao().getNome().equals(SITUACAO_APROVADA)) { | |
| 191 | + throw new BusinessException(internacionalizacaoService.getTranslate("MSG.SOLICITACAO_NAO_PERMITE_EXCLUSAO", this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue()); | |
| 192 | + } | |
| 193 | + | |
| 194 | + return super.remove(solicitacaoAlcada); | |
| 195 | + } | |
| 196 | + | |
| 197 | + @Override | |
| 198 | + public SolicitacaoAlcada aprovaSolicitacao(SolicitacaoAlcada solicitacaoAlcada, Usuario aprovador) { | |
| 199 | + | |
| 200 | + if (!UtilObjeto.isReferencia(solicitacaoAlcada)) { | |
| 201 | + throw new BusinessException(internacionalizacaoService.getTranslate("MSG.SOLICITACAO_ALCADA_NAO_ENCONTRADA", this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue()); | |
| 202 | + } | |
| 203 | + | |
| 204 | + if (solicitacaoAlcada.getSituacao().getNome().equals(SITUACAO_APROVADA)) { | |
| 205 | + throw new BusinessException(internacionalizacaoService.getTranslate("MSG.SOLICITACAO_NAO_PERMITE_AUTORIZACAO", this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue()); | |
| 206 | + } | |
| 207 | + | |
| 208 | + ResponsavelAlcada responsavel = null; | |
| 209 | + for (ResponsavelAlcada responsavelAlcada : solicitacaoAlcada.getResponsaveis()) { | |
| 210 | + if (responsavelAlcada.getHabilitado() && responsavelAlcada.getUsuario().getUsername().equalsIgnoreCase(aprovador.getUsername())) { | |
| 211 | + responsavel = responsavelAlcada; | |
| 212 | + break; | |
| 213 | + } | |
| 214 | + } | |
| 215 | + | |
| 216 | + if (responsavel == null) { | |
| 217 | + throw new BusinessException(internacionalizacaoService.getTranslate("MSG.APROVADOR_NAO_ENCONTRADO", this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue()); | |
| 218 | + } | |
| 219 | + | |
| 220 | + solicitacaoAlcada.setAprovador(responsavel); | |
| 221 | + solicitacaoAlcada.setSituacao(dominioService.findByChaveAndNome("situacaoSolicitacaoAlcada", SITUACAO_APROVADA)); | |
| 222 | + | |
| 223 | + return this.merge(solicitacaoAlcada); | |
| 224 | + } | |
| 225 | + | |
| 226 | + @Override | |
| 227 | + public SolicitacaoAlcada aprovaPeloIdentificador(SolicitacaoAlcada solicitacaoAlcada) { | |
| 228 | + | |
| 229 | + String usernameAprovador = solicitacaoAlcada.getUsernameAprovador(); | |
| 230 | + if (UtilString.isNullOrEmpty(solicitacaoAlcada.getUsernameAprovador())) { | |
| 231 | + throw new BusinessException(internacionalizacaoService.getTranslate("MSG.APROVADOR_NAO_ENCONTRADO", this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue()); | |
| 232 | + } | |
| 233 | + | |
| 234 | + Usuario aprovador = usuarioService.getUserByUsername(usernameAprovador); | |
| 235 | + if (!UtilObjeto.isReferencia(aprovador)) { | |
| 236 | + throw new BusinessException(internacionalizacaoService.getTranslate("MSG.APROVADOR_NAO_ENCONTRADO", this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue()); | |
| 237 | + } | |
| 238 | + | |
| 239 | + SolicitacaoAlcada solicitacaoAlcadaRef = this.recuperaPeloIdentificador(solicitacaoAlcada.getAlcada(), solicitacaoAlcada.getIdentificador()); | |
| 240 | + if (!UtilObjeto.isReferencia(solicitacaoAlcadaRef)) { | |
| 241 | + throw new BusinessException(internacionalizacaoService.getTranslate("MSG.SOLICITACAO_ALCADA_NAO_ENCONTRADA", this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue()); | |
| 242 | + } | |
| 243 | + | |
| 244 | + if (solicitacaoAlcada.getValor() != null && solicitacaoAlcada.getValor().doubleValue() > 0.0) { | |
| 245 | + solicitacaoAlcadaRef.setValor(solicitacaoAlcada.getValor()); | |
| 246 | + } | |
| 247 | + | |
| 248 | + return this.aprovaSolicitacao(solicitacaoAlcadaRef, aprovador); | |
| 249 | + } | |
| 250 | + | |
| 251 | + @Override | |
| 252 | + public SolicitacaoAlcada cancelaAprovacaoPeloIdentificador(SolicitacaoAlcada solicitacaoAlcada) { | |
| 253 | + | |
| 254 | + SolicitacaoAlcada solicitacaoAlcadaRef = this.recuperaPeloIdentificador(solicitacaoAlcada.getAlcada(), solicitacaoAlcada.getIdentificador()); | |
| 255 | + if (!UtilObjeto.isReferencia(solicitacaoAlcadaRef)) { | |
| 256 | + throw new BusinessException(internacionalizacaoService.getTranslate("MSG.SOLICITACAO_ALCADA_NAO_ENCONTRADA", this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue()); | |
| 257 | + } | |
| 258 | + | |
| 259 | + return this.cancelaAprovacao(solicitacaoAlcadaRef); | |
| 260 | + } | |
| 261 | + | |
| 262 | + @Override | |
| 263 | + public SolicitacaoAlcada cancelaAprovacao(SolicitacaoAlcada solicitacaoAlcada) { | |
| 264 | + | |
| 265 | + if (!UtilObjeto.isReferencia(solicitacaoAlcada)) { | |
| 266 | + throw new BusinessException(internacionalizacaoService.getTranslate("MSG.SOLICITACAO_ALCADA_NAO_ENCONTRADA", this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue()); | |
| 267 | + } | |
| 268 | + | |
| 269 | + if (solicitacaoAlcada.getSituacao().getNome().equals(SITUACAO_APROVADA)) { | |
| 270 | + solicitacaoAlcada.setAprovador(null); | |
| 271 | + solicitacaoAlcada.setSituacao(dominioService.findByChaveAndNome("situacaoSolicitacaoAlcada", SITUACAO_CANCELADA)); | |
| 272 | + solicitacaoAlcada.setDataInativo(UtilDate.getDataAtualCalendar()); | |
| 273 | + solicitacaoAlcada = this.merge(solicitacaoAlcada); | |
| 274 | + } | |
| 275 | + | |
| 276 | + return solicitacaoAlcada; | |
| 277 | + } | |
| 278 | + | |
| 279 | + @Override | |
| 280 | + public List<ResponsavelAlcada> getResponsaveis(SolicitacaoAlcada solicitacaoAlcada) { | |
| 281 | + | |
| 282 | + this.validaSolicitacao(solicitacaoAlcada); | |
| 283 | + | |
| 284 | + List<ResponsavelAlcada> responsaveis = this.getResponsaveisCentroResultado(solicitacaoAlcada); | |
| 285 | + | |
| 286 | + List<LimiteAprovacao> limitesAprovacao = this.getLimitesAprovacao(solicitacaoAlcada); | |
| 287 | + | |
| 288 | + this.validaResponsaveis(solicitacaoAlcada, limitesAprovacao, responsaveis); | |
| 289 | + | |
| 290 | + this.trataAlcadasNivelSuperior(solicitacaoAlcada, limitesAprovacao, responsaveis); | |
| 291 | + | |
| 292 | + return responsaveis; | |
| 293 | + } | |
| 294 | + | |
| 295 | + @Override | |
| 296 | + public SolicitacaoAlcada recuperaSolicitacao(Alcada alcada, String identificadorUnico) { | |
| 297 | + | |
| 298 | + SolicitacaoAlcada solicitacaoAlcada = solicitacaoAlcadaDao.recuperaPeloIdentificador(alcada, identificadorUnico); | |
| 299 | + return recuperaRelacionamentos(solicitacaoAlcada); | |
| 300 | + } | |
| 301 | + | |
| 302 | + protected SolicitacaoAlcada recuperaRelacionamentos(SolicitacaoAlcada solicitacaoAlcada) { | |
| 303 | + | |
| 304 | + if (UtilObjeto.isReferencia(solicitacaoAlcada) && !solicitacaoAlcada.isNew()) { | |
| 305 | + solicitacaoAlcada.setSituacao(dominioService.find(solicitacaoAlcada.getSituacao().getId())); | |
| 306 | + | |
| 307 | + if (solicitacaoAlcada.getAprovador() != null) { | |
| 308 | + solicitacaoAlcada.setUsernameAprovador(solicitacaoAlcada.getAprovador().getUsuario().getUsername()); | |
| 309 | + } | |
| 310 | + for (ResponsavelAlcada responsavelAlcada : solicitacaoAlcada.getResponsaveis()) { | |
| 311 | + // finds necessários para resolver problemas na serialização | |
| 312 | + Colaborador colaborador = colaboradorService.find(responsavelAlcada.getColaborador().getId()); | |
| 313 | + colaborador.setPessoa(pessoaService.find(colaborador.getPessoa().getId())); | |
| 314 | + responsavelAlcada.setColaborador(colaborador); | |
| 315 | + responsavelAlcada.setUsuario(usuarioService.find(responsavelAlcada.getUsuario().getId())); | |
| 316 | + responsavelAlcada.setNivelAutoridade(nivelAutoridadeService.find(responsavelAlcada.getNivelAutoridade().getId())); | |
| 317 | + | |
| 318 | + if (responsavelAlcada.getMotivosRejeicao() != null) { | |
| 319 | + for (Dominio motivo : responsavelAlcada.getMotivosRejeicao()) { | |
| 320 | + motivo = dominioService.find(motivo.getId()); | |
| 321 | + } | |
| 322 | + } | |
| 323 | + } | |
| 324 | + } | |
| 325 | + return solicitacaoAlcada; | |
| 326 | + } | |
| 327 | + | |
| 328 | + protected SolicitacaoAlcada recuperaPeloIdentificador(Alcada alcada, String identificadorUnico) { | |
| 329 | + | |
| 330 | + return solicitacaoAlcadaDao.recuperaPeloIdentificador(alcada, identificadorUnico); | |
| 331 | + } | |
| 332 | + | |
| 333 | + protected void verificaAprovacao(SolicitacaoAlcada solicitacaoAlcada) { | |
| 334 | + | |
| 335 | + if (UtilObjeto.isReferencia(solicitacaoAlcada.getUsuarioAprovador())) { | |
| 336 | + List<ResponsavelAlcada> responsaveis = solicitacaoAlcada.getResponsaveis(); | |
| 337 | + | |
| 338 | + // Verifica se aprovador está na lista dos responsáveis | |
| 339 | + Usuario aprovador = solicitacaoAlcada.getUsuarioAprovador(); | |
| 340 | + ResponsavelAlcada responsavelAprovacao = null; | |
| 341 | + for (ResponsavelAlcada responsavelAlcada : responsaveis) { | |
| 342 | + if (responsavelAlcada.getUsuario().getUsername().equalsIgnoreCase(aprovador.getUsername())) { | |
| 343 | + responsavelAprovacao = responsavelAlcada; | |
| 344 | + break; | |
| 345 | + } | |
| 346 | + } | |
| 347 | + | |
| 348 | + if (responsavelAprovacao == null) { | |
| 349 | + // Cria aprovador, se não estiver na lista de responsáveis | |
| 350 | + Colaborador colaborador = colaboradorService.findPorUsuario(aprovador); | |
| 351 | + if (colaborador != null && !this.existeResponsavel(colaborador, responsaveis)) { | |
| 352 | + responsavelAprovacao = new ResponsavelAlcada(solicitacaoAlcada, colaborador, null, null); | |
| 353 | + this.atribuiNivelAutoridade(solicitacaoAlcada.getAlcada(), responsavelAprovacao); | |
| 354 | + responsaveis.add(responsavelAprovacao); | |
| 355 | + } | |
| 356 | + } | |
| 357 | + | |
| 358 | + if (responsavelAprovacao == null) { | |
| 359 | + throw new BusinessException(internacionalizacaoService.getTranslate("MSG.APROVADOR_NAO_ENCONTRADO", this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue()); | |
| 360 | + } | |
| 361 | + | |
| 362 | + solicitacaoAlcada.setAprovador(responsavelAprovacao); | |
| 363 | + solicitacaoAlcada.setSituacao(dominioService.findByChaveAndNome("situacaoSolicitacaoAlcada", SITUACAO_APROVADA)); | |
| 364 | + } | |
| 365 | + } | |
| 366 | + | |
| 367 | + protected Dominio getIdioma() { | |
| 368 | + | |
| 369 | + if (this.idioma == null) { | |
| 370 | + this.idioma = this.dominioService.findByChaveAndCodigo("tipoIdioma", Dominio.TIPO_IDIOMA_PT_BR_CODIGO); | |
| 371 | + } | |
| 372 | + return this.idioma; | |
| 373 | + } | |
| 374 | + | |
| 375 | + protected void trataAlcadasNivelSuperior(SolicitacaoAlcada solicitacaoAlcada, List<LimiteAprovacao> limitesAprovacao, List<ResponsavelAlcada> responsaveis) { | |
| 376 | + | |
| 377 | + int i = 0; | |
| 378 | + for (ResponsavelAlcada responsavelAlcada : responsaveis) { | |
| 379 | + if (responsavelAlcada.getHabilitado()) | |
| 380 | + i++; | |
| 381 | + } | |
| 382 | + | |
| 383 | + if (i == 0) { | |
| 384 | + for (LimiteAprovacao limiteAprovacao : limitesAprovacao) { | |
| 385 | + if (!limiteAprovacao.getDominioTipoLimite().getCodigo().equals(FAIXA_VALOR) && limiteAprovacao.getDominioTipoAbrangencia().getCodigo().equals(TODOS)) { | |
| 386 | + for (LimiteAprovacaoNivelAutoridade limiteAprovacaoNivelAutoridade : limiteAprovacao.getNiveisAutoridades()) { | |
| 387 | + for (NivelAutoridadeGrupo nivelAutoridadeGrupo : limiteAprovacaoNivelAutoridade.getNivelAutoridade().getGrupos()) { | |
| 388 | + Collection<GrupoUsuario> gruposUsuario = grupoUsuarioService.findPorIdGrupo(nivelAutoridadeGrupo.getGrupo().getId()); | |
| 389 | + for (GrupoUsuario grupoUsuario : gruposUsuario) { | |
| 390 | + Colaborador colaborador = colaboradorService.findPorUsuario(grupoUsuario.getUsuario()); | |
| 391 | + if (colaborador != null && !this.existeResponsavel(colaborador, responsaveis)) { | |
| 392 | + responsaveis.add(new ResponsavelAlcada(solicitacaoAlcada, colaborador, nivelAutoridadeGrupo.getNivelAutoridade(), null)); | |
| 393 | + } | |
| 394 | + } | |
| 395 | + } | |
| 396 | + } | |
| 397 | + } | |
| 398 | + } | |
| 399 | + } | |
| 400 | + } | |
| 401 | + | |
| 402 | + protected void recuperaAlcada(SolicitacaoAlcada solicitacaoAlcada) { | |
| 403 | + | |
| 404 | + Alcada alcada = solicitacaoAlcada.getAlcada(); | |
| 405 | + solicitacaoAlcada.setAlcada(null); | |
| 406 | + | |
| 407 | + if (alcada.getId() != null) { | |
| 408 | + solicitacaoAlcada.setAlcada(alcadaService.getReference(alcada.getId())); | |
| 409 | + } else if (alcada.getIdentificador() != null) { | |
| 410 | + solicitacaoAlcada.setAlcada(alcadaService.findByIdentificaodr(alcada.getIdentificador())); | |
| 411 | + } | |
| 412 | + } | |
| 413 | + | |
| 414 | + protected void recuperaCentroResultado(SolicitacaoAlcada solicitacaoAlcada) { | |
| 415 | + | |
| 416 | + CentroResultado centroResultado = solicitacaoAlcada.getCentroResultado(); | |
| 417 | + CentroResultado centroResultadoAux = null; | |
| 418 | + | |
| 419 | + if (centroResultado.getId() != null) { | |
| 420 | + centroResultadoAux = centroResultadoService.getReference(centroResultado.getId()); | |
| 421 | + } | |
| 422 | + if (centroResultadoAux == null && centroResultado.getCodigoSistemaOrigem() != null) { | |
| 423 | + centroResultadoAux = centroResultadoService.findByCodigoSistemaOrigem(centroResultado.getCodigoSistemaOrigem()); | |
| 424 | + } | |
| 425 | + if (centroResultadoAux == null && centroResultado.getCodigo() != null) { | |
| 426 | + centroResultadoAux = centroResultadoService.findByCodigo(centroResultado.getCodigo()); | |
| 427 | + if (centroResultadoAux == null) { | |
| 428 | + String codigo = centroResultado.getCodigo().replaceAll(".", ""); | |
| 429 | + centroResultadoAux = centroResultadoService.findByCodigoSistemaOrigem(codigo); | |
| 430 | + } | |
| 431 | + } | |
| 432 | + | |
| 433 | + solicitacaoAlcada.setCentroResultado(centroResultadoAux); | |
| 434 | + } | |
| 435 | + | |
| 436 | + protected void recuperaSolicitante(SolicitacaoAlcada solicitacaoAlcada) { | |
| 437 | + | |
| 438 | + Usuario solicitante = solicitacaoAlcada.getSolicitante(); | |
| 439 | + solicitacaoAlcada.setSolicitante(null); | |
| 440 | + | |
| 441 | + if (solicitante.getId() != null) { | |
| 442 | + solicitacaoAlcada.setSolicitante(usuarioService.getReference(solicitante.getId())); | |
| 443 | + } else if (solicitante.getUsername() != null) { | |
| 444 | + solicitacaoAlcada.setSolicitante(usuarioService.getUserByUsername(solicitante.getUsername())); | |
| 445 | + } | |
| 446 | + } | |
| 447 | + | |
| 448 | + protected void recuperaTipoSolicitacao(SolicitacaoAlcada solicitacaoAlcada) { | |
| 449 | + | |
| 450 | + Dominio tipoUtilizacao = solicitacaoAlcada.getTipoUtilizacao(); | |
| 451 | + solicitacaoAlcada.setTipoUtilizacao(null); | |
| 452 | + | |
| 453 | + if (tipoUtilizacao.getId() != null) { | |
| 454 | + solicitacaoAlcada.setTipoUtilizacao(dominioService.getReference(tipoUtilizacao.getId())); | |
| 455 | + } else if (tipoUtilizacao.getNome() != null) { | |
| 456 | + solicitacaoAlcada.setTipoUtilizacao(dominioService.findByChaveAndNome("tipoUtilizacao", tipoUtilizacao.getNome())); | |
| 457 | + } | |
| 458 | + } | |
| 459 | + | |
| 460 | + protected void validaAtributos(SolicitacaoAlcada solicitacaoAlcada) { | |
| 461 | + | |
| 462 | + String msg = ": "+internacionalizacaoService.getTranslate("LABEL.O_CAMPO_OBRIGATORIO", this.getIdioma()); | |
| 463 | + | |
| 464 | + if (solicitacaoAlcada.getAlcada() == null) { | |
| 465 | + throw new BusinessException(internacionalizacaoService.getTranslate("ALCADA.LABEL.ALCADA", this.getIdioma())+msg, CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue()); | |
| 466 | + } | |
| 467 | + if (solicitacaoAlcada.getCentroResultado() == null) { | |
| 468 | + throw new BusinessException(internacionalizacaoService.getTranslate("ALCADA.LABEL.CENTRO_RESULTADO", this.getIdioma())+msg, CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue()); | |
| 469 | + } | |
| 470 | + if (solicitacaoAlcada.getValor() == null) { | |
| 471 | + throw new BusinessException(internacionalizacaoService.getTranslate("SOLICITACAO_ALCADA.VALOR", this.getIdioma())+msg, CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue()); | |
| 472 | + } | |
| 473 | + if (solicitacaoAlcada.getDataReferencia() == null) { | |
| 474 | + throw new BusinessException(internacionalizacaoService.getTranslate("SOLICITACAO_ALCADA.DATA_REFERENCIA", this.getIdioma())+msg, CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue()); | |
| 475 | + } | |
| 476 | + if (solicitacaoAlcada.getTipoUtilizacao() == null) { | |
| 477 | + throw new BusinessException(internacionalizacaoService.getTranslate("SOLICITACAO_ALCADA.TIPO_UTILIZACAO", this.getIdioma())+msg, CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue()); | |
| 478 | + } | |
| 479 | + if (UtilString.isNullOrEmpty(solicitacaoAlcada.getRequisicaoOrigem())) { | |
| 480 | + throw new BusinessException(internacionalizacaoService.getTranslate("SOLICITACAO_ALCADA.ORIGEM_SOLICITACAO", this.getIdioma())+msg, CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue()); | |
| 481 | + } | |
| 482 | + if (UtilString.isNullOrEmpty(solicitacaoAlcada.getIdentificador())) { | |
| 483 | + throw new BusinessException(internacionalizacaoService.getTranslate("SOLICITACAO_ALCADA.ID_ORIGEM_SOLICITACAO", this.getIdioma())+msg, CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue()); | |
| 484 | + } | |
| 485 | + } | |
| 486 | + | |
| 487 | + protected void validaSolicitacao(SolicitacaoAlcada solicitacaoAlcada) { | |
| 488 | + | |
| 489 | + this.validaAtributos(solicitacaoAlcada); | |
| 490 | + | |
| 491 | + if (!UtilString.isNullOrEmpty(solicitacaoAlcada.getUsernameAprovador())) { | |
| 492 | + Usuario aprovador = usuarioService.getUserByUsername(solicitacaoAlcada.getUsernameAprovador()); | |
| 493 | + if (!UtilObjeto.isReferencia(aprovador)) { | |
| 494 | + throw new BusinessException(internacionalizacaoService.getTranslate("MSG.APROVADOR_NAO_ENCONTRADO", this.getIdioma()), CodigoErro.REGRA_NEGOCIO.getValue()); | |
| 495 | + } | |
| 496 | + solicitacaoAlcada.setUsuarioAprovador(aprovador); | |
| 497 | + } | |
| 498 | + | |
| 499 | + this.recuperaAlcada(solicitacaoAlcada); | |
| 500 | + this.recuperaCentroResultado(solicitacaoAlcada); | |
| 501 | + this.recuperaSolicitante(solicitacaoAlcada); | |
| 502 | + this.recuperaTipoSolicitacao(solicitacaoAlcada); | |
| 503 | + | |
| 504 | + this.validaAtributos(solicitacaoAlcada); | |
| 505 | + } | |
| 506 | + | |
| 507 | + protected void atribuiNivelAutoridade(final Alcada alcada, ResponsavelAlcada responsavelAlcada) { | |
| 508 | + | |
| 509 | + Usuario usuario = null; | |
| 510 | + if (UtilObjeto.isReferencia(responsavelAlcada.getUsuario())) { | |
| 511 | + usuario = responsavelAlcada.getUsuario(); | |
| 512 | + | |
| 513 | + // find necessário para resolver problemas na serialização | |
| 514 | + responsavelAlcada.setUsuario(usuarioService.find(usuario.getId())); | |
| 515 | + | |
| 516 | + if (responsavelAlcada.getDelegacao() != null && responsavelAlcada.getDelegacao()) { | |
| 517 | + usuario = responsavelAlcada.getCentroResultadoDelegacao().getCentroResultadoResponsavelAlcada().getCentroResultadoResponsavel().getResponsavel().getPessoa().getUsuario(); | |
| 518 | + } | |
| 519 | + } | |
| 520 | + if (usuario != null) { | |
| 521 | + for (GrupoUsuario grupoUsuario : usuario.getGrupoUsuarios()) { | |
| 522 | + if (!grupoUsuario.isActive()) | |
| 523 | + continue; | |
| 524 | + | |
| 525 | + for (AlcadaNivelAutoridade alcadaNivelAutoridade : alcada.getNiveisAutoridades()) { | |
| 526 | + if (!alcadaNivelAutoridade.isActive()) | |
| 527 | + continue; | |
| 528 | + | |
| 529 | + for (NivelAutoridadeGrupo nivelAutoridadeGrupo : alcadaNivelAutoridade.getNivelAutoridade().getGrupos()) { | |
| 530 | + if (!nivelAutoridadeGrupo.isActive()) | |
| 531 | + continue; | |
| 532 | + | |
| 533 | + if (nivelAutoridadeGrupo.getGrupo().getId().equals(grupoUsuario.getGrupo().getId())) { | |
| 534 | + if (!UtilObjeto.isReferencia(responsavelAlcada.getNivelAutoridade()) || responsavelAlcada.getNivelAutoridade().getHierarquia() > alcadaNivelAutoridade.getNivelAutoridade().getHierarquia()) { | |
| 535 | + responsavelAlcada.setNivelAutoridade(alcadaNivelAutoridade.getNivelAutoridade()); | |
| 536 | + } | |
| 537 | + } | |
| 538 | + } | |
| 539 | + } | |
| 540 | + } | |
| 541 | + } | |
| 542 | + } | |
| 543 | + | |
| 544 | + protected void atribuiNivelAutoridade(final Alcada alcada, List<ResponsavelAlcada> responsaveis) { | |
| 545 | + | |
| 546 | + for (ResponsavelAlcada responsavelAlcada : responsaveis) { | |
| 547 | + this.atribuiNivelAutoridade(alcada, responsavelAlcada); | |
| 548 | + } | |
| 549 | + } | |
| 550 | + | |
| 551 | + protected List<ResponsavelAlcada> getResponsaveisCentroResultado(final SolicitacaoAlcada solicitacaoAlcada) { | |
| 552 | + | |
| 553 | + List<ResponsavelAlcada> responsaveis = new ArrayList<ResponsavelAlcada>(); | |
| 554 | + | |
| 555 | + for (CentroResultadoResponsavel centroResultadoResponsavel : solicitacaoAlcada.getCentroResultado().getResponsaveis()) { | |
| 556 | + if (!centroResultadoResponsavel.isActive()) | |
| 557 | + continue; | |
| 558 | + | |
| 559 | + for (CentroResultadoResponsavelAlcada centroResultadoResponsavelAlcada : centroResultadoResponsavel.getAlcadas()) { | |
| 560 | + if (!centroResultadoResponsavelAlcada.isActive()) | |
| 561 | + continue; | |
| 562 | + | |
| 563 | + if (centroResultadoResponsavelAlcada.getAlcada().getId().equals(solicitacaoAlcada.getAlcada().getId())) { | |
| 564 | + if (!existeResponsavel(centroResultadoResponsavel.getResponsavel(), responsaveis)) { | |
| 565 | + responsaveis.add(new ResponsavelAlcada(solicitacaoAlcada, centroResultadoResponsavel.getResponsavel(), null, null)); | |
| 566 | + } | |
| 567 | + | |
| 568 | + for (CentroResultadoDelegacao centroResultadoDelegacao : centroResultadoResponsavelAlcada.getDelegacoes()) { | |
| 569 | + if (( centroResultadoDelegacao.getRevogada() == null || !centroResultadoDelegacao.getRevogada() ) && centroResultadoDelegacao.getDataInicioDelegacao().compareTo(solicitacaoAlcada.getDataReferencia()) <= 0 && centroResultadoDelegacao.getDataFimDelegacao().compareTo(solicitacaoAlcada.getDataReferencia()) >= 0 && !existeResponsavel(centroResultadoDelegacao.getDelegado(), responsaveis)) { | |
| 570 | + | |
| 571 | + boolean valido = true; | |
| 572 | + if (centroResultadoDelegacao.getDominioTipoAbrangenciaDelegacao().getNome().equalsIgnoreCase("ESPECIFICAS")) { | |
| 573 | + valido = false; | |
| 574 | + for (CentroResultadoDelegacaoRequisicao centroResultadoDelegacaoRequisicao : centroResultadoDelegacao.getRequisicoes()) { | |
| 575 | + if (centroResultadoDelegacaoRequisicao.getRequisicao().equals(solicitacaoAlcada.getRequisicaoOrigem())) { | |
| 576 | + valido = true; | |
| 577 | + break; | |
| 578 | + } | |
| 579 | + } | |
| 580 | + } | |
| 581 | + if (valido) { | |
| 582 | + // TODO: Descobrir proque o centroResultadoDelegacao causa erro no JSON qdo chamado pelo Citsmart | |
| 583 | + responsaveis.add(new ResponsavelAlcada(solicitacaoAlcada, centroResultadoDelegacao.getDelegado(), null, centroResultadoDelegacao)); | |
| 584 | + } | |
| 585 | + } | |
| 586 | + } | |
| 587 | + } | |
| 588 | + } | |
| 589 | + } | |
| 590 | + | |
| 591 | + this.atribuiNivelAutoridade(solicitacaoAlcada.getAlcada(), responsaveis); | |
| 592 | + return responsaveis; | |
| 593 | + } | |
| 594 | + | |
| 595 | + protected boolean existeResponsavel(Colaborador colaborador, List<ResponsavelAlcada> responsaveis) { | |
| 596 | + | |
| 597 | + boolean result = false; | |
| 598 | + for (ResponsavelAlcada responsavelAlcada : responsaveis) { | |
| 599 | + if (responsavelAlcada.getColaborador().getId().equals(colaborador.getId())) { | |
| 600 | + result = true; | |
| 601 | + break; | |
| 602 | + } | |
| 603 | + } | |
| 604 | + return result; | |
| 605 | + } | |
| 606 | + | |
| 607 | + protected List<LimiteAprovacao> getLimitesAprovacao(SolicitacaoAlcada solicitacaoAlcada) { | |
| 608 | + | |
| 609 | + List<LimiteAprovacao> limitesAprovacao = new ArrayList<LimiteAprovacao>(); | |
| 610 | + | |
| 611 | + // Obtem todas as alçadas associadas ao limite | |
| 612 | + List<LimiteAprovacaoAlcada> limitesAprovacaoAlcada = limiteAprovacaoAlcadaService.findByAlcada(solicitacaoAlcada.getAlcada()); | |
| 613 | + | |
| 614 | + if (limitesAprovacaoAlcada != null) { | |
| 615 | + // Monta lista dos limites de cada alçada | |
| 616 | + for (LimiteAprovacaoAlcada limiteAprovacaoAlcada : limitesAprovacaoAlcada) { | |
| 617 | + if (!limitesAprovacao.contains(limiteAprovacaoAlcada.getLimiteAprovacao())) { | |
| 618 | + limitesAprovacao.add(limiteAprovacaoAlcada.getLimiteAprovacao()); | |
| 619 | + } | |
| 620 | + } | |
| 621 | + } | |
| 622 | + | |
| 623 | + // Acumula valores por limite, alçada e nível de autoridade | |
| 624 | + for (LimiteAprovacao limiteAprovacao : limitesAprovacao) { | |
| 625 | + for (LimiteAprovacaoAlcada limiteAprovacaoAlcada : limiteAprovacao.getAlcadas()) { | |
| 626 | + for (LimiteAprovacaoNivelAutoridade limiteAprovacaoNivelAutoridade : limiteAprovacao.getNiveisAutoridades()) { | |
| 627 | + this.acumulaValores(solicitacaoAlcada, limiteAprovacaoAlcada.getAlcada(), limiteAprovacao, limiteAprovacaoNivelAutoridade.getNivelAutoridade()); | |
| 628 | + } | |
| 629 | + } | |
| 630 | + } | |
| 631 | + | |
| 632 | + return limitesAprovacao; | |
| 633 | + } | |
| 634 | + | |
| 635 | + protected void acumulaValores(SolicitacaoAlcada solicitacaoAlcada, Alcada alcada, LimiteAprovacao limiteAprovacao, NivelAutoridade nivelAutoridade) { | |
| 636 | + | |
| 637 | + if (limiteAprovacao.getDominioTipoLimite().getCodigo().equals(FAIXA_VALOR)) { | |
| 638 | + int ano = new Integer(UtilDate.getAno(solicitacaoAlcada.getDataReferencia().getTime())); | |
| 639 | + int mes = new Integer(UtilDate.getMes(solicitacaoAlcada.getDataReferencia().getTime())); | |
| 640 | + | |
| 641 | + Collection<LimiteAprovacaoValor> valores = limiteAprovacao.getLimitesAprovacoesValores(); | |
| 642 | + if (valores != null) { | |
| 643 | + for (LimiteAprovacaoValor limiteAprovacaoValor : valores) { | |
| 644 | + if (!limiteAprovacaoValor.getDominioTipoUtilizacao().getCodigo().equals(solicitacaoAlcada.getTipoUtilizacao().getCodigo())) { | |
| 645 | + continue; | |
| 646 | + } | |
| 647 | + | |
| 648 | + float valorAcumulado = 0; | |
| 649 | + | |
| 650 | + if (!limiteAprovacaoValor.getDominioTipoLimiteValor().getCodigo().equals(INDIVIDUAL)) { | |
| 651 | + valorAcumulado = solicitacaoAlcadaDao.getValorAcumulado(ano, limiteAprovacaoValor.getDominioTipoLimiteValor().getCodigo().equals(MENSAL) ? mes : null, alcada, solicitacaoAlcada.getCentroResultado(), solicitacaoAlcada.getTipoUtilizacao(), nivelAutoridade); | |
| 652 | + } | |
| 653 | + | |
| 654 | + limiteAprovacaoValor.adicionaValorAcumulado(nivelAutoridade, valorAcumulado); | |
| 655 | + } | |
| 656 | + } | |
| 657 | + } | |
| 658 | + } | |
| 659 | + | |
| 660 | + protected void validaUsuario(SolicitacaoAlcada solicitacaoAlcada, List<LimiteAprovacao> limitesAprovacao, List<ResponsavelAlcada> responsaveis, HashMap<Long, Dominio> mapMotivosRejeicao) { | |
| 661 | + | |
| 662 | + for (ResponsavelAlcada responsavelAlcada : responsaveis) { | |
| 663 | + if (!responsavelAlcada.getHabilitado()) | |
| 664 | + continue; | |
| 665 | + | |
| 666 | + if (!UtilObjeto.isReferencia(responsavelAlcada.getUsuario())) { | |
| 667 | + responsavelAlcada.adicionaMotivoRejeicao(mapMotivosRejeicao.get(USUARIO_NAO_EXISTE)); | |
| 668 | + } | |
| 669 | + } | |
| 670 | + } | |
| 671 | + | |
| 672 | + protected void validaGrupos(SolicitacaoAlcada solicitacaoAlcada, List<LimiteAprovacao> limitesAprovacao, List<ResponsavelAlcada> responsaveis, HashMap<Long, Dominio> mapMotivosRejeicao) { | |
| 673 | + | |
| 674 | + for (ResponsavelAlcada responsavelAlcada : responsaveis) { | |
| 675 | + if (!responsavelAlcada.getHabilitado()) | |
| 676 | + continue; | |
| 677 | + | |
| 678 | + if (!UtilObjeto.isReferencia(responsavelAlcada.getNivelAutoridade())) { | |
| 679 | + responsavelAlcada.adicionaMotivoRejeicao(mapMotivosRejeicao.get(GRUPO_NAO_ASSOCIADO)); | |
| 680 | + } | |
| 681 | + } | |
| 682 | + } | |
| 683 | + | |
| 684 | + protected void validaLimiteValor(SolicitacaoAlcada solicitacaoAlcada, List<LimiteAprovacao> limitesAprovacao, List<ResponsavelAlcada> responsaveis, HashMap<Long, Dominio> mapMotivosRejeicao) { | |
| 685 | + | |
| 686 | + for (LimiteAprovacao limiteAprovacao : limitesAprovacao) { | |
| 687 | + if (limiteAprovacao.getDominioTipoLimite().getCodigo().equals(FAIXA_VALOR)) { | |
| 688 | + for (LimiteAprovacaoValor limiteAprovacaoValor : limiteAprovacao.getLimitesAprovacoesValores()) { | |
| 689 | + if (solicitacaoAlcada.getTipoUtilizacao().getCodigo().equals(limiteAprovacaoValor.getDominioTipoUtilizacao().getCodigo())) { | |
| 690 | + | |
| 691 | + for (ValorAcumulado valorAcumulado : limiteAprovacaoValor.getValoresAcumulados()) { | |
| 692 | + double valorRef = 0.0; | |
| 693 | + if (limiteAprovacaoValor.getDominioTipoLimiteValor().getCodigo().equals(INDIVIDUAL)) { | |
| 694 | + valorRef = solicitacaoAlcada.getValor().doubleValue(); | |
| 695 | + } else { | |
| 696 | + valorRef = solicitacaoAlcada.getValor().doubleValue() + valorAcumulado.getValor(); | |
| 697 | + } | |
| 698 | + | |
| 699 | + valorAcumulado.setRejeitado(valorRef > limiteAprovacaoValor.getValorLimite().doubleValue()); | |
| 700 | + if (valorAcumulado.isRejeitado()) { | |
| 701 | + for (ResponsavelAlcada responsavelAlcada : responsaveis) { | |
| 702 | + if (!responsavelAlcada.getHabilitado()) | |
| 703 | + continue; | |
| 704 | + | |
| 705 | + if (responsavelAlcada.getNivelAutoridade().getId().equals(valorAcumulado.getNivelAutoridade().getId())) { | |
| 706 | + responsavelAlcada.adicionaMotivoRejeicao(mapMotivosRejeicao.get(LIMITE_VALOR)); | |
| 707 | + } | |
| 708 | + } | |
| 709 | + } | |
| 710 | + } | |
| 711 | + } | |
| 712 | + } | |
| 713 | + | |
| 714 | + } | |
| 715 | + } | |
| 716 | + } | |
| 717 | + | |
| 718 | + protected void validaSolicitante(SolicitacaoAlcada solicitacaoAlcada, List<LimiteAprovacao> limitesAprovacao, List<ResponsavelAlcada> responsaveis, HashMap<Long, Dominio> mapMotivosRejeicao) { | |
| 719 | + | |
| 720 | + if (!UtilObjeto.isReferencia(solicitacaoAlcada.getSolicitante())) | |
| 721 | + return; | |
| 722 | + | |
| 723 | + for (AlcadaNivelAutoridade alcadaNivelAutoridade : solicitacaoAlcada.getAlcada().getNiveisAutoridades()) { | |
| 724 | + if (!alcadaNivelAutoridade.isActive()) | |
| 725 | + continue; | |
| 726 | + | |
| 727 | + if (!alcadaNivelAutoridade.getPermiteAprovacaoPropria()) { | |
| 728 | + for (ResponsavelAlcada responsavelAlcada : responsaveis) { | |
| 729 | + if (!responsavelAlcada.getHabilitado()) | |
| 730 | + continue; | |
| 731 | + | |
| 732 | + if (responsavelAlcada.getNivelAutoridade().getId().equals(alcadaNivelAutoridade.getNivelAutoridade().getId())) { | |
| 733 | + if (responsavelAlcada.getUsuario().getUsername().equalsIgnoreCase(solicitacaoAlcada.getSolicitante().getUsername())) { | |
| 734 | + responsavelAlcada.adicionaMotivoRejeicao(mapMotivosRejeicao.get(PERMISSAO_AUTORIDADE)); | |
| 735 | + } | |
| 736 | + } | |
| 737 | + } | |
| 738 | + } | |
| 739 | + } | |
| 740 | + } | |
| 741 | + | |
| 742 | + protected void validaAprovador(SolicitacaoAlcada solicitacaoAlcada, List<LimiteAprovacao> limitesAprovacao, List<ResponsavelAlcada> responsaveis, HashMap<Long, Dominio> mapMotivosRejeicao) { | |
| 743 | + | |
| 744 | + if (!UtilObjeto.isReferencia(solicitacaoAlcada.getAlcada().getGrupoResponsavel())) | |
| 745 | + return; | |
| 746 | + | |
| 747 | + for (ResponsavelAlcada responsavelAlcada : responsaveis) { | |
| 748 | + if (!responsavelAlcada.getHabilitado()) | |
| 749 | + continue; | |
| 750 | + | |
| 751 | + for (GrupoUsuario grupoUsuario : responsavelAlcada.getUsuario().getGrupoUsuarios()) { | |
| 752 | + if (!grupoUsuario.isActive()) | |
| 753 | + continue; | |
| 754 | + | |
| 755 | + if (grupoUsuario.getGrupo().getId().equals(solicitacaoAlcada.getAlcada().getGrupoResponsavel().getId())) { | |
| 756 | + responsavelAlcada.adicionaMotivoRejeicao(mapMotivosRejeicao.get(PERTENCE_GRUPO_RESPONSAVEL)); | |
| 757 | + } | |
| 758 | + } | |
| 759 | + } | |
| 760 | + } | |
| 761 | + | |
| 762 | + protected void validaHierarquiaSolicitante(SolicitacaoAlcada solicitacaoAlcada, List<LimiteAprovacao> limitesAprovacao, List<ResponsavelAlcada> responsaveis, HashMap<Long, Dominio> mapMotivosRejeicao) { | |
| 763 | + | |
| 764 | + if (solicitacaoAlcada.getAlcada().getPermiteAprovacaoNivelInferior() == null || solicitacaoAlcada.getAlcada().getPermiteAprovacaoNivelInferior()) | |
| 765 | + return; | |
| 766 | + | |
| 767 | + if (!UtilObjeto.isReferencia(solicitacaoAlcada.getSolicitante())) | |
| 768 | + return; | |
| 769 | + | |
| 770 | + int hierarquia = 0; | |
| 771 | + for (ResponsavelAlcada responsavelAlcada : responsaveis) { | |
| 772 | + if (!responsavelAlcada.getUsuario().getUsername().equalsIgnoreCase(solicitacaoAlcada.getSolicitante().getUsername())) | |
| 773 | + continue; | |
| 774 | + | |
| 775 | + hierarquia = responsavelAlcada.getNivelAutoridade().getHierarquia(); | |
| 776 | + break; | |
| 777 | + } | |
| 778 | + | |
| 779 | + if (hierarquia > 0) { | |
| 780 | + for (ResponsavelAlcada responsavelAlcada : responsaveis) { | |
| 781 | + if (!responsavelAlcada.getHabilitado()) | |
| 782 | + continue; | |
| 783 | + | |
| 784 | + if (responsavelAlcada.getNivelAutoridade().getHierarquia() > hierarquia) { | |
| 785 | + responsavelAlcada.adicionaMotivoRejeicao(mapMotivosRejeicao.get(HIERARQUIA_SOLICITANTE)); | |
| 786 | + } | |
| 787 | + } | |
| 788 | + } | |
| 789 | + } | |
| 790 | + | |
| 791 | + protected void validaNivelAutoridade(SolicitacaoAlcada solicitacaoAlcada, List<LimiteAprovacao> limitesAprovacao, List<ResponsavelAlcada> responsaveis, HashMap<Long, Dominio> mapMotivosRejeicao) { | |
| 792 | + | |
| 793 | + if (solicitacaoAlcada.getAlcada().getSomenteMenorHierarquia() == null || !solicitacaoAlcada.getAlcada().getSomenteMenorHierarquia()) | |
| 794 | + return; | |
| 795 | + | |
| 796 | + int hierarquia = 0; | |
| 797 | + for (ResponsavelAlcada responsavelAlcada : responsaveis) { | |
| 798 | + if (!responsavelAlcada.getHabilitado()) | |
| 799 | + continue; | |
| 800 | + | |
| 801 | + if (responsavelAlcada.getNivelAutoridade().getHierarquia() > hierarquia) { | |
| 802 | + hierarquia = responsavelAlcada.getNivelAutoridade().getHierarquia(); | |
| 803 | + } | |
| 804 | + } | |
| 805 | + | |
| 806 | + for (ResponsavelAlcada responsavelAlcada : responsaveis) { | |
| 807 | + if (!responsavelAlcada.getHabilitado()) | |
| 808 | + continue; | |
| 809 | + | |
| 810 | + if (responsavelAlcada.getNivelAutoridade().getHierarquia() < hierarquia) { | |
| 811 | + responsavelAlcada.adicionaMotivoRejeicao(mapMotivosRejeicao.get(HIERARQUIA_AUTORIDADE)); | |
| 812 | + } | |
| 813 | + } | |
| 814 | + } | |
| 815 | + | |
| 816 | + protected void validaResponsaveis(SolicitacaoAlcada solicitacaoAlcada, List<LimiteAprovacao> limitesAprovacao, List<ResponsavelAlcada> responsaveis) { | |
| 817 | + | |
| 818 | + HashMap<Long, Dominio> mapMotivosRejeicao = new HashMap<Long, Dominio>(); | |
| 819 | + Collection<Dominio> motivosRejeicao = dominioService.listarPorChave("motivoRejeicaoAlcada"); | |
| 820 | + for (Dominio dominio : motivosRejeicao) { | |
| 821 | + mapMotivosRejeicao.put(dominio.getCodigo(), dominio); | |
| 822 | + } | |
| 823 | + | |
| 824 | + this.validaGrupos(solicitacaoAlcada, limitesAprovacao, responsaveis, mapMotivosRejeicao); | |
| 825 | + this.validaUsuario(solicitacaoAlcada, limitesAprovacao, responsaveis, mapMotivosRejeicao); | |
| 826 | + this.validaLimiteValor(solicitacaoAlcada, limitesAprovacao, responsaveis, mapMotivosRejeicao); | |
| 827 | + this.validaSolicitante(solicitacaoAlcada, limitesAprovacao, responsaveis, mapMotivosRejeicao); | |
| 828 | + this.validaAprovador(solicitacaoAlcada, limitesAprovacao, responsaveis, mapMotivosRejeicao); | |
| 829 | + this.validaHierarquiaSolicitante(solicitacaoAlcada, limitesAprovacao, responsaveis, mapMotivosRejeicao); | |
| 830 | + this.validaNivelAutoridade(solicitacaoAlcada, limitesAprovacao, responsaveis, mapMotivosRejeicao); | |
| 831 | + } | |
| 832 | + | |
| 833 | +} | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/service/validation/CentroResultadoDelegacaoValidator.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/service/validation/CentroResultadoDelegacaoValidator.java | |
| ... | ... | @@ -0,0 +1,55 @@ |
| 1 | +package br.com.centralit.api.service.validation; | |
| 2 | + | |
| 3 | +import br.com.centralit.api.model.CentroResultadoDelegacao; | |
| 4 | +import org.springframework.stereotype.Component; | |
| 5 | +import org.springframework.validation.Errors; | |
| 6 | +import org.springframework.validation.ValidationUtils; | |
| 7 | +import org.springframework.validation.Validator; | |
| 8 | + | |
| 9 | +import br.com.centralit.framework.exception.CodigoErro; | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 13 | + * | |
| 14 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 15 | + * | |
| 16 | + * <p><b>Title: </b></p> | |
| 17 | + * | |
| 18 | + * <p><b>Description: </b></p> | |
| 19 | + * | |
| 20 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 21 | + * | |
| 22 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 23 | + * | |
| 24 | + * @since 30/06/2015 - 14:10:06 | |
| 25 | + * | |
| 26 | + * @version 1.0.0 | |
| 27 | + * | |
| 28 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 29 | + * | |
| 30 | + */ | |
| 31 | +@Component("centroResultadoDelegacaoValidator") | |
| 32 | +public class CentroResultadoDelegacaoValidator implements Validator { | |
| 33 | + | |
| 34 | + @Override | |
| 35 | + public boolean supports(Class<?> clazz) { | |
| 36 | + | |
| 37 | + return CentroResultadoDelegacao.class.isAssignableFrom(clazz); | |
| 38 | + } | |
| 39 | + | |
| 40 | + @Override | |
| 41 | + public void validate(Object target, Errors errors) { | |
| 42 | + | |
| 43 | + ValidationUtils.rejectIfEmpty(errors, "centroResultadoResponsavelAlcada", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "ALCADA.LABEL.CENTRO_RESULTADO"); | |
| 44 | + | |
| 45 | + ValidationUtils.rejectIfEmpty(errors, "delegado", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.COLABORADOR"); | |
| 46 | + | |
| 47 | + ValidationUtils.rejectIfEmpty(errors, "dataInicioDelegacao", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.DATA_INICIO_DELEGACAO"); | |
| 48 | + | |
| 49 | + ValidationUtils.rejectIfEmpty(errors, "dataFimDelegacao", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.DATA_FIM_DELEGACAO"); | |
| 50 | + | |
| 51 | + ValidationUtils.rejectIfEmpty(errors, "dominioTipoAbrangenciaDelegacao", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.DOMINIO"); | |
| 52 | + | |
| 53 | + } | |
| 54 | +} | |
| 55 | + | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/service/validation/LimiteAprovacaoAlcadaValidator.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/service/validation/LimiteAprovacaoAlcadaValidator.java | |
| ... | ... | @@ -0,0 +1,49 @@ |
| 1 | +package br.com.centralit.api.service.validation; | |
| 2 | + | |
| 3 | +import br.com.centralit.api.model.LimiteAprovacaoAlcada; | |
| 4 | +import org.springframework.stereotype.Component; | |
| 5 | +import org.springframework.validation.Errors; | |
| 6 | +import org.springframework.validation.ValidationUtils; | |
| 7 | +import org.springframework.validation.Validator; | |
| 8 | + | |
| 9 | +import br.com.centralit.framework.exception.CodigoErro; | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 13 | + * | |
| 14 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 15 | + * | |
| 16 | + * <p><b>Title: </b></p> | |
| 17 | + * | |
| 18 | + * <p><b>Description: </b></p> | |
| 19 | + * | |
| 20 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 21 | + * | |
| 22 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 23 | + * | |
| 24 | + * @since 30/06/2015 - 13:55:46 | |
| 25 | + * | |
| 26 | + * @version 1.0.0 | |
| 27 | + * | |
| 28 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 29 | + * | |
| 30 | + */ | |
| 31 | +@Component("limiteAprovacaoAlcadaValidator") | |
| 32 | +public class LimiteAprovacaoAlcadaValidator implements Validator { | |
| 33 | + | |
| 34 | + @Override | |
| 35 | + public boolean supports(Class<?> clazz) { | |
| 36 | + | |
| 37 | + return LimiteAprovacaoAlcada.class.isAssignableFrom(clazz); | |
| 38 | + } | |
| 39 | + | |
| 40 | + @Override | |
| 41 | + public void validate(Object target, Errors errors) { | |
| 42 | + | |
| 43 | + ValidationUtils.rejectIfEmpty(errors, "alcada", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "ALCADA.LABEL.ALCADA"); | |
| 44 | + | |
| 45 | + ValidationUtils.rejectIfEmpty(errors, "limiteAprovacao", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.LIMITEAPROVACAO"); | |
| 46 | + | |
| 47 | + } | |
| 48 | +} | |
| 49 | + | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/service/validation/LimiteAprovacaoNivelAutoridadeValidator.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/service/validation/LimiteAprovacaoNivelAutoridadeValidator.java | |
| ... | ... | @@ -0,0 +1,49 @@ |
| 1 | +package br.com.centralit.api.service.validation; | |
| 2 | + | |
| 3 | +import br.com.centralit.api.model.LimiteAprovacaoNivelAutoridade; | |
| 4 | +import org.springframework.stereotype.Component; | |
| 5 | +import org.springframework.validation.Errors; | |
| 6 | +import org.springframework.validation.ValidationUtils; | |
| 7 | +import org.springframework.validation.Validator; | |
| 8 | + | |
| 9 | +import br.com.centralit.framework.exception.CodigoErro; | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 13 | + * | |
| 14 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 15 | + * | |
| 16 | + * <p><b>Title: </b></p> | |
| 17 | + * | |
| 18 | + * <p><b>Description: </b></p> | |
| 19 | + * | |
| 20 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 21 | + * | |
| 22 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 23 | + * | |
| 24 | + * @since 30/06/2015 - 13:56:16 | |
| 25 | + * | |
| 26 | + * @version 1.0.0 | |
| 27 | + * | |
| 28 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 29 | + * | |
| 30 | + */ | |
| 31 | +@Component("limiteAprovacaoNivelAutoridadeValidator") | |
| 32 | +public class LimiteAprovacaoNivelAutoridadeValidator implements Validator { | |
| 33 | + | |
| 34 | + @Override | |
| 35 | + public boolean supports(Class<?> clazz) { | |
| 36 | + | |
| 37 | + return LimiteAprovacaoNivelAutoridade.class.isAssignableFrom(clazz); | |
| 38 | + } | |
| 39 | + | |
| 40 | + @Override | |
| 41 | + public void validate(Object target, Errors errors) { | |
| 42 | + | |
| 43 | + ValidationUtils.rejectIfEmpty(errors, "limiteAprovacao", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.LIMITEAPROVACAO"); | |
| 44 | + | |
| 45 | + ValidationUtils.rejectIfEmpty(errors, "nivelAutoridade", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.NIVELAUTORIDADE"); | |
| 46 | + | |
| 47 | + } | |
| 48 | +} | |
| 49 | + | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/service/validation/LimiteAprovacaoValidator.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/service/validation/LimiteAprovacaoValidator.java | |
| ... | ... | @@ -0,0 +1,51 @@ |
| 1 | +package br.com.centralit.api.service.validation; | |
| 2 | + | |
| 3 | +import br.com.centralit.api.model.LimiteAprovacao; | |
| 4 | +import org.springframework.stereotype.Component; | |
| 5 | +import org.springframework.validation.Errors; | |
| 6 | +import org.springframework.validation.ValidationUtils; | |
| 7 | +import org.springframework.validation.Validator; | |
| 8 | + | |
| 9 | +import br.com.centralit.framework.exception.CodigoErro; | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 13 | + * | |
| 14 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 15 | + * | |
| 16 | + * <p><b>Title: </b></p> | |
| 17 | + * | |
| 18 | + * <p><b>Description: </b></p> | |
| 19 | + * | |
| 20 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 21 | + * | |
| 22 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 23 | + * | |
| 24 | + * @since 18/06/2015 - 16:57:27 | |
| 25 | + * | |
| 26 | + * @version 1.0.0 | |
| 27 | + * | |
| 28 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 29 | + * | |
| 30 | + */ | |
| 31 | +@Component("limiteAprovacaoValidator") | |
| 32 | +public class LimiteAprovacaoValidator implements Validator { | |
| 33 | + | |
| 34 | + @Override | |
| 35 | + public boolean supports(Class<?> clazz) { | |
| 36 | + | |
| 37 | + return LimiteAprovacao.class.isAssignableFrom(clazz); | |
| 38 | + } | |
| 39 | + | |
| 40 | + @Override | |
| 41 | + public void validate(Object target, Errors errors) { | |
| 42 | + | |
| 43 | + ValidationUtils.rejectIfEmpty(errors, "identificacao", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.IDENTIFICACAO"); | |
| 44 | + | |
| 45 | + ValidationUtils.rejectIfEmpty(errors, "dominioTipoAbrangencia", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.DOMINIO"); | |
| 46 | + | |
| 47 | + ValidationUtils.rejectIfEmpty(errors, "dominioTipoLimite", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.DOMINIO"); | |
| 48 | + | |
| 49 | + } | |
| 50 | +} | |
| 51 | + | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/service/validation/LimiteAprovacaoValorValidator.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/service/validation/LimiteAprovacaoValorValidator.java | |
| ... | ... | @@ -0,0 +1,55 @@ |
| 1 | +package br.com.centralit.api.service.validation; | |
| 2 | + | |
| 3 | +import br.com.centralit.api.model.LimiteAprovacaoValor; | |
| 4 | +import org.springframework.stereotype.Component; | |
| 5 | +import org.springframework.validation.Errors; | |
| 6 | +import org.springframework.validation.ValidationUtils; | |
| 7 | +import org.springframework.validation.Validator; | |
| 8 | + | |
| 9 | +import br.com.centralit.framework.exception.CodigoErro; | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 13 | + * | |
| 14 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 15 | + * | |
| 16 | + * <p><b>Title: </b></p> | |
| 17 | + * | |
| 18 | + * <p><b>Description: </b></p> | |
| 19 | + * | |
| 20 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 21 | + * | |
| 22 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 23 | + * | |
| 24 | + * @since 18/06/2015 - 16:56:53 | |
| 25 | + * | |
| 26 | + * @version 1.0.0 | |
| 27 | + * | |
| 28 | + * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) | |
| 29 | + * | |
| 30 | + */ | |
| 31 | +@Component("limiteAprovacaoValorValidator") | |
| 32 | +public class LimiteAprovacaoValorValidator implements Validator { | |
| 33 | + | |
| 34 | + @Override | |
| 35 | + public boolean supports(Class<?> clazz) { | |
| 36 | + | |
| 37 | + return LimiteAprovacaoValor.class.isAssignableFrom(clazz); | |
| 38 | + } | |
| 39 | + | |
| 40 | + @Override | |
| 41 | + public void validate(Object target, Errors errors) { | |
| 42 | + | |
| 43 | + ValidationUtils.rejectIfEmpty(errors, "dominio", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.DOMINIO"); | |
| 44 | + | |
| 45 | + ValidationUtils.rejectIfEmpty(errors, "dominio", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.DOMINIO"); | |
| 46 | + | |
| 47 | + ValidationUtils.rejectIfEmpty(errors, "dominio", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.DOMINIO"); | |
| 48 | + | |
| 49 | + ValidationUtils.rejectIfEmpty(errors, "dominio", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.DOMINIO"); | |
| 50 | + | |
| 51 | + ValidationUtils.rejectIfEmpty(errors, "valorLimite", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.VALORLIMITE"); | |
| 52 | + | |
| 53 | + } | |
| 54 | +} | |
| 55 | + | ... | ... |
cit-alcada-api/src/main/java/br/com/centralit/api/service/validation/SolicitacaoAlcadaValidator.java
0 → 100644
| 1 | +++ a/cit-alcada-api/src/main/java/br/com/centralit/api/service/validation/SolicitacaoAlcadaValidator.java | |
| ... | ... | @@ -0,0 +1,57 @@ |
| 1 | +package br.com.centralit.api.service.validation; | |
| 2 | + | |
| 3 | +import org.springframework.stereotype.Component; | |
| 4 | +import org.springframework.validation.Errors; | |
| 5 | +import org.springframework.validation.ValidationUtils; | |
| 6 | +import org.springframework.validation.Validator; | |
| 7 | + | |
| 8 | +import br.com.centralit.api.model.SolicitacaoAlcada; | |
| 9 | +import br.com.centralit.framework.exception.CodigoErro; | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * <p><img src="http://centralit.com.br/images/logo_central.png"></p> | |
| 13 | + * | |
| 14 | + * <p><b>Company: </b> Central IT - Governança Corporativa - </p> | |
| 15 | + * | |
| 16 | + * <p><b>Title: </b></p> | |
| 17 | + * | |
| 18 | + * <p><b>Description: </b></p> | |
| 19 | + * | |
| 20 | + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p> | |
| 21 | + * | |
| 22 | + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p> | |
| 23 | + * | |
| 24 | + * @since 18/06/2015 - 16:56:53 | |
| 25 | + * | |
| 26 | + * @version 1.0.0 | |
| 27 | + * | |
| 28 | + * @author lucas.ribeiro - (<a href="mailto:lucas.centralit@gmail.com">lucas.centralit@gmail.com</a>) | |
| 29 | + * | |
| 30 | + */ | |
| 31 | +@Component("solicitacaoAlcadaValidator") | |
| 32 | +public class SolicitacaoAlcadaValidator implements Validator { | |
| 33 | + | |
| 34 | + @Override | |
| 35 | + public boolean supports(Class<?> clazz) { | |
| 36 | + | |
| 37 | + return SolicitacaoAlcada.class.isAssignableFrom(clazz); | |
| 38 | + } | |
| 39 | + | |
| 40 | + @Override | |
| 41 | + public void validate(Object target, Errors errors) { | |
| 42 | + | |
| 43 | + ValidationUtils.rejectIfEmpty(errors, "alcada", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "ALCADA.LABEL.ALCADA"); | |
| 44 | + | |
| 45 | + ValidationUtils.rejectIfEmpty(errors, "centroResultado", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "ALCADA.LABEL.CENTRO_RESULTADO"); | |
| 46 | + | |
| 47 | + ValidationUtils.rejectIfEmpty(errors, "valor", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "SOLICITACAO_ALCADA.VALOR"); | |
| 48 | + | |
| 49 | + ValidationUtils.rejectIfEmpty(errors, "dataReferencia", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "SOLICITACAO_ALCADA.DATA_REFERENCIA"); | |
| 50 | + | |
| 51 | + ValidationUtils.rejectIfEmpty(errors, "tipoUtilizacao", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "SOLICITACAO_ALCADA.TIPO_UTILIZACAO"); | |
| 52 | + | |
| 53 | + ValidationUtils.rejectIfEmpty(errors, "identificador", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "SOLICITACAO_ALCADA.ID_ORIGEM_SOLICITACAO"); | |
| 54 | + | |
| 55 | + } | |
| 56 | +} | |
| 57 | + | ... | ... |