private function test_reports()
 {
     $sales_reports_repo = new Sales_Reports_Repository($this->base_model->get_db_instance());
     $sales_report_id = $sales_reports_repo->new_sales_report();
     if ($sales_report_id >= 1) {
         echo $sales_reports_repo->to_export_sales_report_json($sales_report_id);
     } else {
         echo 0;
         // there are no receipts to report
     }
 }
Пример #2
0
 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
     }
 }