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 284  
285 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 300 for (BemAlmoxarifadoCaracteristica bemAlmoxarifadoCaracteristica : entradaAlmoxarifadoItem.getCaracteristicas()) {
288 301  
289 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 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 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 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 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 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 6 $scope.$showAdvancedFilters = false;
5 7  
6 8 $scope.resetForm = function() {
... ... @@ -42,8 +44,23 @@ citApp.controller(&#39;EntradaAlmoxarifadoListController&#39;, [&#39;$scope&#39;, &#39;EntradaAlmoxa
42 44 $scope.showAlert('warning', !edit ? $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_VISUALIZACAO') : $translate.instant('MSG.SELECIONE_UM_ITEM_PARA_EDICAO'));
43 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 66 $scope.gerarRelatorio = function(){
... ...