Commit d17459e49ef9a5448d3205ab585a17f7846aa8b6

Authored by erick.sato
2 parents 5158b153 099389ba
Exists in master

Merge branch 'tarefa-3943' of http://ferramentasgo.centralit.com.br:8080/scm/git…

…/cit-grp-almoxarifado into tarefa-3943
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/validation/EntradaAlmoxarifadoAllValidator.java
@@ -5,7 +5,6 @@ import java.math.BigDecimal; @@ -5,7 +5,6 @@ import java.math.BigDecimal;
5 import org.springframework.beans.factory.annotation.Autowired; 5 import org.springframework.beans.factory.annotation.Autowired;
6 import org.springframework.stereotype.Component; 6 import org.springframework.stereotype.Component;
7 import org.springframework.validation.Errors; 7 import org.springframework.validation.Errors;
8 -import org.springframework.validation.ValidationUtils;  
9 import org.springframework.validation.Validator; 8 import org.springframework.validation.Validator;
10 9
11 import br.com.centralit.api.model.EntradaAlmoxarifado; 10 import br.com.centralit.api.model.EntradaAlmoxarifado;
@@ -56,11 +55,15 @@ public class EntradaAlmoxarifadoAllValidator implements Validator { @@ -56,11 +55,15 @@ public class EntradaAlmoxarifadoAllValidator implements Validator {
56 } 55 }
57 56
58 if (alteracaoData && !codigosMovimentos.isEmpty()) { 57 if (alteracaoData && !codigosMovimentos.isEmpty()) {
59 - errors.rejectValue("dataContabil", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "ALMOXARIFADO.VALIDACAO.DATA_CONTABIL_ALTERADA_SAIDAS"); 58 + errors.rejectValue("dataContabil", CodigoErro.VALIDACAO_CAMPOS.getValue().toString(), "ALMOXARIFADO.VALIDACAO.DATA_CONTABIL_ALTERADA_SAIDAS");
60 } 59 }
61 } 60 }
62 61
63 if (UtilObjeto.isReferencia(entrada.getDataContabil())) { 62 if (UtilObjeto.isReferencia(entrada.getDataContabil())) {
  63 +
  64 + if (entrada.getDataContabil().before(entrada.getDataRecebimento())) {
  65 + errors.rejectValue("dataContabil", CodigoErro.VALIDACAO_CAMPOS.getValue().toString(), "ALMOXARIFADO.VALIDACAO.DATA_CONTABIL_DATA_RECEBIMENTO");
  66 + }
64 67
65 if (UtilColecao.isVazio(entrada.getDocumentos())) { 68 if (UtilColecao.isVazio(entrada.getDocumentos())) {
66 errors.rejectValue("documentos", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "CORPORATIVO.LABEL.ASSOCIAR_DOCUMENTOS"); 69 errors.rejectValue("documentos", CodigoErro.VALIDACAO_CAMPOS_OBRIGATORIOS.getValue().toString(), "CORPORATIVO.LABEL.ASSOCIAR_DOCUMENTOS");
cit-almoxarifado-web/src/main/java/br/com/centralit/listener/StartupListenerAlmoxarifado.java
@@ -351,6 +351,7 @@ public class StartupListenerAlmoxarifado extends UtilStartup implements Applicat @@ -351,6 +351,7 @@ public class StartupListenerAlmoxarifado extends UtilStartup implements Applicat
351 internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.VALIDACAO.ENDERECO_ESTOQUE_VINCULO_CICLICO", "Não é permitido vincular o endereço de estoque superior, pois este endereço tem como endereço superior o registro que está sendo alterado. Favor remover ou escolher outro endereço de estoque superior.", dominio, modulo)); 351 internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.VALIDACAO.ENDERECO_ESTOQUE_VINCULO_CICLICO", "Não é permitido vincular o endereço de estoque superior, pois este endereço tem como endereço superior o registro que está sendo alterado. Favor remover ou escolher outro endereço de estoque superior.", dominio, modulo));
352 internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.VALIDACAO.ENTRADA_DESCONTABILIZACAO_COM_SAIDAS", "Você não pode descontabilizar esta entrada pois existem as seguintes saídas com materiais da mesma: ", dominio, modulo)); 352 internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.VALIDACAO.ENTRADA_DESCONTABILIZACAO_COM_SAIDAS", "Você não pode descontabilizar esta entrada pois existem as seguintes saídas com materiais da mesma: ", dominio, modulo));
353 internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.VALIDACAO.DATA_CONTABIL_ALTERADA_SAIDAS", "Você não pode alterar a data de contabilização após realizar atendimentos e baixas em materiais desta entrada!", dominio, modulo)); 353 internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.VALIDACAO.DATA_CONTABIL_ALTERADA_SAIDAS", "Você não pode alterar a data de contabilização após realizar atendimentos e baixas em materiais desta entrada!", dominio, modulo));
  354 + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.VALIDACAO.DATA_CONTABIL_DATA_RECEBIMENTO", "A data de contabilização não pode ser menor que a data de recebimento!", dominio, modulo));
354 } 355 }
355 356
356 private void gerarMensagem(Dominio dominio, Modulo modulo, List<Internacionalizacao> internacionalizacaoList) { 357 private void gerarMensagem(Dominio dominio, Modulo modulo, List<Internacionalizacao> internacionalizacaoList) {
cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/EntradaAlmoxarifadoController.js
@@ -130,7 +130,9 @@ citApp.controller(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUp @@ -130,7 +130,9 @@ citApp.controller(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUp
130 130
131 if($scope.entradaAlmoxarifado.fornecedor){ 131 if($scope.entradaAlmoxarifado.fornecedor){
132 $scope.entradaAlmoxarifado.fornecedor['pessoa.nome'] = $scope.entradaAlmoxarifado.fornecedor.pessoa.nome; 132 $scope.entradaAlmoxarifado.fornecedor['pessoa.nome'] = $scope.entradaAlmoxarifado.fornecedor.pessoa.nome;
  133 + $scope.entradaAlmoxarifado.fornecedor['cpfCnpj'] = $scope.entradaAlmoxarifado.fornecedor.pessoa.cpfCnpj;
133 $scope.entradaAlmoxarifadoOriginal.fornecedor['pessoa.nome'] = $scope.entradaAlmoxarifadoOriginal.fornecedor.pessoa.nome; 134 $scope.entradaAlmoxarifadoOriginal.fornecedor['pessoa.nome'] = $scope.entradaAlmoxarifadoOriginal.fornecedor.pessoa.nome;
  135 + $scope.entradaAlmoxarifadoOriginal.fornecedor['cpfCnpj'] = $scope.entradaAlmoxarifadoOriginal.fornecedor.pessoa.cpfCnpj;
134 } 136 }
135 137
136 $scope.dominiosTipoRecebimento.forEach(function(item){ 138 $scope.dominiosTipoRecebimento.forEach(function(item){
@@ -173,6 +175,16 @@ citApp.controller(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUp @@ -173,6 +175,16 @@ citApp.controller(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUp
173 175
174 $scope.findAutoCompleteFornecedor = function(value){ 176 $scope.findAutoCompleteFornecedor = function(value){
175 return FornecedorRepository.listarFornecedoresBusca(value).then(function(result) { 177 return FornecedorRepository.listarFornecedoresBusca(value).then(function(result) {
  178 + for (var i = 0; i < result.length; i++) {
  179 + if (result[i]['pessoa.pessoaFisica.cpf']) {
  180 + result[i].cpfCnpj = aplicarCpfCnpj(result[i]['pessoa.pessoaFisica.cpf']);
  181 + result[i].originalElement.cpfCnpj = aplicarCpfCnpj(result[i]['pessoa.pessoaFisica.cpf']);
  182 + }
  183 + if (result[i]['pessoa.pessoaJuridica.cnpj']) {
  184 + result[i].cpfCnpj = aplicarCpfCnpj(result[i]['pessoa.pessoaJuridica.cnpj']);
  185 + result[i].originalElement.cpfCnpj = aplicarCpfCnpj(result[i]['pessoa.pessoaJuridica.cnpj']);
  186 + }
  187 + }
176 return result; 188 return result;
177 }); 189 });
178 }; 190 };
@@ -520,6 +532,7 @@ citApp.controller(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUp @@ -520,6 +532,7 @@ citApp.controller(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUp
520 532
521 if ($scope.entradaAlmoxarifado.fornecedor) { 533 if ($scope.entradaAlmoxarifado.fornecedor) {
522 $scope.entradaAlmoxarifado.fornecedor['pessoa.nome'] = $scope.entradaAlmoxarifado.fornecedor.pessoa.nome; 534 $scope.entradaAlmoxarifado.fornecedor['pessoa.nome'] = $scope.entradaAlmoxarifado.fornecedor.pessoa.nome;
  535 + $scope.entradaAlmoxarifado.fornecedor['cpfCnpj'] = $scope.entradaAlmoxarifado.fornecedor.pessoa.cpfCnpj;
523 } 536 }
524 537
525 // depois de salvar a entrada ja tendo uma referencia do id, esse metodo ira salvar os documentos se existir 538 // depois de salvar a entrada ja tendo uma referencia do id, esse metodo ira salvar os documentos se existir
@@ -562,6 +575,7 @@ citApp.controller(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUp @@ -562,6 +575,7 @@ citApp.controller(&#39;EntradaAlmoxarifadoController&#39;, [&#39;$scope&#39;, &#39;$filter&#39;, &#39;FileUp
562 $scope.entradaAlmoxarifado.dataReferencia = $filter('date')($scope.entradaAlmoxarifado.dataReferencia, "dd/MM/yyyy"); 575 $scope.entradaAlmoxarifado.dataReferencia = $filter('date')($scope.entradaAlmoxarifado.dataReferencia, "dd/MM/yyyy");
563 if ($scope.entradaAlmoxarifado.fornecedor) { 576 if ($scope.entradaAlmoxarifado.fornecedor) {
564 $scope.entradaAlmoxarifado.fornecedor['pessoa.nome'] = $scope.entradaAlmoxarifado.fornecedor.pessoa.nome; 577 $scope.entradaAlmoxarifado.fornecedor['pessoa.nome'] = $scope.entradaAlmoxarifado.fornecedor.pessoa.nome;
  578 + $scope.entradaAlmoxarifado.fornecedor['cpfCnpj'] = $scope.entradaAlmoxarifado.fornecedor.pessoa.cpfCnpj;
565 } 579 }
566 $scope.setLoading(false); 580 $scope.setLoading(false);
567 if (dataContabil) { 581 if (dataContabil) {
cit-almoxarifado-web/src/main/webapp/html/entradaAlmoxarifado/entradaAlmoxarifadoPg1.html
@@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@
12 </div> 12 </div>
13 <div class="col-md-4"> 13 <div class="col-md-4">
14 <auto-complete ng-id="entradaAlmoxarifado.fornecedor" ng-label="LABEL.FORNECEDOR" ng-model="entradaAlmoxarifado.fornecedor" form="dadosEntradaForm" 14 <auto-complete ng-id="entradaAlmoxarifado.fornecedor" ng-label="LABEL.FORNECEDOR" ng-model="entradaAlmoxarifado.fornecedor" form="dadosEntradaForm"
15 - ng-obrigatorio="{{edit}}" ng-disabled="!edit" ng-find="findAutoCompleteFornecedor(value)" ng-item="item['pessoa.nome']" /> 15 + ng-obrigatorio="{{edit}}" ng-disabled="!edit" ng-find="findAutoCompleteFornecedor(value)" ng-item="item['pessoa.nome'] + ' - ' + item.cpfCnpj" />
16 </div> 16 </div>
17 <div class="col-md-3"> 17 <div class="col-md-3">
18 <label-input-number ng-id="entradaAlmoxarifado.notaRecebimento" ng-label="ALMOXARIFADO.LABEL.NOTA_RECEBIMENTO" ng-model="entradaAlmoxarifado.notaRecebimento" 18 <label-input-number ng-id="entradaAlmoxarifado.notaRecebimento" ng-label="ALMOXARIFADO.LABEL.NOTA_RECEBIMENTO" ng-model="entradaAlmoxarifado.notaRecebimento"