public function fecharCompra()
 {
     /**
      * Grava o pedido
      */
     $this->modelo('PedidoDAO');
     $pedido = new Pedido();
     $pedido->setIdcliente($_REQUEST['id_cliente']);
     $pedido->setDataPedido(date('Y-m-d'));
     $idPedido = $this->PedidoDAO->novo($pedido);
     /**
      * Grava os produtos pedidos
      */
     $this->modelo('ProdutosPedidosDAO');
     foreach ($_SESSION['produtos_compra'] as $valor) {
         $p = new ProdutosPedidos();
         $p->setIdPedido($idPedido);
         $p->setIdProduto($valor['id_produto']);
         $p->setQuantidade($valor['qtd_produto']);
         $p->setValorUnitario($valor['valor']);
         $objProdutos = $this->ProdutosPedidosDAO->novo($p);
     }
     /**
      * Grava a venda
      */
     $total_venda = $_SESSION['frete'] + $_SESSION['produtos_total'];
     $this->modelo('VendaDAO');
     $venda = new Venda();
     $venda->setIdPedido($idPedido);
     $venda->setIdEnderecoEnvio(4);
     $venda->setValor($total_venda);
     $venda->setPago(0);
     $venda->setIdFormaPagamento(1);
     $venda->setEnviado(0);
     $venda->setIdFormaEnvio(1);
     $objVenda = $this->VendaDAO->fechaVenda($venda);
     /**
      * Remove os itens do carrinho
      */
     $this->modelo('CarrinhoDAO');
     $carrinho = new Carrinho();
     $carrinho->setSession($_SESSION['visitante']);
     $objCarrinho = $this->CarrinhoDAO->limpaVenda($carrinho);
     /**
      * Limpa as sessões
      */
     $_SESSION['frete'] = null;
     unset($_SESSION['frete']);
     $_SESSION['produtos_total'] = null;
     unset($_SESSION['produtos_total']);
     /**
      * Redireciona para a página de pedidos realizados do cliente
      */
     $this->visao->render('cliente/index');
 }
 public static function save(Venda $venda)
 {
     $date = date('Y-m-d');
     $sql = "INSERT INTO venda (data_venda) values ('{$date}')";
     print $sql . "<br>\n";
     self::$conn->query($sql);
     $id = self::getLastId();
     $venda->setId($id);
     foreach ($venda->getItens() as $item) {
         $quantidade = $item[0];
         $produto = $item[1];
         $preco = $produto->preco;
         $sql = "INSERT INTO item_venda (id_venda, id_produto, quantidade, preco)" . " values('{$id}', '{$produto->id}', '{$quantidade}', '{$preco}')";
         print $sql . "<br>\n";
         self::$conn->query($sql);
     }
 }
Beispiel #3
0
 public function show()
 {
     try {
         Transaction::open('livro');
         $venda = new Venda();
         $venda->cliente = new Pessoa(3);
         $venda->data_venda = date('Y-m-d');
         $venda->valor_venda = 0;
         $venda->desconto = 0;
         $venda->acrescimos = 0;
         $venda->obs = 'obs';
         $venda->addItem(new Produto(3), 2);
         $venda->addItem(new Produto(4), 1);
         $venda->valor_final = $venda->valor_venda + $venda->acrescimos - $venda->desconto;
         $venda->store();
         Transaction::close();
     } catch (Exception $e) {
         echo $e->getMessage();
     }
 }
