Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CÓDIGO VIEW
- <h1>Compras</h1>
- <div class="button"><a href="<?php echo BASE_URL; ?>/purchases/add">Adicionar Compra</a></div>
- <table width="100%" border="0">
- <tr>
- <th>Nome do Cliente</th>
- <th>Data</th>
- <th>Valor</th>
- <th>Ações</th>
- </tr>
- <?php foreach($purchases_list as $purchaseitme): ?>
- <tr>
- <td><?php echo $purchaseitme['name'] ?></td>
- <td><?php echo date('d/m/Y', strtotime($purchaseitme['date_purchase'])); ?></td>
- <td>R$ <?php echo number_format($purchaseitme['total_price'], 2, ',', '.'); ?></td>
- <td>
- <div class="button button_small"><a href="<?php echo BASE_URL; ?>/sales/edit/<?php echo $purchaseitme['id']; ?>">Editar</a></div>
- </td>
- </tr>
- <?php endforeach; ?>
- </table>
- CÓDIGO CONTROLLER
- <?php
- class purchasesController extends controller{
- public function __construct() {
- parent::__construct();
- $u = new Users();
- if($u->isLogged() == false){
- header("Location: ".BASE_URL."/login");
- exit;
- }
- }
- public function index(){
- $data = array();
- $u = new Users();
- $u->setLoggedUser();
- $company = new Companies($u->getCompany());
- $data['company_name'] = $company->getName();
- $data['user_email'] = $u->getEmail();
- $data['statuses'] = array(
- '0' => 'Aguardando Pgto.',
- '1' => 'Pago',
- '2' => 'Cancelado'
- );
- if($u->hasPermission('purchases_view')){
- $p = new Purchases();
- $offset = 0;
- $data['purchases_list'] = $p->getList($offset, $u->getCompany());
- $this->loadTemplate("purchases", $data);
- }else{
- header("Location: ".BASE_URL);
- }
- }
- public function add(){
- $data = array();
- $u = new Users();
- $u->setLoggedUser();
- $company = new Companies($u->getCompany());
- $data['company_name'] = $company->getName();
- $data['user_email'] = $u->getEmail();
- if($u->hasPermission('purchases_view')){
- $p = new Purchases();
- if(isset($_POST['client_id']) && !empty($_POST['client_id'])){
- $client_id = addslashes($_POST['client_id']);
- $status = addslashes($_POST['status']);
- $quant = $_POST['quant'];
- $p->addPurchases($u->getCompany(), $client_id, $u->getId(), $quant, $status);
- header("Location: ".BASE_URL."/purchases");
- }
- $this->loadTemplate("purchases_add", $data);
- }else{
- header("Location: ".BASE_URL);
- }
- }
- }
- CÓDIGO MODEL
- <?php
- class Purchases extends Model{
- public function getList($offset, $id_company){
- $array = array();
- $sql = $this->db->prepare("
- SELECT
- purchases.id,
- purchases.date_purchase,
- purchases.total_price,
- clients.name
- FROM purchases
- LEFT JOIN clients ON clients.id = purchases.id_user
- WHERE purchases.id_company = :id_company
- ORDER BY purchases.date_purchase DESC
- LIMIT $offset, 10");
- $sql->bindValue(":id_company", $id_company);
- $sql->execute();
- if($sql->rowCount() > 0){
- $array = $sql->fetchAll();
- }
- return $array;
- }
- public function addPurchases($id_company, $id_user, $quant, $total_price){
- $i = new Inventory();
- $sql = $this->db->prepare("INSERT INTO purchases (id_company, id_user, date_purchase, total_price) VALUES (:id_company, :id_user, NOW(), :total_price)");
- $sql->bindValue(":id_company", $id_company);
- $sql->bindValue(":id_user", $id_user);
- $sql->bindValue(":total_price", '0');
- $sql->execute();
- $id_sale = $this->db->lastInsertId();
- $total_price = 0;
- foreach($quant as $id_prod => $quant_prod){
- $sql = $this->db->prepare("SELECT price FROM inventory WHERE id = :id AND id_company = :id_company");
- $sql->bindValue(":id", $id_prod);
- $sql->bindValue(":id_company", $id_company);
- $sql->execute();
- if($sql->rowCount() > 0){
- $row = $sql->fetch();
- $price = $row['price'];
- $sqlp = $this->db->prepare("INSERT INTO purchases_products (id_company, id_purchase, name, quant, purchase_price) VALUES (:id_company, :id_purchase, :id_product, :quant, :purchase_price)");
- $sqlp->bindValue(":id_company", $id_company);
- $sqlp->bindValue(":id_purchases", $id_purchases);
- $sqlp->bindValue(":name", $name);
- $sqlp->bindValue(":id_product", $id_prod);
- $sqlp->bindValue(":quant", $quant_prod);
- $sqlp->bindValue(":purchase_price", $price);
- $sqlp->execute();
- $i->decrease($id_prod, $id_company, $quant_prod, $id_user);
- $total_price += $price * $quant_prod;
- }
- }
- $sql = $this->db->prepare("UPDATE purchases SET total_price = :total_price WHERE id = :id");
- $sql->bindValue(":total_price", $total_price);
- $sql->bindValue(":id", $id_sale);
- $sql->execute();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement