<?php
class Pedido extends UtilObjeto {

	public function __construct($params=""){
		parent::__construct(strtolower(get_class()), $params);
	}

	public function inserirHistorico($status){
		$obj = new PedidoHistorico();
		$obj->idPedido = $this->id;
		$obj->idPedidoStatus = $status;
		if(!$obj->inserir()){
			return false;
		}
		return true;
	}

	public function inserirProduto($idProduto,$qtde,$valor,$idTamanho='',$idCor=''){
		$obj = new PedidoProduto();
		$obj->idPedido = $this->id;
		$obj->idProduto = $idProduto;
		$obj->qtde = $qtde;
		$obj->valorUnitario = $valor;
		$obj->idTamanho = $idTamanho;
		$obj->idCor = $idCor;
		if(!$obj->inserir()){
			return false;
		}
		return true;
	}

	public static function listar($filtro=""){
		global $db;
        $sql = "SELECT  p.*,
        				prod.nome produto,
        				pp.id_produto, pp.qtde, pp.valor_unitario, (pp.qtde*pp.valor_unitario) valor,
        				pp.id_tamanho, pp.id_cor,
        				ps.nome status,
        				c.nome cliente,
        				cid.nome cidade, est.nome estado, est.sigla
				FROM    rz2_pedido p,
				        rz2_pedido_produto pp,
				        rz2_produto prod,
				        rz2_pedido_status ps,
				        rz2_cliente c,
				        rz2_cidade cid,
				        rz2_estado est
				WHERE   p.id = pp.id_pedido
				AND     pp.id_produto = prod.id
				AND     p.id_pedido_status = ps.id
				AND     p.id_cliente = c.id
				AND     c.id_cidade = cid.id
				AND     cid.id_estado = est.id
				".$filtro;
        // exit($sql);
        $rs = executaSql($sql);
        $arrLista = array();
        while($rg = $rs->fetchRow()){
			$arrLista[$rg['id']]['id'] = $rg['id'];
			$arrLista[$rg['id']]['endereco'] = $rg['endereco'];
			$arrLista[$rg['id']]['numero'] = $rg['numero'];
			$arrLista[$rg['id']]['bairro'] = $rg['bairro'];
			$arrLista[$rg['id']]['complemento'] = $rg['complemento'];
			$arrLista[$rg['id']]['cep'] = $rg['cep'];
			$arrLista[$rg['id']]['dt_cadastro'] = $rg['dt_cadastro'];
			$arrLista[$rg['id']]['subtotal'] = $rg['subtotal'];
			$arrLista[$rg['id']]['total'] = $rg['total'];
			$arrLista[$rg['id']]['frete_valor'] = $rg['frete_valor'];
			$arrLista[$rg['id']]['frete_tipo'] = $rg['frete_tipo'];
			$arrLista[$rg['id']]['rastreamento'] = $rg['rastreamento'];
			$arrLista[$rg['id']]['status'] = $rg['status'];
			$arrLista[$rg['id']]['cliente'] = $rg['cliente'];
			$arrLista[$rg['id']]['cidade'] = $rg['cidade'];
			$arrLista[$rg['id']]['estado'] = $rg['estado'];
			$arrLista[$rg['id']]['sigla'] = $rg['sigla'];
			$arrLista[$rg['id']]['produtos'][$rg['id_produto']]['produto'] = $rg['produto'];
			$arrLista[$rg['id']]['produtos'][$rg['id_produto']]['qtde'] = $rg['qtde'];
			$arrLista[$rg['id']]['produtos'][$rg['id_produto']]['valor_unitario'] = $rg['valor_unitario'];
			$arrLista[$rg['id']]['produtos'][$rg['id_produto']]['valor'] = $rg['valor'];
			$arrLista[$rg['id']]['produtos'][$rg['id_produto']]['id_tamanho'] = $rg['id_tamanho'];
			$arrLista[$rg['id']]['produtos'][$rg['id_produto']]['id_cor'] = $rg['id_cor'];
        }
        //echoArray($arrLista); exit;
        return (count($arrLista) > 0) ? $arrLista : false;
	}
	
	public static function relatorioVenda($filtro=""){
		global $db;
        $sql = "SELECT sum(p.subtotal) subtotal, sum(p.frete_valor) frete, sum(p.total) total
				FROM   rz2_pedido p,
				       rz2_cliente c,
				       rz2_cidade cid,
				       rz2_estado est
				WHERE  p.id_cliente = c.id
				AND    c.id_cidade = cid.id
				AND    cid.id_estado = est.id
				AND    p.id_pedido_status IN(".APROVADO.",".ENTREGUE.") ".$filtro;
        // exit($sql);
        $rs = executaSql($sql);
        $arrLista = array();
        $i = 0;
        while($rg = $rs->fetchRow()){
        	$i++;
            foreach($rg as $campo => $valor){
                $arrLista[$i][$campo] = $valor;
            }
        }
        return ($i > 0) ? $arrLista : false;
	}

	public static function relatorioTicket($filtro=""){
		global $db;
        $sql = "SELECT avg(p.total) ticket
				FROM   rz2_pedido p,
				       rz2_cliente c,
				       rz2_cidade cid,
				       rz2_estado est
				WHERE  p.id_cliente = c.id
				AND    c.id_cidade = cid.id
				AND    cid.id_estado = est.id
				AND    p.id_pedido_status IN(".APROVADO.",".ENTREGUE.") ".$filtro;
        // exit($sql);
        $rs = executaSql($sql);
        $arrLista = array();
        $i = 0;
        while($rg = $rs->fetchRow()){
        	$i++;
            foreach($rg as $campo => $valor){
                $arrLista[$i][$campo] = $valor;
            }
        }
        return ($i > 0) ? $arrLista : false;
	}

}
?>