public function get_all_uncleared_items_from_this_branch_post() { $branch_id = $this->input->post('branchId'); $uncleared_items_repo = new Uncleared_Items_Repository($this->base_model->get_db_instance()); $uncleared_items = $uncleared_items_repo->get_all_items_via_branch_id($branch_id); $data = array(); foreach ($uncleared_items as $uncleared_item) { $items_repo = new Items_Repository($this->base_model->get_db_instance()); $item = $items_repo->get_item($uncleared_item->item_id); array_push($data, array('id' => $uncleared_item->id, 'item_id' => $uncleared_item->item_id, 'description' => $item->description, 'branch_id' => $uncleared_item->branch_id, 'quantity' => $uncleared_item->quantity, 'created_at' => $uncleared_item->created_at, 'updated_at' => $uncleared_item->updated_at)); } echo json_encode($data); }
public function new_sales_report_post() { $sales_report_data = $this->input->post('salesReportData'); // parse JSON if ($sales_report_data['transaction'] == Transaction_Type::Export_Sales_Report) { $sales_reports_repo = new Sales_Reports_Repository($this->base_model->get_db_instance()); $sales_report_id = $sales_reports_repo->new_sales_report($sales_report_data); if ($sales_report_id <= 0) { if ($sales_report_id == -2) { echo -2; } else { if ($sales_report_id == -1) { echo -1; } else { if ($sales_report_id == 0) { echo 0; } } } // sales report exists } else { if ($sales_report_id >= 1) { $branch_id = $sales_report_data['branch_id']; $uncleared_items_repo = new Uncleared_Items_Repository($this->base_model->get_db_instance()); foreach ($sales_report_data['sales'] as $receipt) { foreach ($receipt['items'] as $item) { $uncleared_item = $uncleared_items_repo->get_item_via_item_id_and_branch_id($item['item_id'], $branch_id); if ($uncleared_item->quantity - $item['quantity'] <= 0) { $uncleared_items_repo->delete_item($uncleared_item->id); } else { $uncleared_items_repo->update_item(new Uncleared_Item($uncleared_item->id, $item['item_id'], $branch_id, $uncleared_item->quantity - $item['quantity'], null, null)); } } } echo 2; // valid export } } } else { echo 1; // invalid transaction } }
public function new_return_post() { $return_data = $this->input->post('returnData'); if ($return_data['transaction'] == Transaction_Type::Return_Items) { $returns_repo = new Returns_Repository($this->base_model->get_db_instance()); $return_id = $returns_repo->new_return($return_data); if ($return_id <= 0) { if ($return_id == -2) { echo -2; } else { if ($return_id == -1) { echo -1; } else { if ($return_id == 0) { echo 0; } } } // return exists } else { if ($return_id >= 1) { $uncleared_items_repo = new Uncleared_Items_Repository($this->base_model->get_db_instance()); $branch_id = $return_data['branch_id']; $items = $return_data['items']; foreach ($items as $item) { $uncleared_item = $uncleared_items_repo->get_item_via_item_id_and_branch_id($item['item_id'], $branch_id); if ($uncleared_item->quantity - $item['quantity'] <= 0) { $uncleared_items_repo->delete_item($uncleared_item->id); } else { $uncleared_items_repo->update_item(new Uncleared_Item($uncleared_item->id, $item['item_id'], $branch_id, $uncleared_item->quantity - $item['quantity'], null, null)); } } echo 2; // valid return } } } else { echo 1; // invalid transaction } }
public function new_delivery_post() { $branch_id = $this->input->post('branchId'); $items = $this->input->post('items'); // [ {itemId: 401, quantity: 20}, {itemId: 402, quantity: 10} ] $uncleared_items_repo = new Uncleared_Items_Repository($this->base_model->get_db_instance()); $deliveries_repo = new Deliveries_Repository($this->base_model->get_db_instance()); $items_repo = new Items_Repository($this->base_model->get_db_instance()); $delivery_id = $deliveries_repo->new_delivery($branch_id, $items); foreach ($items as $item) { $item_info = $items_repo->get_item($item['itemId']); $items_repo->update_item(new Item($item['itemId'], $item_info->description, $item_info->quantity - $item['quantity'], $item_info->price, null, null)); if ($uncleared_items_repo->item_exists_via_item_id_and_branch_id($item['itemId'], $branch_id)) { $uncleared_item = $uncleared_items_repo->get_item_via_item_id_and_branch_id($item['itemId'], $branch_id); $uncleared_items_repo->update_item(new Uncleared_Item($uncleared_item->id, $item['itemId'], $branch_id, $uncleared_item->quantity + $item['quantity'], null, null)); } else { $uncleared_items_repo->new_item(new Uncleared_Item(null, $item['itemId'], $branch_id, $item['quantity'], null, null)); } } echo $deliveries_repo->to_delivery_json($delivery_id); }