Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- defined('BASEPATH') OR exit('No direct script access allowed');
- /**
- * POS API
- * @version 1.0
- * Egi adtya
- */
- include_once(APPPATH.'core/API_Controller.php');
- class V1 extends API_Controller {
- public function __construct() {
- parent::__construct();
- $this->load->model(array(
- 'api_model/Sales_m',
- 'api_model/User_m'
- ));
- }
- public function login_post(){
- $user_id = $this->post('user_id');
- $user_pass = $this->post('user_pass');
- @$user = $this->User_m->get_login($user_id, $user_pass);
- if ($user->num_rows() > 0) {
- $user = $user->row();
- $user_data = array(
- 'user_id' => $user->UserID,
- 'user_name' => $user->Name,
- 'store_id' => $user->StoreID,
- 'store' => $user->Description,
- 'brand' => $user->Brand,
- 'type' => $user->Type
- );
- $this->set_response_message('Login Berhasil');
- $this->api_response($user_data, 200);
- }else{
- $this->set_response_message('Salah memasukan User ID atau password');
- $this->api_response(NULL, 400);
- }
- }
- public function sales_get() {
- $user_id = $this->get("user_id");
- $sales_date = $this->get("date");
- @$sales = $this->Sales_m->get_sales_by_date($user_id,$sales_date);
- if($sales->num_rows() > 0){
- $sales_result = array();
- foreach ($sales->result() as $sale) {
- $sales_detail = $this->Sales_m->get_sales_detail($sale->SaleID)->result();
- $sales_result[] = array(
- "sale_id" => $sale->SaleID,
- "store_id" => $sale->StoreID,
- "date" => $sale->Date,
- "approve_date" => $sale->ApproveDate,
- "amount" => $sale->Amount,
- "discount" => $sale->Discount,
- "total" => $sale->Total,
- "is_approved" => $sale->Approve == 1 ? true :false,
- "approve_by" => $sale->ApproveBy,
- "transaction_item" => $sales_detail
- );
- }
- $data['data'] = $sales_result;
- $this->api_response($data, 200);
- } else {
- $this->set_response_message('Couldn\'t find any sales');
- $this->api_response(NULL, 404);
- }
- }
- public function style_get(){
- $brand = $this->get("brand");
- $styles = $this->Sales_m->get_style($brand);
- if($styles->num_rows() > 0){
- $data['data'] = $styles->result();
- $this->api_response($data, 200);
- } else {
- $this->set_response_message('Couldn\'t find any style');
- $this->api_response(NULL, 404);
- }
- }
- public function sku_get(){
- $sku = $this->Sales_m->get_sku();
- if($sku->num_rows() > 0){
- $data['data'] = $sku->result();
- $this->api_response($data, 200);
- } else {
- $this->set_response_message('Couldn\'t find any sku');
- $this->api_response(NULL, 404);
- }
- }
- public function sales_post(){
- $input = file_get_contents('php://input');
- $input = json_decode($input, TRUE);
- $date = new DateTime($input["date"]);
- $last_id = $this->Sales_m->get_last_sales_id($input["store_id"],$date->format('Ym'));
- if ($last_id != null) {
- $last_increment = substr($last_id->SaleID, -6) + 10;
- }else{
- $last_increment = 10;
- }
- $sales_head = array(
- "SaleID" => $input["store_id"].$date->format('ym').sprintf("%06d", $last_increment),
- "StoreID" => $input["store_id"],
- "Date" => $date->format("Y-m-d H:i:s"),
- "UserID" => $input["user_id"],
- "Amount" =>$input["total"],
- "Total" => $input["total"],
- "SourceID" => 0,
- "Approve" => 0,
- "Currency" => "IDR"
- );
- if ($this->Sales_m->save_sales_head($sales_head)) {
- $item_index = 1;
- foreach ($input["transaction_item"] as $item) {
- $sales_detail = array(
- "SaleID" =>$input["store_id"].$date->format('ym').sprintf("%06d", $last_increment),
- "StyleID" => $item["style_no"],
- "Quantity" => $item["qty"],
- "SKUCode" => $item["sku_no"],
- "Price" =>$item["price"],
- "Discount" =>0,
- "Amount" => $item["amount"],
- "IDDet" => $item_index++
- );
- $this->Sales_m->save_sales_detail($sales_detail);
- }
- $this->api_response(NULL,200);
- }else{
- $this->api_response(NULL,500);
- }
- }
- public function search_issue_get(){
- $issue_no = $this->get("issue_no");
- @$issue_head = $this->Sales_m->get_issue_head($issue_no);
- if($issue_head->num_rows() > 0){
- $issue_result = array();
- foreach ($issue_head->result() as $issue) {
- $issue_detail = $this->Sales_m->get_issue_detail($issue_no)->result();
- $issue_result[] = array(
- "user_id" => $issue->user_id,
- "remarks" => $issue->remarks,
- "date" => $issue->date,
- "origin_store_name" => $issue->origin_store_name,
- "origin_store_id" => $issue->origin_store_id,
- "issue_no" => $issue->issue_no,
- "issue_detail" => $issue_detail
- );
- }
- $data['data'] = $issue_result;
- $this->api_response($data, 200);
- } else {
- $this->set_response_message('Couldn\'t find any sales');
- $this->api_response(NULL, 404);
- }
- }
- public function delete_sales_post(){
- $sale_id = $this->post("sale_id");
- if ($this->Sales_m->delete_sales($sale_id)) {
- $this->Sales_m->delete_sales_detail($sale_id);
- $this->api_response(NULL,200);
- }else{
- $this->api_response(NULL,500);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement