diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java index a6ff699..4b1d1ef 100644 --- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java +++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/model/AtendimentoRequisicaoConsumoItem.java @@ -204,7 +204,8 @@ public class AtendimentoRequisicaoConsumoItem extends PersistentObjectAuditOrgan public void setAtendimentoRequisicaoConsumoItemFIFOs( Collection atendimentoRequisicaoConsumoItemFIFOs) { - this.atendimentoRequisicaoConsumoItemFIFOs = atendimentoRequisicaoConsumoItemFIFOs; + this.atendimentoRequisicaoConsumoItemFIFOs.clear(); + this.atendimentoRequisicaoConsumoItemFIFOs.addAll(atendimentoRequisicaoConsumoItemFIFOs); } } diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoServiceImpl.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoServiceImpl.java index dae6164..9c7fc4c 100644 --- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoServiceImpl.java +++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/AtendimentoRequisicaoConsumoServiceImpl.java @@ -165,24 +165,27 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< if(atendimento.getId() == null && atendimento.getDataAtendimento() == null){ atendimento.setDataAtendimento(entity.getDataAtendimento()); + this.montarEntidade(atendimento); + + this.validarDataAtendimento(atendimento); + + this.atualizarStatusRquisicao(atendimento); + + if(atendimento.getId() == null){ + configurarNumeroAtendimento(atendimento); + } + + super.save(atendimento); + + this.movimentoEstoqueService.gerarMovimentoAtendimento(atendimento); + + this.requisicaoConsumoService.atualizarSituacaoAtendimento(atendimento.getRequisicaoConsumo().getId(), false); + + }else{ + atendimento.setDataInativo(null); + atendimento.setDataAtendimento(entity.getDataAtendimento()); + this.merge(atendimento); } - - this.montarEntidade(atendimento); - - this.validarDataAtendimento(atendimento); - - this.atualizarStatusRquisicao(atendimento); - - if(atendimento.getId() == null){ - configurarNumeroAtendimento(atendimento); - } - - super.save(atendimento); - - this.movimentoEstoqueService.gerarMovimentoAtendimento(atendimento); - - this.requisicaoConsumoService.atualizarSituacaoAtendimento(atendimento.getRequisicaoConsumo().getId(), false); - } } @@ -246,40 +249,27 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< @Override public AtendimentoRequisicaoConsumo merge(AtendimentoRequisicaoConsumo entity) { - if (this.movimentoEstoqueService.existeMovimentacaoDepois(entity, "atendimentoRequisicaoConsumoItem.atendimentoRequisicaoConsumo.id")) { + if (this.movimentoEstoqueService.existeMovimentacaoDepois(entity, "idClasseReferencia")) { throw new BusinessException(VALIDACAO_ERRO_EDICAO_EXISTE_MOVIMENTACAO, CodigoErro.REGRA_NEGOCIO.getValue()); } - if (!UtilColecao.isVazio(entity.getAtendimentos())) { - - for (AtendimentoRequisicaoConsumo atendimento : entity.getAtendimentos()) { - - removerLancamentosPassados(atendimento); - - this.montarEntidade(atendimento); + removerLancamentosPassados(entity); - this.validarDataAtendimento(atendimento); + this.montarEntidade(entity); + + this.validarDataAtendimento(entity); - this.atualizarStatusRquisicao(atendimento); + this.atualizarStatusRquisicao(entity); - AtendimentoRequisicaoConsumo atendimentoRequisicaoConsumo = super.merge(atendimento); + super.merge(entity); - //Apaga movimentos de estoque - this.movimentoEstoqueService.removerMovimentosAtendimento(atendimentoRequisicaoConsumo); + this.movimentoEstoqueService.gerarMovimentoAtendimento(entity); - //Apaga movimentos contabeis - for (AtendimentoRequisicaoConsumoItem atendimentoItem : atendimento.getAtendimentoRequisicaoConsumoItems()){ - this.contaContabilMovimentoService.removerMovimentosAtendimento(atendimentoItem.getId()); - } - this.movimentoEstoqueService.gerarMovimentoAtendimento(atendimentoRequisicaoConsumo); - - this.requisicaoConsumoService.atualizarSituacaoAtendimento(atendimento.getRequisicaoConsumo().getId(), false); - } + this.requisicaoConsumoService.atualizarSituacaoAtendimento(entity.getRequisicaoConsumo().getId(), false); - } - return new AtendimentoRequisicaoConsumo(); + return entity; } @@ -307,6 +297,7 @@ public class AtendimentoRequisicaoConsumoServiceImpl extends GenericServiceImpl< for (MovimentoEstoque movimentoEstoque : movimentosEstoque) { this.movimentoEstoqueService.remove(movimentoEstoque); } + } } diff --git a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java index be5554f..035547c 100644 --- a/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java +++ b/cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java @@ -542,7 +542,10 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl