Batch 6a: application controllers base
This commit is contained in:
119
application/controllers/training/StationQueue.php
Normal file
119
application/controllers/training/StationQueue.php
Normal file
@@ -0,0 +1,119 @@
|
||||
<?php
|
||||
class StationQueue extends MY_Controller
|
||||
{
|
||||
|
||||
function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
function getQueueLab()
|
||||
{
|
||||
$prm = $this->sys_input;
|
||||
$station_id = "station_id";
|
||||
if (isset($prm['station_id'])) {
|
||||
$station_id = trim($prm["station_id"]);
|
||||
}
|
||||
$sql = "SELECT T_OrderSampleT_OrderHeaderID AS order_header_id,
|
||||
T_OrderHeaderLabNumber AS order_lab_number,
|
||||
T_OrderSampleT_SampleStationID AS station_id,
|
||||
T_OrderHeaderDate AS order_date,
|
||||
T_OrderHeaderQueue AS queue_number,
|
||||
T_OrderHeaderM_PatientID AS patient_id,
|
||||
M_PatientName AS patient_name,
|
||||
T_OrderHeaderIsCito AS is_cito,
|
||||
fn_sampling_queue_status_name(T_OrderHeaderID,T_SampleStationID) as status
|
||||
FROM t_ordersample
|
||||
JOIN t_samplestation ON T_OrderSampleT_SampleStationID = T_SampleStationID
|
||||
AND T_SampleStationIsActive = 'Y'
|
||||
AND T_SampleStationID = ?
|
||||
JOIN t_orderheader ON T_OrderSampleT_OrderHeaderID = T_OrderHeaderID
|
||||
AND DATE_FORMAT(T_OrderHeaderDate, '%M %d %Y') =
|
||||
DATE_FORMAT(Now(), '%M %d %Y') AND T_OrderHeaderIsActive = 'Y'
|
||||
JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID
|
||||
JOIN t_orderheaderaddon ON T_OrderHeaderID = T_OrderHeaderAddOnT_OrderHeaderID
|
||||
AND T_OrderHeaderAddOnIsActive = 'Y'
|
||||
JOIN last_status ON T_OrderHeaderID = Last_StatusT_OrderHeaderID
|
||||
AND ( Last_StatusM_StatusID > 3 OR Last_StatusM_StatusID NOT IN (4,6) )
|
||||
WHERE T_OrderSampleIsActive = 'Y'
|
||||
AND T_OrderSampleReceive = 'N'
|
||||
GROUP BY T_OrderHeaderID
|
||||
ORDER BY T_OrderHeaderIsCito DESC, T_OrderHeaderDate ASC, T_OrderHeaderAddonIsComingDate ASC";
|
||||
$qry = $this->db->query($sql, array($station_id));
|
||||
$last_qry = $this->db->last_query();
|
||||
if (!$qry) {
|
||||
$this->db->trans_rollback();
|
||||
$error = array(
|
||||
"message" => $this->db->error()["message"],
|
||||
"sql" => $last_qry
|
||||
);
|
||||
$this->sys_error_db($error);
|
||||
exit;
|
||||
} else {
|
||||
$value = $qry->result_array();
|
||||
$result = array(
|
||||
"data" => $value,
|
||||
"query" => $last_qry,
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
}
|
||||
}
|
||||
function getQueueNonLab()
|
||||
{
|
||||
$prm = $this->sys_input;
|
||||
$station_id = "station_id";
|
||||
if (isset($prm['station_id'])) {
|
||||
$station_id = trim($prm["station_id"]);
|
||||
}
|
||||
$sql = "SELECT T_OrderHeaderID AS order_id,
|
||||
T_OrderHeaderDate AS order_date,
|
||||
T_OrderHeaderLabNumber AS order_lab_number,
|
||||
T_OrderHeaderM_PatientID AS patient_id,
|
||||
M_PatientName AS patient_name,
|
||||
T_OrderHeaderIsCito AS is_cito,
|
||||
T_BahanT_SampleStationID AS station_id,
|
||||
fn_sampling_queue_status_name(T_OrderHeaderID,T_SampleStationID) as statusid,
|
||||
T_SampleStationIsNonLab AS is_non_lab
|
||||
FROM t_orderdetail
|
||||
JOIN t_orderheader ON T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
||||
AND T_OrderHeaderIsActive = 'Y'
|
||||
JOIN t_orderheaderaddon ON T_OrderHeaderID = T_OrderHeaderAddOnT_OrderHeaderID
|
||||
AND T_OrderHeaderAddOnIsActive = 'Y'
|
||||
JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID
|
||||
JOIN t_test ON T_OrderDetailT_TestID = T_TestID
|
||||
AND T_TestIsActive = 'Y'
|
||||
JOIN t_sampletype ON T_TestT_SampleTypeID = T_SampleTypeID
|
||||
AND T_SampleTypeIsActive = 'Y'
|
||||
JOIN t_bahan ON T_SampleTypeT_BahanID = T_BahanID
|
||||
AND T_BahanIsActive = 'Y'
|
||||
JOIN t_samplestation ON T_BahanT_SampleStationID = T_SampleStationID
|
||||
AND T_SampleStationIsActive = 'Y'
|
||||
AND T_SampleStationIsNonLab <> ''
|
||||
AND T_SampleStationID = ?
|
||||
LEFT JOIN t_samplingso ON T_OrderDetailT_OrderHeaderID= T_SamplingSoT_OrderHeaderID
|
||||
AND T_OrderDetailT_TestID = T_SamplingSoT_TestID
|
||||
AND T_SamplingSoT_SampleStationID = T_SampleStationID
|
||||
WHERE DATE_FORMAT(T_OrderHeaderDate, '%M %d %Y') =
|
||||
DATE_FORMAT(Now(), '%M %d %Y')
|
||||
AND T_OrderDetailIsActive = 'Y'
|
||||
AND (ISNULL(T_SamplingSoID) OR T_SamplingSoFlag = 'P' OR T_SamplingSoFlag = 'X')
|
||||
ORDER BY T_OrderHeaderIsCito DESC, T_OrderHeaderDate ASC, T_OrderHeaderAddonIsComingDate ASC";
|
||||
$qry = $this->db->query($sql, array($station_id));
|
||||
$last_qry = $this->db->last_query();
|
||||
if (!$qry) {
|
||||
$this->db->trans_rollback();
|
||||
$error = array(
|
||||
"message" => $this->db->error()["message"],
|
||||
"sql" => $last_qry
|
||||
);
|
||||
$this->sys_error_db($error);
|
||||
exit;
|
||||
} else {
|
||||
$value = $qry->result_array();
|
||||
$result = array(
|
||||
"data" => $value,
|
||||
"query" => $last_qry,
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user