package br.com.centralit.citcorpore.negocio;
import java.util.Collection;
import br.com.centralit.citcorpore.bean.ItemPedidoCompraDTO;
import br.com.centralit.citcorpore.bean.ProdutoDTO;
import br.com.centralit.citcorpore.bean.UnidadeMedidaDTO;
import br.com.centralit.citcorpore.integracao.ItemPedidoCompraDao;
import br.com.centralit.citcorpore.integracao.ProdutoDao;
import br.com.citframework.excecao.ServiceException;
import br.com.citframework.service.CrudServiceImpl;
public class ItemPedidoCompraServiceEjb extends CrudServiceImpl implements ItemPedidoCompraService {
private ItemPedidoCompraDao dao;
@Override
protected ItemPedidoCompraDao getDao() {
if (dao == null) {
dao = new ItemPedidoCompraDao();
}
return dao;
}
public void recuperaRelacionamentos(final Collection<ItemPedidoCompraDTO> colItens) throws Exception {
if (colItens != null) {
final ProdutoDao produtoDao = new ProdutoDao();
for (final ItemPedidoCompraDTO itemDto : colItens) {
new UnidadeMedidaDTO();
if (itemDto.getIdProduto() != null) {
ProdutoDTO produtoDto = new ProdutoDTO();
produtoDto.setIdProduto(itemDto.getIdProduto());
produtoDto = (ProdutoDTO) produtoDao.restore(produtoDto);
if (produtoDto != null) {
itemDto.setCodigoProduto(produtoDto.getCodigoProduto());
itemDto.setDescricaoItem(produtoDto.getNomeProduto());
}
}
}
}
}
@Override
public Collection findByIdPedido(final Integer parm) throws Exception {
try {
final Collection<ItemPedidoCompraDTO> colItens = this.getDao().findByIdPedido(parm);
this.recuperaRelacionamentos(colItens);
return colItens;
} catch (final Exception e) {
throw new ServiceException(e);
}
}
@Override
public Collection findByIdPedidoOrderByIdSolicitacao(final Integer idPedido) throws Exception {
try {
final Collection<ItemPedidoCompraDTO> colItens = this.getDao().findByIdPedidoOrderByIdSolicitacao(idPedido);
this.recuperaRelacionamentos(colItens);
return colItens;
} catch (final Exception e) {
throw new ServiceException(e);
}
}
@Override
public void deleteByIdPedido(final Integer parm) throws Exception {
try {
this.getDao().deleteByIdPedido(parm);
} catch (final Exception e) {
throw new ServiceException(e);
}
}
@Override
public double obtemQtdePedidoColetaPreco(final Integer idColetaPreco) throws Exception {
double qtde = 0;
try {
final Collection<ItemPedidoCompraDTO> colItens = this.getDao().findByIdColetaPreco(idColetaPreco);
if (colItens != null) {
for (final ItemPedidoCompraDTO itemPedidoDto : colItens) {
qtde += itemPedidoDto.getQuantidade().doubleValue();
}
}
} catch (final Exception e) {
throw new ServiceException(e);
}
return qtde;
}
}