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); } }
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(); } }
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(); }
/** * 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); }
/** * 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)); }
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; }
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];
<?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° <input type="text" name="venda" id="venda" value="<?php echo $codVenda; ?> " readonly /></td> </tr> <tr align="right"> <td> </td> </tr> <tr align="right"> <td>Quantidade: <input type="text" name="qtd" id="qtd" value="1" /></td> </tr> <tr align="right"> <td> </td> </tr> <tr align="right">
<?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; }
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(); }
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> </td></tr>"; } $carrinho .= "</tbody><tr><td colspan=5> </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"; } }