Subversion Repositories Integrator Subversion

Rev

Rev 106 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

package br.com.ec.domain.dto;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import br.com.ec.core.util.StringUtil;
import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.model.Modelo;
import br.com.ec.domain.model.Pedido;
import br.com.ec.domain.model.PedidoProduto;

public class PedidoDTO {

        private Long sequencial;
        private String descricaoLoja;
        private Date dataPedido;
        private String nomePessoaDoPedido;
        private String nomeCliente;
        private String contatoCliente;
        private String informacoesBasicasCliente;
        private String valorTotalProdutos;
        private String observacao;
        private Date dataUltimaAlteracaoSituacao;
       
        private Modelo modelo;
        private String descricaoGenero;
        private String descricaoTipoProduto;
        private String descricaoEstiloProduto;
        private String descricaoCorProduto;
       
        private List<PedidoProdutoDTO> produtos;

        public Long getSequencial() {
                return sequencial;
        }
        public void setSequencial(Long sequencial) {
                this.sequencial = sequencial;
        }

        public String getDescricaoLoja() {
                return descricaoLoja;
        }
        public void setDescricaoLoja(String descricaoLoja) {
                this.descricaoLoja = descricaoLoja;
        }

        public Date getDataPedido() {
                return dataPedido;
        }
        public void setDataPedido(Date dataPedido) {
                this.dataPedido = dataPedido;
        }

        public String getNomePessoaDoPedido() {
                return nomePessoaDoPedido;
        }
        public void setNomePessoaDoPedido(String nomePessoaDoPedido) {
                this.nomePessoaDoPedido = nomePessoaDoPedido;
        }

        public String getNomeCliente() {
                return nomeCliente;
        }
        public void setNomeCliente(String nomeCliente) {
                this.nomeCliente = nomeCliente;
        }

        public String getContatoCliente() {
                return contatoCliente;
        }
        public void setContatoCliente(String contatoCliente) {
                this.contatoCliente = contatoCliente;
        }
       
        public String getInformacoesBasicasCliente() {
                return informacoesBasicasCliente;
        }
        public void setInformacoesBasicasCliente(String informacoesBasicasCliente) {
                this.informacoesBasicasCliente = informacoesBasicasCliente;
        }
       
        public String getValorTotalProdutos() {
                return valorTotalProdutos;
        }
        public void setValorTotalProdutos(String valorTotalProdutos) {
                this.valorTotalProdutos = valorTotalProdutos;
        }

        public String getObservacao() {
                return observacao;
        }
        public void setObservacao(String observacao) {
                this.observacao = observacao;
        }

        public Date getDataUltimaAlteracaoSituacao() {
                return dataUltimaAlteracaoSituacao;
        }
        public void setDataUltimaAlteracaoSituacao(Date dataUltimaAlteracaoSituacao) {
                this.dataUltimaAlteracaoSituacao = dataUltimaAlteracaoSituacao;
        }

        public List<PedidoProdutoDTO> getProdutos() {
                return produtos;
        }
        public void setProdutos(List<PedidoProdutoDTO> produtos) {
                this.produtos = produtos;
        }
       
        public Modelo getModelo() {
                return modelo;
        }
        public void setModelo(Modelo modelo) {
                this.modelo = modelo;
        }
       
        public String getDescricaoGenero() {
                return descricaoGenero;
        }
        public void setDescricaoGenero(String descricaoGenero) {
                this.descricaoGenero = descricaoGenero;
        }
       
        public String getDescricaoTipoProduto() {
                return descricaoTipoProduto;
        }
        public void setDescricaoTipoProduto(String descricaoTipoProduto) {
                this.descricaoTipoProduto = descricaoTipoProduto;
        }
       
        public String getDescricaoEstiloProduto() {
                return descricaoEstiloProduto;
        }
        public void setDescricaoEstiloProduto(String descricaoEstiloProduto) {
                this.descricaoEstiloProduto = descricaoEstiloProduto;
        }
       
        public String getDescricaoCorProduto() {
                return descricaoCorProduto;
        }
        public void setDescricaoCorProduto(String descricaoCorProduto) {
                this.descricaoCorProduto = descricaoCorProduto;
        }
       
        public void preencher(Pedido pedido) {
                this.sequencial = pedido.getSequencial();
                this.descricaoLoja = pedido.getDescricaoDaLoja();
                this.dataPedido = pedido.getDataPedido();
                this.nomePessoaDoPedido = pedido.getUsuarioPedido().getNome();
                if (VerificadorUtil.naoEstaNulo(pedido.getCliente())) {
                        this.informacoesBasicasCliente = pedido.getCliente().getNome();
                        this.contatoCliente = "";
                        if (VerificadorUtil.naoEstaNuloOuVazio(pedido.getCliente().getContato())) {
                                this.informacoesBasicasCliente =  this.informacoesBasicasCliente + " - " + pedido.getCliente().getContato();
                                this.contatoCliente = pedido.getCliente().getContato();
                        }
                        if (VerificadorUtil.naoEstaNuloOuVazio(pedido.getCliente().getTelefone())) {
                                this.informacoesBasicasCliente =  this.informacoesBasicasCliente + " - " + pedido.getCliente().getTelefone();
                                this.contatoCliente = this.contatoCliente + " - " + pedido.getCliente().getTelefone();
                        }
                        this.nomeCliente = pedido.getCliente().getNome();
                } else {
                        this.informacoesBasicasCliente = pedido.getContatoCliente();
                        this.contatoCliente = pedido.getContatoCliente();
                }
                this.observacao = pedido.getObservacao();
                this.dataUltimaAlteracaoSituacao = pedido.getDataUltimaAlteracaoSituacao();
                List<PedidoProdutoDTO> produtos = new ArrayList<PedidoProdutoDTO>();
                Double total = 0.0;
                if (VerificadorUtil.naoEstaNuloOuVazio(pedido.getProdutos())) {
                        for (PedidoProduto produto : pedido.getProdutos()) {
                                if (VerificadorUtil.naoEstaNulo(produto.getValor())) {
                                        total = total + produto.getValor() * produto.getQuantidade();
                                }
                                PedidoProdutoDTO pedidoProdutoDTO = new PedidoProdutoDTO();
                                pedidoProdutoDTO.setCodigoProduto(produto.getProduto().getCodigoProdutoPadrao());
                                pedidoProdutoDTO.setDescricaoProduto(produto.getProduto().getDescricaoComModeloCompleta());
                                pedidoProdutoDTO.setQuantidadeProduto(produto.getQuantidade());
                                String descricao = "";
                                if (produto.getQuantidade() > 1) {
                                        descricao = produto.getQuantidade() + " ITENS";
                                } else {
                                        descricao = produto.getQuantidade() + " ITEM";
                                }
                                descricao = descricao + " : (" + pedidoProdutoDTO.getCodigoProduto() + ") " + pedidoProdutoDTO.getDescricaoProduto() + " POR R$" + StringUtil.formatarValor(produto.getValor());
                                pedidoProdutoDTO.setDescricaoCompleta(descricao);
                                produtos.add(pedidoProdutoDTO);
                        }
                }
                this.valorTotalProdutos = StringUtil.formatarValor(total);
                this.produtos = produtos;
               
                this.modelo = pedido.getModelo();
                this.descricaoGenero = pedido.getDescricaoDoGeneroProduto();
                this.descricaoTipoProduto = pedido.getDescricaoDoTipoProduto();
                this.descricaoEstiloProduto = pedido.getDescricaoDoEstiloProduto();
                this.descricaoCorProduto = pedido.getDescricaoDaCorProduto();
        }
       
}