コード例 #1
0
 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
     }
 }
コード例 #2
0
 /**
  * Return Items
  */
 public function new_return_post()
 {
     $items = $this->input->post('items');
     // [ {itemId: 401, quantity: 20}, {itemId: 402, quantity: 10} ]
     $returns_repo = new Returns_Repository($this->base_model->get_db_instance());
     $items_repo = new Items_Repository($this->base_model->get_db_instance());
     $return_id = $returns_repo->new_return($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));
     }
     echo $returns_repo->to_return_json($return_id);
 }