Commit 0096d9bc3c3ff949bbd29b0c46478f782f3e7e91

Authored by maycon.silva
2 parents ea2408ea 515f03ec
Exists in master

Merge branch 'desenvolvimento' of http://ferramentasgo.centralit.com.br:8080/scm…

…/git/cit-grp-ecm into desenvolvimento
Showing 20 changed files with 957 additions and 161 deletions   Show diff stats
cit-ecm-api/pom.xml
1 <?xml version="1.0" encoding="UTF-8"?> 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  
5 - Ltda (www.centralit.com.br) * -->  
6 -<!-- * * -->  
7 -<!-- * Este arquivo é parte do programa/software: Citsmart (www.citsmart.com.br)  
8 - * -->  
9 -<!-- * * -->  
10 -<!-- * O Citsmart é um software livre; você pode redistribui-lo e/ou modificá-lo  
11 - dentro dos termos da Licença * -->  
12 -<!-- * Pública Geral GNU como publicada pela Fundação do Software Livre (FSF);  
13 - na versão 2 da Licença. * -->  
14 -<!-- * * -->  
15 -<!-- * Este programa/software é distribuído na esperança que possa ser útil,  
16 - mas SEM NENHUMA GARANTIA; sem uma * -->  
17 -<!-- * garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM  
18 - PARTICULAR. Veja a Licença Pública Geral * -->  
19 -<!-- * GNU/GPL em português para maiores detalhes. * -->  
20 -<!-- * * -->  
21 -<!-- * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob  
22 - o título 'LICENCA.txt', junto com este * -->  
23 -<!-- * programa/software, se não, acesse o Portal do Software Público Brasileiro  
24 - no endereço www.softwarepublico.gov.br * -->  
25 -<!-- * ou escreva para a Fundação do Software Livre (FSF) Inc., 51 Franklin  
26 - St, Fifth Floor, Boston, MA 02110-1301,USA * -->  
27 -<!-- ******************************************************************************************************************** --> 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 +<!-- ******************************************************************************************************************** -->
28 <project 19 <project
29 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" 20 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
30 xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 21 xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
@@ -49,17 +40,17 @@ @@ -49,17 +40,17 @@
49 <dependency> 40 <dependency>
50 <groupId>br.com.centralit</groupId> 41 <groupId>br.com.centralit</groupId>
51 <artifactId>cit-core</artifactId> 42 <artifactId>cit-core</artifactId>
52 - <version>${project.version}</version> 43 + <version>${cit-core.version}</version>
53 </dependency> 44 </dependency>
54 <dependency> 45 <dependency>
55 <groupId>br.com.centralit</groupId> 46 <groupId>br.com.centralit</groupId>
56 <artifactId>cit-portal-api</artifactId> 47 <artifactId>cit-portal-api</artifactId>
57 - <version>${project.version}</version> 48 + <version>${cit-portal.version}</version>
58 </dependency> 49 </dependency>
59 <dependency> 50 <dependency>
60 <groupId>br.com.centralit</groupId> 51 <groupId>br.com.centralit</groupId>
61 <artifactId>cit-tabelas-corp-api</artifactId> 52 <artifactId>cit-tabelas-corp-api</artifactId>
62 - <version>${project.version}</version> 53 + <version>${cit-tabelas-corp.version}</version>
63 </dependency> 54 </dependency>
64 <dependency> 55 <dependency>
65 <groupId>org.json</groupId> 56 <groupId>org.json</groupId>
@@ -90,6 +81,6 @@ @@ -90,6 +81,6 @@
90 <groupId>com.googlecode.json-simple</groupId> 81 <groupId>com.googlecode.json-simple</groupId>
91 <artifactId>json-simple</artifactId> 82 <artifactId>json-simple</artifactId>
92 <version>1.1</version> 83 <version>1.1</version>
93 - </dependency> 84 + </dependency>
94 </dependencies> 85 </dependencies>
95 </project> 86 </project>
cit-ecm-api/src/main/java/br/com/centralit/api/dao/TarjaAssinaturaDao.java 0 → 100644
@@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
  1 +package br.com.centralit.api.dao;
  2 +
  3 +import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
  4 +
  5 +
  6 +/**
  7 + * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
  8 + *
  9 + * <p><b>Company: </b> Central IT - Governan&ccedil;a Corporativa - </p>
  10 + *
  11 + * <p><b>Description: </b></p>
  12 + * Interface DAO para itera&ccedil;&atilde;o com banco de dados para os objetos de {@link TarjaAssinaturaDao}
  13 + *
  14 + * @since 14 de abr de 2016 - 10:21:47
  15 + * @version 1.0.0
  16 + * @author ciro.junior (<a href="mailto:ciro.junior@centralit.com.br">ciro.junior@centralit.com.br</a>)
  17 + *
  18 + */
  19 +public interface TarjaAssinaturaDao extends CitGenericDAO {}
cit-ecm-api/src/main/java/br/com/centralit/api/dao/TarjaAssinaturaDaoHibernate.java 0 → 100644
@@ -0,0 +1,28 @@ @@ -0,0 +1,28 @@
  1 +package br.com.centralit.api.dao;
  2 +
  3 +import org.springframework.stereotype.Repository;
  4 +
  5 +import br.com.centralit.api.model.TarjaAssinatura;
  6 +import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
  7 +
  8 +/**
  9 + * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
  10 + *
  11 + * <p><b>Company: </b> Central IT - Governan&ccedil;a Corporativa - </p>
  12 + *
  13 + * <p><b>Description: </b></p>
  14 + * Interface DAO para itera&ccedil;&atilde;o com banco de dados para os objetos de {@link TarjaAssinaturaDao}
  15 + *
  16 + * @since 14 de abr de 2016 - 10:21:47
  17 + * @version 1.0.0
  18 + * @author ciro.junior (<a href="mailto:ciro.junior@centralit.com.br">ciro.junior@centralit.com.br</a>)
  19 + *
  20 + */
  21 +@Repository("tarjaAssinaturaDao")
  22 +public class TarjaAssinaturaDaoHibernate extends CitGenericDAOImpl implements TarjaAssinaturaDao {
  23 +
  24 + public TarjaAssinaturaDaoHibernate() {
  25 + super(TarjaAssinatura.class);
  26 + }
  27 +
  28 +}
