Commit c4b7f8cadc99386855c20943d9854deacabcffeb

Authored by ROGERIO CASSIMIRO DE SOUZA
1 parent d58408e4
Exists in master

redmine #4583 geracao conteudo do doc online com assinaturas e imagens; visualiz…

…acoes de assinaturas em doc online; tooltip das 3 primeiras assinaturas
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/DocumentoGedServiceImpl.java
... ... @@ -1034,10 +1034,10 @@ public class DocumentoGedServiceImpl extends GenericServiceImpl<DocumentoGed, Lo
1034 1034 for (DocumentoGed documentoGed : documentos) {
1035 1035 if(!UtilColecao.isVazio(documentoGed.getAssinaturas())){
1036 1036 int maxAssinatura = 0;
1037   - StringBuilder tresAssinaturas = new StringBuilder();
  1037 + StringBuilder tresAssinaturas = new StringBuilder("Assinador por: ");
1038 1038 for (Assinatura assinatura : documentoGed.getAssinaturas()) {
1039 1039 if(++maxAssinatura < 4)
1040   - tresAssinaturas.append(UtilObjeto.isReferencia(assinatura.getPessoa()) ? assinatura.getPessoa().getNome() : "").append(" - ").append(assinatura.getFuncao().getNome()).append(". ");
  1040 + tresAssinaturas.append(UtilObjeto.isReferencia(assinatura.getPessoa()) ? assinatura.getPessoa().getNome() : "").append(" / ").append(assinatura.getFuncao().getNome()).append(". ");
1041 1041 else {
1042 1042 tresAssinaturas.append("...");
1043 1043 break;
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/TarjaAssinaturaServiceImpl.java
... ... @@ -22,6 +22,7 @@ import br.com.centralit.api.service.AnexoImagemService;
22 22 import br.com.centralit.api.service.DominioService;
23 23 import br.com.centralit.api.service.OrganizacaoService;
24 24 import br.com.centralit.api.service.TarjaAssinaturaService;
  25 +import br.com.centralit.api.util.UtilBase64;
25 26 import br.com.centralit.framework.model.AnexoImagem;
26 27 import br.com.centralit.framework.model.Dominio;
27 28 import br.com.centralit.framework.model.Organizacao;
... ... @@ -156,13 +157,13 @@ public class TarjaAssinaturaServiceImpl extends GenericServiceImpl&lt;TarjaAssinatu
156 157 *
157 158 * @author rogerio.cassimiro
158 159 * @param assinatura
159   - * @param conteudo
  160 + * @param conteudoAssinatura
160 161 * @return {@link String}
161 162 */
162   - private String getConteudoTarja(Assinatura assinatura, String conteudo) {
  163 + private String getConteudoTarja(Assinatura assinatura, String conteudoAssinatura) {
163 164  
164   - conteudo = conteudo.replaceAll(TarjaAssinatura.NOME_ASSINANTE, assinatura.getPessoa().getNome()).replaceAll(TarjaAssinatura.FUNCAO_ASSINANTE, assinatura.getFuncao().getNome()).replaceAll(TarjaAssinatura.DATA_ASSINATURA, UtilDate.getDataSemHorasString(Calendar.getInstance().getTime())).replaceAll(TarjaAssinatura.HORA_ASSINATURA, UtilDate.getHoraAtualHHMMSS()).replaceAll(TarjaAssinatura.CODIGO_ASSINATURA, "TODO ASSINATURA");
165   - return conteudo;
  165 + conteudoAssinatura = conteudoAssinatura.replaceAll(TarjaAssinatura.NOME_ASSINANTE, assinatura.getPessoa().getNome()).replaceAll(TarjaAssinatura.FUNCAO_ASSINANTE, assinatura.getFuncao().getNome()).replaceAll(TarjaAssinatura.DATA_ASSINATURA, UtilDate.getDataSemHorasString(Calendar.getInstance().getTime())).replaceAll(TarjaAssinatura.HORA_ASSINATURA, UtilDate.getHoraAtualHHMMSS());
  166 + return conteudoAssinatura;
166 167 }
167 168  
168 169 /**
... ... @@ -171,13 +172,13 @@ public class TarjaAssinaturaServiceImpl extends GenericServiceImpl&lt;TarjaAssinatu
171 172 * @author rogerio.cassimiro
172 173 * @param assinatura
173 174 * @param tarjaAssinatura
174   - * @param conteudo
  175 + * @param conteudoAssinatura
175 176 * @throws DocumentException
176 177 * @throws IOException
177 178 */
178   - private void gerarAssinaturaDocAnexo(Assinatura assinatura, AnexoImagem anexoImagem, String conteudo) {
179   -
180   - assinatura.getConteudoTarja().setConteudoCriptografado(this.encrypted(conteudo));
  179 + private void gerarAssinaturaDocAnexo(Assinatura assinatura, AnexoImagem anexoImagem, String conteudoAssinatura) {
  180 +
  181 + assinatura.getConteudoTarja().setConteudoCriptografado(this.encrypted(conteudoAssinatura));
181 182 assinatura.getConteudoTarja().setAnexoImagem(anexoImagem);
182 183 }
183 184  
... ... @@ -187,23 +188,43 @@ public class TarjaAssinaturaServiceImpl extends GenericServiceImpl&lt;TarjaAssinatu
187 188 * @author rogerio.cassimiro
188 189 * @param assinatura
189 190 * @param tarjaAssinatura
190   - * @param conteudo
  191 + * @param conteudoAssinatura
191 192 */
192   - private void gerarAssinaturaDocOnline(Assinatura assinatura, AnexoImagem anexoImagem, String conteudo) {
193   -
194   - String conteudoOriginalDocOnLine = new String();
  193 + private void gerarAssinaturaDocOnline(Assinatura assinatura, AnexoImagem anexoImagem, String conteudoAssinatura) {
195 194  
  195 + StringBuilder conteudoOriginalDocOnLine = new StringBuilder();
  196 +
196 197 if (UtilObjeto.isReferencia(assinatura.getDocumentoGed().getConteudoTarja())) {
197   - conteudoOriginalDocOnLine = decrypted(assinatura.getDocumentoGed().getConteudoTarja().getConteudoCriptografado());
  198 + conteudoOriginalDocOnLine.append(decrypted(assinatura.getDocumentoGed().getConteudoTarja().getConteudoCriptografado()));
198 199 } else {
199 200 assinatura.getDocumentoGed().setConteudoTarja(new ConteudoTarja());
200   - conteudoOriginalDocOnLine = decrypted(assinatura.getDocumentoGed().getConteudoCriptografado());
  201 + conteudoOriginalDocOnLine.append(decrypted(assinatura.getDocumentoGed().getConteudoCriptografado()));
201 202 }
202 203  
203   - conteudoOriginalDocOnLine = conteudoOriginalDocOnLine.concat("<br/>");
204   - conteudoOriginalDocOnLine = conteudoOriginalDocOnLine.concat(conteudo);
205   -
206   - assinatura.getDocumentoGed().getConteudoTarja().setConteudoCriptografado(this.encrypted(conteudoOriginalDocOnLine));
  204 + conteudoOriginalDocOnLine.append(gerarHTMLBase64(assinatura, conteudoAssinatura));
  205 + assinatura.getDocumentoGed().getConteudoTarja().setConteudoCriptografado(this.encrypted(conteudoOriginalDocOnLine.toString()));
  206 + }
  207 +
  208 + private String gerarHTMLBase64(Assinatura assinatura, String conteudoAssinatura){
  209 +
  210 + StringBuilder htmlAssinatura = new StringBuilder("<div class='row' style='margin-top: 5px;'> ");
  211 + if(UtilObjeto.isReferencia(assinatura.getConteudoTarja().getAnexoImagem()) && UtilObjeto.isReferencia(assinatura.getConteudoTarja().getAnexoImagem().getAnexo())) {
  212 + htmlAssinatura.append("<div class='col-sm-3'>");
  213 + htmlAssinatura.append("<img src='data:image/png;base64, ");
  214 + htmlAssinatura.append(UtilBase64.byteToBase64(assinatura.getConteudoTarja().getAnexoImagem().getAnexo()));
  215 + htmlAssinatura.append("' height='60' width='60' />");
  216 + htmlAssinatura.append(" </div>");
  217 + htmlAssinatura.append(" <div class='col-sm-9'>");
  218 + htmlAssinatura.append(conteudoAssinatura);
  219 + htmlAssinatura.append(" </div>");
  220 + } else {
  221 + htmlAssinatura.append(" <div class='col-sm-12'>");
  222 + htmlAssinatura.append(conteudoAssinatura);
  223 + htmlAssinatura.append(" </div>");
  224 + }
  225 +
  226 + htmlAssinatura.append(" </div>");
  227 + return htmlAssinatura.toString();
207 228 }
208 229  
209 230 /**
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/util/UtilBase64.java 0 → 100644
... ... @@ -0,0 +1,32 @@
  1 +package br.com.centralit.api.util;
  2 +
  3 +import org.apache.commons.codec.binary.Base64;
  4 +
  5 +/**
  6 + * <p>
  7 + * <b>Title: UtilBase64</b>
  8 + * </p>
  9 + * <p>
  10 + * <b>Description: </b>
  11 + * </p>
  12 + *
  13 + * @since 29/04/2016 - 14:30:14
  14 + * @author rogerio.cassimiro
  15 + *
  16 + */
  17 +@SuppressWarnings({"static-access", "unused"})
  18 +public class UtilBase64 {
  19 +
  20 + public static byte[] base64ToByte(String data) throws Exception {
  21 +
  22 + Base64 base64 = new Base64();
  23 + return Base64.decodeBase64(data);
  24 + }
  25 +
  26 + public static String byteToBase64(byte[] data) {
  27 +
  28 + Base64 base64 = new Base64();
  29 + return base64.encodeBase64String(data);
  30 + }
  31 +
  32 +}
0 33 \ No newline at end of file
... ...
cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java
... ... @@ -454,7 +454,8 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
454 454 internacionalizacaoList.add(new Internacionalizacao("ECM.ASSINADO_SUCESSO", "Documento assinado com sucesso!", dominio, modulo));
455 455 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.ASSINATURA_DO_DOCUMENTO", "Assinatura do Documento", dominio, modulo));
456 456 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DOCUMENTO_SEM_ASSINATURA", "Documento sem assinaturas!", dominio, modulo));
457   -
  457 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.VISUALIZAR_ASSINATURAS", "Visualizar Assinaturas", dominio, modulo));
  458 +
458 459 }
459 460  
460 461 /**
... ...
cit-ecm-web/src/main/webapp/assets/css/gerenciarProcesso.css
... ... @@ -212,9 +212,8 @@ background-color: #f2f2f2;
212 212 background-color: rgba(245, 245, 245, 0.61);
213 213 }
214 214  
215   - .versoes {
  215 +.versoes {
216 216 font-size : x-small;
217 217 font-weight : bold;
218 218 text-align : right !important;
219   -}
220   -
  219 +}
221 220 \ No newline at end of file
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/AssinarDocumentoController.js
... ... @@ -10,6 +10,7 @@ citApp.controller(&#39;AssinarDocumentoController&#39;, [ &#39;$scope&#39;, &#39;$translate&#39;, &#39;Geren
10 10 $scope.abrirAssinarDocumento = function(documento) {
11 11 $scope.documentoSelecionado = null;
12 12 $scope.exibirDocJaAssinado = false;
  13 + $scope.autenticacao = null;
13 14 DocumentoGedRepository.get(documento.id).then(function(result) {
14 15 $scope.documentoSelecionado = result.originalElement;
15 16 if(documento.formaCriacao.codigo === 1){
... ...
cit-ecm-web/src/main/webapp/html/assinatura/documentoAssinaturaView.html
... ... @@ -32,4 +32,5 @@
32 32 </div>
33 33 </div>
34 34 </div>
  35 +
35 36 </div>
36 37 \ No newline at end of file
... ...
cit-ecm-web/src/main/webapp/html/gerenciarProcesso/includeDocumentosProcesso.html
... ... @@ -43,7 +43,7 @@
43 43 <li ng-if='!documento.cancelado'><a href="#void" ng-click="visualizarVersoes(documento);"> <translate>ECM.LABEL.VERSOESDODOCUMENTO</translate></a></li>
44 44 <li ><a ng-if='documento.cancelado'href="#void" ng-click="getCancelamentoDocumento(documento);"> <translate>ECM.LABEL.JUSTIFICATIVA_CANCELAMENTO</translate></a></li>
45 45 <li ><a href="#void" ng-click="abrirAssinarDocumento(documento)"> <translate>ECM.LABEL.ASSINARDOCUMENTO</translate></a></li>
46   - <li ><a href="#void" ng-click="visualizarAssinaturasDocumento(documento)"> <translate>ECM.LABEL.ASSINATURAS_DOCUMENTO</translate></a></li>
  46 + <li ><a href="#void" ng-click="visualizarAssinaturasDocumento(documento)"> <translate>ECM.LABEL.VISUALIZAR_ASSINATURAS</translate></a></li>
47 47 </ul>
48 48  
49 49 </div>
... ...