Commit b1f4f1f4a1c40100d4d31c76140002a3dad53312
1 parent
7989ee62
Exists in
master
[Redmine Atendimento #4327]Alteração Registro Não Conformidade
Showing
5 changed files
with
29 additions
and
10 deletions
Show diff stats
cit-contratos-api/src/main/java/br/com/centralit/api/service/impl/EventoRegistroNaoConformidadeServiceImpl.java
@@ -116,6 +116,12 @@ public class EventoRegistroNaoConformidadeServiceImpl extends GenericServiceImpl | @@ -116,6 +116,12 @@ public class EventoRegistroNaoConformidadeServiceImpl extends GenericServiceImpl | ||
116 | return entitySaved; | 116 | return entitySaved; |
117 | } | 117 | } |
118 | 118 | ||
119 | + public EventoRegistroNaoConformidade merge(EventoRegistroNaoConformidade entity) { | ||
120 | + this.validarEntidade(entity, this.validator); | ||
121 | + this.montarDocsObs(entity); | ||
122 | + return super.merge(entity); | ||
123 | + } | ||
124 | + | ||
119 | private void montarDocsObs(EventoRegistroNaoConformidade evento) { | 125 | private void montarDocsObs(EventoRegistroNaoConformidade evento) { |
120 | 126 | ||
121 | if (!UtilColecao.isVazio(evento.getObservacoes())) { | 127 | if (!UtilColecao.isVazio(evento.getObservacoes())) { |
cit-contratos-api/src/main/java/br/com/centralit/api/service/validation/EventoRegistroNaoConformidadeValidator.java
@@ -41,10 +41,12 @@ public class EventoRegistroNaoConformidadeValidator implements Validator { | @@ -41,10 +41,12 @@ public class EventoRegistroNaoConformidadeValidator implements Validator { | ||
41 | ValidationUtils.rejectIfEmpty(errors, "dataNaoConformidade", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "CONTRATOS.REGISTRO_NAO_CONFORMIDADE.DATA"); | 41 | ValidationUtils.rejectIfEmpty(errors, "dataNaoConformidade", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "CONTRATOS.REGISTRO_NAO_CONFORMIDADE.DATA"); |
42 | ValidationUtils.rejectIfEmpty(errors, "tipoNaoConformidade", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "CONTRATOS.REGISTRO_NAO_CONFORMIDADE.APLICAVEL"); | 42 | ValidationUtils.rejectIfEmpty(errors, "tipoNaoConformidade", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "CONTRATOS.REGISTRO_NAO_CONFORMIDADE.APLICAVEL"); |
43 | 43 | ||
44 | - if (evento.getDataNaoConformidade().getTimeInMillis() < evento.getContrato().getDataVigenciaInicial().getTimeInMillis() | ||
45 | - || evento.getDataNaoConformidade().getTimeInMillis() > evento.getContrato().getDataUltimaVigenciaFinal().getTimeInMillis()) { | 44 | + if (evento.getDataNaoConformidade() != null && evento.getContrato() != null && evento.getContrato().getDataVigenciaInicial() != null) { |
45 | + if(evento.getDataNaoConformidade().getTimeInMillis() < evento.getContrato().getDataVigenciaInicial().getTimeInMillis() | ||
46 | + || evento.getDataNaoConformidade().getTimeInMillis() > evento.getContrato().getDataUltimaVigenciaFinal().getTimeInMillis()){ | ||
46 | 47 | ||
47 | - errors.rejectValue("dataNaoConformidade", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "CONTRATOS.MSG.DATA_NAO_CONFORMIDADE_INVALIDA"); | 48 | + errors.rejectValue("dataNaoConformidade", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "CONTRATOS.MSG.DATA_NAO_CONFORMIDADE_INVALIDA"); |
49 | + } | ||
48 | } | 50 | } |
49 | 51 | ||
50 | } | 52 | } |
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/EventoRegistroNaoConformidadeController.js
1 | 'use strict'; | 1 | 'use strict'; |
2 | 2 | ||
3 | citApp.controller('EventoRegistroNaoConformidadeController', ['$scope', '$timeout', '$translate', 'EventoRegistroNaoConformidadeRepository', | 3 | citApp.controller('EventoRegistroNaoConformidadeController', ['$scope', '$timeout', '$translate', 'EventoRegistroNaoConformidadeRepository', |
4 | - 'ContratoRepository', 'DominioRepository', 'FileUploader','TermoReferenciaSancaoRepository', | 4 | + 'ContratoRepository', 'DominioRepository', 'FileUploader','TermoReferenciaSancaoRepository','$filter', |
5 | function EventoRegistroNaoConformidadeController($scope, $timeout, $translate, EventoRegistroNaoConformidadeRepository, | 5 | function EventoRegistroNaoConformidadeController($scope, $timeout, $translate, EventoRegistroNaoConformidadeRepository, |
6 | - ContratoRepository, DominioRepository,FileUploader, TermoReferenciaSancaoRepository) { | 6 | + ContratoRepository, DominioRepository,FileUploader, TermoReferenciaSancaoRepository, $filter) { |
7 | 7 | ||
8 | 8 | ||
9 | $scope.uploader = new FileUploader({ | 9 | $scope.uploader = new FileUploader({ |
@@ -23,7 +23,18 @@ citApp.controller('EventoRegistroNaoConformidadeController', ['$scope', '$timeou | @@ -23,7 +23,18 @@ citApp.controller('EventoRegistroNaoConformidadeController', ['$scope', '$timeou | ||
23 | if($scope.contrato == undefined){ | 23 | if($scope.contrato == undefined){ |
24 | $scope.contrato= angular.copy($scope.contrato); | 24 | $scope.contrato= angular.copy($scope.contrato); |
25 | } | 25 | } |
26 | - if($scope.edit){ | 26 | + |
27 | + if($scope.evento){ | ||
28 | + $scope.setLoadingGet(true); | ||
29 | + EventoRegistroNaoConformidadeRepository.get($scope.evento.id).then(function(result){ | ||
30 | + $scope.registroNaoConformidade = result.originalElement; | ||
31 | + $scope.registroNaoConformidade.contrato = $scope.contrato; | ||
32 | + $scope.registroNaoConformidade.dataNaoConformidade = $filter('date')($scope.registroNaoConformidade.dataNaoConformidade, "dd/MM/yyyy"); | ||
33 | + $scope.setLoading(false); | ||
34 | + }); | ||
35 | + } | ||
36 | + | ||
37 | + if($scope.edit && !$scope.evento){ | ||
27 | $scope.registroNaoConformidade = {}; | 38 | $scope.registroNaoConformidade = {}; |
28 | $scope.registroNaoConformidade = {contrato: $scope.contrato}; | 39 | $scope.registroNaoConformidade = {contrato: $scope.contrato}; |
29 | } | 40 | } |
@@ -39,7 +50,7 @@ citApp.controller('EventoRegistroNaoConformidadeController', ['$scope', '$timeou | @@ -39,7 +50,7 @@ citApp.controller('EventoRegistroNaoConformidadeController', ['$scope', '$timeou | ||
39 | form.$submitted = true; | 50 | form.$submitted = true; |
40 | if(form.$valid){ | 51 | if(form.$valid){ |
41 | 52 | ||
42 | - if(!isDataDentroPeriodo($scope.registroNaoConformidade.contrato.dataVigenciaInicial, | 53 | + if(!$scope.evento && !isDataDentroPeriodo($scope.registroNaoConformidade.contrato.dataVigenciaInicial, |
43 | $scope.registroNaoConformidade.contrato.dataUltimaVigenciaFinal, $scope.registroNaoConformidade.dataNaoConformidade)){ | 54 | $scope.registroNaoConformidade.contrato.dataUltimaVigenciaFinal, $scope.registroNaoConformidade.dataNaoConformidade)){ |
44 | $scope.showAlert('warning', $translate.instant('CONTRATOS.MSG.DATA_NAO_CONFORMIDADE_INVALIDA')); | 55 | $scope.showAlert('warning', $translate.instant('CONTRATOS.MSG.DATA_NAO_CONFORMIDADE_INVALIDA')); |
45 | return; | 56 | return; |
cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/VisaoContratoController.js
@@ -459,7 +459,7 @@ citApp.controller('VisaoContratoController', ['$scope', | @@ -459,7 +459,7 @@ citApp.controller('VisaoContratoController', ['$scope', | ||
459 | break; | 459 | break; |
460 | case 'NAO_CONFORMIDADE': | 460 | case 'NAO_CONFORMIDADE': |
461 | $scope.visualizarEvento = true; | 461 | $scope.visualizarEvento = true; |
462 | - $scope.editEvento = false; | 462 | + $scope.editEvento = true; |
463 | $scope.removeEvento = false; | 463 | $scope.removeEvento = false; |
464 | break; | 464 | break; |
465 | case 'RECEBIMENTO_OBJETO': | 465 | case 'RECEBIMENTO_OBJETO': |
cit-contratos-web/src/main/webapp/html/eventos/cnt_ev_registro_nc.html
@@ -60,12 +60,12 @@ | @@ -60,12 +60,12 @@ | ||
60 | <label-input-data ng-id="registroNaoConformidade.dataNaoConformidade" | 60 | <label-input-data ng-id="registroNaoConformidade.dataNaoConformidade" |
61 | ng-label="CONTRATOS.REGISTRO_NAO_CONFORMIDADE.DATA" | 61 | ng-label="CONTRATOS.REGISTRO_NAO_CONFORMIDADE.DATA" |
62 | ng-model="registroNaoConformidade.dataNaoConformidade" | 62 | ng-model="registroNaoConformidade.dataNaoConformidade" |
63 | - form="formDialogNaoConformidade" ng-disabled="!edit" ng-obrigatorio="true" | 63 | + form="formDialogNaoConformidade" ng-disabled="!edit || registroNaoConformidade.id" ng-obrigatorio="true" |
64 | ng-format="dd/MM/yyyy"> </label-input-data> | 64 | ng-format="dd/MM/yyyy"> </label-input-data> |
65 | </div> | 65 | </div> |
66 | <div class="col-sm-3"> | 66 | <div class="col-sm-3"> |
67 | <label-select ng-label="CONTRATOS.REGISTRO_NAO_CONFORMIDADE.APLICAVEL" ng-id="registroNaoConformidade.tipoNaoConformidade" | 67 | <label-select ng-label="CONTRATOS.REGISTRO_NAO_CONFORMIDADE.APLICAVEL" ng-id="registroNaoConformidade.tipoNaoConformidade" |
68 | - ng-model="registroNaoConformidade.tipoNaoConformidade" form="formDialogNaoConformidade" ng-obrigatorio="true" ng-disabled="!edit" | 68 | + ng-model="registroNaoConformidade.tipoNaoConformidade" form="formDialogNaoConformidade" ng-obrigatorio="true" ng-disabled="!edit || registroNaoConformidade.id" |
69 | ng-custom-options="tipoNaoConformidade as tipoNaoConformidade.sancao for tipoNaoConformidade" | 69 | ng-custom-options="tipoNaoConformidade as tipoNaoConformidade.sancao for tipoNaoConformidade" |
70 | ng-list="tiposNaoConformidade" track-by="track by tipoNaoConformidade.id"/> | 70 | ng-list="tiposNaoConformidade" track-by="track by tipoNaoConformidade.id"/> |
71 | </div> | 71 | </div> |