cit-ecm-api/src/main/java/br/com/centralit/api/framework/json/ViewsEcm.java
@@ -6,105 +6,107 @@ import br.com.centralit.framework.json.Views; @@ -6,105 +6,107 @@ import br.com.centralit.framework.json.Views;
6 * <p> 6 * <p>
7 * <img src="http://centralit.com.br/images/logo_central.png"> 7 * <img src="http://centralit.com.br/images/logo_central.png">
8 * </p> 8 * </p>
9 - * 9 + *
10 * <p> 10 * <p>
11 * <b>Company: </b> Central IT - Governança Corporativa - 11 * <b>Company: </b> Central IT - Governança Corporativa -
12 * </p> 12 * </p>
13 - * 13 + *
14 * <p> 14 * <p>
15 * <b>Title: </b> 15 * <b>Title: </b>
16 * </p> 16 * </p>
17 - * 17 + *
18 * <p> 18 * <p>
19 * <b>Description: </b> 19 * <b>Description: </b>
20 * </p> 20 * </p>
21 - * 21 + *
22 * <p> 22 * <p>
23 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> 23 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
24 * </p> 24 * </p>
25 - * 25 + *
26 * <p> 26 * <p>
27 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> 27 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
28 * </p> 28 * </p>
29 - * 29 + *
30 * @since 22/06/2015 - 15:10:43 30 * @since 22/06/2015 - 15:10:43
31 - * 31 + *
32 * @version 1.0.0 32 * @version 1.0.0
33 - * 33 + *
34 * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>) 34 * @author lucas.ribeiro - (<a href="mailto:lucas.ribeiro@centralit.com.br">lucas.ribeiro@centralit.com.br</a>)
35 - * 35 + *
36 */ 36 */
37 public class ViewsEcm extends Views { 37 public class ViewsEcm extends Views {
38 38
39 public static class PlanoClassificacaoListView extends Views.GenericView {}; 39 public static class PlanoClassificacaoListView extends Views.GenericView {};
40 40
41 public static class PlanoClassificacaoEditView extends PlanoClassificacaoListView {}; 41 public static class PlanoClassificacaoEditView extends PlanoClassificacaoListView {};
42 - 42 +
43 public static class PlanoClassificacaoParent extends Views.GenericView {}; 43 public static class PlanoClassificacaoParent extends Views.GenericView {};
44 - 44 +
45 public static class PlanoClassificacaoFilho extends Views.GenericView{}; 45 public static class PlanoClassificacaoFilho extends Views.GenericView{};
46 - 46 +
47 public static class PlanoClassificacaoAutocompleteRecursive extends Views.GenericView{}; 47 public static class PlanoClassificacaoAutocompleteRecursive extends Views.GenericView{};
48 - 48 +
49 public static class PlanoCLassificacaoAutoComplete extends Views.GenericView{}; 49 public static class PlanoCLassificacaoAutoComplete extends Views.GenericView{};
50 - 50 +
51 public static class TipoDocumentoList extends Views.GenericView{}; 51 public static class TipoDocumentoList extends Views.GenericView{};
52 - 52 +
53 public static class TipoDocumentoEdit extends TipoDocumentoList {}; 53 public static class TipoDocumentoEdit extends TipoDocumentoList {};
54 - 54 +
55 public static class HipoteseLegalList extends Views.GenericView{}; 55 public static class HipoteseLegalList extends Views.GenericView{};
56 - 56 +
57 public static class HipoteseLegalEdit extends HipoteseLegalList {}; 57 public static class HipoteseLegalEdit extends HipoteseLegalList {};
58 - 58 +
59 public static class TipoProcessoList extends Views.GenericView{}; 59 public static class TipoProcessoList extends Views.GenericView{};
60 - 60 +
61 public static class TipoProcessoEdit extends TipoProcessoList {}; 61 public static class TipoProcessoEdit extends TipoProcessoList {};
62 - 62 +
63 public static class NivelAcessoTipoDocumentoList extends Views.GenericView{}; 63 public static class NivelAcessoTipoDocumentoList extends Views.GenericView{};
64 - 64 +
65 public static class NivelAcessoTipoDocumentoEdit extends NivelAcessoTipoDocumentoList{}; 65 public static class NivelAcessoTipoDocumentoEdit extends NivelAcessoTipoDocumentoList{};
66 - 66 +
67 public static class ClassificarProcessoDocumentoList extends Views.GenericView{}; 67 public static class ClassificarProcessoDocumentoList extends Views.GenericView{};
68 - 68 +
69 public static class ClassificarProcessoDocumento extends ClassificarProcessoDocumentoList{}; 69 public static class ClassificarProcessoDocumento extends ClassificarProcessoDocumentoList{};
70 - 70 +
71 public static class NivelAcessoTipoProcessoList extends Views.GenericView{}; 71 public static class NivelAcessoTipoProcessoList extends Views.GenericView{};
72 - 72 +
73 public static class NivelAcessoTipoProcessoEdit extends NivelAcessoTipoProcessoList{}; 73 public static class NivelAcessoTipoProcessoEdit extends NivelAcessoTipoProcessoList{};
74 - 74 +
75 public static class InteressadoProcessoList extends Views.GenericView{}; 75 public static class InteressadoProcessoList extends Views.GenericView{};
76 - 76 +
77 public static class InteressadoProcessoEdit extends InteressadoProcessoList{}; 77 public static class InteressadoProcessoEdit extends InteressadoProcessoList{};
78 - 78 +
79 public static class HistoricoProcessoView extends Views.GenericView{}; 79 public static class HistoricoProcessoView extends Views.GenericView{};
80 - 80 +
81 public static class CancelamentoDocumentoView extends Views.GenericView{}; 81 public static class CancelamentoDocumentoView extends Views.GenericView{};
82 - 82 +
83 public static class TemplatePadraoListView extends Views.GenericView{}; 83 public static class TemplatePadraoListView extends Views.GenericView{};
84 - 84 +
85 public static class TemplatePadraoEditView extends ViewsEcm.TemplatePadraoListView{}; 85 public static class TemplatePadraoEditView extends ViewsEcm.TemplatePadraoListView{};
86 - 86 +
87 public static class CabecalhoListView extends Views.GenericView{}; 87 public static class CabecalhoListView extends Views.GenericView{};
88 - 88 +
89 public static class CabecalhoEditView extends ViewsEcm.CabecalhoListView{}; 89 public static class CabecalhoEditView extends ViewsEcm.CabecalhoListView{};
90 - 90 +
91 public static class CabecalhoAutoCompleteView extends Views.GenericView{}; 91 public static class CabecalhoAutoCompleteView extends Views.GenericView{};
92 - 92 +
93 public static class RodapeListView extends Views.GenericView{}; 93 public static class RodapeListView extends Views.GenericView{};
94 - 94 +
95 public static class RodapeEditView extends ViewsEcm.RodapeListView{}; 95 public static class RodapeEditView extends ViewsEcm.RodapeListView{};
96 - 96 +
97 public static class RodapeAutoCompleteView extends Views.GenericView{}; 97 public static class RodapeAutoCompleteView extends Views.GenericView{};
98 - 98 +
99 public static class TipoDocumentoPlanoClassificacaoAutoCompleteView extends Views.GenericView{}; 99 public static class TipoDocumentoPlanoClassificacaoAutoCompleteView extends Views.GenericView{};
100 100
101 public static class ClassificacaoDocumentoGedView extends Views.GenericView{}; 101 public static class ClassificacaoDocumentoGedView extends Views.GenericView{};
102 102
103 public static class HistoricoAtribuicaoProcessoView extends Views.GenericView{}; 103 public static class HistoricoAtribuicaoProcessoView extends Views.GenericView{};
104 - 104 +
105 public static class TipoSuporteDocumentoListView extends Views.GenericView{}; 105 public static class TipoSuporteDocumentoListView extends Views.GenericView{};
106 - 106 +
107 public static class TipoSuporteDocumentoEdit extends TipoSuporteDocumentoListView{}; 107 public static class TipoSuporteDocumentoEdit extends TipoSuporteDocumentoListView{};
108 -  
109 - 108 +
  109 + public static class TarjaAssinaturaListview extends Views.GenericView{};
  110 +
  111 + public static class TarjaAssinaturaEditview extends ViewsEcm.TarjaAssinaturaListview{};
110 } 112 }
cit-ecm-api/src/main/java/br/com/centralit/api/model/TarjaAssinatura.java 0 → 100644
@@ -0,0 +1,96 @@ @@ -0,0 +1,96 @@
  1 +package br.com.centralit.api.model;
  2 +
  3 +import javax.persistence.Column;
  4 +import javax.persistence.Entity;
  5 +import javax.persistence.FetchType;
  6 +import javax.persistence.GeneratedValue;
  7 +import javax.persistence.GenerationType;
  8 +import javax.persistence.Id;
  9 +import javax.persistence.ManyToOne;
  10 +import javax.persistence.OneToOne;
  11 +
  12 +import com.fasterxml.jackson.annotation.JsonView;
  13 +
  14 +import br.com.centralit.api.framework.json.ViewsEcm;
  15 +import br.com.centralit.framework.json.Views;
  16 +import br.com.centralit.framework.model.AnexoImagem;
  17 +import br.com.centralit.framework.model.Dominio;
  18 +import br.com.centralit.framework.model.arquitetura.PersistentObjectAudit;
  19 +
  20 +@Entity
  21 +public class TarjaAssinatura extends PersistentObjectAudit{
  22 +
  23 + private static final long serialVersionUID = -7187159662335439914L;
  24 +
  25 + @Id
  26 + @GeneratedValue(strategy = GenerationType.AUTO)
  27 + @JsonView({ Views.GenericView.class })
  28 + private Long id;
  29 +
  30 + @JsonView({ ViewsEcm.TarjaAssinaturaEditview.class })
  31 + @Column (length=100, nullable = false)
  32 + private String descricao;
  33 +
  34 + @ManyToOne(fetch = FetchType.LAZY)
  35 + @JsonView({ ViewsEcm.TarjaAssinaturaEditview.class })
  36 + private Dominio tipoAssinatura;
  37 +
  38 + /** Conte&uacute;do em HTML*/
  39 + @JsonView({ ViewsEcm.TarjaAssinaturaEditview.class })
  40 + @Column (length=1000, nullable = false)
  41 + private String conteudo;
  42 +
  43 + @OneToOne
  44 + @JsonView({ ViewsEcm.TarjaAssinaturaEditview.class })
  45 + private AnexoImagem anexoImagem;
  46 +
  47 + public Long getId() {
  48 +
  49 + return id;
  50 + }
  51 +
  52 + public void setId(Long id) {
  53 +
  54 + this.id = id;
  55 + }
  56 +
  57 + public String getDescricao() {
  58 +
  59 + return descricao;
  60 + }
  61 +
  62 + public void setDescricao(String descricao) {
  63 +
  64 + this.descricao = descricao;
  65 + }
  66 +
  67 + public Dominio getTipoAssinatura() {
  68 +
  69 + return tipoAssinatura;
  70 + }
  71 +
  72 + public void setTipoAssinatura(Dominio tipoAssinatura) {
  73 +
  74 + this.tipoAssinatura = tipoAssinatura;
  75 + }
  76 +
  77 + public String getConteudo() {
  78 +
  79 + return conteudo;
  80 + }
  81 +
  82 + public void setConteudo(String conteudo) {
  83 +
  84 + this.conteudo = conteudo;
  85 + }
  86 +
  87 + public AnexoImagem getAnexoImagem() {
  88 +
  89 + return anexoImagem;
  90 + }
  91 +
  92 + public void setAnexoImagem(AnexoImagem anexoImagem) {
  93 +
  94 + this.anexoImagem = anexoImagem;
  95 + }
  96 +}
cit-ecm-api/src/main/java/br/com/centralit/api/service/TarjaAssinaturaService.java 0 → 100644
@@ -0,0 +1,57 @@ @@ -0,0 +1,57 @@
  1 +package br.com.centralit.api.service;
  2 +
  3 +import org.springframework.web.multipart.MultipartFile;
  4 +
  5 +import br.com.centralit.api.model.TarjaAssinatura;
  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&ccedil;a Corporativa - </p>
  12 + *
  13 + * <p><b>Description: </b></p>
  14 + * Classe de servi&ccedil;os para a entidade TarjaAssinatura, a qual mant&eacute;m as regras de neg&oacute;cio.
  15 + *
  16 + * @since 13 de abr de 2016 - 13:40:36
  17 + * @version 1.0.0
  18 + * @author ciro.junior (<a href="mailto:ciro.junior@centralit.com.br">ciro.junior@centralit.com.br</a>)
  19 + *
  20 + */
  21 +public interface TarjaAssinaturaService extends GenericService<TarjaAssinatura, Long> {
  22 +
  23 + /**
  24 + *
  25 + * M&eacute;todo respons&aacute;vel por fazer o upload da imagem do logotipo de uma tarja de assinatura.
  26 + *
  27 + * @author ciro.junior (<a href="mailto:ciro.junior@centralit.com.br">ciro.junior@centralit.com.br</a>)
  28 + *
  29 + * @param file
  30 + * @param idOrganizacao
  31 + * @param idConfiguracao
  32 + */
  33 + void uploadAnexoImagemTarja(MultipartFile file, Long idOrganizacao, Long idConfiguracao);
  34 +
  35 + /**
  36 + *
  37 + * M&eacute;todo respons&aacute;vel por salvar os dois tipos de tarjas de assinatura ao mesmo tempo
  38 + *
  39 + * @author ciro.junior (<a href="mailto:ciro.junior@centralit.com.br">ciro.junior@centralit.com.br</a>)
  40 + *
  41 + * @param tarjaAssinaturaVH
  42 + * @return
  43 + */
  44 + TarjaAssinatura save (TarjaAssinatura tarjaAssinatura);
  45 +
  46 +
  47 + /**
  48 + *
  49 + * M&eacute;todo respons&aacute;vel por remover a imagem associada a uma tarja de assinatura.
  50 + *
  51 + * @author ciro.junior (<a href="mailto:ciro.junior@centralit.com.br">ciro.junior@centralit.com.br</a>)
  52 + *
  53 + * @param tarjaAssinatura
  54 + * @return
  55 + */
  56 + TarjaAssinatura removeImagem (TarjaAssinatura tarjaAssinatura);
  57 +}
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/InicializarEcmServiceImpl.java
@@ -21,33 +21,33 @@ import br.com.centralit.framework.model.UtilStartup; @@ -21,33 +21,33 @@ import br.com.centralit.framework.model.UtilStartup;
21 * <p> 21 * <p>
22 * <img src="http://centralit.com.br/images/logo_central.png"> 22 * <img src="http://centralit.com.br/images/logo_central.png">
23 * </p> 23 * </p>
24 - * 24 + *
25 * <p> 25 * <p>
26 * <b>Company: </b> Central IT - Governança Corporativa - 26 * <b>Company: </b> Central IT - Governança Corporativa -
27 * </p> 27 * </p>
28 - * 28 + *
29 * <p> 29 * <p>
30 * <b>Title: </b> 30 * <b>Title: </b>
31 * </p> 31 * </p>
32 - * 32 + *
33 * <p> 33 * <p>
34 * <b>Description: </b> 34 * <b>Description: </b>
35 * </p> 35 * </p>
36 - * 36 + *
37 * <p> 37 * <p>
38 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> 38 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
39 * </p> 39 * </p>
40 - * 40 + *
41 * <p> 41 * <p>
42 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> 42 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
43 * </p> 43 * </p>
44 - * 44 + *
45 * @since 22/10/2015 - 08:54:55 45 * @since 22/10/2015 - 08:54:55
46 - * 46 + *
47 * @version 1.0.0 47 * @version 1.0.0
48 - * 48 + *
49 * @author rogerio.costa 49 * @author rogerio.costa
50 - * 50 + *
51 */ 51 */
52 @Service("inicializarEcmService") 52 @Service("inicializarEcmService")
53 public class InicializarEcmServiceImpl extends UtilStartup { 53 public class InicializarEcmServiceImpl extends UtilStartup {
@@ -74,15 +74,15 @@ public class InicializarEcmServiceImpl extends UtilStartup { @@ -74,15 +74,15 @@ public class InicializarEcmServiceImpl extends UtilStartup {
74 * <p> 74 * <p>
75 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> 75 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
76 * </p> 76 * </p>
77 - * 77 + *
78 * <p> 78 * <p>
79 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> 79 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
80 * </p> 80 * </p>
81 - * 81 + *
82 * Método responsável por gerar a carga inicial 82 * Método responsável por gerar a carga inicial
83 - * 83 + *
84 * @author rogerio.costa 84 * @author rogerio.costa
85 - * 85 + *
86 */ 86 */
87 public void gerarCarga() { 87 public void gerarCarga() {
88 88
@@ -93,15 +93,15 @@ public class InicializarEcmServiceImpl extends UtilStartup { @@ -93,15 +93,15 @@ public class InicializarEcmServiceImpl extends UtilStartup {
93 * <p> 93 * <p>
94 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> 94 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
95 * </p> 95 * </p>
96 - * 96 + *
97 * <p> 97 * <p>
98 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> 98 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
99 * </p> 99 * </p>
100 - * 100 + *
101 * Método responsável por 101 * Método responsável por
102 - * 102 + *
103 * @author rogerio.costa 103 * @author rogerio.costa
104 - * 104 + *
105 * @param modulo 105 * @param modulo
106 */ 106 */
107 private void criarPaginasMenus() { 107 private void criarPaginasMenus() {
@@ -339,6 +339,13 @@ public class InicializarEcmServiceImpl extends UtilStartup { @@ -339,6 +339,13 @@ public class InicializarEcmServiceImpl extends UtilStartup {
339 menuSuporteDocumento.setIncludes(this.gerarArquivosMenu(menuSuporteDocumento, this.CIT_ECM_WEB_ANGULAR, "TipoSuporteDocumento", true, true, true)); 339 menuSuporteDocumento.setIncludes(this.gerarArquivosMenu(menuSuporteDocumento, this.CIT_ECM_WEB_ANGULAR, "TipoSuporteDocumento", true, true, true));
340 this.menuService.mergeIfNotExist(menuSuporteDocumento); 340 this.menuService.mergeIfNotExist(menuSuporteDocumento);
341 341
  342 + // Submenu Tarja de assinatura
  343 + Pagina pgTarjaAssinatura = new Pagina("Tarja de Assinatura", "/cit-ecm-web/html/tarjaAssinatura/tarjaAssinatura.html");
  344 + pgTarjaAssinatura = this.paginaService.saveIfNotExist(pgTarjaAssinatura);
  345 +
  346 + Menu menuTarjaAssinatura = new Menu("Tarja de Assinatura", pgTarjaAssinatura, menuCadastroBasico, 0, 9, null, null, null, null, modulo);
  347 + menuTarjaAssinatura.setIncludes(this.gerarArquivosMenu(menuTarjaAssinatura, this.CIT_ECM_WEB_ANGULAR, "TarjaAssinatura", true, true, true));
  348 + this.menuService.mergeIfNotExist(menuTarjaAssinatura);
342 } 349 }
343 350
344 } 351 }
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/TarjaAssinaturaServiceImpl.java 0 → 100644
@@ -0,0 +1,93 @@ @@ -0,0 +1,93 @@
  1 +package br.com.centralit.api.service.impl;
  2 +
  3 +import java.io.IOException;
  4 +
  5 +import org.apache.log4j.Logger;
  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 +import org.springframework.web.multipart.MultipartFile;
  11 +
  12 +import br.com.centralit.api.dao.TarjaAssinaturaDao;
  13 +import br.com.centralit.api.model.TarjaAssinatura;
  14 +import br.com.centralit.api.service.AnexoImagemService;
  15 +import br.com.centralit.api.service.OrganizacaoService;
  16 +import br.com.centralit.api.service.TarjaAssinaturaService;
  17 +import br.com.centralit.framework.model.AnexoImagem;
  18 +import br.com.centralit.framework.model.Organizacao;
  19 +import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
  20 +
  21 +/**
  22 + * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
  23 + *
  24 + * <p><b>Company: </b> Central IT - Governan&ccedil;a Corporativa - </p>
  25 + *
  26 + * <p><b>Description: </b></p>
  27 + * Classe de servi&ccedil;os para a entidade TarjaAssinatura, a qual mant&eacute;m as regras de neg&oacute;cio.
  28 + *
  29 + * @since 13 de abr de 2016 - 13:40:36
  30 + * @version 1.0.0
  31 + * @author ciro.junior (<a href="mailto:ciro.junior@centralit.com.br">ciro.junior@centralit.com.br</a>)
  32 + *
  33 + */
  34 +@Service("tarjaAssinaturaService")
  35 +public class TarjaAssinaturaServiceImpl extends GenericServiceImpl<TarjaAssinatura, Long> implements TarjaAssinaturaService {
  36 +
  37 + private static final Logger LOG = Logger.getLogger(TarjaAssinaturaServiceImpl.class);
  38 +
  39 + @Autowired
  40 + private OrganizacaoService organizacaoService;
  41 +
  42 + @Autowired
  43 + private AnexoImagemService anexoImagemService;
  44 +
  45 + private TarjaAssinaturaDao tarjaAssinaturaDao;
  46 +
  47 + @Autowired
  48 + public TarjaAssinaturaServiceImpl (TarjaAssinaturaDao tarjaAssinaturaDao, @Qualifier("tarjaAssinaturaValidator") Validator validator) {
  49 + this.dao = tarjaAssinaturaDao;
  50 + this.tarjaAssinaturaDao = tarjaAssinaturaDao;
  51 + this.validator = validator;
  52 + }
  53 +
  54 + public TarjaAssinatura save (TarjaAssinatura tarjaAssinatura){
  55 + return this.merge(tarjaAssinatura);
  56 + }
  57 +
  58 + @Override
  59 + public TarjaAssinatura merge(TarjaAssinatura tarjaAssinatura) {
  60 + this.validarEntidade(tarjaAssinatura, this.validator);
  61 + return super.merge(tarjaAssinatura);
  62 + }
  63 +
  64 + @Override
  65 + public TarjaAssinatura removeImagem (TarjaAssinatura tarjaAssinatura) {
  66 + if(tarjaAssinatura.getAnexoImagem() != null) {
  67 + anexoImagemService.removeById(tarjaAssinatura.getAnexoImagem().getId());
  68 + tarjaAssinatura.setAnexoImagem(null);
  69 + }
  70 + return this.merge(tarjaAssinatura);
  71 + }
  72 +
  73 + /**{@inheritDoc}*/
  74 + @Override
  75 + public void uploadAnexoImagemTarja(MultipartFile file, Long idOrganizacao, Long idTarjaAssinatura) {
  76 +
  77 + AnexoImagem anexoImagem = new AnexoImagem ();
  78 + try {
  79 + Organizacao organizacao = (Organizacao) this.organizacaoService.find(idOrganizacao);
  80 + anexoImagem.setAnexo(file.getBytes());
  81 + anexoImagem.setDescricao(file.getOriginalFilename());
  82 + anexoImagem.setOrganizacao(organizacao);
  83 +
  84 + AnexoImagem anexoImagemSaved = anexoImagemService.save(anexoImagem);
  85 + TarjaAssinatura tarjaAssinatura = (TarjaAssinatura) this.tarjaAssinaturaDao.find(idTarjaAssinatura);
  86 + tarjaAssinatura.setAnexoImagem(anexoImagemSaved);
  87 + this.merge(tarjaAssinatura);
  88 + } catch (IOException ioe) {
  89 + LOG.error("N\u00e3o consegui anexar a imagem \u00e0 entidade TarjaAssinatura. Verifique a exce\u00e7\u00e3o para "
  90 + + "identificar a causa: ", ioe.getCause());
  91 + }
  92 + }
  93 +}
cit-ecm-api/src/main/java/br/com/centralit/api/service/validation/TarjaAssinaturaValidator.java 0 → 100644
@@ -0,0 +1,29 @@ @@ -0,0 +1,29 @@
  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.TarjaAssinatura;
  9 +import br.com.centralit.framework.exception.CodigoErro;
  10 +
  11 +@Component("tarjaAssinaturaValidator")
  12 +public class TarjaAssinaturaValidator implements Validator{
  13 +
  14 + @Override
  15 + public boolean supports(Class<?> clazz) {
  16 +
  17 + return TarjaAssinatura.class.isAssignableFrom(clazz);
  18 + }
  19 +
  20 + @Override
  21 + public void validate(Object target, Errors errors) {
  22 +
  23 + ValidationUtils.rejectIfEmpty(errors, "descricao", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "LABEL.DESCRICAO");
  24 + ValidationUtils.rejectIfEmpty(errors, "conteudo", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "ECM.LABEL.CONTEUDO_HTML");
  25 +
  26 + }
  27 +
  28 +
  29 +}
cit-ecm-api/src/main/resources/scripts/v1.0.0-alpha9/01-cit-ecm-1.0.0-ALFA-3-postgres.sql 0 → 100644
@@ -0,0 +1,53 @@ @@ -0,0 +1,53 @@
  1 +-- CIRO - 18/04/2016 - INICIO
  2 +
  3 +ALTER TABLE anexoimagem DROP CONSTRAINT fk_jrmn20bykidk1pkxu492d4bmx;
  4 +DROP TABLE anexoimagem;
  5 +
  6 +CREATE TABLE anexoimagem
  7 +(
  8 + id bigint NOT NULL,
  9 + databloqueio date,
  10 + datainativo date,
  11 + datacriacao timestamp without time zone NOT NULL,
  12 + dataedicao timestamp without time zone NOT NULL,
  13 + version bigint,
  14 + anexo bytea,
  15 + descricao character varying(300),
  16 + inativador_id bigint,
  17 + autor_id bigint,
  18 + editor_id bigint,
  19 + organizacao_id bigint,
  20 + CONSTRAINT anexoimagem_pkey PRIMARY KEY (id),
  21 + CONSTRAINT fk_5hyw0geaeeh6hnssbssi7htvb FOREIGN KEY (editor_id)
  22 + REFERENCES seguranca_usuario (id) MATCH SIMPLE
  23 + ON UPDATE NO ACTION ON DELETE NO ACTION,
  24 + CONSTRAINT fk_76rf21tx2q8px4fjbsavu4kva FOREIGN KEY (inativador_id)
  25 + REFERENCES seguranca_usuario (id) MATCH SIMPLE
  26 + ON UPDATE NO ACTION ON DELETE NO ACTION,
  27 + CONSTRAINT fk_cx5i3h3y5675r622to4rddra3 FOREIGN KEY (autor_id)
  28 + REFERENCES seguranca_usuario (id) MATCH SIMPLE
  29 + ON UPDATE NO ACTION ON DELETE NO ACTION,
  30 + CONSTRAINT fk_few35t9tvbqe49wakqts3mt4l FOREIGN KEY (organizacao_id)
  31 + REFERENCES organizacao (id) MATCH SIMPLE
  32 + ON UPDATE NO ACTION ON DELETE NO ACTION
  33 +);
  34 +
  35 +ALTER TABLE configuracao DROP COLUMN anexoimagem_id;
  36 +
  37 +CREATE TABLE configuracao_anexoimagem
  38 +(
  39 + configuracao_id bigint NOT NULL,
  40 + anexoimagem_id bigint NOT NULL,
  41 + CONSTRAINT fk_2nqdnlb8v5u1xe3hjvl3p5f4o FOREIGN KEY (configuracao_id)
  42 + REFERENCES configuracao (id) MATCH SIMPLE
  43 + ON UPDATE NO ACTION ON DELETE NO ACTION,
  44 + CONSTRAINT fk_3r4n34ctyem6lxoijg47ennvp FOREIGN KEY (anexoimagem_id)
  45 + REFERENCES anexoimagem (id) MATCH SIMPLE
  46 + ON UPDATE NO ACTION ON DELETE NO ACTION
  47 +);
  48 +
  49 +INSERT INTO tarjaassinatura(id, databloqueio, datainativo, datacriacao, dataedicao, version, conteudo, descricao, inativador_id, autor_id, editor_id, anexoimagem_id, tipoassinatura_id)
  50 +VALUES (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, NULL, LOCALTIMESTAMP, LOCALTIMESTAMP, 0, '', '', null, (select id from seguranca_usuario where username = 'admin'), null, null, (select id from dominio where chave = 'tipoAssinatura' and codigo = 1));
  51 +INSERT INTO tarjaassinatura(id, databloqueio, datainativo, datacriacao, dataedicao, version, conteudo, descricao, inativador_id, autor_id, editor_id, anexoimagem_id, tipoassinatura_id)
  52 +VALUES (NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, NULL, LOCALTIMESTAMP, LOCALTIMESTAMP, 0, '', '', null, (select id from seguranca_usuario where username = 'admin'), null, null, (select id from dominio where chave = 'tipoAssinatura' and codigo = 2));
  53 +-- CIRO - 18/04/2016 - FIM
0 \ No newline at end of file 54 \ No newline at end of file
cit-ecm-web/pom.xml
@@ -31,22 +31,16 @@ @@ -31,22 +31,16 @@
31 <packaging>war</packaging> 31 <packaging>war</packaging>
32 <name>cit-ecm-web</name> 32 <name>cit-ecm-web</name>
33 33
34 - <properties>  
35 - <findbugs.config.path>${project.parent.parent.parent.basedir}/filterfile.xml</findbugs.config.path>  
36 - <license.config.path>${project.parent.parent.basedir}/src/licensing</license.config.path>  
37 - <maven-antrun-plugin.phase>package</maven-antrun-plugin.phase>  
38 - <minify-maven-plugin.phase>prepare-package</minify-maven-plugin.phase>  
39 - </properties> 34 + <properties>
  35 + <findbugs.config.path>${project.parent.parent.parent.basedir}/filterfile.xml</findbugs.config.path>
  36 + <license.config.path>${project.parent.parent.basedir}/src/licensing</license.config.path>
  37 + <maven-antrun-plugin.phase>package</maven-antrun-plugin.phase>
  38 + <minify-maven-plugin.phase>prepare-package</minify-maven-plugin.phase>
  39 + </properties>
40 40
41 <dependencies> 41 <dependencies>
42 <dependency> 42 <dependency>
43 <groupId>br.com.centralit</groupId> 43 <groupId>br.com.centralit</groupId>
44 - <artifactId>cit-core</artifactId>  
45 - <version>${cit-core.version}</version>  
46 - </dependency>  
47 -  
48 - <dependency>  
49 - <groupId>br.com.centralit</groupId>  
50 <artifactId>cit-ecm-api</artifactId> 44 <artifactId>cit-ecm-api</artifactId>
51 </dependency> 45 </dependency>
52 </dependencies> 46 </dependencies>
cit-ecm-web/src/main/java/br/com/centralit/controller/TarjaAssinaturaController.java 0 → 100644
@@ -0,0 +1,65 @@ @@ -0,0 +1,65 @@
  1 +package br.com.centralit.controller;
  2 +
  3 +import javax.servlet.http.HttpServletRequest;
  4 +
  5 +import org.springframework.beans.factory.annotation.Autowired;
  6 +import org.springframework.stereotype.Controller;
  7 +import org.springframework.web.bind.annotation.RequestBody;
  8 +import org.springframework.web.bind.annotation.RequestMapping;
  9 +import org.springframework.web.bind.annotation.RequestMethod;
  10 +import org.springframework.web.bind.annotation.RequestParam;
  11 +import org.springframework.web.bind.annotation.ResponseBody;
  12 +import org.springframework.web.multipart.MultipartFile;
  13 +
  14 +import br.com.centralit.api.framework.json.ViewsEcm;
  15 +import br.com.centralit.api.model.TarjaAssinatura;
  16 +import br.com.centralit.api.service.TarjaAssinaturaService;
  17 +import br.com.centralit.framework.controller.GenericController;
  18 +import br.com.centralit.framework.json.ResponseBodyWrapper;
  19 +
  20 +@Controller
  21 +@RequestMapping("/rest/tarjaAssinatura")
  22 +public class TarjaAssinaturaController extends GenericController<TarjaAssinatura> {
  23 +
  24 + private TarjaAssinaturaService tarjaAssinaturaService;
  25 +
  26 + @Override
  27 + public Class<ViewsEcm.TarjaAssinaturaEditview> getEditView() {
  28 + return ViewsEcm.TarjaAssinaturaEditview.class;
  29 + }
  30 +
  31 + @Autowired
  32 + public TarjaAssinaturaController( TarjaAssinaturaService tarjaAssinaturaService ) {
  33 + super(tarjaAssinaturaService);
  34 + this.tarjaAssinaturaService = tarjaAssinaturaService;
  35 + }
  36 +
  37 + @ResponseBody
  38 + @RequestMapping(value = "/uploadFileLogo", method = RequestMethod.POST)
  39 + public void uploadFileHandle(@RequestParam(value = "filename", required = false) String name,
  40 + @RequestParam("file") MultipartFile file, HttpServletRequest request,
  41 + @RequestParam("idOrganizacao") Long idOrganizacao,
  42 + @RequestParam("idTarjaAssinatura") String idTarjaAssinatura) {
  43 +
  44 + this.tarjaAssinaturaService.uploadAnexoImagemTarja(file, idOrganizacao, Long.parseLong(idTarjaAssinatura));
  45 + }
  46 +
  47 + @ResponseBody
  48 + @RequestMapping(value = "/saveTarjaAssinatura", method = RequestMethod.POST, produces = "application/json")
  49 + public ResponseBodyWrapper save(@RequestBody TarjaAssinatura tarjaAssinatura) throws Exception {
  50 +
  51 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.tarjaAssinaturaService.save(tarjaAssinatura), getEditView());
  52 +
  53 + return responseBody;
  54 + }
  55 +
  56 + @ResponseBody
  57 + @RequestMapping(value = "/removeImagem", method = RequestMethod.POST, produces = "application/json")
  58 + public ResponseBodyWrapper removeImagem(@RequestBody TarjaAssinatura tarjaAssinatura) throws Exception {
  59 +
  60 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.tarjaAssinaturaService.removeImagem(tarjaAssinatura), getEditView());
  61 +
  62 + return responseBody;
  63 + }
  64 +
  65 +}
cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java
@@ -76,15 +76,15 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen @@ -76,15 +76,15 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
76 * <p> 76 * <p>
77 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> 77 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
78 * </p> 78 * </p>
79 - * 79 + *
80 * <p> 80 * <p>
81 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> 81 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
82 * </p> 82 * </p>
83 - * 83 + *
84 * Método responsável por criar as regras de acesso 84 * Método responsável por criar as regras de acesso
85 - * 85 + *
86 * @author rogerio.costa 86 * @author rogerio.costa
87 - * 87 + *
88 */ 88 */
89 private void criarRegraDeAcesso() { 89 private void criarRegraDeAcesso() {
90 90
@@ -107,9 +107,9 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen @@ -107,9 +107,9 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
107 107
108 /** 108 /**
109 * Método responsável por criar domínios específicos ECM 109 * Método responsável por criar domínios específicos ECM
110 - * 110 + *
111 * @author halan.lima 111 * @author halan.lima
112 - * 112 + *
113 */ 113 */
114 protected void popularAcoesAlteracaoProcesso() { 114 protected void popularAcoesAlteracaoProcesso() {
115 115
@@ -153,15 +153,15 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen @@ -153,15 +153,15 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
153 * <p> 153 * <p>
154 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> 154 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
155 * </p> 155 * </p>
156 - * 156 + *
157 * <p> 157 * <p>
158 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> 158 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
159 * </p> 159 * </p>
160 - * 160 + *
161 * Método responsável por incluir dominios 161 * Método responsável por incluir dominios
162 - * 162 + *
163 * @author rogerio.costa 163 * @author rogerio.costa
164 - * 164 + *
165 */ 165 */
166 private void criarDominios() { 166 private void criarDominios() {
167 167
@@ -197,23 +197,26 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen @@ -197,23 +197,26 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
197 197
198 list.add(new Dominio("tipoProtocoloNup", "Automático", "EXTERNO", 1L, Boolean.FALSE)); 198 list.add(new Dominio("tipoProtocoloNup", "Automático", "EXTERNO", 1L, Boolean.FALSE));
199 list.add(new Dominio("tipoProtocoloNup", "Informado", "NUP_NOVO", 2L, Boolean.FALSE)); 199 list.add(new Dominio("tipoProtocoloNup", "Informado", "NUP_NOVO", 2L, Boolean.FALSE));
200 - 200 +
201 list.add(new Dominio("formaNumeracao", "Sequencial por ano", "SEQUENCIAL_ANO", 1L)); 201 list.add(new Dominio("formaNumeracao", "Sequencial por ano", "SEQUENCIAL_ANO", 1L));
202 list.add(new Dominio("formaNumeracao", "Sequencial único", "SEQUENCIAL_UNICO", 2L)); 202 list.add(new Dominio("formaNumeracao", "Sequencial único", "SEQUENCIAL_UNICO", 2L));
203 203
204 list.add(new Dominio("statusProcesso", "Concluído", "CONCLUIDO", 1L)); 204 list.add(new Dominio("statusProcesso", "Concluído", "CONCLUIDO", 1L));
205 list.add(new Dominio("statusProcesso", "Em andamento", "EM_ANDAMENTO", 2L)); 205 list.add(new Dominio("statusProcesso", "Em andamento", "EM_ANDAMENTO", 2L));
206 206
  207 + list.add(new Dominio("tipoAssinatura", "Assinatura interna", "ASSINATURA_INTERNA", 1L));
  208 + list.add(new Dominio("tipoAssinatura", "Assinatura por certificado digital", "ASSINATURA_CERTIFICADO_DIGITAL", 2L));
  209 +
207 this.dominioService.saveListIfNotExist(list); 210 this.dominioService.saveListIfNotExist(list);
208 211
209 } 212 }
210 213
211 /** 214 /**
212 - * 215 + *
213 * Método responsável por gerar internacionalização do módulo ECM 216 * Método responsável por gerar internacionalização do módulo ECM
214 - * 217 + *
215 * @author rogerio.cassimiro 218 * @author rogerio.cassimiro
216 - * 219 + *
217 */ 220 */
218 private void gerarInternacionalizacao() { 221 private void gerarInternacionalizacao() {
219 222
@@ -233,15 +236,15 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen @@ -233,15 +236,15 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
233 * <p> 236 * <p>
234 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> 237 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
235 * </p> 238 * </p>
236 - * 239 + *
237 * <p> 240 * <p>
238 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> 241 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
239 * </p> 242 * </p>
240 - * 243 + *
241 * Método responsável por criar labels 244 * Método responsável por criar labels
242 - * 245 + *
243 * @author Rogério Gomes 246 * @author Rogério Gomes
244 - * 247 + *
245 * @param dominio 248 * @param dominio
246 * @param modulo 249 * @param modulo
247 * @param internacionalizacaoList 250 * @param internacionalizacaoList
@@ -402,23 +405,27 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen @@ -402,23 +405,27 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
402 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NOME_NOVO_SUPORTE ", "Nome do suporte", dominio, modulo)); 405 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NOME_NOVO_SUPORTE ", "Nome do suporte", dominio, modulo));
403 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NOVO_TIPO_SUPORTE ", "Novo tipo suporte de documento", dominio, modulo)); 406 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NOVO_TIPO_SUPORTE ", "Novo tipo suporte de documento", dominio, modulo));
404 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.TIPO_SUPORTE_DOCUMENTO ", "Tipo suporte de documento", dominio, modulo)); 407 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.TIPO_SUPORTE_DOCUMENTO ", "Tipo suporte de documento", dominio, modulo));
405 -  
406 - 408 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.TARJAS_ASSINATURA", "Tarjas de assinatura", dominio, modulo));
  409 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.LOGO_TARJA_ASSINATURA", "Logotipo da tarja de assinatura", dominio, modulo));
  410 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DADOS_TARJA_ASSINATURA", "Dados da tarja de assinatura", dominio, modulo));
  411 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.TIPO_ASSINATURA", "Tipo de assinatura", dominio, modulo));
  412 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.CONTEUDO_HTML", "Conteúdo HTML", dominio, modulo));
  413 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.REMOVER_IMAGEM", "Remover imagem", dominio, modulo));
407 } 414 }
408 415
409 /** 416 /**
410 * <p> 417 * <p>
411 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> 418 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
412 * </p> 419 * </p>
413 - * 420 + *
414 * <p> 421 * <p>
415 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> 422 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
416 * </p> 423 * </p>
417 - * 424 + *
418 * Método responsável por 425 * Método responsável por
419 - * 426 + *
420 * @author Rogério Gomes 427 * @author Rogério Gomes
421 - * 428 + *
422 * @param dominio 429 * @param dominio
423 * @param modulo 430 * @param modulo
424 * @param internacionalizacaoList 431 * @param internacionalizacaoList
@@ -443,15 +450,15 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen @@ -443,15 +450,15 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
443 * <p> 450 * <p>
444 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a> 451 * <b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a>
445 * </p> 452 * </p>
446 - * 453 + *
447 * <p> 454 * <p>
448 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a> 455 * <b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a>
449 * </p> 456 * </p>
450 - * 457 + *
451 * Método responsável por 458 * Método responsável por
452 - * 459 + *
453 * @author Rogério Gomes 460 * @author Rogério Gomes
454 - * 461 + *
455 * @param dominio 462 * @param dominio
456 * @param modulo 463 * @param modulo
457 * @param internacionalizacaoList 464 * @param internacionalizacaoList
cit-ecm-web/src/main/resources/spring/applicationContext.xml
1 <beans xmlns="http://www.springframework.org/schema/beans" 1 <beans xmlns="http://www.springframework.org/schema/beans"
2 - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"  
3 - xmlns:context="http://www.springframework.org/schema/context"  
4 - xmlns:aop="http://www.springframework.org/schema/aop" xmlns:faces="http://www.springframework.org/schema/faces"  
5 - xmlns:int-security="http://www.springframework.org/schema/integration/security"  
6 - xmlns:sec="http://www.springframework.org/schema/security" xmlns:task="http://www.springframework.org/schema/task"  
7 - xmlns:util="http://www.springframework.org/schema/util" xmlns:p="http://www.springframework.org/schema/p"  
8 - xsi:schemaLocation="http://www.springframework.org/schema/beans  
9 - http://www.springframework.org/schema/beans/spring-beans-3.1.xsd  
10 - http://www.springframework.org/schema/faces  
11 - http://www.springframework.org/schema/faces/spring-faces-3.1.xsd  
12 - http://www.springframework.org/schema/tx  
13 - http://www.springframework.org/schema/tx/spring-tx-3.1.xsd  
14 - http://www.springframework.org/schema/context  
15 - http://www.springframework.org/schema/context/spring-context-3.1.xsd  
16 - http://www.springframework.org/schema/aop  
17 - http://www.springframework.org/schema/aop/spring-aop-3.1.xsd  
18 - http://www.springframework.org/schema/task  
19 - http://www.springframework.org/schema/task/spring-task-3.1.xsd  
20 - http://www.springframework.org/schema/security  
21 - http://www.springframework.org/schema/security/spring-security-3.1.xsd  
22 - http://www.springframework.org/schema/util  
23 - http://www.springframework.org/schema/util/spring-util-3.1.xsd  
24 - http://www.springframework.org/schema/integration  
25 - http://www.springframework.org/schema/integration/spring-integration.xsd  
26 - http://www.springframework.org/schema/integration/security  
27 - http://www.springframework.org/schema/integration/security/spring-integration-security-3.1.xsd"> 2 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3 + xmlns:context="http://www.springframework.org/schema/context"
  4 + xmlns:util="http://www.springframework.org/schema/util"
  5 + xmlns:p="http://www.springframework.org/schema/p"
  6 + xsi:schemaLocation="http://www.springframework.org/schema/beans
  7 + http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
  8 + http://www.springframework.org/schema/context
  9 + http://www.springframework.org/schema/context/spring-context-3.1.xsd
  10 + http://www.springframework.org/schema/util
  11 + http://www.springframework.org/schema/util/spring-util-3.1.xsd">
28 12
29 <bean id="citPortalDataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> 13 <bean id="citPortalDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
30 <property name="jndiName" value="java:/env/jdbc/cit-ecm" /> 14 <property name="jndiName" value="java:/env/jdbc/cit-ecm" />
31 </bean> 15 </bean>
32 16
33 <bean id="entityManagerFactory" 17 <bean id="entityManagerFactory"
34 - class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"  
35 - p:packagesToScan="br.com.centralit.framework.model, br.com.centralit.api.model" p:dataSource-ref="citPortalDataSource"  
36 - p:jpaPropertyMap-ref="jpaPropertyMap" p:jpaVendorAdapter-ref="jpaVendorAdapter" /> 18 + class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
  19 + p:packagesToScan="br.com.centralit.framework.model, br.com.centralit.api.model"
  20 + p:dataSource-ref="citPortalDataSource" p:jpaPropertyMap-ref="jpaPropertyMap"
  21 + p:jpaVendorAdapter-ref="jpaVendorAdapter" />
37 22
38 <bean id="jpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" /> 23 <bean id="jpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
39 -  
40 - <bean id="webExpressionHandler" class="br.com.centralit.api.security.CustomExpressionHandler"/>  
41 - 24 +
  25 + <bean id="webExpressionHandler" class="br.com.centralit.api.security.CustomExpressionHandler" />
  26 +
42 <util:map id="jpaPropertyMap"> 27 <util:map id="jpaPropertyMap">
43 <entry key="generateDdl" value="${hibernate.generate.ddl}" /> 28 <entry key="generateDdl" value="${hibernate.generate.ddl}" />
44 <entry key="hibernate.hbm2ddl.auto" value="${hibernate.hbm2ddl.auto}" /> 29 <entry key="hibernate.hbm2ddl.auto" value="${hibernate.hbm2ddl.auto}" />
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/TarjaAssinaturaController.js 0 → 100644
@@ -0,0 +1,170 @@ @@ -0,0 +1,170 @@
  1 +'use strict';
  2 +
  3 +citApp.controller('TarjaAssinaturaController',
  4 + ['$scope',
  5 + '$filter',
  6 + '$translate',
  7 + '$timeout',
  8 + 'TarjaAssinaturaRepository',
  9 + 'DominioRepository',
  10 + 'FileUploader',
  11 + function TarjaAssinaturaController($scope,
  12 + $filter,
  13 + $translate,
  14 + $timeout,
  15 + TarjaAssinaturaRepository,
  16 + DominioRepository,
  17 + FileUploader) {
  18 +
  19 + $scope.resetForm = function() {
  20 +
  21 + if($scope.tarjaAssinatura) {
  22 + var originalTipoAssinatura = $scope.tarjaAssinatura.tipoAssinatura;
  23 + $scope.tarjaAssinatura = {
  24 + tipoAssinatura : originalTipoAssinatura
  25 + }
  26 + }
  27 +
  28 + if ($scope.uploaderLogo){
  29 + $scope.uploaderLogo.clearQueue();
  30 + $scope.uploaderLogo.url = '/cit-ecm-web/rest/tarjaAssinatura/uploadFileLogo?idOrganizacao=' + $scope.usuarioLogado.organizacao.id + '&idTarjaAssinatura=';
  31 + }
  32 +
  33 +// $scope.edit = true;
  34 + $timeout(function(){
  35 + if($scope.tarjaAssinaturaForm){
  36 + $scope.tarjaAssinaturaForm.$submitted = false;
  37 + $scope.tarjaAssinaturaForm.$setPristine();
  38 + }
  39 + });
  40 + };
  41 +
  42 + DominioRepository.buscaDominioByCodigoAndChave(1, 'tipoAssinatura').then(function(result) {
  43 + $scope.tipoAssinaturaInterna = result.originalElement;
  44 + });
  45 + DominioRepository.buscaDominioByCodigoAndChave(2, 'tipoAssinatura').then(function(result) {
  46 + $scope.tipoAssinaturaCertificado = result.originalElement;
  47 + });
  48 +
  49 + $scope.saveOrUpdate = function(form){
  50 +
  51 + form.$submitted = true;
  52 +
  53 + if(form.$invalid){
  54 + $scope.showAlert('error', $translate.instant('MSG.MN001'), " ", false);
  55 + return;
  56 + }
  57 +
  58 + $scope.setLoadingSalva(true);
  59 +
  60 + TarjaAssinaturaRepository.save($scope.tarjaAssinatura).then(function(result) {
  61 + $scope.tarjaAssinatura = result.originalElement;
  62 + $scope.showAlert("success", $translate.instant('MSG.REGISTRO_SALVO'));
  63 + form.$submitted = false;
  64 + $scope.setLoading(false);
  65 + if($scope.uploaderLogo.queue.length > 0){
  66 + $scope.uploaderLogo.uploadAll();
  67 + }
  68 + $scope.$showPageSearchWorkspace($scope.workspace);
  69 + $scope.fetchResult();
  70 + });
  71 + };
  72 +
  73 + $scope.cancelarEdicao = function () {
  74 + $scope.resetForm();
  75 + $scope.$showPageSearchWorkspace($scope.workspace);
  76 + $scope.fetchResult();
  77 + $scope.edit= false
  78 + }
  79 +
  80 + $scope.fetchResult = function(){
  81 + angular.element('#searchTarjaAssinatura').scope().fetchResult();
  82 + };
  83 +
  84 + $scope.removeImagem = function (){
  85 + if($scope.tarjaAssinatura.anexoImagem){
  86 + TarjaAssinaturaRepository.removeImagem($scope.tarjaAssinatura).then(function (result) {
  87 + $scope.tarjaAssinatura = result.originalElement;
  88 + if($scope.uploaderLogo.queue.length > 0){
  89 + $scope.uploaderLogo.clearQueue();
  90 + }
  91 + })
  92 + }
  93 + }
  94 + $scope.openFile = function () {
  95 + if($scope.edit){
  96 + angular.element('#uploadLogoTarjaAssinatura').trigger('click');
  97 + }
  98 + }
  99 +
  100 +//INSTANCIA DO OBJETO PARA FAZER UPLOAD
  101 + $scope.uploaderLogo = new FileUploader({
  102 + autoUpload: false,
  103 + queueLimit: 1,
  104 + url : '/cit-ecm-web/rest/tarjaAssinatura/uploadFileLogo?idOrganizacao=' + $scope.usuarioLogado.organizacao.id + '&idTarjaAssinatura='
  105 + });
  106 +
  107 + // FILTERS
  108 + $scope.uploaderLogo.filters.push({
  109 + name: 'imageFilter',
  110 + fn: function(item , options) {
  111 + var type = '|' + item.type.slice(item.type.lastIndexOf('/') + 1) + '|';
  112 + return '|jpg|png|jpeg|bmp|gif|'.indexOf(type) !== -1;
  113 + }
  114 + });
  115 +
  116 + // CALLBACKS
  117 + $scope.uploaderLogo.onWhenAddingFileFailed = function(item , filter, options) {
  118 + $scope.uploaderLogo.clearQueue();
  119 +// console.info('onWhenAddingFileFailed', item, filter, options);
  120 + };
  121 + $scope.uploaderLogo.onAfterAddingFile = function(fileItem) {
  122 +// console.info('onAfterAddingFile', fileItem);
  123 + };
  124 + $scope.uploaderLogo.onAfterAddingAll = function(addedFileItems) {
  125 +// console.info('onAfterAddingAll', addedFileItems);
  126 + };
  127 + $scope.uploaderLogo.onBeforeUploadItem = function(item) {
  128 +// console.info('onBeforeUploadItem', item);
  129 + };
  130 + $scope.uploaderLogo.onProgressItem = function(fileItem, progress) {
  131 +// console.info('onProgressItem', fileItem, progress);
  132 + };
  133 + $scope.uploaderLogo.onProgressAll = function(progress) {
  134 +// console.info('onProgressAll', progress);
  135 + };
  136 + $scope.uploaderLogo.onSuccessItem = function(fileItem, response, status, headers) {
  137 +// console.info('onSuccessItem', fileItem, response, status, headers);
  138 + };
  139 + $scope.uploaderLogo.onErrorItem = function(fileItem, response, status, headers) {
  140 +// console.info('onErrorItem', fileItem, response, status, headers);
  141 + };
  142 + $scope.uploaderLogo.onCancelItem = function(fileItem, response, status, headers) {
  143 +// console.info('onCancelItem', fileItem, response, status, headers);
  144 + };
  145 + $scope.uploaderLogo.onCompleteItem = function(fileItem, response, status, headers) {
  146 +// console.info('onCompleteItem', fileItem, response, status, headers);
  147 + };
  148 + $scope.uploaderLogo.onCompleteAll = function() {
  149 + $scope.uploaderLogo.clearQueue();
  150 + $scope.getTarjaAssinatura($scope.tarjaAssinatura.id, $scope.edit)
  151 +// console.info('onCompleteAll');
  152 + };
  153 +
  154 + $scope.getTarjaAssinatura = function(id, edit) {
  155 + $scope.resetForm();
  156 + $scope.setLoadingGet(true);
  157 + TarjaAssinaturaRepository.get(id).then(function(result) {
  158 + $scope.tarjaAssinatura = result.originalElement;
  159 + vincularIdTarjaUploader();
  160 + $scope.edit = edit;
  161 + $scope.setLoading(false);
  162 + });
  163 + };
  164 +
  165 + var vincularIdTarjaUploader = function () {
  166 + if($scope.tarjaAssinatura.id){
  167 + $scope.uploaderLogo.url += $scope.tarjaAssinatura.id;
  168 + }
  169 + };
  170 +}]);
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/TarjaAssinaturaListController.js 0 → 100644
@@ -0,0 +1,48 @@ @@ -0,0 +1,48 @@
  1 +'use strict';
  2 +
  3 +citApp.controller('TarjaAssinaturaListController',
  4 + ['$scope',
  5 + '$translate',
  6 + '$timeout',
  7 + 'TarjaAssinaturaRepository',
  8 + 'DominioRepository',
  9 + function ListController($scope,
  10 + $translate,
  11 + $timeout,
  12 + TarjaAssinaturaRepository,
  13 + DominioRepository) {
  14 + $scope.$showAdvancedFilters = false;
  15 +
  16 + $scope.resetForm = function() {
  17 + angular.element("#editTarjaAssinatura").scope().resetForm();
  18 + };
  19 +
  20 + $scope.headers = [ {title : $translate.instant('LABEL.DESCRICAO'), value : 'descricao' },
  21 + {title : $translate.instant('ECM.LABEL.TIPO_ASSINATURA'), value : 'tipoAssinatura.descricao' }];
  22 +
  23 + $scope.filterCriteria = {
  24 + start : 1,
  25 + dir : 'asc',
  26 + sort : 'id',
  27 + limit : 10,
  28 + fields: ['id', 'descricao', 'tipoAssinatura.descricao'],
  29 + filters : [{type : 'string', field : 'descricao' },
  30 + {type : 'string', field : 'tipoAssinatura.descricao', listaDominio : [] }]
  31 + };
  32 +
  33 + DominioRepository.findAllDominio('tipoAssinatura').then(function(result) {
  34 + $scope.filterCriteria.filters[0].listaDominio = result;
  35 + });
  36 +
  37 + $scope.editarVisualizarTarjaAssinatura = function(edit){
  38 + var tarjaAssinatura = $scope.tarjaAssinaturaChecked;
  39 +
  40 + if(!tarjaAssinatura) {
  41 + $scope.showAlert('warning', !edit ? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO') :
  42 + $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO'));
  43 + return;
  44 + }
  45 + angular.element('#editTarjaAssinatura').scope().getTarjaAssinatura(tarjaAssinatura.id, edit);
  46 + $scope.$showPageEditWorkspace($scope.workspace);
  47 + };
  48 +}]);
cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/TarjaAssinaturaRepository.js 0 → 100644
@@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
  1 +'use strict';
  2 +
  3 +citApp.factory('TarjaAssinaturaRepository', ['RestangularEcm', 'AbstractRepository', function (restangularEcm, AbstractRepository) {
  4 +
  5 + function TarjaAssinaturaRepository() {
  6 + AbstractRepository.call(this, restangularEcm, 'rest/tarjaAssinatura');
  7 +
  8 + this.save = function(tarjaAssinatura) {
  9 + return restangularEcm.all(this.route + "/saveTarjaAssinatura").post(tarjaAssinatura).then();
  10 + };
  11 + this.removeImagem = function(tarjaAssinatura) {
  12 + return restangularEcm.all(this.route + "/removeImagem").post(tarjaAssinatura).then();
  13 + };
  14 + }
  15 +
  16 + AbstractRepository.extend(TarjaAssinaturaRepository);
  17 +
  18 + return new TarjaAssinaturaRepository();
  19 +}]);
cit-ecm-web/src/main/webapp/html/tarjaAssinatura/tarjaAssinatura.html 0 → 100644
@@ -0,0 +1,2 @@ @@ -0,0 +1,2 @@
  1 +<div ng-include src="'/cit-ecm-web/html/tarjaAssinatura/tarjaAssinaturaList.html'" ng-show="workspace.$showSearch"></div>
  2 +<div ng-include src="'/cit-ecm-web/html/tarjaAssinatura/tarjaAssinaturaEdit.html'" ng-show="workspace.$showEdit"></div>
cit-ecm-web/src/main/webapp/html/tarjaAssinatura/tarjaAssinaturaEdit.html 0 → 100644
@@ -0,0 +1,99 @@ @@ -0,0 +1,99 @@
  1 +<div id="editTarjaAssinatura" class="page-content clearfix" ng-controller="TarjaAssinaturaController">
  2 + <div class="bar-buttons-action fixed">
  3 + <div class="row">
  4 + <div class="col-sm-8 text-left">
  5 + <button class="btn btn-clear" ng-click="saveOrUpdate(tarjaAssinaturaForm)" ng-show="edit" type="button">
  6 + <i class="fa fa-save green"></i>
  7 + <translate>LABEL.SALVAR</translate>
  8 + </button>
  9 + <button class="btn btn-clear" ng-click="resetForm()" ng-show="edit"type="button">
  10 + <i class="fa fa-eraser yellow-dark"></i>
  11 + <translate>LABEL.LIMPAR</translate>
  12 + </button>
  13 + <button class="btn btn-clear" ng-click="edit = true" ng-show="!edit" type="button">
  14 + <i class="fa fa-pencil blue"></i>
  15 + <translate>LABEL.EDITAR</translate>
  16 + </button>
  17 + <button class="btn btn-clear" ng-click="cancelarEdicao()" ng-show="edit" type="button">
  18 + <i class="fa fa-times"></i>
  19 + <translate>LABEL.CANCELAR</translate>
  20 + </button>
  21 + <button class="btn btn-clear" ng-click="cancelarEdicao()" ng-hide="edit" type="button" >
  22 + <i class="fa fa-search"></i>
  23 + <translate>LABEL.PESQUISAR</translate>
  24 + </button>
  25 + </div>
  26 + <!-- .col -->
  27 +
  28 + <div class="col-sm-4 text-right">
  29 + <favorito />
  30 + <help-button workspace="workspace" />
  31 + </div><!-- .col -->
  32 + </div><!-- .row -->
  33 + </div><!-- .bar-buttons-action -->
  34 +
  35 + <breadcrumb ng-workspace="workspace"></breadcrumb>
  36 + <form name="tarjaAssinaturaForm">
  37 + <fieldset>
  38 + <legend>
  39 + <translate>ECM.LABEL.DADOS_TARJA_ASSINATURA</translate>
  40 + </legend>
  41 + </fieldset>
  42 + <p><small>( <span class="red">*</span> ) <translate>LABEL.CAMPOS_OBRIGATORIOS</translate></small></p>
  43 + <div class="row">
  44 + <div class="col-md-6">
  45 + <label-input ng-id="tarjaAssinatura.descricao" ng-label="LABEL.DESCRICAO" ng-type="text"
  46 + ng-model="tarjaAssinatura.descricao" form="tarjaAssinaturaForm" ng-obrigatorio="true"
  47 + ng-custom-maxlength="100" ng-type="text" ng-disabled="!edit" />
  48 + </div>
  49 + <div class="col-md-4">
  50 + <label-input ng-id="tarjaAssinatura.tipoAssinatura" ng-label="ECM.LABEL.TIPO_ASSINATURA" ng-type="text"
  51 + ng-disabled="true" ng-model="tarjaAssinatura.tipoAssinatura.descricao" form="tarjaAssinaturaForm"
  52 + ng-obrigatorio="false" ng-type="text" />
  53 + </div>
  54 + </div>
  55 + <div class="row">
  56 + <div class="col-sm-12">
  57 + <div class="form-group" ng-disable="!edit">
  58 + <label class="control-label"><translate>ECM.LABEL.LOGO_TARJA_ASSINATURA</translate></label>
  59 + <div ng-if="tarjaAssinatura.anexoImagem.anexo == undefined" nv-file-drop="" uploader="uploaderLogo" ng-click="openFile();">
  60 + <div nv-file-over="" uploader="uploaderLogo" over-class="another-file-over-class" class="well my-drop-zone">
  61 + <span ng-show="uploaderLogo.queue.length <= 0"><translate>MSG.ARRASTE_SOLTE_ARQUIVO</translate></span>
  62 + <span ng-show="uploaderLogo.queue.length > 0">{{uploaderLogo.queue[0].file.name}}</span>
  63 + </div>
  64 + </div>
  65 + <input id="uploadLogoTarjaAssinatura" type="file" nv-file-select="" uploader="uploaderLogo" ng-show="false" />
  66 + </div><!-- .form-group -->
  67 + </div>
  68 + </div>
  69 + <div class="row">
  70 + <div class="col-sm-12" ng-show="tarjaAssinatura.anexoImagem.anexo">
  71 + <img ng-src="data:image/JPEG;base64,{{tarjaAssinatura.anexoImagem.anexo}}" class="img-thumbnail" style="max-width: 300px; height: auto;">
  72 + </div>
  73 + </div>
  74 + </br>
  75 + <div class="row">
  76 + <div class="col-sm-2" ng-show="tarjaAssinatura.anexoImagem.anexo && edit">
  77 + <button class="btn btn-warning" ng-click="removeImagem()">
  78 + <translate>ECM.LABEL.REMOVER_IMAGEM</translate>
  79 + </button>
  80 + </div>
  81 + </div>
  82 + </br>
  83 + <div class="row">
  84 + <div class="col-md-12">
  85 + <div class="form-group">
  86 + <label class="control-label block" ng-class="{'has-error': !tarjaAssinatura.conteudo && tarjaAssinaturaForm.$submitted}">
  87 + <translate>ECM.LABEL.CONTEUDO_HTML</translate> <span class="red">*</span>
  88 + <i ng-show="!tarjaAssinatura.conteudo && tarjaAssinaturaForm.$submitted" class='fa fa-warning red'
  89 + tooltip="{{$translate.instant('ECM.LABEL.CONTEUDO_HTML') + ' ' +$translate.instant('LABEL.CAMPO_OBRIGATORIO')}}"
  90 + tooltip-placement='top'></i>
  91 + </label>
  92 + <div id="tarjaAssinatura.conteudo" ckeditor="options" ng-if='edit' ready="onReady()" ng-model="tarjaAssinatura.conteudo" ></div>
  93 + <iframe id="visualizacaoConteudoTarjaAssinatura" srcdoc="{{tarjaAssinatura.conteudo}}"
  94 + allowfullscreen class="iframe-report" ng-show="!edit" style="min-height: 100px !important;"></iframe>
  95 + </div>
  96 + </div>
  97 + </div>
  98 + </form>
  99 +</div><!-- .page-content -->
cit-ecm-web/src/main/webapp/html/tarjaAssinatura/tarjaAssinaturaList.html 0 → 100644
@@ -0,0 +1,32 @@ @@ -0,0 +1,32 @@
  1 +<div id="searchTarjaAssinatura" class="page-content" ng-controller="TarjaAssinaturaListController">
  2 + <div class="bar-buttons-action fixed">
  3 + <div class="row">
  4 + <div class="col-sm-8 text-left">
  5 + <button class="btn btn-clear" ng-click="editarVisualizarTarjaAssinatura(false);">
  6 + <i class="fa fa-search blue"></i>
  7 + <translate>LABEL.VISUALIZAR</translate>
  8 + </button>
  9 + <button class="btn btn-clear" ng-click="editarVisualizarTarjaAssinatura(true);">
  10 + <i class="fa fa-pencil blue"></i>
  11 + <translate>LABEL.EDITAR</translate>
  12 + </button>
  13 + <span class="divider-vertical"></span>
  14 + <filtros ng-filter="filterCriteria" ng-workspace="workspace"></filtros>
  15 + </div>
  16 + <!-- .col -->
  17 +
  18 + <div class="col-sm-4 text-right">
  19 + <favorito />
  20 + <help-button workspace="workspace" />
  21 + </div>
  22 + <!-- .col -->
  23 + </div>
  24 + <!-- .row -->
  25 + </div>
  26 + <!-- .bar-buttons-action -->
  27 +
  28 + <breadcrumb ng-workspace="workspace"></breadcrumb>
  29 +
  30 + <list-view ng-lista="tarjaAssinaturaList" ng-repository="TarjaAssinaturaRepository" ng-use-custom-remove="false"
  31 + ng-headers="headers" ng-filter-criteria="filterCriteria" ng-item-selecionado="tarjaAssinaturaChecked"></list-view>
  32 +</div><!-- .page-content -->