Commit 8b156462dee449e92967feb8882b2c1a8eceba05
1 parent
099389ba
Exists in
master
Redmine #4783 Validações
Showing
3 changed files
with
35 additions
and
3 deletions
Show diff stats
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('EntradaAlmoxarifadoListController', ['$scope', '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(){ | ... | ... |