Files
BE_CPONE/application/controllers/mockup/rujukan-eksternal/List.php
2026-04-27 10:31:17 +07:00

119 lines
4.1 KiB
PHP

<?php
class List extends MY_Controller
{
var $db_onedev;
public function index()
{
echo "Verify Doctor API";
}
public function __construct()
{
parent::__construct();
$this->db_onedev = $this->load->database("onedev", true);
}
public function search()
{
$prm = $this->sys_input;
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$sdate = $prm['sdate'];
$edate = $prm['edate'];
$nama = $prm["name"];
$status = $prm["status"];
$number_limit = 10;
$number_offset = ($prm['current_page'] - 1) * $number_limit ;
$sql = " SELECT count(*) as total
FROM
(SELECT T_OrderDeliveryID
FROM one_rujukan_eksternal.t_orderdelivery
JOIN m_company ON M_CompanyID = T_OrderDeliveryM_CompanyID
JOIN one_rujukan_eksternal.t_deliverytype ON T_DeliveryTypeID = T_OrderDeliveryT_DeliverytypeID
JOIN one_rujukan_eksternal.t_order ON T_OrderID = T_OrderDetailDeliveryT_OrderID AND T_OrderIsActive = 'Y'
JOIN one_rujukan_eksternal.m_patient ON M_PatientID = T_OrderM_PatientID
JOIN one_rujukan_eksternal.t_orderdetailsample ON T_OrderDetailSampleT_OrderID = T_OrderID AND T_OrderDetailSampleIsActive = 'Y'
WHERE
T_OrderDeliveryDate = '{$deliveryorder}' AND
M_CompanyName LIKE CONCAT('%','{$nama}','%') AND
(T_OrderDeliveryDate BETWEEN '{$sdate} 00:00:00' AND '{$enddate} 23:59:59') AND
($status = 0 OR($status > 0 AND T_OrderDeliveryT_DeliverytypeID = $status)
GROUP BY T_OrderDeliveryID) a";
$query = $this->db_onedev->query($sql, $sql_param);
$tot_count = 0;
$tot_page = 0;
if ($query) {
$tot_count = $query->result_array()[0]["total"];
$tot_page = ceil($tot_count/$number_limit);
} else {
$this->sys_error_db("t_orderheader count", $this->db_onedev);
exit;
}
$sql = "SELECT T_OrderDeliveryID,
DATE_FORMAT(T_OrderDeliveryDate,'%d-%m-%Y') as tanggal_sj,
T_OrderDeliveryNumber,
M_CompanyName,
GROUP_CONCAT(T_OrderDetailSampleName SEPARATOR ',') as sampel,
T_OrderDeliveryStaffUsername,
T_DeliveryTypeName
FROM one_rujukan_eksternal.t_orderdelivery
JOIN m_company ON M_CompanyID = T_OrderDeliveryM_CompanyID
JOIN one_rujukan_eksternal.t_deliverytype ON T_DeliveryTypeID = T_OrderDeliveryT_DeliverytypeID
JOIN one_rujukan_eksternal.t_order ON T_OrderID = T_OrderDetailDeliveryT_OrderID AND T_OrderIsActive = 'Y'
JOIN one_rujukan_eksternal.m_patient ON M_PatientID = T_OrderM_PatientID
JOIN one_rujukan_eksternal.t_orderdetailsample ON T_OrderDetailSampleT_OrderID = T_OrderID AND T_OrderDetailSampleIsActive = 'Y'
WHERE
T_OrderDeliveryDate = '{$deliveryorder}' AND
M_CompanyName LIKE CONCAT('%','{$nama}','%') AND
(T_OrderDeliveryDate BETWEEN '{$sdate} 00:00:00' AND '{$enddate} 23:59:59') AND
($status = 0 OR($status > 0 AND T_OrderDeliveryT_DeliverytypeID = $status)
GROUP BY T_OrderDeliveryID
ORDER BY T_OrderDeliveryID DESC
limit $number_limit offset $number_offset";
$query = $this->db_onedev->query($sql, $sql_param);
//echo $this->db_onedev->last_query();
$rows = $query->result_array();
if($rows){
foreach($rows as $k => $v){
}
}
//$this->_add_address($rows);
$result = array("total" => $tot_page,"total_filter" => $tot_page2,"records" => $rows, "sql"=> $this->db_onedev->last_query());
$this->sys_ok($result);
exit;
}
function getsexreg(){
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$rows = [];
$query =" SELECT * FROM one_rujukan_eksternal.t_deliverytype
WHERE T_DeliveryTypeIsActive = 'Y'";
//echo $query;
$rows['statuses'] = $this->db_onedev->query($query)->result_array();
$result = array(
"total" => count($rows) ,
"records" => $rows,
);
$this->sys_ok($result);
exit;
}
}