366 lines
21 KiB
PHP
366 lines
21 KiB
PHP
<?php
|
|
class Wa extends MY_Controller
|
|
{
|
|
var $db_onedev;
|
|
public function index()
|
|
{
|
|
echo "WA API";
|
|
}
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->db_onedev = $this->load->database("onedev", true);
|
|
}
|
|
|
|
|
|
|
|
function search()
|
|
{
|
|
$sql = "SELECT T_OrderHeaderID as order_id,
|
|
T_OrderDeliveryID as delivery_id,
|
|
T_OrderDeliveryDestination as hp,
|
|
T_OrderPromiseID as order_promise_id,
|
|
T_OrderHeaderLabNumber as noreg,
|
|
T_OrderHeaderLabNumberExt as noreg_ext,
|
|
CONCAT(IFNULL(M_TitleName,''),' ',M_PatientName) as patient_fullname,
|
|
DATE_FORMAT(T_OrderHeaderDate,'%d-%m-%Y %H:%i') as order_date,
|
|
DATE_FORMAT(T_OrderPromiseDateTime,'%d-%m-%Y %H:%i') as promise_date,
|
|
DATE(T_OrderPromiseDateTime) as order_promise_date,
|
|
M_CompanyName as company_name,
|
|
IF(M_MouIsBill = 'Y','Y',Last_StatusPaymentIsLunas) as status_payment,
|
|
'' as staff_name,
|
|
'' as send_time,
|
|
'' as receiver_time,
|
|
'Y' as status_ready,
|
|
'Y' as status_complete_format,
|
|
T_OrderHeaderIsCito as iscito,
|
|
M_DeliveryName as label_delivery,
|
|
'' as not_found_format
|
|
FROM t_orderheader
|
|
JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID
|
|
LEFT JOIN m_title ON M_PatientM_TitleID = M_TitleID
|
|
JOIN m_company ON T_OrderHeaderM_CompanyID = M_CompanyID
|
|
JOIN m_mou ON T_OrderHeaderM_MouID = M_MouID
|
|
JOIN t_orderpromise ON T_OrderHeaderID = T_OrderPromiseT_OrderHeaderID AND
|
|
T_OrderPromiseIsActive = 'Y'
|
|
JOIN t_orderdelivery ON T_orderDeliveryT_OrderHeaderID = T_OrderHeaderID AND
|
|
T_OrderDeliveryM_DeliveryTypeID = 4 AND T_OrderDeliveryIsActive = 'Y'
|
|
JOIN m_delivery ON T_OrderDeliveryM_DeliveryID = M_DeliveryID
|
|
JOIN last_statuspayment ON Last_StatusPaymentT_OrderHeaderID = T_OrderHeaderID
|
|
WHERE
|
|
(
|
|
DATE(T_OrderPromiseDateTime) = date(now())
|
|
) AND
|
|
T_OrderHeaderIsActive = 'Y'
|
|
GROUP BY T_OrderHeaderID, DATE(T_OrderPromiseDateTime), T_OrderDeliveryID
|
|
Order BY T_OrderPromiseDateTime ASC, T_OrderHeaderID ASC, T_OrderDeliveryID ASC";
|
|
//echo $sql;
|
|
$query = $this->db_onedev->query($sql);
|
|
$rows = $query->result_array();
|
|
//echo $this->db_onedev->last_query();
|
|
}
|
|
function getdatabypromise($promisedate) {
|
|
$this->db_onedev = $this->load->database("onedev", true);
|
|
|
|
$sql = " SELECT T_OrderHeaderID as order_id,
|
|
T_OrderHeaderLabNumberExt as order_noreg_ext,
|
|
T_OrderHeaderLabNumber as order_noreg,
|
|
CONCAT(IFNULL(M_TitleName,''),' ',M_PatientName) as patient_name,
|
|
M_CompanyName as company_name,
|
|
M_CompanyTypeID as company_type_id,
|
|
M_UserID as user_id,
|
|
M_StaffName as staff_name,
|
|
M_CompanyTypeName as company_type_name,
|
|
IF((T_OrderDeliveryM_DeliveryID = 3),'APS',IF(T_OrderDeliveryM_DeliveryID = 5,'APD','RK')) as type_format,
|
|
CASE
|
|
WHEN Group_ResultID = 1 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_test_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
WHEN Group_ResultID = 2 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_papsmear_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
WHEN Group_ResultID = 3 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_fna_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
WHEN Group_ResultID = 4 THEN 'laporan_Rontgen'
|
|
WHEN Group_ResultID = 5 THEN 'laporan_BMD'
|
|
WHEN Group_ResultID = 6 THEN 'laporan_USG'
|
|
WHEN Group_ResultID = 7 THEN 'laporan_Elektromedik'
|
|
WHEN Group_ResultID = 8 THEN 'laporan_Pemeriksaan Fisik'
|
|
WHEN Group_ResultID = 9 THEN 'laporan_Tensi'
|
|
WHEN Group_ResultID = 10 THEN 'laporan_Tensi'
|
|
WHEN Group_ResultID = 11 THEN 'laporan_Manthoux Test'
|
|
WHEN Group_ResultID = 12 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_lcprep_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
WHEN Group_ResultID = 13 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_test_mikro_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
WHEN Group_ResultID = 14 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_cytologi_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
END as url_rpt,
|
|
Group_ResultID,
|
|
if(Group_ResultFlagPerTest = 'Y',T_TestName,Group_ResultName) as type_result,
|
|
T_OrderDeliveryDestination as hp,
|
|
0 as retry_count,
|
|
DATE_FORMAT(T_OrderHeaderDate,'%d-%m-%Y') as order_date,
|
|
CONCAT(IFNULL(M_DoctorPrefix,''),'',IFNULL(M_DoctorPrefix2,''),' ',M_DoctorName,' ',IFNULL(M_DoctorSufix,''),IFNULL(M_DoctorSufix2,''),IFNULL(M_DoctorSufix3,'')) as doctor_name,
|
|
'' as details
|
|
FROM t_orderheader
|
|
JOIN m_doctor ON T_OrderHeaderSenderM_DoctorID = M_DoctorID
|
|
JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID
|
|
LEFT JOIN m_title ON M_PatientM_TitleID = M_TitleID
|
|
JOIN m_company ON T_OrderHeaderM_CompanyID = M_CompanyID
|
|
LEFT JOIN m_companytype ON M_CompanyM_CompanyTypeID = M_CompanyTypeID
|
|
JOIN t_orderdelivery ON T_orderDeliveryT_OrderHeaderID = T_OrderHeaderID AND
|
|
T_OrderDeliveryM_DeliveryTypeID = 4 AND T_OrderDeliveryIsActive = 'Y'
|
|
JOIN t_orderpromise ON T_OrderHeaderID = T_OrderPromiseT_OrderHeaderID AND
|
|
T_OrderPromiseIsActive = 'Y'
|
|
JOIN m_delivery ON T_OrderDeliveryM_DeliveryID = M_DeliveryID
|
|
JOIN m_user ON M_UserID = 3
|
|
JOIN m_staff ON M_UserM_StaffID = M_StaffID
|
|
JOIN t_orderdetail ON T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y'
|
|
JOIN t_test ON T_OrderDetailT_TestID = T_TestID
|
|
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
|
JOIN group_result ON Group_ResultDetailGroup_ResultID = Group_ResultID AND Group_ResultFlagNonLab = 'N'
|
|
WHERE
|
|
( DATE(T_OrderPromiseDateTime) = '{$promisedate}') AND
|
|
T_OrderHeaderIsActive = 'Y'
|
|
GROUP BY T_OrderHeaderID, DATE(T_OrderPromiseDateTime)
|
|
|
|
UNION
|
|
SELECT T_OrderHeaderID as order_id,
|
|
T_OrderHeaderLabNumberExt as order_noreg_ext,
|
|
T_OrderHeaderLabNumber as order_noreg,
|
|
CONCAT(IFNULL(M_TitleName,''),' ',M_PatientName) as patient_name,
|
|
M_CompanyName as company_name,
|
|
M_CompanyTypeID as company_type_id,
|
|
M_UserID as user_id,
|
|
M_StaffName as staff_name,
|
|
M_CompanyTypeName as company_type_name,
|
|
IF((T_OrderDeliveryM_DeliveryID = 3),'APS',IF(T_OrderDeliveryM_DeliveryID = 5,'APD','RK')) as type_format,
|
|
CASE
|
|
WHEN Group_ResultID = 1 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_test_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
WHEN Group_ResultID = 2 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_papsmear_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
WHEN Group_ResultID = 3 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_fna_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
WHEN Group_ResultID = 4 THEN 'laporan_Rontgen'
|
|
WHEN Group_ResultID = 5 THEN 'laporan_BMD'
|
|
WHEN Group_ResultID = 6 THEN 'laporan_USG'
|
|
WHEN Group_ResultID = 7 THEN 'laporan_Elektromedik'
|
|
WHEN Group_ResultID = 8 THEN 'laporan_Pemeriksaan Fisik'
|
|
WHEN Group_ResultID = 9 THEN 'laporan_Tensi'
|
|
WHEN Group_ResultID = 10 THEN 'laporan_Tensi'
|
|
WHEN Group_ResultID = 11 THEN 'laporan_Manthoux Test'
|
|
WHEN Group_ResultID = 12 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_lcprep_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
WHEN Group_ResultID = 13 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_test_mikro_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
WHEN Group_ResultID = 14 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_cytologi_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
END as url_rpt,
|
|
Group_ResultID,
|
|
CONCAT(if(Group_ResultFlagPerTest = 'Y',T_TestName,Group_ResultName),'_',M_LangCode) as type_result,
|
|
T_OrderDeliveryDestination as hp,
|
|
0 as retry_count,
|
|
DATE_FORMAT(T_OrderHeaderDate,'%d-%m-%Y') as order_date,
|
|
CONCAT(IFNULL(M_DoctorPrefix,''),'',IFNULL(M_DoctorPrefix2,''),' ',M_DoctorName,' ',IFNULL(M_DoctorSufix,''),IFNULL(M_DoctorSufix2,''),IFNULL(M_DoctorSufix3,'')) as doctor_name,
|
|
'' as details
|
|
FROM t_orderheader
|
|
JOIN t_orderheaderaddon ON T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID
|
|
JOIN m_lang ON T_OrderHeaderAddOnSecondM_LangID = M_LangID
|
|
JOIN m_doctor ON T_OrderHeaderSenderM_DoctorID = M_DoctorID
|
|
JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID
|
|
LEFT JOIN m_title ON M_PatientM_TitleID = M_TitleID
|
|
JOIN m_company ON T_OrderHeaderM_CompanyID = M_CompanyID
|
|
LEFT JOIN m_companytype ON M_CompanyM_CompanyTypeID = M_CompanyTypeID
|
|
JOIN t_orderdelivery ON T_orderDeliveryT_OrderHeaderID = T_OrderHeaderID AND
|
|
T_OrderDeliveryM_DeliveryTypeID = 4 AND T_OrderDeliveryIsActive = 'Y'
|
|
JOIN t_orderpromise ON T_OrderHeaderID = T_OrderPromiseT_OrderHeaderID AND
|
|
T_OrderPromiseIsActive = 'Y'
|
|
JOIN m_delivery ON T_OrderDeliveryM_DeliveryID = M_DeliveryID
|
|
JOIN m_user ON M_UserID = 3
|
|
JOIN m_staff ON M_UserM_StaffID = M_StaffID
|
|
JOIN t_orderdetail ON T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y'
|
|
JOIN t_test ON T_OrderDetailT_TestID = T_TestID
|
|
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
|
JOIN group_result ON Group_ResultDetailGroup_ResultID = Group_ResultID AND Group_ResultFlagNonLab = 'N'
|
|
WHERE
|
|
( DATE(T_OrderPromiseDateTime) = '{$promisedate}') AND
|
|
T_OrderHeaderIsActive = 'Y' AND Group_ResultID = 1
|
|
GROUP BY T_OrderHeaderID, DATE(T_OrderPromiseDateTime)
|
|
|
|
UNION
|
|
SELECT T_OrderHeaderID as order_id,
|
|
T_OrderHeaderLabNumberExt as order_noreg_ext,
|
|
T_OrderHeaderLabNumber as order_noreg,
|
|
CONCAT(IFNULL(M_TitleName,''),' ',M_PatientName) as patient_name,
|
|
M_CompanyName as company_name,
|
|
M_CompanyTypeID as company_type_id,
|
|
M_UserID as user_id,
|
|
M_StaffName as staff_name,
|
|
M_CompanyTypeName as company_type_name,
|
|
IF((T_OrderDeliveryM_DeliveryID = 3),'APS',IF(T_OrderDeliveryM_DeliveryID = 5,'APD','RK')) as type_format,
|
|
CASE
|
|
WHEN Group_ResultID = 1 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_test_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
WHEN Group_ResultID = 2 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_papsmear_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
WHEN Group_ResultID = 3 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_fna_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
WHEN Group_ResultID = 4 THEN 'laporan_Rontgen'
|
|
WHEN Group_ResultID = 5 THEN 'laporan_BMD'
|
|
WHEN Group_ResultID = 6 THEN 'laporan_USG'
|
|
WHEN Group_ResultID = 7 THEN 'laporan_Elektromedik'
|
|
WHEN Group_ResultID = 8 THEN 'laporan_Pemeriksaan Fisik'
|
|
WHEN Group_ResultID = 9 THEN 'laporan_Tensi'
|
|
WHEN Group_ResultID = 10 THEN 'laporan_Tensi'
|
|
WHEN Group_ResultID = 11 THEN 'laporan_Manthoux Test'
|
|
WHEN Group_ResultID = 12 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_lcprep_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
WHEN Group_ResultID = 13 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_test_mikro_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
WHEN Group_ResultID = 14 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_cytologi_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
END as url_rpt,
|
|
Group_ResultID,
|
|
if(Group_ResultFlagPerTest = 'Y',T_TestName,Group_ResultName) as type_result,
|
|
T_OrderDeliveryDestination as hp,
|
|
0 as retry_count,
|
|
DATE_FORMAT(T_OrderHeaderDate,'%d-%m-%Y') as order_date,
|
|
CONCAT(IFNULL(M_DoctorPrefix,''),'',IFNULL(M_DoctorPrefix2,''),' ',M_DoctorName,' ',IFNULL(M_DoctorSufix,''),IFNULL(M_DoctorSufix2,''),IFNULL(M_DoctorSufix3,'')) as doctor_name,
|
|
'' as details
|
|
FROM t_orderheader
|
|
JOIN m_doctor ON T_OrderHeaderSenderM_DoctorID = M_DoctorID
|
|
JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID
|
|
LEFT JOIN m_title ON M_PatientM_TitleID = M_TitleID
|
|
JOIN m_company ON T_OrderHeaderM_CompanyID = M_CompanyID
|
|
LEFT JOIN m_companytype ON M_CompanyM_CompanyTypeID = M_CompanyTypeID
|
|
JOIN t_orderdelivery ON T_orderDeliveryT_OrderHeaderID = T_OrderHeaderID AND
|
|
T_OrderDeliveryM_DeliveryTypeID = 4 AND T_OrderDeliveryIsActive = 'Y'
|
|
JOIN t_orderpromise ON T_OrderHeaderID = T_OrderPromiseT_OrderHeaderID AND
|
|
T_OrderPromiseIsActive = 'Y'
|
|
JOIN m_delivery ON T_OrderDeliveryM_DeliveryID = M_DeliveryID
|
|
JOIN m_user ON M_UserID = 3
|
|
JOIN m_staff ON M_UserM_StaffID = M_StaffID
|
|
JOIN t_orderdetail ON T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y'
|
|
JOIN t_test ON T_OrderDetailT_TestID = T_TestID
|
|
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
|
JOIN group_result ON Group_ResultDetailGroup_ResultID = Group_ResultID AND Group_ResultFlagNonLab = 'Y' AND (
|
|
Group_ResultName = 'Rontgen' OR Group_ResultName = 'BMD' OR Group_ResultName = 'USG'
|
|
)
|
|
JOIN t_email_nonlab ON T_EmailNonLabT_OrderHeaderID = T_OrderDetailT_OrderHeaderID AND T_EmailNonLabResultEntryID = 0 AND
|
|
T_EmailNonLabType = Group_ResultName
|
|
JOIN m_emailconfig ON M_EmailConfigIsActive = 'Y'
|
|
WHERE
|
|
( DATE(T_OrderPromiseDateTime) = '{$promisedate}') AND
|
|
T_OrderHeaderIsActive = 'Y'
|
|
GROUP BY T_OrderHeaderID, DATE(T_OrderPromiseDateTime)
|
|
UNION
|
|
SELECT T_OrderHeaderID as order_id,
|
|
T_OrderHeaderLabNumberExt as order_noreg_ext,
|
|
T_OrderHeaderLabNumber as order_noreg,
|
|
CONCAT(IFNULL(M_TitleName,''),' ',M_PatientName) as patient_name,
|
|
M_CompanyName as company_name,
|
|
M_CompanyTypeID as company_type_id,
|
|
M_UserID as user_id,
|
|
M_StaffName as staff_name,
|
|
M_CompanyTypeName as company_type_name,
|
|
IF((T_OrderDeliveryM_DeliveryID = 3),'APS',IF(T_OrderDeliveryM_DeliveryID = 5,'APD','RK')) as type_format,
|
|
CASE
|
|
WHEN Group_ResultID = 1 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_test_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
WHEN Group_ResultID = 2 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_papsmear_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
WHEN Group_ResultID = 3 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_fna_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
WHEN Group_ResultID = 4 THEN 'laporan_Rontgen'
|
|
WHEN Group_ResultID = 5 THEN 'laporan_BMD'
|
|
WHEN Group_ResultID = 6 THEN 'laporan_USG'
|
|
WHEN Group_ResultID = 7 THEN 'laporan_Elektromedik'
|
|
WHEN Group_ResultID = 8 THEN 'laporan_Pemeriksaan Fisik'
|
|
WHEN Group_ResultID = 9 THEN 'laporan_Tensi'
|
|
WHEN Group_ResultID = 10 THEN 'laporan_Tensi'
|
|
WHEN Group_ResultID = 11 THEN 'laporan_Manthoux Test'
|
|
WHEN Group_ResultID = 12 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_lcprep_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
WHEN Group_ResultID = 13 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_test_mikro_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
WHEN Group_ResultID = 14 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_cytologi_email.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP())
|
|
END as url_rpt,
|
|
Group_ResultID,
|
|
if(Group_ResultFlagPerTest = 'Y',T_TestName,Group_ResultName) as type_result,
|
|
T_OrderDeliveryDestination as hp,
|
|
0 as retry_count,
|
|
DATE_FORMAT(T_OrderHeaderDate,'%d-%m-%Y') as order_date,
|
|
CONCAT(IFNULL(M_DoctorPrefix,''),'',IFNULL(M_DoctorPrefix2,''),' ',M_DoctorName,' ',IFNULL(M_DoctorSufix,''),IFNULL(M_DoctorSufix2,''),IFNULL(M_DoctorSufix3,'')) as doctor_name,
|
|
'' as details
|
|
FROM t_orderheader
|
|
JOIN m_doctor ON T_OrderHeaderSenderM_DoctorID = M_DoctorID
|
|
JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID
|
|
LEFT JOIN m_title ON M_PatientM_TitleID = M_TitleID
|
|
JOIN m_company ON T_OrderHeaderM_CompanyID = M_CompanyID
|
|
LEFT JOIN m_companytype ON M_CompanyM_CompanyTypeID = M_CompanyTypeID
|
|
JOIN t_orderdelivery ON T_orderDeliveryT_OrderHeaderID = T_OrderHeaderID AND
|
|
T_OrderDeliveryM_DeliveryTypeID = 4 AND T_OrderDeliveryIsActive = 'Y'
|
|
JOIN t_orderpromise ON T_OrderHeaderID = T_OrderPromiseT_OrderHeaderID AND
|
|
T_OrderPromiseIsActive = 'Y'
|
|
JOIN m_delivery ON T_OrderDeliveryM_DeliveryID = M_DeliveryID
|
|
JOIN m_user ON M_UserID = 3
|
|
JOIN m_staff ON M_UserM_StaffID = M_StaffID
|
|
JOIN t_orderdetail ON T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y'
|
|
JOIN t_test ON T_OrderDetailT_TestID = T_TestID
|
|
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
|
JOIN group_result ON Group_ResultDetailGroup_ResultID = Group_ResultID AND Group_ResultFlagNonLab = 'Y'
|
|
JOIN so_resultentry ON So_ResultEntryT_OrderDetailID = T_OrderDetailID AND So_ResultEntryIsActive = 'Y'
|
|
WHERE
|
|
( DATE(T_OrderPromiseDateTime) = '{$promisedate}') AND
|
|
T_OrderHeaderIsActive = 'Y'
|
|
GROUP BY T_OrderHeaderID, DATE(T_OrderPromiseDateTime)";
|
|
//echo $sql;
|
|
$query = $this->db_onedev->query($sql);
|
|
$rows = $query->result_array();
|
|
if($rows){
|
|
$exist_lab = 'N';
|
|
foreach($rows as $kx => $vx){
|
|
if($vx['type_result'] == 'LAB')
|
|
$exist_lab = 'Y';
|
|
}
|
|
|
|
foreach($rows as $k => $v){
|
|
if($v['Group_ResultID'] == '13' || $v['Group_ResultID'] == 13){
|
|
$sql = "SELECT T_OrderDetailResult as result
|
|
FROM t_orderdetail
|
|
JOIN t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsResult = 'Y'
|
|
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_OrderDetailT_TestID AND Group_ResultDetailIsActive = 'Y'
|
|
JOIN group_result ON Group_ResultDetailGroup_ResultID = Group_ResultID AND Group_ResultFlagNonLab = 'N' AND
|
|
Group_ResultName = 'Mikro'
|
|
WHERE T_OrderDetailT_OrderHeaderID = {$v['order_id']} AND T_OrderDetailIsActive = 'Y' LIMIT 1";
|
|
//echo $sql;
|
|
$xresult = $this->db_onedev->query($sql)->row()->result;
|
|
//if($xresult != 'P')
|
|
//$rows[$k]['url_rpt'] = '/birt/frameset?__report=report/one/lab/rpt_test_email.rptdesign&__format=pdf&username='.$v['staff_name'].'&PID='.$v['order_id'].'&ts='.strtotime("now");
|
|
if($xresult != 'Terlampir'){
|
|
$rows[$k]['url_rpt'] = '/birt/frameset?__report=report/one/lab/rpt_test_email.rptdesign&__format=pdf&username='.$v['staff_name'].'&PID='.$v['order_id'].'&ts='.strtotime("now");
|
|
}
|
|
|
|
if($xresult == 'Terlampir' && $exist_lab == 'N'){
|
|
$rows[$k]['type_result'] = 'Lampiran Mikro';
|
|
$new_group = $rows[$k];
|
|
$new_group['type_result'] = 'Mikro';
|
|
$new_group['url_rpt'] = '/birt/frameset?__report=report/one/lab/rpt_test_email.rptdesign&__format=pdf&username='.$v['staff_name'].'&PID='.$v['order_id'].'&ts='.strtotime("now");
|
|
array_push($rows,$new_group);
|
|
}
|
|
}
|
|
}
|
|
|
|
$arr_grouping = array();
|
|
foreach($rows as $ki => $vi){
|
|
$idx = $this->getgroup_idx($arr_grouping,$vi['order_id']);
|
|
if($idx == -1){
|
|
$xnew = $vi;
|
|
$xnew['details'] = array(array('type_result'=>$vi['type_result'],'url'=>$vi['url_rpt']));
|
|
array_push($arr_grouping,$xnew);
|
|
}
|
|
else{
|
|
$e_old = $arr_grouping[$idx]['details'];
|
|
array_push($e_old,array('type_result'=>$vi['type_result'],'url'=>$vi['url_rpt']));
|
|
$arr_grouping[$idx]['details'] = $e_old;
|
|
}
|
|
}
|
|
}
|
|
|
|
$data = array();
|
|
//if (count($rows) > 0 ) $data = $rows[0];
|
|
|
|
echo json_encode($arr_grouping);
|
|
}
|
|
|
|
function getgroup_idx($groups,$orderid){
|
|
$idx = -1;
|
|
foreach($groups as $k => $v){
|
|
if($v['order_id'] == $orderid){
|
|
$idx = $k;
|
|
}
|
|
}
|
|
return $idx;
|
|
}
|
|
|
|
|
|
|
|
}
|