db_onedev = $this->load->database("onedev", true); } public function getsetup() { try { // if (!$this->isLogin) { // $this->sys_error("Invalid Token"); // exit; // } $sql = "SELECT * FROM mgm_mcu WHERE Mgm_McuIsActive = 'Y'"; $qry = $this->db_onedev->query($sql, []); $last_qry = $this->db_onedev->last_query(); if (!$qry) { $message = $this->db_onedev->error(); $message['last_qry'] = $last_qry; $this->sys_error($message); exit; } $data = $qry->result_array(); $result = [ "records" => $data, ]; $this->sys_ok($result); } catch (Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } function search() { if (!$this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $page = $prm["page"]; $setup = $prm['setup']; $startDate = $prm['startDate']; $endDate = $prm['endDate']; $search = '%' . $prm['search'] . '%'; $ROW_PER_PAGE = 20; $start_offset = 0; // print_r($prm); if (isset($prm["page"])) { if ( is_numeric($prm["page"]) && $prm["page"] > 0 ) { $start_offset = ($page - 1) * $ROW_PER_PAGE; } } $sql = "SELECT * FROM `s_menu` WHERE `S_MenuName` = 'nonlab upload document' AND `S_MenuIsActive` = 'Y' "; $qry = $this->db_onedev->query($sql, []); if (!$qry) { $last_qry = $this->db_onedev->last_query(); $message = $this->db_onedev->error(); $message['last_qry'] = $last_qry; $this->sys_error("Error get url "); exit; } $url = $qry->row_array()['S_MenuUrl']; $sql = "SELECT COUNT(T_OrderHeaderID) as total FROM t_orderheader JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID LEFT JOIN m_title ON M_PatientM_TitleID = M_TitleID WHERE T_OrderHeaderMgm_McuID = ? AND DATE(T_OrderHeaderDate) BETWEEN ? AND ? AND (T_OrderHeaderLabNumber LIKE ? OR M_PatientName LIKE ?) AND T_OrderHeaderIsActive = 'Y' "; $qry = $this->db_onedev->query($sql, [$setup, $startDate, $endDate, $search, $search]); if (!$qry) { $last_qry = $this->db_onedev->last_query(); $message = $this->db_onedev->error(); $message['last_qry'] = $last_qry; $this->sys_error("Error search total"); exit; } $total = $qry->row_array()['total']; $sql = "SELECT T_OrderHeaderID as orderID, T_OrderHeaderLabNumber as labNumber, CONCAT(IFNULL(M_TitleName, ''), IF(M_TitleName IS NULL, '', '. '), M_PatientName) AS patientName FROM t_orderheader JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID LEFT JOIN m_title ON M_PatientM_TitleID = M_TitleID WHERE T_OrderHeaderMgm_McuID = ? AND DATE(T_OrderHeaderDate) BETWEEN ? AND ? AND (T_OrderHeaderLabNumber LIKE ? OR M_PatientName LIKE ?) AND T_OrderHeaderIsActive = 'Y' LIMIT ? OFFSET ? "; $qry = $this->db_onedev->query($sql, [$setup, $startDate, $endDate, $search, $search, $ROW_PER_PAGE, $start_offset]); if (!$qry) { $last_qry = $this->db_onedev->last_query(); $message = $this->db_onedev->error(); $message['last_qry'] = $last_qry; $this->sys_error("Error search"); exit; } $result = [ "total" => ceil($total / $ROW_PER_PAGE), "records" => $qry->result_array(), "url" => $url, "qry" => $this->db_onedev->last_query() ]; $this->sys_ok($result); } }