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.Cliente;
import br.com.ec.domain.model.Cupom;
import br.com.ec.domain.model.Lancamento;
import br.com.ec.domain.model.Loja;
import br.com.ec.domain.model.Maquineta;
import br.com.ec.domain.model.Pedido;
import br.com.ec.domain.model.Usuario;
import br.com.ec.domain.model.Venda;
import br.com.ec.domain.model.VendaFormaPagamento;
import br.com.ec.domain.model.Vendedor;

public class ParametrosVendaDTO {
       
        private Venda venda;
        private Loja loja;
        private String tipoSituacao;
        private Date dataVenda;
        private Usuario usuario;
        private Vendedor vendedor;
        private Vendedor indicacao;
        private Cliente cliente;
        private Boolean cpfCnpjNaNotaFiscal;
        private String observacao;
        private String notaFiscal;
        private Double valorRecebido;
        private Maquineta maquineta;
//      private Double valorFrete = 0.0;
//      private String tipoFrete = ConstantesSEC.NotaFiscal.Transporte.SEM_OCORRENCIA_TRANSPORTE_9;
       
        private List<Lancamento> lancamentos;
        private List<VendaFormaPagamento> lancamentosPagamentos;
        private List<Cupom> cupons;
       
        private Boolean emitirNotaFiscal;
        private Pedido pedidoVinculado;
       
        public ParametrosVendaDTO() {
                cpfCnpjNaNotaFiscal = false;
                lancamentos = new ArrayList<Lancamento>();
                lancamentosPagamentos = new ArrayList<VendaFormaPagamento>();
                cupons = new ArrayList<Cupom>();
                emitirNotaFiscal = false;
        }
       
        public ParametrosVendaDTO(Venda venda) {
                setVenda(venda);
                setLancamentos(venda.getLancamentos());
                setLancamentosPagamentos(venda.getVendaFormaPagamentos());
                setLoja(venda.getLoja());
                setCliente(venda.getCliente());
                setUsuario(venda.getUsuario());
                setVendedor(venda.getVendedor());
                setIndicacao(venda.getIndicacao());
                setObservacao(venda.getObservacao());
                setNotaFiscal(venda.getNotaFiscal());
                setTipoSituacao(venda.getTipoSituacao());
                setDataVenda(venda.getDataVenda());
                setMaquineta(venda.getMaquineta());
                emitirNotaFiscal = false;
        }
       
        public Venda getVenda() {
                return venda;
        }
        public void setVenda(Venda venda) {
                this.venda = venda;
        }
       
        public Loja getLoja() {
                return loja;
        }
        public void setLoja(Loja loja) {
                this.loja = loja;
        }
       
        public String getTipoSituacao() {
                return tipoSituacao;
        }
        public void setTipoSituacao(String tipoSituacao) {
                this.tipoSituacao = tipoSituacao;
        }
       
        public Date getDataVenda() {
                return dataVenda;
        }
        public void setDataVenda(Date dataVenda) {
                this.dataVenda = dataVenda;
        }
       
        public Usuario getUsuario() {
                return usuario;
        }
        public void setUsuario(Usuario usuario) {
                this.usuario = usuario;
        }
       
        public Vendedor getVendedor() {
                return vendedor;
        }
        public void setVendedor(Vendedor vendedor) {
                this.vendedor = vendedor;
        }
       
        public Vendedor getIndicacao() {
                return indicacao;
        }
        public void setIndicacao(Vendedor indicacao) {
                this.indicacao = indicacao;
        }
       
        public Cliente getCliente() {
                return cliente;
        }
        public void setCliente(Cliente cliente) {
                this.cliente = cliente;
        }
       
        public Boolean getCpfCnpjNaNotaFiscal() {
                return cpfCnpjNaNotaFiscal;
        }
        public void setCpfCnpjNaNotaFiscal(Boolean cpfCnpjNaNotaFiscal) {
                this.cpfCnpjNaNotaFiscal = cpfCnpjNaNotaFiscal;
        }
       
        public String getObservacao() {
                return observacao;
        }
        public void setObservacao(String observacao) {
                this.observacao = StringUtil.setarUpperCase(observacao);
        }
       
        public String getNotaFiscal() {
                return notaFiscal;
        }
        public void setNotaFiscal(String notaFiscal) {
                this.notaFiscal = notaFiscal;
        }
       
        public Double getValorRecebido() {
                return valorRecebido;
        }
        public void setValorRecebido(Double valorRecebido) {
                this.valorRecebido = valorRecebido;
        }
       
        public Maquineta getMaquineta() {
                return maquineta;
        }
        public void setMaquineta(Maquineta maquineta) {
                this.maquineta = maquineta;
        }
       
        public List<Lancamento> getLancamentos() {
                return lancamentos;
        }
        public void setLancamentos(List<Lancamento> lancamentos) {
                this.lancamentos = lancamentos;
        }
       
        public List<VendaFormaPagamento> getLancamentosPagamentos() {
                return lancamentosPagamentos;
        }
        public void setLancamentosPagamentos(List<VendaFormaPagamento> lancamentosPagamentos) {
                this.lancamentosPagamentos = lancamentosPagamentos;
        }
       
        public List<Cupom> getCupons() {
                return cupons;
        }
        public void setCupons(List<Cupom> cupons) {
                this.cupons = cupons;
        }
       
        public Boolean getEmitirNotaFiscal() {
                return emitirNotaFiscal;
        }
        public void setEmitirNotaFiscal(Boolean emitirNotaFiscal) {
                this.emitirNotaFiscal = emitirNotaFiscal;
        }
       
        public Pedido getPedidoVinculado() {
                return pedidoVinculado;
        }
        public void setPedidoVinculado(Pedido pedidoVinculado) {
                this.pedidoVinculado = pedidoVinculado;
        }
       
        public void removerLancamento(Lancamento lancamento) {
                this.getLancamentos().remove(lancamento);
        }
       
        public void removerPagamento(VendaFormaPagamento pagamento) {
                this.getLancamentosPagamentos().remove(pagamento);
        }
       
        public Double valorTotalLancamentos() {
                Double total = 0.0;
                for (Lancamento lancamento : getLancamentos()) {
                        total = total + lancamento.getValorVenda();
                }
                return total;  
        }
       
        public Double valorTotalPago() {
                Double total = 0.0;
                for (VendaFormaPagamento vendaFormaPagamento : getLancamentosPagamentos()) {
                        total = total + vendaFormaPagamento.getValorPagamento();
                }
                return total;
        }
       
        public Double valorTroco() {
                Double troco = new Double(0.0);
                if (VerificadorUtil.naoEstaNulo(getValorRecebido())) {
                        troco = getValorRecebido() - valorTotalLancamentos();
                }
                if (troco > new Double(0.0)) {
                        return troco;
                }
                return 0.0;
        }
       
}