db->query("select database() as current_db")->result(); // print_r($cek); } function search() { try { if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $search = "%%"; if (isset($prm["search"])) { $search = trim($prm["search"]); if ($search != "") { $search = "%" . $prm["search"] . "%"; } else { $search = "%%"; } } $start_date = date("Y-m-d"); if (isset($prm['start_date'])) { $start_date = $prm["start_date"]; } $end_date = date("Y-m-d"); if (isset($prm['end_date'])) { $end_date = $prm["end_date"]; } $sortBy = $prm["sortBy"]; $sortStatus = $prm["sortStatus"]; if($sortBy){ $q_sort = "ORDER BY ".$sortBy." ".$sortStatus; } $number_offset = 0; $number_limit = 10; if($prm["current_page"] > 0) { $number_offset = ($prm["current_page"] - 1) * $number_limit; } $sql_filter = "SELECT COUNT(*) as total FROM one_bb.td_orderrelease JOIN one_bb.td_order ON Td_OrderReleaseTd_OrderID = Td_OrderID AND Td_OrderIsActive = 'Y' JOIN one_bb.td_donor ON Td_OrderTd_DonorID = Td_DonorID AND Td_DonorIsActive = 'Y' JOIN one_bb.td_orderbag ON Td_OrderReleaseTd_OrderBagID = Td_OrderBagID AND Td_OrderBagIsActive = 'Y' JOIN one_bb.td_bloodtype ON Td_DonorTd_BloodTypeID = Td_BloodTypeID AND Td_BloodTypeIsActive = 'Y' JOIN one_bb.td_orderaftap ON Td_OrderID = Td_OrderAftapTd_OrderID AND Td_OrderAftapIsActive = 'Y' JOIN one_bb.td_bloodcategory ON Td_OrderAftapTd_BloodCategoryID = Td_BloodCategoryID AND Td_BloodCategoryIsActive = 'Y' LEFT JOIN one_bb.m_almari ON Td_OrderReleaseM_AlmariID = M_AlmariID AND M_AlmariIsActive = 'Y' JOIN one_bb.td_orderimltd ON Td_OrderID = Td_OrderImltdTd_OrderID AND Td_OrderImltdIsActive = 'Y' WHERE Td_OrderReleaseIsActive = 'Y' AND (DATE(Td_OrderDate) BETWEEN ? AND ?) AND (Td_OrderBagNumber LIKE ?)"; $qry_filter = $this->db->query($sql_filter, array( $start_date, $end_date, $search )); // $last_query = $this->db->last_query(); // print_r($last_query); $tot_count = 0; $tot_page = 0; if ($qry_filter) { $tot_count = $qry_filter->result_array()[0]["total"]; $tot_page = ceil($tot_count/$number_limit); } else { $this->sys_error_db("release count error", $this->db); exit; } $sql = "SELECT Td_OrderReleaseID, Td_OrderReleaseTd_OrderID, DATE_FORMAT(Td_OrderDate, '%d-%m-%Y') as donor_created, Td_DonorName, Td_OrderReleaseVolume, IF(Td_OrderReleaseExpired = '0000-00-00', ' ',Td_OrderReleaseExpired) as expired, Td_OrderReleaseM_AlmariID, Td_OrderReleaseTd_OrderBagID, Td_OrderBagNumber, Td_BloodTypeCode, Td_OrderAftapCheckBag, Td_BloodCategoryCode, M_AlmariName, Td_OrderImltdResult, Td_OrderImltdNatResult FROM one_bb.td_orderrelease JOIN one_bb.td_order ON Td_OrderReleaseTd_OrderID = Td_OrderID AND Td_OrderIsActive = 'Y' JOIN one_bb.td_donor ON Td_OrderTd_DonorID = Td_DonorID AND Td_DonorIsActive = 'Y' JOIN one_bb.td_orderbag ON Td_OrderReleaseTd_OrderBagID = Td_OrderBagID AND Td_OrderBagIsActive = 'Y' JOIN one_bb.td_bloodtype ON Td_DonorTd_BloodTypeID = Td_BloodTypeID AND Td_BloodTypeIsActive = 'Y' JOIN one_bb.td_orderaftap ON Td_OrderID = Td_OrderAftapTd_OrderID AND Td_OrderAftapIsActive = 'Y' JOIN one_bb.td_bloodcategory ON Td_OrderAftapTd_BloodCategoryID = Td_BloodCategoryID AND Td_BloodCategoryIsActive = 'Y' LEFT JOIN one_bb.m_almari ON Td_OrderReleaseM_AlmariID = M_AlmariID AND M_AlmariIsActive = 'Y' JOIN one_bb.td_orderimltd ON Td_OrderID = Td_OrderImltdTd_OrderID AND Td_OrderImltdIsActive = 'Y' WHERE Td_OrderReleaseIsActive = 'Y' AND (DATE(Td_OrderDate) BETWEEN ? AND ?) AND (Td_OrderBagNumber LIKE ?) $q_sort LIMIT ? OFFSET ?"; $qry = $this->db->query($sql, array( $start_date, $end_date, $search, $number_limit, $number_offset )); // $last_query = $this->db->last_query(); // print_r($last_query); if ($qry) { $rows = $qry->result_array(); } else { $this->sys_error_db("select release error", $this->db); exit; } foreach ($rows as $idx => $r) { $check_bag = $r['Td_OrderAftapCheckBag']; $json_checkbag = json_decode($check_bag, true); $str_check_bag = implode(', ',$json_checkbag); $rows[$idx]['Td_OrderAftapCheckBag'] = $str_check_bag; } $result = array( "total" => $tot_page, "total_filter" => $tot_count, "records" => $rows ); $this->sys_ok($result); exit; } catch (Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } } ?>