Commit 0707e5b8130fe6be3f1f1a27dbaa353cb1525ec9
1 parent
ae4b8bfe
Exists in
master
redmine #4583 inclusao assinatura digital e apresentacao codigo validacao nos docs anexo e online
Showing
4 changed files
with
27 additions
and
12 deletions
Show diff stats
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/TarjaAssinaturaServiceImpl.java
@@ -203,10 +203,19 @@ public class TarjaAssinaturaServiceImpl extends GenericServiceImpl<TarjaAssinatu | @@ -203,10 +203,19 @@ public class TarjaAssinaturaServiceImpl extends GenericServiceImpl<TarjaAssinatu | ||
203 | 203 | ||
204 | private void gerarAssinaturaDocAnexo(Assinatura assinatura, AnexoImagem anexoImagem, String conteudoAssinatura, Long formaCriacao) { | 204 | private void gerarAssinaturaDocAnexo(Assinatura assinatura, AnexoImagem anexoImagem, String conteudoAssinatura, Long formaCriacao) { |
205 | 205 | ||
206 | - assinatura.getConteudoTarja().setConteudoCriptografado(this.encrypted(conteudoAssinatura)); | ||
207 | - assinatura.getConteudoTarja().setAnexoImagem(anexoImagem); | 206 | + if(formaCriacao == 1){ |
207 | + assinatura.getConteudoTarja().setConteudoCriptografado(this.encrypted(conteudoAssinatura)); | ||
208 | + assinatura.getConteudoTarja().setAnexoImagem(anexoImagem); | ||
209 | + | ||
210 | + } else if(formaCriacao == 2) { | ||
211 | + try { | ||
212 | + conteudoAssinatura = conteudoAssinatura.replaceAll(TarjaAssinatura.CODIGO_ASSINATURA, "<br /><b>".concat(this.assinaturaUtilService.gerarHash(conteudoAssinatura)).concat("</b>")); | ||
213 | + assinatura.getConteudoTarja().setConteudoCriptografado(this.encrypted(conteudoAssinatura)); | ||
214 | + assinatura.getConteudoTarja().setAnexoImagem(anexoImagem); | ||
215 | + } catch (Exception e) { | ||
216 | + e.printStackTrace(); | ||
217 | + } | ||
208 | 218 | ||
209 | - if (formaCriacao == 2) { | ||
210 | StringBuilder conteudoOriginalDocAnexo = new StringBuilder(); | 219 | StringBuilder conteudoOriginalDocAnexo = new StringBuilder(); |
211 | if (UtilObjeto.isReferencia(assinatura.getDocumentoGed().getConteudoTarja())) { | 220 | if (UtilObjeto.isReferencia(assinatura.getDocumentoGed().getConteudoTarja())) { |
212 | conteudoOriginalDocAnexo.append(decrypted(assinatura.getDocumentoGed().getConteudoTarja().getConteudoCriptografado())); | 221 | conteudoOriginalDocAnexo.append(decrypted(assinatura.getDocumentoGed().getConteudoTarja().getConteudoCriptografado())); |
@@ -214,6 +223,7 @@ public class TarjaAssinaturaServiceImpl extends GenericServiceImpl<TarjaAssinatu | @@ -214,6 +223,7 @@ public class TarjaAssinaturaServiceImpl extends GenericServiceImpl<TarjaAssinatu | ||
214 | assinatura.getDocumentoGed().setConteudoTarja(new ConteudoTarja()); | 223 | assinatura.getDocumentoGed().setConteudoTarja(new ConteudoTarja()); |
215 | } | 224 | } |
216 | conteudoOriginalDocAnexo.append(conteudoAssinatura); | 225 | conteudoOriginalDocAnexo.append(conteudoAssinatura); |
226 | + | ||
217 | assinatura.getDocumentoGed().getConteudoTarja().setConteudoCriptografado(this.encrypted(conteudoOriginalDocAnexo.toString())); | 227 | assinatura.getDocumentoGed().getConteudoTarja().setConteudoCriptografado(this.encrypted(conteudoOriginalDocAnexo.toString())); |
218 | } | 228 | } |
219 | } | 229 | } |
@@ -229,7 +239,7 @@ public class TarjaAssinaturaServiceImpl extends GenericServiceImpl<TarjaAssinatu | @@ -229,7 +239,7 @@ public class TarjaAssinaturaServiceImpl extends GenericServiceImpl<TarjaAssinatu | ||
229 | private void gerarAssinaturaDocOnline(Assinatura assinatura, AnexoImagem anexoImagem, String conteudoAssinatura) { | 239 | private void gerarAssinaturaDocOnline(Assinatura assinatura, AnexoImagem anexoImagem, String conteudoAssinatura) { |
230 | 240 | ||
231 | StringBuilder conteudoOriginalDocOnLine = new StringBuilder(); | 241 | StringBuilder conteudoOriginalDocOnLine = new StringBuilder(); |
232 | - | 242 | + |
233 | if (UtilObjeto.isReferencia(assinatura.getDocumentoGed().getConteudoTarja())) { | 243 | if (UtilObjeto.isReferencia(assinatura.getDocumentoGed().getConteudoTarja())) { |
234 | conteudoOriginalDocOnLine.append(decrypted(assinatura.getDocumentoGed().getConteudoTarja().getConteudoCriptografado())); | 244 | conteudoOriginalDocOnLine.append(decrypted(assinatura.getDocumentoGed().getConteudoTarja().getConteudoCriptografado())); |
235 | } else { | 245 | } else { |
@@ -241,9 +251,9 @@ public class TarjaAssinaturaServiceImpl extends GenericServiceImpl<TarjaAssinatu | @@ -241,9 +251,9 @@ public class TarjaAssinaturaServiceImpl extends GenericServiceImpl<TarjaAssinatu | ||
241 | // Assinar documento | 251 | // Assinar documento |
242 | assinatura.getDocumentoGed().setConteudoAssinado(this.assinaturaUtilService.geraAssinatura(conteudoOriginalDocOnLine.toString().getBytes())); | 252 | assinatura.getDocumentoGed().setConteudoAssinado(this.assinaturaUtilService.geraAssinatura(conteudoOriginalDocOnLine.toString().getBytes())); |
243 | 253 | ||
244 | - conteudoOriginalDocOnLine.append("<br />").append(this.assinaturaUtilService.gerarHash(conteudoOriginalDocOnLine.toString())); | 254 | + String conteudo = conteudoOriginalDocOnLine.toString().replaceAll(TarjaAssinatura.CODIGO_ASSINATURA, "<br /><b>".concat(this.assinaturaUtilService.gerarHash(conteudoOriginalDocOnLine.toString()).concat("</b>"))); |
245 | 255 | ||
246 | - assinatura.getDocumentoGed().getConteudoTarja().setConteudoCriptografado(this.encrypted(conteudoOriginalDocOnLine.toString())); | 256 | + assinatura.getDocumentoGed().getConteudoTarja().setConteudoCriptografado(this.encrypted(conteudo)); |
247 | 257 | ||
248 | } catch (Exception e) { | 258 | } catch (Exception e) { |
249 | e.printStackTrace(); | 259 | e.printStackTrace(); |
cit-ecm-api/src/main/resources/scripts/v1.0.0-alpha9/01-cit-ecm-1.0.0-ALFA-3-postgres.sql
1 | -- CIRO - 18/04/2016 - INICIO | 1 | -- CIRO - 18/04/2016 - INICIO |
2 | 2 | ||
3 | ALTER TABLE anexoimagem DROP CONSTRAINT fk_jrmn20bykidk1pkxu492d4bmx; | 3 | ALTER TABLE anexoimagem DROP CONSTRAINT fk_jrmn20bykidk1pkxu492d4bmx; |
4 | +ALTER TABLE tarjaassinatura DROP CONSTRAINT fk_9ybqh1qpbp9udjoi9y2jh6sf9; | ||
5 | +ALTER TABLE configuracao DROP CONSTRAINT fk_jfyy1uygxmqqng72p83k88q4e; | ||
6 | + | ||
4 | DROP TABLE anexoimagem; | 7 | DROP TABLE anexoimagem; |
5 | 8 | ||
6 | CREATE TABLE anexoimagem | 9 | CREATE TABLE anexoimagem |
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/AssinarDocumentoController.js
@@ -79,7 +79,7 @@ citApp.controller('AssinarDocumentoController', [ '$scope', '$translate', 'Geren | @@ -79,7 +79,7 @@ citApp.controller('AssinarDocumentoController', [ '$scope', '$translate', 'Geren | ||
79 | $scope.$openModalConfirm({ | 79 | $scope.$openModalConfirm({ |
80 | message: $translate.instant("ECM.MSG.CONFIRMAR_ASSINATURA"), | 80 | message: $translate.instant("ECM.MSG.CONFIRMAR_ASSINATURA"), |
81 | callback: function () { | 81 | callback: function () { |
82 | - $scope.setLoadingRemove(true); | 82 | + $scope.setLoadingGet(true); |
83 | AssinaturaRepository.saveAssinaturaInterna(_getAssinatura()).then(function(result){ | 83 | AssinaturaRepository.saveAssinaturaInterna(_getAssinatura()).then(function(result){ |
84 | _atualizarDocumentoSelecionadoAposAssinar(result.originalElement); | 84 | _atualizarDocumentoSelecionadoAposAssinar(result.originalElement); |
85 | _resetAssinar(); | 85 | _resetAssinar(); |
@@ -144,6 +144,7 @@ citApp.controller('AssinarDocumentoController', [ '$scope', '$translate', 'Geren | @@ -144,6 +144,7 @@ citApp.controller('AssinarDocumentoController', [ '$scope', '$translate', 'Geren | ||
144 | $scope.documentoSelecionado = documento; | 144 | $scope.documentoSelecionado = documento; |
145 | $scope.exibirIncluirAssinatura = false; | 145 | $scope.exibirIncluirAssinatura = false; |
146 | $scope.exibirDocJaAssinado = false; | 146 | $scope.exibirDocJaAssinado = false; |
147 | + $scope.setLoadingGet(true); | ||
147 | _obterAssinaturasDocumento(documento).then(function(documentosSelecionados){ | 148 | _obterAssinaturasDocumento(documento).then(function(documentosSelecionados){ |
148 | $scope.documentosSelecionados = documentosSelecionados; | 149 | $scope.documentosSelecionados = documentosSelecionados; |
149 | $scope.documentosSelecionados.forEach(function(doc){ | 150 | $scope.documentosSelecionados.forEach(function(doc){ |
@@ -151,6 +152,7 @@ citApp.controller('AssinarDocumentoController', [ '$scope', '$translate', 'Geren | @@ -151,6 +152,7 @@ citApp.controller('AssinarDocumentoController', [ '$scope', '$translate', 'Geren | ||
151 | $scope.documentoSelecionado = doc; | 152 | $scope.documentoSelecionado = doc; |
152 | }); | 153 | }); |
153 | _exibirNenhumaAssinatura(); | 154 | _exibirNenhumaAssinatura(); |
155 | + $scope.setLoading(false); | ||
154 | if($scope.documentoSelecionado.assinaturas && $scope.documentoSelecionado.assinaturas.length == 0) | 156 | if($scope.documentoSelecionado.assinaturas && $scope.documentoSelecionado.assinaturas.length == 0) |
155 | $scope.showAlert("warning", $translate.instant('ECM.MSG.DOCUMENTO_SEM_ASSINATURAS')); | 157 | $scope.showAlert("warning", $translate.instant('ECM.MSG.DOCUMENTO_SEM_ASSINATURAS')); |
156 | }); | 158 | }); |
@@ -168,6 +170,7 @@ citApp.controller('AssinarDocumentoController', [ '$scope', '$translate', 'Geren | @@ -168,6 +170,7 @@ citApp.controller('AssinarDocumentoController', [ '$scope', '$translate', 'Geren | ||
168 | if(valorOriginal) | 170 | if(valorOriginal) |
169 | assinatura.isVisualizarAssinatura = false; | 171 | assinatura.isVisualizarAssinatura = false; |
170 | else | 172 | else |
173 | + $scope.setLoadingGet(true); | ||
171 | DocumentoGedRepository.get(docSelecionado.id).then(function(result){ | 174 | DocumentoGedRepository.get(docSelecionado.id).then(function(result){ |
172 | $scope.doc = result.originalElement; | 175 | $scope.doc = result.originalElement; |
173 | $scope.documentosSelecionados.forEach(function(doc){ | 176 | $scope.documentosSelecionados.forEach(function(doc){ |
@@ -183,6 +186,8 @@ citApp.controller('AssinarDocumentoController', [ '$scope', '$translate', 'Geren | @@ -183,6 +186,8 @@ citApp.controller('AssinarDocumentoController', [ '$scope', '$translate', 'Geren | ||
183 | idAssinaturaSelecionada = angular.copy(ass.id); | 186 | idAssinaturaSelecionada = angular.copy(ass.id); |
184 | } | 187 | } |
185 | }); | 188 | }); |
189 | + | ||
190 | + $scope.setLoading(false); | ||
186 | }); | 191 | }); |
187 | 192 | ||
188 | $scope.visualizarAssinaturaOnLine = $scope.doc.formaCriacao.codigo == 1; | 193 | $scope.visualizarAssinaturaOnLine = $scope.doc.formaCriacao.codigo == 1; |
@@ -195,7 +200,7 @@ citApp.controller('AssinarDocumentoController', [ '$scope', '$translate', 'Geren | @@ -195,7 +200,7 @@ citApp.controller('AssinarDocumentoController', [ '$scope', '$translate', 'Geren | ||
195 | TarjaAssinaturaRepository.getTarjaAssinaturaInterna().then(function(result){ | 200 | TarjaAssinaturaRepository.getTarjaAssinaturaInterna().then(function(result){ |
196 | $timeout(function(){ | 201 | $timeout(function(){ |
197 | $scope.tarjaAssinatura = result.originalElement; | 202 | $scope.tarjaAssinatura = result.originalElement; |
198 | - }); | 203 | + },200); |
199 | }); | 204 | }); |
200 | }; | 205 | }; |
201 | 206 |
cit-ecm-web/src/main/webapp/html/assinatura/documentoAssinaturas.html
@@ -43,10 +43,7 @@ | @@ -43,10 +43,7 @@ | ||
43 | <td colspan="7"> | 43 | <td colspan="7"> |
44 | <iframe id="conteudoPrototipo" srcdoc="{{assinaturaSelecionada.documentoGed.conteudoTarja.conteudo}}" allowfullscreen class="iframe-assinatura" ng-if="visualizarAssinaturaOnLine"></iframe> | 44 | <iframe id="conteudoPrototipo" srcdoc="{{assinaturaSelecionada.documentoGed.conteudoTarja.conteudo}}" allowfullscreen class="iframe-assinatura" ng-if="visualizarAssinaturaOnLine"></iframe> |
45 | <div class="row" style="margin-top: 10px; margin-bottom: 10px;" ng-hide="visualizarAssinaturaOnLine"> | 45 | <div class="row" style="margin-top: 10px; margin-bottom: 10px;" ng-hide="visualizarAssinaturaOnLine"> |
46 | - <div class="col-sm-2" ng-show="assinaturaSelecionada.conteudoTarja.anexoImagem.anexo"> | ||
47 | - <img ng-src="data:image/JPEG;base64,{{assinaturaSelecionada.conteudoTarja.anexoImagem.anexo}}" class="img-thumbnail" style="max-width: 80px; height: 80px;"> | ||
48 | - </div> | ||
49 | - <div class="col-md-10"> | 46 | + <div class="col-md-12"> |
50 | <iframe id="conteudoAssinado" srcdoc="{{assinaturaSelecionada.conteudoTarja.conteudo}}" allowfullscreen class="iframe-assinatura" | 47 | <iframe id="conteudoAssinado" srcdoc="{{assinaturaSelecionada.conteudoTarja.conteudo}}" allowfullscreen class="iframe-assinatura" |
51 | style="min-height: 80px !important; max-height: 120px !important;"> | 48 | style="min-height: 80px !important; max-height: 120px !important;"> |
52 | </iframe> | 49 | </iframe> |