db_onedev = $this->load->database("onedev", true); $sql = " SELECT Result_HandOverEmailID as xid, 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, Result_HandOverEmailUserID 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('http://localhost/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('http://localhost/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('http://localhost/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('http://localhost/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('http://localhost/birt/frameset?__report=report/one/lab/rpt_test_mikro_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 email_address, Result_HandOverEmailRetry 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 FROM result_handoveremail JOIN t_orderheader ON Result_HandOverEmailT_OrderHeaderID = T_OrderHeaderID 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 result_processtooffice ON Result_ProcessToOfficeT_OrderHeaderID = T_OrderHeaderID AND Result_ProcessToOfficeT_OrderPromiseID = Result_HandOverEmailT_OrderPromiseID AND Result_HandOverEmailT_OrderDeliveryID = Result_ProcessToOfficeT_OrderDeliveryID JOIN t_orderdelivery ON Result_ProcessToOfficeT_OrderDeliveryID = T_OrderDeliveryID AND T_OrderDeliveryIsActive = 'Y' JOIN m_user ON Result_HandOverEmailUserID = M_UserID 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 Result_ProcessToOfficeGroup_ResultID = Group_ResultID AND Group_ResultFlagNonLab = 'N' JOIN m_emailconfig ON M_EmailConfigIsActive = 'Y' WHERE Result_HandOverEmailStatus = 'S' AND Result_HandOverEmailIsActive = 'Y' GROUP BY Result_ProcessToOfficeID UNION SELECT Result_HandOverEmailID as xid, 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, Result_HandOverEmailUserID 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('http://localhost/birt/frameset?__report=report/one/lab/rpt_test_email_eng.rptdesign&__format=pdf&username=',M_StaffName,'&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) WHEN Group_ResultID = 2 THEN CONCAT('http://localhost/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('http://localhost/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('http://localhost/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('http://localhost/birt/frameset?__report=report/one/lab/rpt_test_mikro_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 email_address, Result_HandOverEmailRetry 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 FROM result_handoveremail JOIN t_orderheader ON Result_HandOverEmailT_OrderHeaderID = T_OrderHeaderID 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 result_processtooffice ON Result_ProcessToOfficeT_OrderHeaderID = T_OrderHeaderID AND Result_ProcessToOfficeT_OrderPromiseID = Result_HandOverEmailT_OrderPromiseID AND Result_HandOverEmailT_OrderDeliveryID = Result_ProcessToOfficeT_OrderDeliveryID JOIN t_orderdelivery ON Result_ProcessToOfficeT_OrderDeliveryID = T_OrderDeliveryID AND T_OrderDeliveryIsActive = 'Y' JOIN m_user ON Result_HandOverEmailUserID = M_UserID 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 Result_ProcessToOfficeGroup_ResultID = Group_ResultID AND Group_ResultFlagNonLab = 'N' JOIN m_emailconfig ON M_EmailConfigIsActive = 'Y' WHERE Result_HandOverEmailStatus = 'S' AND Result_HandOverEmailIsActive = 'Y' AND Group_ResultID = 1 GROUP BY Result_ProcessToOfficeID UNION SELECT Result_HandOverEmailID as xid, 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, Result_HandOverEmailUserID 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('http://localhost/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('http://localhost/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('http://localhost/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 T_EmailNonLabUrl WHEN Group_ResultID = 5 THEN T_EmailNonLabUrl WHEN Group_ResultID = 6 THEN T_EmailNonLabUrl WHEN Group_ResultID = 7 THEN T_EmailNonLabUrl WHEN Group_ResultID = 8 THEN T_EmailNonLabUrl WHEN Group_ResultID = 9 THEN T_EmailNonLabUrl WHEN Group_ResultID = 10 THEN T_EmailNonLabUrl WHEN Group_ResultID = 11 THEN T_EmailNonLabUrl WHEN Group_ResultID = 12 THEN CONCAT('http://localhost/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('http://localhost/birt/frameset?__report=report/one/lab/rpt_test_mikro_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 email_address, Result_HandOverEmailRetry 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 FROM result_handoveremail JOIN t_orderheader ON Result_HandOverEmailT_OrderHeaderID = T_OrderHeaderID 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 result_processtooffice ON Result_ProcessToOfficeT_OrderHeaderID = T_OrderHeaderID AND Result_ProcessToOfficeT_OrderPromiseID = Result_HandOverEmailT_OrderPromiseID AND Result_HandOverEmailT_OrderDeliveryID = Result_ProcessToOfficeT_OrderDeliveryID JOIN t_orderdelivery ON Result_ProcessToOfficeT_OrderDeliveryID = T_OrderDeliveryID AND T_OrderDeliveryIsActive = 'Y' JOIN m_user ON Result_HandOverEmailUserID = M_UserID 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 Result_HandOverEmailStatus = 'S' AND Result_HandOverEmailIsActive = 'Y' GROUP BY T_EmailNonLabID UNION SELECT Result_HandOverEmailID as xid, 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, Result_HandOverEmailUserID 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('http://localhost/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('http://localhost/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('http://localhost/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 T_EmailNonLabUrl WHEN Group_ResultID = 5 THEN T_EmailNonLabUrl WHEN Group_ResultID = 6 THEN T_EmailNonLabUrl WHEN Group_ResultID = 7 THEN T_EmailNonLabUrl WHEN Group_ResultID = 8 THEN T_EmailNonLabUrl WHEN Group_ResultID = 9 THEN T_EmailNonLabUrl WHEN Group_ResultID = 10 THEN T_EmailNonLabUrl WHEN Group_ResultID = 11 THEN T_EmailNonLabUrl WHEN Group_ResultID = 12 THEN CONCAT('http://localhost/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('http://localhost/birt/frameset?__report=report/one/lab/rpt_test_mikro_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 email_address, Result_HandOverEmailRetry 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 FROM result_handoveremail JOIN t_orderheader ON Result_HandOverEmailT_OrderHeaderID = T_OrderHeaderID 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 result_processtooffice ON Result_ProcessToOfficeT_OrderHeaderID = T_OrderHeaderID AND Result_ProcessToOfficeT_OrderPromiseID = Result_HandOverEmailT_OrderPromiseID AND Result_HandOverEmailT_OrderDeliveryID = Result_ProcessToOfficeT_OrderDeliveryID JOIN t_orderdelivery ON Result_ProcessToOfficeT_OrderDeliveryID = T_OrderDeliveryID AND T_OrderDeliveryIsActive = 'Y' JOIN m_user ON Result_HandOverEmailUserID = M_UserID 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' JOIN t_email_nonlab ON T_EmailNonLabT_OrderHeaderID = T_OrderDetailT_OrderHeaderID AND T_EmailNonLabResultEntryID = So_ResultEntryID AND T_EmailNonLabResultEntryID <> 0 JOIN m_emailconfig ON M_EmailConfigIsActive = 'Y' WHERE Result_HandOverEmailStatus = 'S' AND Result_HandOverEmailIsActive = 'Y' GROUP BY T_EmailNonLabID"; // echo $sql; $query = $this->db_onedev->query($sql); $rows = $query->result_array(); if($rows){ $exist_lab = 'N'; foreach($rows as $kx => $vx){ if($vx['Group_ResultID'] == '1' || $vx['Group_ResultID'] == 1) $exist_lab = 'Y'; } $rtn = $rows; 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 == 'Negatif') // $rows[$k]['url_rpt'] = 'http://localhost/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'){ $rtn[$k]['url_rpt'] = 'http://localhost/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'){ $new_group = $rows[$k]; $new_group['type_result'] = 'Mikro'; $new_group['url_rpt'] = 'http://localhost/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($rtn,$new_group); } } } } $data = array(); //if (count($rows) > 0 ) $data = $rows[0]; echo json_encode($rtn); } function updatedata($xid,$status) { $this->db_onedev = $this->load->database("onedev", true); //$xid = $this->input->get("xid"); //$status = $this->input->get("status"); $sql = "UPDATE result_handoveremail SET Result_HandOverEmailStatus = '{$status}', Result_HandOverEmailRetry = Result_HandOverEmailRetry + 1 WHERE Result_HandOverEmailID = {$xid}"; $query = $this->db_onedev->query($sql); $this->broadcast("email-done"); if($query) return true; else return false; } } ?>