Commit 2229a2940e01e05a9f8ea9140187f682ab7dbcb0

Authored by geovane.filho
1 parent 1083fbff
Exists in master

Redmine #4783 Implementando exclusão de item de entrada

cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/MovimentoEstoqueService.java
... ... @@ -11,6 +11,7 @@ import br.com.centralit.api.model.BaixaAlmoxarifado;
11 11 import br.com.centralit.api.model.Devolucao;
12 12 import br.com.centralit.api.model.DevolucaoItem;
13 13 import br.com.centralit.api.model.EntradaAlmoxarifado;
  14 +import br.com.centralit.api.model.EntradaAlmoxarifadoItem;
14 15 import br.com.centralit.api.model.EstruturaOrganizacional;
15 16 import br.com.centralit.api.model.MaterialConsumo;
16 17 import br.com.centralit.api.model.MovimentoEstoque;
... ... @@ -239,4 +240,18 @@ public interface MovimentoEstoqueService extends GenericService<MovimentoEstoque
239 240 */
240 241 List<MovimentoEstoque> findAllByEntrada(EntradaAlmoxarifado entradaAlmoxarifado);
241 242  
  243 + /**
  244 + * <p><b>Iniciativa(s):</b> <a href="LINK_PORTAL">NUMERO_INICIATIVA</a></p>
  245 + *
  246 + * <p><b>Regra(s) de negócio:</b> <a href="LINK_PORTAL">NUMERO_REGRA_DE_NEGOCIO</a></p>
  247 + *
  248 + * Método responsável por buscar todos os movimentos ocorridos de um determinado item da entrada
  249 + *
  250 + * @author geovane.filho
  251 + *
  252 + * @param entradaAlmoxarifadoItem
  253 + * @return
  254 + */
  255 + Collection<MovimentoEstoque> findAllByEntradaItem(EntradaAlmoxarifadoItem entradaAlmoxarifadoItem);
  256 +
242 257 }
... ...
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/EntradaAlmoxarifadoItemServiceImpl.java
1 1 package br.com.centralit.api.service.impl;
2 2  
3 3 import java.math.BigDecimal;
4   -
  4 +import java.util.ArrayList;
5 5 import java.util.Calendar;
6 6 import java.util.Collection;
7 7 import java.util.List;
... ... @@ -11,13 +11,17 @@ import org.springframework.security.core.context.SecurityContextHolder;
11 11 import org.springframework.stereotype.Service;
12 12  
13 13 import br.com.centralit.api.dao.EntradaAlmoxarifadoItemDao;
  14 +import br.com.centralit.api.model.ContaContabilMovimento;
14 15 import br.com.centralit.api.model.EntradaAlmoxarifadoItem;
15 16 import br.com.centralit.api.model.EstruturaOrganizacional;
16 17 import br.com.centralit.api.model.MaterialConsumo;
  18 +import br.com.centralit.api.model.MovimentoEstoque;
17 19 import br.com.centralit.api.service.ConfiguracaoParametroSistemaService;
  20 +import br.com.centralit.api.service.ContaContabilMovimentoAlmoxarifadoService;
18 21 import br.com.centralit.api.service.EntradaAlmoxarifadoItemService;
19 22 import br.com.centralit.api.service.EstruturaOrganizacionalService;
20 23 import br.com.centralit.api.service.MaterialConsumoService;
  24 +import br.com.centralit.api.service.MovimentoEstoqueService;
21 25 import br.com.centralit.framework.exception.BusinessException;
22 26 import br.com.centralit.framework.exception.CodigoErro;
23 27 import br.com.centralit.framework.model.ConfiguracaoParametroSistema;
... ... @@ -66,6 +70,12 @@ public class EntradaAlmoxarifadoItemServiceImpl extends GenericServiceImpl&lt;Entra
66 70  
67 71 @Autowired
68 72 private ConfiguracaoParametroSistemaService configuracaoParametroSistemaService;
  73 +
  74 + @Autowired
  75 + private MovimentoEstoqueService movimentoEstoqueService;
  76 +
  77 + @Autowired
  78 + private ContaContabilMovimentoAlmoxarifadoService contaContabilMovimentoAlmoxarifadoService;
69 79  
70 80 /**
71 81 * Responsável pela criação de novas instâncias desta classe.
... ... @@ -94,6 +104,12 @@ public class EntradaAlmoxarifadoItemServiceImpl extends GenericServiceImpl&lt;Entra
94 104 */
95 105 @Override
96 106 public boolean remove(EntradaAlmoxarifadoItem entity) {
  107 +
  108 + ContaContabilMovimento movimentoContabil = this.contaContabilMovimentoAlmoxarifadoService.findByEntradaItem(entity.getId());
  109 + this.contaContabilMovimentoAlmoxarifadoService.remove(movimentoContabil);
  110 +
  111 + Collection<MovimentoEstoque> movimentosEstoque = this.movimentoEstoqueService.findAllByEntradaItem(entity);
  112 + this.movimentoEstoqueService.removeList((ArrayList<MovimentoEstoque>) movimentosEstoque);
97 113  
98 114 entity.setEntradaInativo(entity.getEntrada());
99 115  
... ... @@ -261,7 +277,7 @@ public class EntradaAlmoxarifadoItemServiceImpl extends GenericServiceImpl&lt;Entra
261 277  
262 278 @Override
263 279 public List<EntradaAlmoxarifadoItem> findItensPorEntradaId(Long idEntrada) {
264   - return (List)this.entradaAlmoxarifadoItemDao.buscarPorAtributo("entrada.id", idEntrada);
  280 + return (List) this.entradaAlmoxarifadoItemDao.buscarPorAtributo("entrada.id", idEntrada);
265 281 }
266 282  
267 283 }
... ...
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/MovimentoEstoqueServiceImpl.java
... ... @@ -639,13 +639,22 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl&lt;MovimentoEst
639 639 public List<MovimentoEstoque> findAllByEntrada(EntradaAlmoxarifado entradaAlmoxarifado) {
640 640  
641 641 List<MovimentoEstoque> movimentos = new ArrayList<MovimentoEstoque>();
642   - Dominio classeReferenciaEntradaItem = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_ENTRADA_ALMOXARIFADO_ITEM);
643 642  
644 643 for (EntradaAlmoxarifadoItem entradaItem : entradaAlmoxarifado.getEntradasItem()) {
645   - movimentos.addAll(this.findAllByClasseReferencia(classeReferenciaEntradaItem, entradaItem.getId()));
  644 + movimentos.addAll(this.findAllByEntradaItem(entradaItem));
646 645 }
647 646  
648 647 return movimentos;
649 648 }
  649 +
  650 + /**
  651 + * {@inheritDoc}
  652 + */
  653 + @Override
  654 + public Collection<MovimentoEstoque> findAllByEntradaItem(EntradaAlmoxarifadoItem entradaAlmoxarifadoItem) {
  655 + Dominio classeReferenciaEntradaItem = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_ENTRADA_ALMOXARIFADO_ITEM);
  656 +
  657 + return this.findAllByClasseReferencia(classeReferenciaEntradaItem, entradaAlmoxarifadoItem.getId());
  658 + }
650 659  
651 660 }
... ...