示例#1
0
 function addSales($sale = null)
 {
     if ($sale == null) {
         $sale = $this;
     }
     $sale_id = $this->db_handler->add_model($sale);
     if (is_array($this->sales_items) and count($this->sales_items) != 0) {
         foreach ($this->sales_items as $sales_item) {
             $sales_item->sale_id = $sale_id;
             $sales_item->company_id = $sale->company_id;
             $sales_item->addSaleItem();
             $inv = new inventry();
             $inv->company_id = $sale->company_id;
             $inv->item_id = $sales_item->item_id;
             $invs = $inv->getInventryForSpecificCompanyAndItem();
             $inv = $invs[0];
             $inv->in_stock_count = $inv->in_stock_count - $sales_item->quantity;
             $inv->updateInventry();
         }
     }
     $description = "Added new Sale (" . $sale->to_string() . ")";
     $customer = new customer();
     $customer->id = $sale->customer_id;
     $customer->getCustomer();
     $customer->total_purchace_amount = $customer->total_purchace_amount + $sale->amount;
     $customer->updateCustomer();
     Log::i($this->tag, $description);
     return $sale_id;
 }
         }
         //checking for removed items
         foreach ($sales_items_prev as $sale_item_prev) {
             $item_id = $sale_item_prev->item_id;
             $removed_item = true;
             foreach ($sales_items_new as $sale_item_new) {
                 if ($item_id == $sale_item_new->item_id) {
                     $removed_item = false;
                 }
             }
             if ($removed_item) {
                 $qty = $sale_item_prev->quantity;
                 $inv = new inventry();
                 $inv->company_id = $sale->company_id;
                 $inv->item_id = $item_id;
                 $invs = $inv->getInventryForSpecificCompanyAndItem();
                 $inv = $invs[0];
                 $inv->in_stock_count = $inv->in_stock_count + $qty;
                 $inv->updateInventry();
                 $description = "Updating inventry (sales return - removed item) diff : " . $qty . ", inventry : " . $inv->to_string();
                 Log::i($tag, $description);
             }
         }
         $message = "Sale Updated Successfuly";
         $responce = array('status' => 'success', 'error' => '', 'data' => array("message" => $message, "id" => $sale->id));
     } else {
         $responce = array('status' => 'failed', 'error' => 'Data missing', 'data' => array());
     }
 } else {
     if ($form_id == 4) {
         // bank deposit edit