Commit b1f4f1f4a1c40100d4d31c76140002a3dad53312

Authored by erick.sato
1 parent 7989ee62
Exists in master

[Redmine Atendimento #4327]Alteração Registro Não Conformidade

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(&#39;EventoRegistroNaoConformidadeController&#39;, [&#39;$scope&#39;, &#39;$timeou @@ -23,7 +23,18 @@ citApp.controller(&#39;EventoRegistroNaoConformidadeController&#39;, [&#39;$scope&#39;, &#39;$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(&#39;EventoRegistroNaoConformidadeController&#39;, [&#39;$scope&#39;, &#39;$timeou @@ -39,7 +50,7 @@ citApp.controller(&#39;EventoRegistroNaoConformidadeController&#39;, [&#39;$scope&#39;, &#39;$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(&#39;VisaoContratoController&#39;, [&#39;$scope&#39;, @@ -459,7 +459,7 @@ citApp.controller(&#39;VisaoContratoController&#39;, [&#39;$scope&#39;,
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>