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 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 125 private void montarDocsObs(EventoRegistroNaoConformidade evento) {
120 126  
121 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 41 ValidationUtils.rejectIfEmpty(errors, "dataNaoConformidade", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "CONTRATOS.REGISTRO_NAO_CONFORMIDADE.DATA");
42 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 1 'use strict';
2 2  
3 3 citApp.controller('EventoRegistroNaoConformidadeController', ['$scope', '$timeout', '$translate', 'EventoRegistroNaoConformidadeRepository',
4   - 'ContratoRepository', 'DominioRepository', 'FileUploader','TermoReferenciaSancaoRepository',
  4 + 'ContratoRepository', 'DominioRepository', 'FileUploader','TermoReferenciaSancaoRepository','$filter',
5 5 function EventoRegistroNaoConformidadeController($scope, $timeout, $translate, EventoRegistroNaoConformidadeRepository,
6   - ContratoRepository, DominioRepository,FileUploader, TermoReferenciaSancaoRepository) {
  6 + ContratoRepository, DominioRepository,FileUploader, TermoReferenciaSancaoRepository, $filter) {
7 7  
8 8  
9 9 $scope.uploader = new FileUploader({
... ... @@ -23,7 +23,18 @@ citApp.controller(&#39;EventoRegistroNaoConformidadeController&#39;, [&#39;$scope&#39;, &#39;$timeou
23 23 if($scope.contrato == undefined){
24 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 38 $scope.registroNaoConformidade = {};
28 39 $scope.registroNaoConformidade = {contrato: $scope.contrato};
29 40 }
... ... @@ -39,7 +50,7 @@ citApp.controller(&#39;EventoRegistroNaoConformidadeController&#39;, [&#39;$scope&#39;, &#39;$timeou
39 50 form.$submitted = true;
40 51 if(form.$valid){
41 52  
42   - if(!isDataDentroPeriodo($scope.registroNaoConformidade.contrato.dataVigenciaInicial,
  53 + if(!$scope.evento && !isDataDentroPeriodo($scope.registroNaoConformidade.contrato.dataVigenciaInicial,
43 54 $scope.registroNaoConformidade.contrato.dataUltimaVigenciaFinal, $scope.registroNaoConformidade.dataNaoConformidade)){
44 55 $scope.showAlert('warning', $translate.instant('CONTRATOS.MSG.DATA_NAO_CONFORMIDADE_INVALIDA'));
45 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 459 break;
460 460 case 'NAO_CONFORMIDADE':
461 461 $scope.visualizarEvento = true;
462   - $scope.editEvento = false;
  462 + $scope.editEvento = true;
463 463 $scope.removeEvento = false;
464 464 break;
465 465 case 'RECEBIMENTO_OBJETO':
... ...
cit-contratos-web/src/main/webapp/html/eventos/cnt_ev_registro_nc.html
... ... @@ -60,12 +60,12 @@
60 60 <label-input-data ng-id="registroNaoConformidade.dataNaoConformidade"
61 61 ng-label="CONTRATOS.REGISTRO_NAO_CONFORMIDADE.DATA"
62 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 64 ng-format="dd/MM/yyyy"> </label-input-data>
65 65 </div>
66 66 <div class="col-sm-3">
67 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 69 ng-custom-options="tipoNaoConformidade as tipoNaoConformidade.sancao for tipoNaoConformidade"
70 70 ng-list="tiposNaoConformidade" track-by="track by tipoNaoConformidade.id"/>
71 71 </div>
... ...