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,6 +11,7 @@ import br.com.centralit.api.model.BaixaAlmoxarifado; | ||
11 | import br.com.centralit.api.model.Devolucao; | 11 | import br.com.centralit.api.model.Devolucao; |
12 | import br.com.centralit.api.model.DevolucaoItem; | 12 | import br.com.centralit.api.model.DevolucaoItem; |
13 | import br.com.centralit.api.model.EntradaAlmoxarifado; | 13 | import br.com.centralit.api.model.EntradaAlmoxarifado; |
14 | +import br.com.centralit.api.model.EntradaAlmoxarifadoItem; | ||
14 | import br.com.centralit.api.model.EstruturaOrganizacional; | 15 | import br.com.centralit.api.model.EstruturaOrganizacional; |
15 | import br.com.centralit.api.model.MaterialConsumo; | 16 | import br.com.centralit.api.model.MaterialConsumo; |
16 | import br.com.centralit.api.model.MovimentoEstoque; | 17 | import br.com.centralit.api.model.MovimentoEstoque; |
@@ -239,4 +240,18 @@ public interface MovimentoEstoqueService extends GenericService<MovimentoEstoque | @@ -239,4 +240,18 @@ public interface MovimentoEstoqueService extends GenericService<MovimentoEstoque | ||
239 | */ | 240 | */ |
240 | List<MovimentoEstoque> findAllByEntrada(EntradaAlmoxarifado entradaAlmoxarifado); | 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 | package br.com.centralit.api.service.impl; | 1 | package br.com.centralit.api.service.impl; |
2 | 2 | ||
3 | import java.math.BigDecimal; | 3 | import java.math.BigDecimal; |
4 | - | 4 | +import java.util.ArrayList; |
5 | import java.util.Calendar; | 5 | import java.util.Calendar; |
6 | import java.util.Collection; | 6 | import java.util.Collection; |
7 | import java.util.List; | 7 | import java.util.List; |
@@ -11,13 +11,17 @@ import org.springframework.security.core.context.SecurityContextHolder; | @@ -11,13 +11,17 @@ import org.springframework.security.core.context.SecurityContextHolder; | ||
11 | import org.springframework.stereotype.Service; | 11 | import org.springframework.stereotype.Service; |
12 | 12 | ||
13 | import br.com.centralit.api.dao.EntradaAlmoxarifadoItemDao; | 13 | import br.com.centralit.api.dao.EntradaAlmoxarifadoItemDao; |
14 | +import br.com.centralit.api.model.ContaContabilMovimento; | ||
14 | import br.com.centralit.api.model.EntradaAlmoxarifadoItem; | 15 | import br.com.centralit.api.model.EntradaAlmoxarifadoItem; |
15 | import br.com.centralit.api.model.EstruturaOrganizacional; | 16 | import br.com.centralit.api.model.EstruturaOrganizacional; |
16 | import br.com.centralit.api.model.MaterialConsumo; | 17 | import br.com.centralit.api.model.MaterialConsumo; |
18 | +import br.com.centralit.api.model.MovimentoEstoque; | ||
17 | import br.com.centralit.api.service.ConfiguracaoParametroSistemaService; | 19 | import br.com.centralit.api.service.ConfiguracaoParametroSistemaService; |
20 | +import br.com.centralit.api.service.ContaContabilMovimentoAlmoxarifadoService; | ||
18 | import br.com.centralit.api.service.EntradaAlmoxarifadoItemService; | 21 | import br.com.centralit.api.service.EntradaAlmoxarifadoItemService; |
19 | import br.com.centralit.api.service.EstruturaOrganizacionalService; | 22 | import br.com.centralit.api.service.EstruturaOrganizacionalService; |
20 | import br.com.centralit.api.service.MaterialConsumoService; | 23 | import br.com.centralit.api.service.MaterialConsumoService; |
24 | +import br.com.centralit.api.service.MovimentoEstoqueService; | ||
21 | import br.com.centralit.framework.exception.BusinessException; | 25 | import br.com.centralit.framework.exception.BusinessException; |
22 | import br.com.centralit.framework.exception.CodigoErro; | 26 | import br.com.centralit.framework.exception.CodigoErro; |
23 | import br.com.centralit.framework.model.ConfiguracaoParametroSistema; | 27 | import br.com.centralit.framework.model.ConfiguracaoParametroSistema; |
@@ -66,6 +70,12 @@ public class EntradaAlmoxarifadoItemServiceImpl extends GenericServiceImpl<Entra | @@ -66,6 +70,12 @@ public class EntradaAlmoxarifadoItemServiceImpl extends GenericServiceImpl<Entra | ||
66 | 70 | ||
67 | @Autowired | 71 | @Autowired |
68 | private ConfiguracaoParametroSistemaService configuracaoParametroSistemaService; | 72 | private ConfiguracaoParametroSistemaService configuracaoParametroSistemaService; |
73 | + | ||
74 | + @Autowired | ||
75 | + private MovimentoEstoqueService movimentoEstoqueService; | ||
76 | + | ||
77 | + @Autowired | ||
78 | + private ContaContabilMovimentoAlmoxarifadoService contaContabilMovimentoAlmoxarifadoService; | ||
69 | 79 | ||
70 | /** | 80 | /** |
71 | * Responsável pela criação de novas instâncias desta classe. | 81 | * Responsável pela criação de novas instâncias desta classe. |
@@ -94,6 +104,12 @@ public class EntradaAlmoxarifadoItemServiceImpl extends GenericServiceImpl<Entra | @@ -94,6 +104,12 @@ public class EntradaAlmoxarifadoItemServiceImpl extends GenericServiceImpl<Entra | ||
94 | */ | 104 | */ |
95 | @Override | 105 | @Override |
96 | public boolean remove(EntradaAlmoxarifadoItem entity) { | 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 | entity.setEntradaInativo(entity.getEntrada()); | 114 | entity.setEntradaInativo(entity.getEntrada()); |
99 | 115 | ||
@@ -261,7 +277,7 @@ public class EntradaAlmoxarifadoItemServiceImpl extends GenericServiceImpl<Entra | @@ -261,7 +277,7 @@ public class EntradaAlmoxarifadoItemServiceImpl extends GenericServiceImpl<Entra | ||
261 | 277 | ||
262 | @Override | 278 | @Override |
263 | public List<EntradaAlmoxarifadoItem> findItensPorEntradaId(Long idEntrada) { | 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,13 +639,22 @@ public class MovimentoEstoqueServiceImpl extends GenericServiceImpl<MovimentoEst | ||
639 | public List<MovimentoEstoque> findAllByEntrada(EntradaAlmoxarifado entradaAlmoxarifado) { | 639 | public List<MovimentoEstoque> findAllByEntrada(EntradaAlmoxarifado entradaAlmoxarifado) { |
640 | 640 | ||
641 | List<MovimentoEstoque> movimentos = new ArrayList<MovimentoEstoque>(); | 641 | List<MovimentoEstoque> movimentos = new ArrayList<MovimentoEstoque>(); |
642 | - Dominio classeReferenciaEntradaItem = this.dominioService.findByChaveAndCodigo(DominioMaterial.CLASSE_REFERENCIA, DominioMaterial.REFERENCIA_ENTRADA_ALMOXARIFADO_ITEM); | ||
643 | 642 | ||
644 | for (EntradaAlmoxarifadoItem entradaItem : entradaAlmoxarifado.getEntradasItem()) { | 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 | return movimentos; | 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 | } |