db_antrione = $this->load->database("antrione", true); } function index() { echo ('API SERVICE'); } function search() { try { if (!$this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; // print_r($prm); // exit; $search = "%%"; if (isset($prm['search'])) { $search = trim($prm["search"]); $search = '%' . $prm['search'] . '%'; } $order_by = "serviceCode"; if (isset($prm['order_by'])) { $order_by = trim($prm["order_by"]); } $order = "asc"; if (isset($prm['order'])) { $order = trim($prm["order"]); } $sort = "order by " . $order_by . " " . $order; $page = $prm["page"]; $ROW_PER_PAGE = 10; $start_offset = 0; if (isset($prm["page"])) { if ( is_numeric($prm["page"]) && $prm["page"] > 0 ) { $start_offset = ($page - 1) * $ROW_PER_PAGE; } } $total_count = 0; $total_page = 0; $sqlCount = "SELECT COUNT(*) AS total FROM service WHERE serviceIsActive = 'Y' AND ( serviceCode LIKE ? OR serviceName LIKE ?) ORDER BY serviceCode"; $qryCount = $this->db_antrione->query($sqlCount, [$search, $search]); $last_qry = $this->db_antrione->last_query(); if (!$qryCount) { $error = array( "message" => $this->db_antrione->error()["message"], "sql" => $last_qry ); $this->sys_error_db($error); exit; } $sql = "SELECT * FROM service WHERE serviceIsActive = 'Y' AND ( serviceCode LIKE ? OR serviceName LIKE ?) $sort LIMIT 10 OFFSET ?"; $qry = $this->db_antrione->query($sql, [$search, $search, $start_offset]); $last_qry = $this->db_antrione->last_query(); if (!$qry) { $error = array( "message" => $this->db_antrione->error()["message"], "sql" => $last_qry ); $this->sys_error_db($error); exit; } $total = $qryCount->row_array(); $total_count = $total['total']; $total_page = ceil($total_count / $ROW_PER_PAGE); $data = $qry->result_array(); $result = array( "total_filter" => $total_count, "total" => $total_page, "records" => $data, "qry" => $last_qry ); $this->sys_ok($result); exit; } catch (Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } function add() { try { if (!$this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $code = ""; if (isset($prm['code'])) { $code = trim($prm["code"]); } $name = ""; if (isset($prm['name'])) { $name = trim($prm["name"]); } $priority = ""; if (isset($prm['priority'])) { $priority = trim($prm["priority"]); } $foOrder = ""; if (isset($prm['foOrder'])) { $foOrder = trim($prm["foOrder"]); } $isConsultDoctor = ""; if (isset($prm['isConsultDoctor'])) { $isConsultDoctor = trim($prm["isConsultDoctor"]); } $nameDoctor = ""; if (isset($prm['nameDoctor'])) { $nameDoctor = trim($prm["nameDoctor"]); } if ($isConsultDoctor == 'Y') { if ($code == "" || $name == "" || $priority == "" || $foOrder == "" || $nameDoctor == "") { $this->sys_error("code, name, priority, fo order, nama dokter is mandatory"); exit; } } else { if ($code == "" || $name == "" || $priority == "" || $foOrder == "") { $this->sys_error("code, name, priority, fo order is mandatory"); exit; } } $this->db_antrione->trans_begin(); $sql = "INSERT INTO service (serviceCode, serviceName, servicePriority, serviceIsFoOrder, serviceIsConsultDoctor, serviceDoctorName ) VALUES(?, ?, ?, ?, ?, ?)"; $qry = $this->db_antrione->query($sql, [$code, $name, $priority, $foOrder, $isConsultDoctor, $nameDoctor]); $last_qry = $this->db_antrione->last_query(); if (!$qry) { $error = array( "message" => $this->db_antrione->error()["message"], "sql" => $last_qry ); $this->sys_error_db($error); exit; } $insertedId = $this->db_antrione->insert_id(); $sqlNumbering = "INSERT INTO numbering (numberingServiceID, numberingPrefix, numberingDigit, numberingReset) VALUES(? ,? , 4, 'D')"; $qryNumbering = $this->db_antrione->query($sqlNumbering, [$insertedId, $insertedId]); if (!$qryNumbering) { $error = array( "message" => $this->db_antrione->error()["message"], "sql" => $last_qry ); $this->sys_error_db($error); exit; } $this->db_antrione->trans_complete(); $result = array( "qry" => $last_qry ); $this->sys_ok($result); exit; } catch (Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } function update() { try { if (!$this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $code = ""; if (isset($prm['code'])) { $code = trim($prm["code"]); } $id = ""; if (isset($prm['id'])) { $id = trim($prm["id"]); } $name = ""; if (isset($prm['name'])) { $name = trim($prm["name"]); } $priority = ""; if (isset($prm['priority'])) { $priority = trim($prm["priority"]); } $foOrder = ""; if (isset($prm['foOrder'])) { $foOrder = trim($prm["foOrder"]); } $isConsultDoctor = ""; if (isset($prm['isConsultDoctor'])) { $isConsultDoctor = trim($prm["isConsultDoctor"]); } $nameDoctor = ""; if (isset($prm['nameDoctor'])) { $nameDoctor = trim($prm["nameDoctor"]); } if ($isConsultDoctor == 'Y') { if ($code == "" || $name == "" || $priority == "" || $foOrder == "" || $nameDoctor == "") { $this->sys_error("code, name, priority, fo order, nama dokter is mandatory"); exit; } } else { if ($code == "" || $name == "" || $priority == "" || $foOrder == "") { $this->sys_error("code, name, priority, fo order is mandatory"); exit; } } $sql = "UPDATE service SET serviceCode = ?, serviceName = ?, servicePriority = ?, serviceIsFoOrder = ?, serviceIsConsultDoctor = ?, serviceDoctorName = ? WHERE serviceID = ?"; $qry = $this->db_antrione->query($sql, [$code, $name, $priority, $foOrder, $isConsultDoctor, $nameDoctor, $id]); $last_qry = $this->db_antrione->last_query(); if (!$qry) { $error = array( "message" => $this->db_antrione->error()["message"], "sql" => $last_qry ); $this->sys_error_db($error); exit; } $result = array( "qry" => $last_qry ); $this->sys_ok($result); exit; } catch (Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } function delete() { try { if (!$this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $id = ""; if (isset($prm['id'])) { $id = trim($prm["id"]); } $this->db_antrione->trans_begin(); $sql = "UPDATE service SET serviceIsActive = 'N' WHERE serviceID = ?"; $qry = $this->db_antrione->query($sql, [intval($id)]); $last_qry = $this->db_antrione->last_query(); if (!$qry) { $error = array( "message" => $this->db_antrione->error()["message"], "sql" => $last_qry ); $this->sys_error_db($error); exit; } $sqlNumbering = "UPDATE numbering SET numberingIsActive = 'N' WHERE numberingServiceID = ?"; $qryNumbering = $this->db_antrione->query($sqlNumbering, [intval($id)]); $last_qry = $this->db_antrione->last_query(); if (!$qryNumbering) { $error = array( "message" => $this->db_antrione->error()["message"], "sql" => $last_qry ); $this->sys_error_db($error); exit; } $this->db_antrione->trans_complete(); $result = array( "qry" => $last_qry ); $this->sys_ok($result); exit; } catch (Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } function listService() { try { $sql = "SELECT * FROM service WHERE serviceIsActive = 'Y'"; $qry = $this->db_antrione->query($sql, []); $last_qry = $this->db_antrione->last_query(); if (!$qry) { $error = array( "message" => $this->db_antrione->error()["message"], "sql" => $last_qry ); $this->sys_error_db($error); exit; } $data = $qry->result_array(); $result = array( "records" => $data, "qry" => $last_qry ); $this->sys_ok($result); exit; } catch (Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } }