Commit 8b156462dee449e92967feb8882b2c1a8eceba05

Authored by geovane.filho
1 parent 099389ba
Exists in master

Redmine #4783 Validações

cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/EntradaAlmoxarifadoServiceImpl.java
@@ -284,6 +284,19 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl<EntradaAl @@ -284,6 +284,19 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl<EntradaAl
284 284
285 entradaAlmoxarifadoItem.setEntrada(entrada); 285 entradaAlmoxarifadoItem.setEntrada(entrada);
286 286
  287 + if (!UtilObjeto.isReferencia(entradaAlmoxarifadoItem.getCaracteristicas()) || entradaAlmoxarifadoItem.getCaracteristicas().isEmpty()) {
  288 + MaterialConsumo material = this.materialConsumoService.find(entradaAlmoxarifadoItem.getMaterial().getId());
  289 + Collection<MaterialCaracteristica> caracs = material.getMaterialCaracteristicas();
  290 + Collection<BemAlmoxarifadoCaracteristica> matCarac = new ArrayList<BemAlmoxarifadoCaracteristica>();
  291 +
  292 + for (MaterialCaracteristica materialCaracteristica : caracs) {
  293 + BemAlmoxarifadoCaracteristica carac = new BemAlmoxarifadoCaracteristica();
  294 + carac.setMaterialCaracteristica(materialCaracteristica);
  295 + matCarac.add(carac);
  296 + }
  297 + entradaAlmoxarifadoItem.setCaracteristicas(matCarac);
  298 + }
  299 +
287 for (BemAlmoxarifadoCaracteristica bemAlmoxarifadoCaracteristica : entradaAlmoxarifadoItem.getCaracteristicas()) { 300 for (BemAlmoxarifadoCaracteristica bemAlmoxarifadoCaracteristica : entradaAlmoxarifadoItem.getCaracteristicas()) {
288 301
289 bemAlmoxarifadoCaracteristica.setCaracteristica(bemAlmoxarifadoCaracteristica.getMaterialCaracteristica().getCaracteristica()); 302 bemAlmoxarifadoCaracteristica.setCaracteristica(bemAlmoxarifadoCaracteristica.getMaterialCaracteristica().getCaracteristica());
cit-almoxarifado-web/src/main/java/br/com/centralit/listener/StartupListenerAlmoxarifado.java
@@ -352,6 +352,8 @@ public class StartupListenerAlmoxarifado extends UtilStartup implements Applicat @@ -352,6 +352,8 @@ public class StartupListenerAlmoxarifado extends UtilStartup implements Applicat
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 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));
  355 + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.VALIDACAO.EDITAR_ENTRADA_CONTABIL", "Você só pode editar entradas sem data contabil ou com data maior ou igual ao do mês de referência!", dominio, modulo));
  356 + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.VALIDACAO.EDITAR_ENTRADA_COM_SAIDAS", "Você não pode editar esta entrada pois existem as seguintes saídas com materiais da mesma: ", dominio, modulo));
355 } 357 }
356 358
357 private void gerarMensagem(Dominio dominio, Modulo modulo, List<Internacionalizacao> internacionalizacaoList) { 359 private void gerarMensagem(Dominio dominio, Modulo modulo, List<Internacionalizacao> internacionalizacaoList) {
cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/EntradaAlmoxarifadoListController.js
1 'use strict'; 1 'use strict';
2 2
3 -citApp.controller('EntradaAlmoxarifadoListController', ['$scope', 'EntradaAlmoxarifadoRepository', '$translate', '$timeout', 'DominioRepository', function EntradaAlmoxarifadoListController($scope, EntradaAlmoxarifadoRepository, $translate, $timeout, DominioRepository) { 3 +citApp.controller('EntradaAlmoxarifadoListController', ['$scope', 'EntradaAlmoxarifadoRepository', '$translate', '$timeout', 'DominioRepository', 'MovimentoEstoqueRepository',
  4 + function EntradaAlmoxarifadoListController($scope, EntradaAlmoxarifadoRepository, $translate, $timeout, DominioRepository,
  5 + MovimentoEstoqueRepository) {
4 $scope.$showAdvancedFilters = false; 6 $scope.$showAdvancedFilters = false;
5 7
6 $scope.resetForm = function() { 8 $scope.resetForm = function() {
@@ -42,8 +44,23 @@ citApp.controller(&#39;EntradaAlmoxarifadoListController&#39;, [&#39;$scope&#39;, &#39;EntradaAlmoxa @@ -42,8 +44,23 @@ citApp.controller(&#39;EntradaAlmoxarifadoListController&#39;, [&#39;$scope&#39;, &#39;EntradaAlmoxa
42 $scope.showAlert('warning', !edit ? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO')); 44 $scope.showAlert('warning', !edit ? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO'));
43 return; 45 return;
44 } 46 }
45 - angular.element('#entradaAlmoxarifadoControllerId').scope().getEntradaAlmoxarifado(entradaAlmoxarifado, edit);  
46 - $scope.$showPageEditWorkspace($scope.workspace); 47 +
  48 + var dtContabil = entradaAlmoxarifado.dataContabil;
  49 +
  50 + if (edit && (dtContabil && !$scope.isDataUSMaiorOuIgualReferenciaVigente(converterStringUSemDate(dtContabil)))) {
  51 + $scope.showAlert('warning', $translate.instant('ALMOXARIFADO.VALIDACAO.EDITAR_ENTRADA_CONTABIL'));
  52 + return;
  53 + }
  54 +
  55 + MovimentoEstoqueRepository.buscarMovimentosSaidaComMateriaisDaEntrada(entradaAlmoxarifado.id).then(function(result) {
  56 + if (result.saidas) {
  57 + $scope.showAlert('warning', $translate.instant('ALMOXARIFADO.VALIDACAO.EDITAR_ENTRADA_COM_SAIDAS') + result.saidas);
  58 + return;
  59 + } else {
  60 + angular.element('#entradaAlmoxarifadoControllerId').scope().getEntradaAlmoxarifado(entradaAlmoxarifado, edit);
  61 + $scope.$showPageEditWorkspace($scope.workspace);
  62 + }
  63 + });
47 }; 64 };
48 65
49 $scope.gerarRelatorio = function(){ 66 $scope.gerarRelatorio = function(){