Beispiel #4
0
 public function fechaVenda(Venda $venda)
 {
     $query = "INSERT INTO vendas (" . "id_pedido, " . "id_endereco_envio, " . "valor, " . "pago, " . "id_forma_pagamento, " . "enviado, " . "id_forma_envio " . ") VALUES (" . ":id_pedido, " . ":id_endereco_envio, " . ":valor, " . ":pago, " . ":id_forma_pagamento, " . ":enviado, " . ":id_forma_envio " . ")";
     $stmt = $this->conexao->prepare($query);
     $stmt->bindValue(":id_pedido", $venda->getIdPedido(), PDO::PARAM_INT);
     $stmt->bindValue(":id_endereco_envio", $venda->getIdEnderecoEnvio(), PDO::PARAM_INT);
     $stmt->bindValue(":valor", $venda->getValor(), PDO::PARAM_STR);
     $stmt->bindValue(":pago", $venda->getPago(), PDO::PARAM_INT);
     $stmt->bindValue(":id_forma_pagamento", $venda->getIdFormaPagamento(), PDO::PARAM_STR);
     //$stmt->bindValue(":data_pagamento", date('Y-m-d'), PDO::PARAM_STR);
     $stmt->bindValue(":enviado", $venda->getEnviado(), PDO::PARAM_INT);
     $stmt->bindValue(":id_forma_envio", $venda->getIdFormaEnvio(), PDO::PARAM_INT);
     //$stmt->bindValue(":data_envio", date('Y-m-d'), PDO::PARAM_STR);
     $stmt->execute();
 }
Beispiel #5
0
 /**
  * This is the default 'index' action that is invoked
  * when an action is not explicitly requested by users.
  */
 public function actionIndex()
 {
     if (!Yii::app()->user->isAdmin()) {
         $this->redirect(array('../index.php/venda'));
     }
     $totalProdutos = Produto::model()->getTotal();
     $totalVendasHoje = Venda::model()->getTotalVendaHoje();
     $totalVendasPrazoHoje = Venda::model()->getTotalvendasPrazoHoje();
     $totalCliente = Cliente::model()->getTotal();
     $totalPagamentos = Pagamento::model()->getToalPagamentosDia();
     $totalFornecedores = Fornecedor::model()->getTotal();
     $totalVendasVista = $totalVendasHoje - $totalVendasPrazoHoje;
     $data = array('totalProdutos' => $totalProdutos, 'totalVendaHoje' => $totalVendasHoje, 'totalVendasPrazoHoje' => $totalVendasPrazoHoje, 'totalCliente' => $totalCliente, 'totalPagamentos' => $totalPagamentos, 'totalFornecedores' => $totalFornecedores, 'totalVendasVista' => $totalVendasVista, 'itensMaisVendidos' => Produto::model()->getItensMaisVendidos());
     $this->render('index', $data);
 }
Beispiel #6
0
 /**
  * Action Venda : FINDALL
  */
 public function actionCarregarVendas()
 {
     $dadosPost = Yii::app()->request->rawBody;
     $parametros = CJSON::decode($dadosPost, true);
     $condition = " tipovenda=:tipovenda ";
     $params = array(":tipovenda" => $parametros['tipovenda']);
     $criteria = new CDbCriteria();
     $criteria->condition = $condition;
     $criteria->params = $params;
     $criteria->together = true;
     $criteria->order = 'data asc';
     $vendas = Venda::model()->findAll($criteria);
     $jsons = array();
     foreach ($vendas as $key => $venda) {
         $dados = array();
         $dados['id'] = $venda->id;
         $dados['valor'] = $venda->valor;
         $dados['animal'] = $venda->animal;
         $dados['animalnome'] = isset($venda->Animal) ? $venda->Animal->nome : '';
         $dados['animal2'] = $venda->animal2;
         $dados['animal2nome'] = isset($venda->Animal2) ? $venda->Animal2->nome : '';
         $dados['tipovenda'] = $venda->tipovenda;
         $dados['tipovendanome'] = isset($venda->Tipovenda) ? $venda->Tipovenda->nome : '';
         $dados['data'] = strftime('%d%m%Y', strtotime($venda->data));
         $dados['datanome'] = strftime('%d de %b, %Y', strtotime($venda->data));
         if ($venda->animal != 0) {
             if ($venda->Animal->pai != 0 && $venda->Animal->mae != 0) {
                 $dados['nomepaiemae'] = $venda->Animal->Pai->nome . " X " . $venda->Animal->Mae->nome;
             } else {
                 if ($venda->Animal->pai != 0) {
                     $dados['nomepaiemae'] = $venda->Animal->Pai->nome;
                 } else {
                     if ($venda->Animal->mae != 0) {
                         $dados['nomepaiemae'] = $venda->Animal->Mae->nome;
                     }
                 }
             }
         }
         $dados['imagens'] = array();
         $imagem = array();
         $imagem['url'] = $venda->url;
         $dados['imagens'][] = $imagem;
         $jsons[] = $dados;
     }
     header('Content-type: application/json; charset=utf-8');
     echo CJSON::encode($jsons);
     Yii::app()->end();
 }
 public function actionHistorico($id = 0)
 {
     $historico = array();
     if (isset($_POST['historico'])) {
         $id = $_POST['idCliente'];
         $param = $_POST['historico'];
         $data1 = $param['data1'];
         $data2 = $param['data2'];
         $historico = Venda::model()->getHistorico($id, $data1, $data2);
     }
     $this->render('historico', array('model' => $this->loadModel($id), 'historico' => $historico));
 }
Beispiel #8
0
 public function getDebitos($idCliente = 0)
 {
     if ($idCliente == 0) {
         $idCliente = $this->idCliente;
     }
     if ($idCliente == null) {
         return array();
     }
     $sql = "select v.* from venda v\n\t\t\t\tinner join conta co on co.id_Venda = v.idVenda\n\t\t\t\tinner join cliente c on co.id_cliente = c.idCliente\n\t\t\t\twhere c.idCliente = {$idCliente} and co.quitada = 0";
     $queryVendas = $this->getQuery($sql);
     $debitos = array();
     foreach ($queryVendas as $row) {
         $venda = $row;
         $sql = "select iv.*, p.descricao,p.codigo from item_venda iv\n\t\t\t\tinner join produto p on iv.id_produto = p.idProduto\n\t\t\t\tinner join venda v on iv.id_venda = v.idVenda\n\t\t\t\twhere v.idVenda = " . $row['idVenda'];
         $query = $this->getQuery($sql);
         $venda['itensVenda'] = $query;
         $totalVenda = Venda::model()->getTotalVenda($query);
         $totalPago = Venda::model()->getTotalPago($row['idVenda']);
         $desconto = $totalVenda * ($row['desconto'] / 100);
         $totalVenda -= $desconto;
         if ($totalVenda > $totalPago) {
             $venda['totalVenda'] = $totalVenda;
             $venda['desconto'] = $desconto;
             $venda['totalPago'] = $totalPago;
             $debitos[] = $venda;
         }
     }
     return $debitos;
 }
Beispiel #9
0
 public function getHistorico($idCliente, $data1, $data2)
 {
     $data1 = $this->formataData($data1);
     //'2016-01-01';// $param['data1'];
     $data2 = $this->formataData($data2);
     //$param['data2'];
     $sql = "select * from venda v inner join conta c on v.idVenda = c.id_venda where\n\t\t\t\tc.id_cliente = {$idCliente} and (v.dataVenda >='{$data1}' AND v.dataVenda <= '{$data2}') ";
     $query = Yii::app()->db->createCommand($sql)->queryAll();
     $historico = array();
     foreach ($query as $row) {
         $itensVenda = Venda::model()->getItensVenda($row['idVenda']);
         $venda = $row;
         $venda['itensVenda'] = $itensVenda;
         $totalVenda = $this->getTotalVenda($itensVenda);
         $venda['totalPago'] = $this->getTotalPago($row['idVenda']);
         $desconto = $totalVenda * ($row['desconto'] / 100);
         $venda['totalVenda'] = $totalVenda - $desconto;
         $venda['desconto'] = $desconto;
         $historico[] = $venda;
     }
     return $historico;
 }
    */
    public function getItens()
    {
        return $this->itens;
    }
    public function finalizarVenda()
    {
        foreach ($this->itens as $item) {
            $quantidade = $item[0];
            $produto = $item[1];
            //Soma Total
            $total += $produto->calculaPrecoVenda() * $quantidade;
            //Diminuir estoque
            $produto->resgistraVenda($quantidade);
        }
        return $total;
    }
}
#Fim da Class Venda
#-----------------------------------
//Intanciar o objecto venda
$venda = new Venda();
//Adicionar alguns produtos
$venda->addItem(3, new Produto('Vinho', 10, 15));
//58.5
$venda->addItem(2, new Produto('Salame', 20, 20));
//52
$venda->addItem(1, new Produto('Queijo', 30, 10));
//13
//finalizar a venda
echo $venda->finalizarVenda();
 /**
  * Grava venda
  */
 public function onGravaVenda()
 {
     try {
         // inicia transação com o banco 'livro'
         Transaction::open('livro');
         $dados = $this->form->getData();
         $cliente = Pessoa::find($dados->id_cliente);
         if (!$cliente) {
             throw new Exception('Cliente não encontrado');
         }
         if ($cliente->totalDebitos() > 0) {
             throw new Exception('Débitos impedem esta operação');
         }
         $venda = new Venda();
         $venda->cliente = $cliente;
         $venda->data_venda = date('Y-m-d');
         $venda->valor_venda = $dados->valor_venda;
         $venda->desconto = $dados->desconto;
         $venda->acrescimos = $dados->acrescimos;
         $venda->valor_final = $dados->valor_final;
         $venda->obs = $dados->obs;
         // lê a variável $list da seção
         $itens = Session::getValue('list');
         if ($itens) {
             // percorre os itens
             foreach ($itens as $item) {
                 // adiciona o item na venda
                 $venda->addItem(new Produto($item->id_produto), $item->quantidade);
             }
         }
         $venda->store();
         // armazena venda no banco de dados
         // gera o financeiro
         Conta::geraParcelas($dados->id_cliente, 2, $dados->valor_final, $dados->parcelas);
         Transaction::close();
         // finaliza a transação
         Session::setValue('list', array());
         // limpa lista de itens da seção
         // exibe mensagem de sucesso
         new Message('info', 'Venda registrada com sucesso');
     } catch (Exception $e) {
         new Message('error', $e->getMessage());
     }
 }
     */
    public function addItem($quantidade, Produto $produto)
    {
        $this->itens[] = array($quantidade, $produto);
    }
    /*
     * método getItems
     * retorna o array de itens da venda
     */
    public function getItens()
    {
        return $this->itens;
    }
}
// instancia objeto Venda
$venda = new Venda();
// adiciona alguns produtos
$venda->addItem(3, new Produto('Vinho', 10, 15));
// 58.5
$venda->addItem(2, new Produto('Salame', 20, 20));
// 52
$venda->addItem(1, new Produto('Queijo', 30, 10));
// 13
/*
 * rotina para calcular o total
 * de uma venda e diminuir o estoque
 */
$total = 0;
foreach ($venda->getItens() as $item) {
    $quantidade = $item[0];
    $produto = $item[1];
Beispiel #13
0
<?php

include '../class/Call.class.php';
include '../function/Uppercase.func.php';
include 'topo.php';
session_start();
if (empty($_SESSION['codVenda'])) {
    $cod = Venda::gerarCodVenda();
    $_SESSION['codVenda'] = $cod + 1;
    $codVenda = $_SESSION['codVenda'];
} else {
    $codVenda = $_SESSION['codVenda'];
}
?>
<table class="tbl_venda">
	<tr align="right">
		<td>Venda N&#176; <input type="text" name="venda" id="venda" value="<?php 
echo $codVenda;
?>
" readonly /></td>
	</tr>
	<tr align="right">
		<td>&nbsp;</td>
	</tr>
	<tr align="right">
		<td>Quantidade: <input type="text" name="qtd" id="qtd" value="1" /></td>
	</tr>
	<tr align="right">
		<td>&nbsp;</td>
	</tr>
	<tr align="right">
Beispiel #14
0
<?php

include '../class/Call.class.php';
include '../function/Uppercase.func.php';
include 'topo.php';
$doacao = Venda::listarVendas();
?>
<style rel="stylesheet" type="text/css" media="print">
<!--
.bt_imprimir, #sup { display: none; }
#container { height: auto !important; }
.tbl_listaProd { display:block;	}
.tbl_listaProd tr td { border: 1px solid #000; }
.tbl_listaProd thead { color: #000 !important; font-weight: bold !important; }
-->
</style>
<style rel="stylesheet" type="text/css" media="screen">
	table{
		border: 0;
		width: 900px;	
	}
	table tr td{
		height: 30px;	
	}
       #bt_imprimir { margin-top: 40px !important; }
       .tbl_listaProd { /*margin-top: 20px !important;*/ width:600px }
</style>
<script>
	$(document).ready(function() {
		$('table thead').css('background','url(../imagens/layout/menu.png)');
                $('table thead').css('background-position','0px -90px');
<?php

require_once 'classes/dm/Produto.php';
require_once 'classes/dm/Venda.php';
require_once 'classes/dm/VendaMapper.php';
try {
    $p1 = new Produto();
    $p1->id = 1;
    $p1->preco = 12;
    $p2 = new Produto();
    $p2->id = 2;
    $p2->preco = 14;
    $venda = new Venda();
    $venda->addItem(10, $p1);
    $venda->addItem(20, $p2);
    $conn = new PDO('sqlite:database/estoque.db');
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    VendaMapper::setConnection($conn);
    VendaMapper::save($venda);
} catch (Exception $e) {
    print $e->getMessage();
}
 public function allMany($id)
 {
     $arr = array();
     $sql = "SELECT `curso`.`idcurso` AS `id`, `curso`.`nome` AS `cursoNome`, `curso`.`valor`, `concurso`.`nome` AS `concursoNome` FROM `curso`\n\t\t\tINNER JOIN `concurso` ON `concurso`.`idconcurso`=`curso`.`concurso_idconcurso`\n\t\t\tINNER JOIN `venda_curso` ON `venda_curso`.`curso_id`=`curso`.`idcurso`\n\t\t\tWHERE `venda_curso`.`venda_id`={$id};";
     $vai = new MySQLDB();
     $result = $vai->executeQuery($sql);
     while ($dados = mysql_fetch_array($result)) {
         $cliente = new Venda();
         $cliente->setid(array('id' => $dados['id']));
         $cliente->setvalor(array('valor' => $dados['valor']));
         $cliente->setcursoNome(array('cursoNome' => $dados['cursoNome']));
         $cliente->setconcursoNome(array('concursoNome' => $dados['concursoNome']));
         $arr[] = $cliente;
     }
     return $arr;
 }
Beispiel #17
0
 public function actionFinalizarVendaAPrazo()
 {
     try {
         // $this->viewData(Yii::app()->session['venda']);
         $transaction = Venda::model()->dbConnection->beginTransaction();
         if (isset(Yii::app()->session['venda'])) {
             $itensVenda = Yii::app()->session['venda']['itensVenda'];
         } else {
             throw new Exception("Não há nenhum item de venda para ser registrado");
         }
         $idVenda = $this->registrarVenda($itensVenda);
         if (!$idVenda) {
             throw new Exception("Não foi possível registrar esta venda");
         } else {
             //$this->viewData($_POST['venda']);
             $venda = Venda::model()->findByPk($idVenda);
             $venda->observacao = $_POST['venda']['observacao'];
             $venda->desconto = isset(Yii::app()->session['venda']['desconto']) ? Yii::app()->session['venda']['desconto'] : 0;
             $venda->save();
         }
         if (isset($_POST['cliente']['idCliente'])) {
             $idCliente = $_POST['cliente']['idCliente'];
         } elseif (isset($_POST['cliente'])) {
             $cliente = $_POST['cliente'];
             $modelCliente = $this->cadastraCliente($cliente);
             $idCliente = $modelCliente->idCliente;
         } else {
             throw new Exception("Nenhum cliente foi enviado para cadastro.");
         }
         $this->cadastraConta($idCliente, $idVenda);
         if (isset($_POST['venda']['pagamento'])) {
             $valor = $_POST['venda']['pagamento'];
             if ($valor != null || !empty($valor)) {
                 $this->registraPagamento($valor, $idVenda);
             }
         }
         $transaction->commit();
         unset(Yii::app()->session['venda']);
         $this->setFlashMessage('success', "Venda registrada com sucesso");
     } catch (Exception $e) {
         $this->setFlashMessage('error', $e->getMessage());
         $transaction->rollback();
     }
     $this->redirect(array('index'));
 }
 function onGravaVenda()
 {
     date_default_timezone_set('America/Sao_Paulo');
     // obtém os dados do formulário de conclusão de venda
     $form = new ConcluiVendaForm();
     $dados = $form->getData();
     // inicia transação com o banco 'sq_livro'
     TTransaction::open('sq_livro');
     // instancia novo objeto Venda
     $venda = new Venda();
     // define os atributos a serem gravados
     $venda->id_cliente = $dados->id_cliente;
     $venda->data_venda = date('Y-m-d');
     $venda->desconto = $dados->desconto;
     $venda->valor_total = $dados->valor_total;
     $venda->valor_pago = $dados->valor_pago;
     // lê a variável $list da seção
     $itens = TSession::getValue('list');
     if ($itens) {
         // percorre os itens
         foreach ($itens as $item) {
             // adiciona o item na venda
             $venda->addItem($item);
         }
     }
     // armazena venda no banco de dados
     $venda->store();
     // finaliza a transação
     TTransaction::close();
     // limpa lista de itens da seção
     TSession::setValue('list', array());
     // exibe mensagem de sucesso
     new TMessage('info', 'Venda registrada com sucesso');
     // recarrega lista de itens
     $this->onReload();
 }
Beispiel #19
0
    while ($l4 = mysql_fetch_array($res4)) {
        $carrinho .= "<input type='hidden' name='produto[]' value='" . $l4['idProduto'] . "' />";
        $carrinho .= "<input type='hidden' name='nomeProduto[]' value='" . $l4['marca'] . "' />";
        $carrinho .= "<input type='hidden' name='qtd[]' value='" . $l4['qtd'] . "' />";
        $carrinho .= "<tr align='center'>";
        $carrinho .= "<td>" . $l4['codBarra'] . "</td>";
        $carrinho .= "<td>" . $l4['marca'] . "</td>";
        $carrinho .= "<td>" . $l4['qtd'] . "</td>";
        $carrinho .= "<td>R\$ " . $l4['total'] . "<input type='hidden' name='total1[]' value='" . $l4['total'] . "'></td>";
        $carrinho .= "<td><a href='../function/cancelarItemCaixa.php?item=" . $l4['idProduto'] . "&venda=" . $codVenda . "' border=0><img src='../imagens/layout/ico_del.png' /></a></td>";
        $carrinho .= "</tr>";
        $carrinho .= "<tr align='right'><td>&nbsp;</td></tr>";
    }
    $carrinho .= "</tbody><tr><td colspan=5>&nbsp;</td></tr>";
    $carrinho .= "<tr>";
    $total = Venda::totalVenda($codVenda);
    $carrinho .= "<td align='right' colspan='4'  style='border-top:2px solid #aaa;'>TOTAL:</td>";
    if ($total->precoTotal == "") {
        $aPagar = "0.00";
    } else {
        $aPagar = $total->precoTotal;
    }
    $carrinho .= "<td style='border-top:2px solid #aaa;' align='right'>R\$ " . $aPagar . "</td>";
    $carrinho .= "<input type='hidden' name='total2' id='total2' value='" . $aPagar . "' />";
    $carrinho .= "</tr></table>";
    print $carrinho;
    #-----------------------------------------------------------------------------------------------
} else {
}
?>
 function insert(Venda $venda)
 {
     $id = $venda->getID();
     date_default_timezone_set('America/Sao_Paulo');
     $date = date("Y-m-d");
     // insere a venda no banco de dados
     $sql = "INSERT INTO venda (id, data) values ('{$id}', '{$date}')";
     echo $sql . "<br>\n";
     // percorre os itens vendidos
     foreach ($venda->getItens() as $item) {
         $quantidade = $item[0];
         $produto = $item[1];
         $descricao = $produto->getDescricao();
         // insere os itens da venda no banco de dados
         $sql = "INSERT INTO venda_items (ref_venda, produto, quantidade)" . " values ('{$id}', '{$descricao}', '{$quantidade}')";
         echo $sql . "<br>\n";
     }
 }