diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EntradaAlmoxarifado.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EntradaAlmoxarifado.java index feaf9bb..1e2a737 100644 --- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EntradaAlmoxarifado.java +++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EntradaAlmoxarifado.java @@ -127,7 +127,7 @@ public class EntradaAlmoxarifado extends PersistentObjectAuditOrganizacao implem /** Atributo dominioTipoEntrada. */ @ManyToOne(fetch = FetchType.LAZY, optional = false) - @JsonView({ Views.EntradaAutoCompleteView.class }) + @JsonView({ Views.EntradaAutoCompleteView.class, Views.EntradaListView.class }) private Dominio dominioTipoEntrada; @ManyToOne(fetch = FetchType.LAZY, optional = false) diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EntradaAlmoxarifadoItem.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EntradaAlmoxarifadoItem.java index 9220af9..3c4547d 100644 --- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EntradaAlmoxarifadoItem.java +++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/EntradaAlmoxarifadoItem.java @@ -128,7 +128,7 @@ public class EntradaAlmoxarifadoItem extends PersistentObjectAudit { private UnidadeMedida unidadeMedidaEntrada; /** Atributo caracteristicas. */ - @OneToMany(fetch = FetchType.LAZY, mappedBy = "entradaItem", cascade = CascadeType.ALL, orphanRemoval = true) + @OneToMany(fetch = FetchType.LAZY, mappedBy = "entradaItem", cascade = CascadeType.ALL) @JsonView({ ViewsAdmMateriais.EntradaAlmoxarifadoEditView.class }) private Collection caracteristicas; diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/EntradaAlmoxarifadoItemServiceImpl.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/EntradaAlmoxarifadoItemServiceImpl.java index 29510df..0785988 100644 --- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/EntradaAlmoxarifadoItemServiceImpl.java +++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/EntradaAlmoxarifadoItemServiceImpl.java @@ -156,7 +156,7 @@ public class EntradaAlmoxarifadoItemServiceImpl extends GenericServiceImpl percetagemLimite) { - throw new BusinessException("MSG.VALIDACAO_PRECO_MEDIO_MATERIAL_CONSUMO", CodigoErro.REGRA_NEGOCIO.getValue(), percetagemLimite + "%"); + throw new BusinessException("ALMOXARIFADO.MSG.VALIDACAO_PRECO_MEDIO_MATERIAL_CONSUMO", CodigoErro.REGRA_NEGOCIO.getValue(), percetagemLimite + "%"); } } diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/EntradaAlmoxarifadoServiceImpl.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/EntradaAlmoxarifadoServiceImpl.java index 19bc53d..0dbe619 100644 --- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/EntradaAlmoxarifadoServiceImpl.java +++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/EntradaAlmoxarifadoServiceImpl.java @@ -2,6 +2,7 @@ package br.com.centralit.api.service.impl; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -19,6 +20,8 @@ import br.com.centralit.api.model.EntradaAlmoxarifado; import br.com.centralit.api.model.EntradaAlmoxarifadoDocumento; import br.com.centralit.api.model.EntradaAlmoxarifadoItem; import br.com.centralit.api.model.EntradaAlmoxarifadoObservacao; +import br.com.centralit.api.model.MaterialCaracteristica; +import br.com.centralit.api.model.MaterialConsumo; import br.com.centralit.api.model.MovimentoEstoque; import br.com.centralit.api.service.ConfiguracaoParametroSistemaService; import br.com.centralit.api.service.ContaContabilMovimentoAlmoxarifadoService; @@ -261,18 +264,28 @@ public class EntradaAlmoxarifadoServiceImpl extends GenericServiceImpl caracteristicas = new ArrayList(); + + if (!UtilObjeto.isReferencia(entradaAlmoxarifadoItem.getCaracteristicas()) || entradaAlmoxarifadoItem.getCaracteristicas().isEmpty()) { + MaterialConsumo material = this.materialConsumoService.find(entradaAlmoxarifadoItem.getMaterial().getId()); + Collection caracs = material.getMaterialCaracteristicas(); + Collection matCarac = new ArrayList(); + + for (MaterialCaracteristica materialCaracteristica : caracs) { + BemAlmoxarifadoCaracteristica carac = new BemAlmoxarifadoCaracteristica(); + carac.setMaterialCaracteristica(materialCaracteristica); + matCarac.add(carac); + } + entradaAlmoxarifadoItem.setCaracteristicas(matCarac); + } - //TODO Arrumar caracteristicas for (BemAlmoxarifadoCaracteristica bemAlmoxarifadoCaracteristica : entradaAlmoxarifadoItem.getCaracteristicas()) { - if(StringUtils.isNotBlank(bemAlmoxarifadoCaracteristica.getValorCaracteristica())){ - bemAlmoxarifadoCaracteristica.setMaterialCaracteristica(this.materialCaracteristicaService.find(bemAlmoxarifadoCaracteristica.getMaterialCaracteristica().getId())); - - bemAlmoxarifadoCaracteristica.setCaracteristica(bemAlmoxarifadoCaracteristica.getMaterialCaracteristica().getCaracteristica()); - - bemAlmoxarifadoCaracteristica.setEntradaItem(entradaAlmoxarifadoItem); - caracteristicas.add(bemAlmoxarifadoCaracteristica); - } + bemAlmoxarifadoCaracteristica.setMaterialCaracteristica(this.materialCaracteristicaService.find(bemAlmoxarifadoCaracteristica.getMaterialCaracteristica().getId())); + + bemAlmoxarifadoCaracteristica.setCaracteristica(bemAlmoxarifadoCaracteristica.getMaterialCaracteristica().getCaracteristica()); + + bemAlmoxarifadoCaracteristica.setEntradaItem(entradaAlmoxarifadoItem); + caracteristicas.add(bemAlmoxarifadoCaracteristica); } diff --git a/cit-almoxarifado-web/src/main/java/br/com/centralit/listener/StartupListenerAlmoxarifado.java b/cit-almoxarifado-web/src/main/java/br/com/centralit/listener/StartupListenerAlmoxarifado.java index 62753e9..6c4ceac 100644 --- a/cit-almoxarifado-web/src/main/java/br/com/centralit/listener/StartupListenerAlmoxarifado.java +++ b/cit-almoxarifado-web/src/main/java/br/com/centralit/listener/StartupListenerAlmoxarifado.java @@ -366,6 +366,7 @@ public class StartupListenerAlmoxarifado extends UtilStartup implements Applicat internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.SELECIONE_UM_ITEM_PARA_DEFINIR_CARAC", "Selecione um item para definir suas características!", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.MATERIAL_NAO_POSSUI_CARACTERISTICAS", "Material não possui características cadastradas.", dominio, modulo)); internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.ACAO_COM_SAIDAS_POSTERIORES", "Você não pode realizar esta ação pois existem as seguintes saídas com materiais desta entrada: ", dominio, modulo)); + internacionalizacaoList.add(new Internacionalizacao("ALMOXARIFADO.MSG.VALIDACAO_PRECO_MEDIO_MATERIAL_CONSUMO", "Valor médio do material é superior a ", dominio, modulo)); } } diff --git a/cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/EntradaAlmoxarifadoController.js b/cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/EntradaAlmoxarifadoController.js index 74b4847..6d3e8d3 100644 --- a/cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/EntradaAlmoxarifadoController.js +++ b/cit-almoxarifado-web/src/main/webapp/assets/js/angular/custom/controller/EntradaAlmoxarifadoController.js @@ -277,29 +277,38 @@ citApp.controller('EntradaAlmoxarifadoController', ['$scope', '$filter', 'FileUp var idAlmoxarifado = $scope.entradaAlmoxarifado.almoxarifado ? $scope.entradaAlmoxarifado.almoxarifado.id : null; - EntradaAlmoxarifadoItemRepository.validarPrecoMedio($scope.entradaItem.valorUnitario, $scope.entradaItem.material.id, idAlmoxarifado).then(function(result) {}); + EntradaAlmoxarifadoItemRepository.validarPrecoMedio($scope.entradaItem.valorUnitario, $scope.entradaItem.material.id, idAlmoxarifado).then(function(result) { + if ($scope.entradaItem.$checked) { + for (var i = 0; i < $scope.entradaAlmoxarifado.entradasItem.length; i++) { + if ($scope.entradaAlmoxarifado.entradasItem[i].$checked) { + $scope.entradaAlmoxarifado.entradasItem[i] = $scope.entradaItem; + } + } + } else { + $scope.entradaAlmoxarifado.entradasItem.push($scope.entradaItem); + } - } + $scope.calcularValorTotalMateriais(); - if(!$scope.entradaItem.uuid){ - $scope.entradaItem.uuid = getUuid(); - $scope.entradaAlmoxarifado.entradasItem.push($scope.entradaItem); - }else{ - var entradasItemTemp = []; - $scope.entradaAlmoxarifado.entradasItem.forEach(function (entradaItem, $index) { - if(entradaItem.uuid === $scope.entradaItem.uuid){ - entradasItemTemp.push($scope.entradaItem); - }else{ - entradasItemTemp.push(entradaItem); - } + $scope.$modalInstance.dismiss('cancel'); + $scope.atualizarListaSizeSelectEntradaItem(); }); - $scope.entradaAlmoxarifado.entradasItem = entradasItemTemp; - } + } else { + if ($scope.entradaItem.$checked) { + for (var i = 0; i < $scope.entradaAlmoxarifado.entradasItem.length; i++) { + if ($scope.entradaAlmoxarifado.entradasItem[i].$checked) { + $scope.entradaAlmoxarifado.entradasItem[i] = $scope.entradaItem; + } + } + } else { + $scope.entradaAlmoxarifado.entradasItem.push($scope.entradaItem); + } - $scope.calcularValorTotalMateriais(); + $scope.calcularValorTotalMateriais(); - $scope.$modalInstance.dismiss('cancel'); - $scope.atualizarListaSizeSelectEntradaItem(); + $scope.$modalInstance.dismiss('cancel'); + $scope.atualizarListaSizeSelectEntradaItem(); + } }else{ $scope.showAlert('error', $translate.instant('VALIDACAO.ALERTA_OBRIGATORIOS')); diff --git a/cit-almoxarifado-web/src/main/webapp/html/entradaAlmoxarifado/dialog_add_materiais.html b/cit-almoxarifado-web/src/main/webapp/html/entradaAlmoxarifado/dialog_add_materiais.html index d5a496c..4cdb780 100644 --- a/cit-almoxarifado-web/src/main/webapp/html/entradaAlmoxarifado/dialog_add_materiais.html +++ b/cit-almoxarifado-web/src/main/webapp/html/entradaAlmoxarifado/dialog_add_materiais.html @@ -37,7 +37,7 @@
-- libgit2 0.21.2