Advertisement
ekoyusufp

Controller

Jan 24th, 2017
458
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 5.76 KB | None | 0 0
  1. <?php
  2.  
  3. defined('BASEPATH') OR exit('No direct script access allowed');
  4.  
  5. /**
  6.  * POS API
  7.  * @version 1.0
  8.  * Egi adtya
  9.  */
  10. include_once(APPPATH.'core/API_Controller.php');
  11.  
  12. class V1 extends API_Controller {
  13.    
  14.     public function __construct() {
  15.         parent::__construct();
  16.          $this->load->model(array(
  17.             'api_model/Sales_m',
  18.             'api_model/User_m'
  19.         ));
  20.     }
  21.  
  22.     public function login_post(){
  23.         $user_id = $this->post('user_id');
  24.         $user_pass = $this->post('user_pass');
  25.         @$user = $this->User_m->get_login($user_id, $user_pass);
  26.            if ($user->num_rows() > 0) {
  27.                $user = $user->row();
  28.                $user_data = array(
  29.                    'user_id' => $user->UserID,
  30.                    'user_name' => $user->Name,
  31.                    'store_id' => $user->StoreID,
  32.                    'store' => $user->Description,
  33.                    'brand' => $user->Brand,
  34.                    'type' => $user->Type
  35.                 );
  36.                $this->set_response_message('Login Berhasil');
  37.                $this->api_response($user_data, 200);
  38.            }else{
  39.                $this->set_response_message('Salah memasukan User ID atau password');
  40.                $this->api_response(NULL, 400);                    
  41.            }
  42.     }
  43.  
  44.     public function sales_get() {
  45.         $user_id = $this->get("user_id");
  46.         $sales_date = $this->get("date");
  47.         @$sales = $this->Sales_m->get_sales_by_date($user_id,$sales_date);
  48.         if($sales->num_rows() > 0){
  49.             $sales_result = array();
  50.             foreach ($sales->result() as $sale) {
  51.                 $sales_detail = $this->Sales_m->get_sales_detail($sale->SaleID)->result();
  52.                 $sales_result[] = array(
  53.                     "sale_id" => $sale->SaleID,
  54.                     "store_id" => $sale->StoreID,
  55.                     "date" => $sale->Date,
  56.                     "approve_date" => $sale->ApproveDate,
  57.                     "amount" => $sale->Amount,
  58.                     "discount" => $sale->Discount,
  59.                     "total" => $sale->Total,
  60.                     "is_approved" => $sale->Approve == 1 ? true :false,
  61.                     "approve_by" => $sale->ApproveBy,
  62.                     "transaction_item" => $sales_detail
  63.                 );
  64.             }
  65.             $data['data'] = $sales_result;
  66.             $this->api_response($data, 200);
  67.         } else {
  68.             $this->set_response_message('Couldn\'t find any sales');
  69.            $this->api_response(NULL, 404);
  70.        }
  71.    }    
  72.  
  73.    public function style_get(){
  74.         $brand = $this->get("brand");
  75.         $styles = $this->Sales_m->get_style($brand);
  76.         if($styles->num_rows() > 0){
  77.             $data['data'] = $styles->result();
  78.            $this->api_response($data, 200);
  79.         } else {
  80.            $this->set_response_message('Couldn\'t find any style');
  81.            $this->api_response(NULL, 404);
  82.        }
  83.    }  
  84.  
  85.    public function sku_get(){
  86.         $sku = $this->Sales_m->get_sku();
  87.         if($sku->num_rows() > 0){
  88.             $data['data'] = $sku->result();
  89.            $this->api_response($data, 200);
  90.         } else {
  91.            $this->set_response_message('Couldn\'t find any sku');
  92.            $this->api_response(NULL, 404);
  93.        }
  94.    }
  95.  
  96.    public function sales_post(){
  97.         $input = file_get_contents('php://input');
  98.        $input = json_decode($input, TRUE);
  99.         $date = new DateTime($input["date"]);
  100.        $last_id = $this->Sales_m->get_last_sales_id($input["store_id"],$date->format('Ym'));
  101.        if ($last_id != null) {
  102.             $last_increment = substr($last_id->SaleID, -6) + 10;
  103.        }else{
  104.             $last_increment = 10;
  105.        }
  106.        $sales_head = array(
  107.             "SaleID" => $input["store_id"].$date->format('ym').sprintf("%06d", $last_increment),
  108.             "StoreID" => $input["store_id"],
  109.             "Date" => $date->format("Y-m-d H:i:s"),
  110.             "UserID" => $input["user_id"],
  111.             "Amount" =>$input["total"],
  112.             "Total" => $input["total"],
  113.             "SourceID" => 0,
  114.             "Approve" => 0,
  115.             "Currency" => "IDR"
  116.             );
  117.        if ($this->Sales_m->save_sales_head($sales_head)) {
  118.             $item_index = 1;
  119.             foreach ($input["transaction_item"] as $item) {
  120.                 $sales_detail = array(
  121.                     "SaleID" =>$input["store_id"].$date->format('ym').sprintf("%06d", $last_increment),
  122.                     "StyleID" => $item["style_no"],
  123.                     "Quantity" => $item["qty"],
  124.                     "SKUCode" => $item["sku_no"],
  125.                     "Price" =>$item["price"],
  126.                     "Discount" =>0,
  127.                     "Amount" => $item["amount"],
  128.                     "IDDet" => $item_index++
  129.                     );
  130.                 $this->Sales_m->save_sales_detail($sales_detail);
  131.             }
  132.             $this->api_response(NULL,200);
  133.        }else{
  134.             $this->api_response(NULL,500);
  135.        }
  136.    }
  137.  
  138.    public function search_issue_get(){
  139.         $issue_no = $this->get("issue_no");
  140.         @$issue_head = $this->Sales_m->get_issue_head($issue_no);
  141.         if($issue_head->num_rows() > 0){
  142.             $issue_result = array();
  143.             foreach ($issue_head->result() as $issue) {
  144.                 $issue_detail = $this->Sales_m->get_issue_detail($issue_no)->result();
  145.                 $issue_result[] = array(
  146.                     "user_id" => $issue->user_id,
  147.                     "remarks" => $issue->remarks,
  148.                     "date" => $issue->date,
  149.                     "origin_store_name" => $issue->origin_store_name,
  150.                     "origin_store_id" => $issue->origin_store_id,
  151.                     "issue_no" => $issue->issue_no,
  152.                     "issue_detail" => $issue_detail
  153.                 );
  154.             }
  155.             $data['data'] = $issue_result;
  156.            $this->api_response($data, 200);
  157.         } else {
  158.            $this->set_response_message('Couldn\'t find any sales');
  159.            $this->api_response(NULL, 404);
  160.        }
  161.    }
  162.  
  163.    public function delete_sales_post(){
  164.         $sale_id = $this->post("sale_id");
  165.         if ($this->Sales_m->delete_sales($sale_id)) {
  166.             $this->Sales_m->delete_sales_detail($sale_id);
  167.             $this->api_response(NULL,200);
  168.         }else{
  169.             $this->api_response(NULL,500);
  170.         }
  171.    }  
  172. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement