Commit 2229a2940e01e05a9f8ea9140187f682ab7dbcb0
1 parent
1083fbff
Exists in
master
Redmine #4783 Implementando exclusão de item de entrada
Showing
3 changed files
with
44 additions
and
4 deletions
Show diff stats
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<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<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<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<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 | } | ... | ... |