Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.73 KB | None | 0 0
  1. CÓDIGO VIEW
  2.  
  3. <h1>Compras</h1>
  4. <div class="button"><a href="<?php echo BASE_URL; ?>/purchases/add">Adicionar Compra</a></div>
  5.  
  6. <table width="100%" border="0">
  7. <tr>
  8. <th>Nome do Cliente</th>
  9. <th>Data</th>
  10. <th>Valor</th>
  11. <th>Ações</th>
  12. </tr>
  13. <?php foreach($purchases_list as $purchaseitme): ?>
  14. <tr>
  15. <td><?php echo $purchaseitme['name'] ?></td>
  16. <td><?php echo date('d/m/Y', strtotime($purchaseitme['date_purchase'])); ?></td>
  17. <td>R$ <?php echo number_format($purchaseitme['total_price'], 2, ',', '.'); ?></td>
  18. <td>
  19. <div class="button button_small"><a href="<?php echo BASE_URL; ?>/sales/edit/<?php echo $purchaseitme['id']; ?>">Editar</a></div>
  20. </td>
  21. </tr>
  22. <?php endforeach; ?>
  23. </table>
  24.  
  25. CÓDIGO CONTROLLER
  26.  
  27. <?php
  28. class purchasesController extends controller{
  29.  
  30. public function __construct() {
  31. parent::__construct();
  32.  
  33. $u = new Users();
  34. if($u->isLogged() == false){
  35. header("Location: ".BASE_URL."/login");
  36. exit;
  37. }
  38. }
  39. public function index(){
  40.  
  41. $data = array();
  42. $u = new Users();
  43. $u->setLoggedUser();
  44. $company = new Companies($u->getCompany());
  45.  
  46. $data['company_name'] = $company->getName();
  47. $data['user_email'] = $u->getEmail();
  48.  
  49. $data['statuses'] = array(
  50. '0' => 'Aguardando Pgto.',
  51. '1' => 'Pago',
  52. '2' => 'Cancelado'
  53. );
  54.  
  55. if($u->hasPermission('purchases_view')){
  56. $p = new Purchases();
  57. $offset = 0;
  58.  
  59. $data['purchases_list'] = $p->getList($offset, $u->getCompany());
  60.  
  61. $this->loadTemplate("purchases", $data);
  62. }else{
  63. header("Location: ".BASE_URL);
  64. }
  65. }
  66. public function add(){
  67. $data = array();
  68. $u = new Users();
  69. $u->setLoggedUser();
  70. $company = new Companies($u->getCompany());
  71.  
  72. $data['company_name'] = $company->getName();
  73. $data['user_email'] = $u->getEmail();
  74.  
  75. if($u->hasPermission('purchases_view')){
  76. $p = new Purchases();
  77.  
  78. if(isset($_POST['client_id']) && !empty($_POST['client_id'])){
  79. $client_id = addslashes($_POST['client_id']);
  80. $status = addslashes($_POST['status']);
  81. $quant = $_POST['quant'];
  82.  
  83. $p->addPurchases($u->getCompany(), $client_id, $u->getId(), $quant, $status);
  84. header("Location: ".BASE_URL."/purchases");
  85. }
  86.  
  87. $this->loadTemplate("purchases_add", $data);
  88. }else{
  89. header("Location: ".BASE_URL);
  90. }
  91. }
  92. }
  93.  
  94. CÓDIGO MODEL
  95.  
  96. <?php
  97. class Purchases extends Model{
  98.  
  99. public function getList($offset, $id_company){
  100. $array = array();
  101.  
  102. $sql = $this->db->prepare("
  103. SELECT
  104. purchases.id,
  105. purchases.date_purchase,
  106. purchases.total_price,
  107. clients.name
  108. FROM purchases
  109. LEFT JOIN clients ON clients.id = purchases.id_user
  110. WHERE purchases.id_company = :id_company
  111. ORDER BY purchases.date_purchase DESC
  112. LIMIT $offset, 10");
  113. $sql->bindValue(":id_company", $id_company);
  114. $sql->execute();
  115.  
  116. if($sql->rowCount() > 0){
  117. $array = $sql->fetchAll();
  118. }
  119. return $array;
  120. }
  121. public function addPurchases($id_company, $id_user, $quant, $total_price){
  122. $i = new Inventory();
  123.  
  124. $sql = $this->db->prepare("INSERT INTO purchases (id_company, id_user, date_purchase, total_price) VALUES (:id_company, :id_user, NOW(), :total_price)");
  125. $sql->bindValue(":id_company", $id_company);
  126. $sql->bindValue(":id_user", $id_user);
  127. $sql->bindValue(":total_price", '0');
  128. $sql->execute();
  129.  
  130.  
  131. $id_sale = $this->db->lastInsertId();
  132.  
  133. $total_price = 0;
  134.  
  135. foreach($quant as $id_prod => $quant_prod){
  136. $sql = $this->db->prepare("SELECT price FROM inventory WHERE id = :id AND id_company = :id_company");
  137. $sql->bindValue(":id", $id_prod);
  138. $sql->bindValue(":id_company", $id_company);
  139. $sql->execute();
  140.  
  141. if($sql->rowCount() > 0){
  142. $row = $sql->fetch();
  143. $price = $row['price'];
  144.  
  145. $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)");
  146. $sqlp->bindValue(":id_company", $id_company);
  147. $sqlp->bindValue(":id_purchases", $id_purchases);
  148. $sqlp->bindValue(":name", $name);
  149. $sqlp->bindValue(":id_product", $id_prod);
  150. $sqlp->bindValue(":quant", $quant_prod);
  151. $sqlp->bindValue(":purchase_price", $price);
  152. $sqlp->execute();
  153.  
  154. $i->decrease($id_prod, $id_company, $quant_prod, $id_user);
  155.  
  156. $total_price += $price * $quant_prod;
  157. }
  158. }
  159.  
  160. $sql = $this->db->prepare("UPDATE purchases SET total_price = :total_price WHERE id = :id");
  161. $sql->bindValue(":total_price", $total_price);
  162. $sql->bindValue(":id", $id_sale);
  163. $sql->execute();
  164. }
  165. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement