Initial import
This commit is contained in:
BIN
application/controllers/v1/su/.Barcode.php.swp
Normal file
BIN
application/controllers/v1/su/.Barcode.php.swp
Normal file
Binary file not shown.
198
application/controllers/v1/su/Barcode-new.php
Normal file
198
application/controllers/v1/su/Barcode-new.php
Normal file
@@ -0,0 +1,198 @@
|
||||
<?php
|
||||
ini_set('display_errors', 1);
|
||||
ini_set('display_startup_errors', 1);
|
||||
error_reporting(E_ALL);
|
||||
|
||||
class Barcode extends CI_Controller
|
||||
{
|
||||
|
||||
function formulir() {
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId= "'0'";
|
||||
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(M_TitleName,'. ',M_PatientName) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
(SELECT M_PatientAddressDescription from m_patientaddress AS p
|
||||
WHERE M_PatientAddressM_PatientID = M_PatientID
|
||||
ORDER BY M_PatientAddressM_PatientID
|
||||
LIMIT 1) AS alamat,
|
||||
M_CityName as city,
|
||||
CONCAT(M_DoctorPrefix,' ',M_DoctorName,' ',M_DoctorSufix) AS M_DoctorName,
|
||||
group_concat(distinct T_TestName) as test ,
|
||||
M_SexCode as sexcode, M_CompanyName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
||||
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
||||
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
||||
left join m_doctor ON T_OrderHeaderSenderM_DoctorID = M_DoctorID AND M_DoctorIsActive = 'Y'
|
||||
left join m_patientaddress on M_PatientAddressM_PatientID = M_PatientID
|
||||
left join m_kelurahan on M_PatientAddressM_KelurahanID = M_KelurahanID
|
||||
left join m_district on M_KelurahanM_DistrictID = M_DistrictID
|
||||
left join m_city on M_DistrictM_CityID = M_CityID
|
||||
where T_OrderHeaderID = $orderId
|
||||
group by T_OrderHeaderID ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
if (count($rows) > 0 ) $data = $rows[0];
|
||||
|
||||
echo json_encode( array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $data
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
function so_group() {
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId= "'0'";
|
||||
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(M_TitleName,'. ',M_PatientName) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
(SELECT M_PatientAddressDescription from m_patientaddress AS p
|
||||
WHERE M_PatientAddressM_PatientID = M_PatientID
|
||||
ORDER BY M_PatientAddressM_PatientID
|
||||
LIMIT 1) AS alamat,
|
||||
M_CityName as city,
|
||||
CONCAT(M_DoctorPrefix,' ',M_DoctorName,' ',M_DoctorSufix) AS M_DoctorName,
|
||||
group_concat(distinct T_TestName separator ', ') as test ,
|
||||
M_SexCode as sexcode, M_CompanyName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
join so_resultentry on T_OrderDetailID = So_ResultEntryT_OrderDetailID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
||||
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
||||
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
||||
left join m_doctor ON T_OrderHeaderSenderM_DoctorID = M_DoctorID AND M_DoctorIsActive = 'Y'
|
||||
left join m_patientaddress on M_PatientAddressM_PatientID = M_PatientID
|
||||
left join m_kelurahan on M_PatientAddressM_KelurahanID = M_KelurahanID
|
||||
left join m_district on M_KelurahanM_DistrictID = M_DistrictID
|
||||
left join m_city on M_DistrictM_CityID = M_CityID
|
||||
where T_OrderHeaderID = $orderId and T_TestIsResult ='y' and T_TestIsNonLab <> ''
|
||||
group by T_OrderHeaderID ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
if (count($rows) > 0 ) $data = $rows[0];
|
||||
|
||||
echo json_encode( array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $data
|
||||
));
|
||||
}
|
||||
/*
|
||||
//+ "^FT5,200^A0N,23,24^FH\^FD"+ data.city+"^FS"+ "\n"
|
||||
//+ "^FT5,175^A0N,23,24^FH\^FD" + data.address + "^FS"+ "\n"
|
||||
//+ "^FT3,150^A0N,28,28^FH\^FD"+ data.title+" "+ data.patientName +"^FS"+ "\n"
|
||||
//+ "^BY3,3,45^FT22,70^BCN,,Y,N"+ "\n"
|
||||
//+ "^FD>;" + xbarcodeId + "^FS"+ "\n"
|
||||
//+ "^FT5,225^A0N,23,24^FH\^FD"+ data.patienttype +"^FS"+ "\n"
|
||||
//+ "^PQ1,0,1,Y^XZ"+ "\n"
|
||||
*/
|
||||
function so() {
|
||||
$orderId= $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
// orderId = order detail id
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(M_TitleName,'. ',M_PatientName) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
(SELECT M_PatientAddressDescription from m_patientaddress AS p
|
||||
WHERE M_PatientAddressM_PatientID = M_PatientID
|
||||
ORDER BY M_PatientAddressM_PatientID
|
||||
LIMIT 1) AS alamat,
|
||||
M_CityName as city,
|
||||
CONCAT(M_DoctorPrefix,' ',M_DoctorName,' ',M_DoctorSufix) AS M_DoctorName,
|
||||
T_TestName as test ,
|
||||
M_SexCode as sexcode, M_CompanyName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID and T_OrderDetailID = $orderId
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
join so_resultentry on T_OrderDetailID = So_ResultEntryT_OrderDetailID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
||||
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
||||
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
||||
left join m_doctor ON T_OrderHeaderSenderM_DoctorID = M_DoctorID AND M_DoctorIsActive = 'Y'
|
||||
left join m_patientaddress on M_PatientAddressM_PatientID = M_PatientID
|
||||
left join m_kelurahan on M_PatientAddressM_KelurahanID = M_KelurahanID
|
||||
left join m_district on M_KelurahanM_DistrictID = M_DistrictID
|
||||
left join m_city on M_DistrictM_CityID = M_CityID";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
echo json_encode( array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $rows
|
||||
));
|
||||
}
|
||||
|
||||
function pk() {
|
||||
$barcodeId = $this->input->get("barcodeId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($barcodeId == "") $barcodeId = "'0'";
|
||||
$a_bcodes = explode(",", $barcodeId);
|
||||
$s_bcode = "";
|
||||
foreach($a_bcodes as $b) {
|
||||
if ($s_bcode != "") $s_bcode .= ",";
|
||||
$s_bcode .= "'$b'";
|
||||
}
|
||||
|
||||
$sql = "select
|
||||
RIGHT(T_OrderHeaderLabNumber,7 ) T_OrderHeaderLabNumber ,
|
||||
T_OrderHeaderLabNumber Full_T_OrderHeaderLabNumber,
|
||||
T_SampleTypeName,
|
||||
T_BarcodeLabBarcode ,
|
||||
concat(M_TitleName, ' ', M_PatientName) M_PatientName,
|
||||
M_PatientNoReg,
|
||||
T_OrderHeaderM_PatientAge,
|
||||
DATE_FORMAT(T_OrderHeaderDate,'%d/%m/%Y %T') T_OrderHeaderDate,
|
||||
case
|
||||
when M_SexCode = 'L' then 'M'
|
||||
when M_SexCode = 'p' then 'F'
|
||||
else M_SexCode
|
||||
end Sex,
|
||||
T_SampleTypeSuffix
|
||||
from t_barcodelab
|
||||
join t_sampletype on T_BarcodeLabT_SampleTypeID = T_SampleTypeID
|
||||
join t_orderheader on T_BarcodeLabT_OrderHeaderID = T_OrderHeaderID
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join m_sex on M_PatientM_SexID = M_SexID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
where T_BarcodeLabBarcode in ( $s_bcode ) ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
echo json_encode( array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $rows
|
||||
));
|
||||
}
|
||||
}
|
||||
?>
|
||||
586
application/controllers/v1/su/Barcode.php
Normal file
586
application/controllers/v1/su/Barcode.php
Normal file
@@ -0,0 +1,586 @@
|
||||
<?php
|
||||
ini_set('display_errors', 1);
|
||||
ini_set('display_startup_errors', 1);
|
||||
error_reporting(E_ALL);
|
||||
|
||||
class Barcode extends CI_Controller
|
||||
{
|
||||
|
||||
function formulir()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(IFNULL(M_TitleName,''),'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
M_PatientAddress AS alamat,
|
||||
'' as city,
|
||||
'' AS M_DoctorName,
|
||||
group_concat(distinct T_TestName) as test,
|
||||
IF(M_PatientGender = 'male','L','P') as sexcode,
|
||||
CorporateName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join corporate ON T_OrderHeaderCorporateID = CorporateID AND CorporateIsActive = 'Y'
|
||||
where T_OrderHeaderID = {$orderId}
|
||||
group by T_OrderHeaderID ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
if (count($rows) > 0) $data = $rows[0];
|
||||
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $data
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
function so_group()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
fn_lookup_external(T_OrderHeaderLabNumber,'L') as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(M_TitleName,'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
(SELECT M_PatientAddressDescription from m_patientaddress AS p
|
||||
WHERE M_PatientAddressM_PatientID = M_PatientID
|
||||
ORDER BY M_PatientAddressM_PatientID
|
||||
LIMIT 1) AS alamat,
|
||||
M_CityName as city,
|
||||
CONCAT(M_DoctorPrefix,' ',M_DoctorName,' ',M_DoctorSufix) AS M_DoctorName,
|
||||
group_concat(distinct T_TestName separator ', ') as test ,
|
||||
M_SexCode as sexcode, M_CompanyName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y'
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
join so_resultentry on T_OrderDetailID = So_ResultEntryT_OrderDetailID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
||||
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
||||
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
||||
left join m_doctor ON T_OrderHeaderSenderM_DoctorID = M_DoctorID AND M_DoctorIsActive = 'Y'
|
||||
left join m_patientaddress on M_PatientAddressM_PatientID = M_PatientID
|
||||
left join m_kelurahan on M_PatientAddressM_KelurahanID = M_KelurahanID
|
||||
left join m_district on M_KelurahanM_DistrictID = M_DistrictID
|
||||
left join m_city on M_DistrictM_CityID = M_CityID
|
||||
where T_OrderHeaderID = $orderId and T_TestIsResult ='y' and T_TestIsNonLab <> ''
|
||||
group by T_OrderHeaderID ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
if (count($rows) > 0) $data = $rows[0];
|
||||
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $data
|
||||
));
|
||||
}
|
||||
/*
|
||||
//+ "^FT5,200^A0N,23,24^FH\^FD"+ data.city+"^FS"+ "\n"
|
||||
//+ "^FT5,175^A0N,23,24^FH\^FD" + data.address + "^FS"+ "\n"
|
||||
//+ "^FT3,150^A0N,28,28^FH\^FD"+ data.title+" "+ data.patientName +"^FS"+ "\n"
|
||||
//+ "^BY3,3,45^FT22,70^BCN,,Y,N"+ "\n"
|
||||
//+ "^FD>;" + xbarcodeId + "^FS"+ "\n"
|
||||
//+ "^FT5,225^A0N,23,24^FH\^FD"+ data.patienttype +"^FS"+ "\n"
|
||||
//+ "^PQ1,0,1,Y^XZ"+ "\n"
|
||||
*/
|
||||
function so()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
// orderId = order detail id
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(IF(M_TitleName IS NULL,'',CONCAT(M_TitleName,'. ')),ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
M_PatientAddress AS alamat,
|
||||
M_PatientAddressCity as city,
|
||||
'' AS M_DoctorName,
|
||||
T_TestName as test,
|
||||
IF(M_PatientGender = 'male','L','P') as sex_code, CorporateName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID and T_OrderHeaderID = $orderId
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
left join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join corporate ON T_OrderHeaderCorporateID = CorporateID AND CorporateIsActive = 'Y'
|
||||
";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
//echo $sql;
|
||||
|
||||
|
||||
|
||||
$rows = $query->result_array();
|
||||
foreach ($rows as $key => $value) {
|
||||
$oldage = explode("tahun", $value['age']);
|
||||
|
||||
$rows[$key]['age'] = $oldage[0] . ' Tahun';
|
||||
}
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $rows
|
||||
));
|
||||
}
|
||||
|
||||
function fix_double_order($order_id){
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
$sql = " SELECT
|
||||
GROUP_CONCAT(T_OrderDetailOrderID) as unik_id,
|
||||
T_OrderDetailOrderT_OrderHeaderID,
|
||||
T_OrderDetailOrderT_TestID,
|
||||
T_OrderDetailOrderT_PacketID,
|
||||
COUNT(*) as jumlah_duplikat
|
||||
FROM
|
||||
t_orderdetailorder
|
||||
WHERE
|
||||
T_OrderDetailOrderT_OrderHeaderID = ? AND
|
||||
T_OrderDetailOrderIsActive = 'Y'
|
||||
GROUP BY
|
||||
T_OrderDetailOrderT_OrderHeaderID,
|
||||
T_OrderDetailOrderT_TestID,
|
||||
T_OrderDetailOrderT_PacketID
|
||||
HAVING
|
||||
COUNT(*) > 1";
|
||||
$query = $this->db_onedev->query($sql,array($order_id));
|
||||
//echo $this->db_onedev->last_query();
|
||||
$rows = $query->result_array();
|
||||
if(count($rows) == 0) return true;
|
||||
foreach($rows as $row){
|
||||
$a_id = explode(",",$row['unik_id']);
|
||||
$keep_id = $a_id[0];
|
||||
$delete_id = implode(",",array_slice($a_id,1));
|
||||
|
||||
$sql = "UPDATE t_orderdetailorder SET T_OrderDetailOrderIsActive = 'N',
|
||||
T_OrderDetailOrderDeleted = NOW(),
|
||||
T_OrderDetailOrderDeletedUserID = 51512
|
||||
WHERE
|
||||
T_OrderDetailOrderID IN ($delete_id) ";
|
||||
$this->db_onedev->query($sql);
|
||||
$sql = "UPDATE t_orderdetail SET T_OrderDetailIsActive = 'N',
|
||||
T_OrderDetailDeleted = NOW(),
|
||||
T_OrderDetailDeletedUserID = 51512
|
||||
WHERE
|
||||
T_OrderDetailT_OrderDetailOrderID IN ($delete_id) ";
|
||||
$this->db_onedev->query($sql);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function sov1()
|
||||
{
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
$orderId = $this->input->get("orderId");
|
||||
$orderdetail_id = 0;
|
||||
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
// orderId = order detail id
|
||||
$a_bcodes = explode(",", $orderId);
|
||||
$s_bcode = "";
|
||||
foreach ($a_bcodes as $b) {
|
||||
if ($s_bcode != "") $s_bcode .= ",";
|
||||
$s_bcode .= "'$b'";
|
||||
|
||||
$orderdetail_id = $b;
|
||||
}
|
||||
|
||||
$sql = "SELECT *
|
||||
FROM t_orderdetail
|
||||
WHERE
|
||||
T_OrderDetailID = ? ";
|
||||
$query = $this->db_onedev->query($sql,array($orderdetail_id));
|
||||
$dt_order_detail = $query->result_array();
|
||||
$header_id = $dt_order_detail[0]['T_OrderDetailT_OrderHeaderID'];
|
||||
|
||||
$this->fix_double_order($header_id);
|
||||
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(IF(M_TitleName IS NULL,'',CONCAT(M_TitleName,'. ')),ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
M_PatientAddress AS alamat,
|
||||
M_PatientAddressCity as city,
|
||||
'' AS M_DoctorName,
|
||||
T_TestName as test,
|
||||
IF(M_PatientGender = 'male','L','P') as sex_code, CorporateName as patienttype,M_PatientNIP
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID and T_OrderDetailID IN ($s_bcode)
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
|
||||
left join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join corporate ON T_OrderHeaderCorporateID = CorporateID AND CorporateIsActive = 'Y'
|
||||
|
||||
";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
//echo $sql;
|
||||
|
||||
$lstQry = $this->db_onedev->last_query();
|
||||
|
||||
$rows = $query->result_array();
|
||||
|
||||
foreach ($rows as $key => $value) {
|
||||
$oldage = explode("tahun", $value['age']);
|
||||
|
||||
$rows[$key]['age'] = $oldage[0] . ' Tahun';
|
||||
}
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"qry" => $lstQry,
|
||||
"rows" => $rows
|
||||
));
|
||||
}
|
||||
function duplicateDataByOrderId($prm, $data)
|
||||
{
|
||||
// Hitung jumlah kemunculan setiap elemen dalam array prm
|
||||
$orderCounts = array_count_values($prm);
|
||||
|
||||
// Array baru untuk menyimpan hasil duplikasi
|
||||
$result = [];
|
||||
|
||||
// Loop melalui setiap objek di data JSON
|
||||
foreach ($data as $item) {
|
||||
$orderId = $item['T_OrderDetailID'];
|
||||
|
||||
// Jika ada dalam orderCounts, duplikasi data sesuai jumlah kemunculan
|
||||
if (isset($orderCounts[$orderId])) {
|
||||
for ($i = 0; $i < $orderCounts[$orderId]; $i++) {
|
||||
$result[] = $item; // Tambahkan data ke hasil
|
||||
}
|
||||
} else {
|
||||
$result[] = $item; // Jika tidak ada dalam orderCounts, tambahkan satu kali
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
function sov2()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
// orderId = order detail id
|
||||
$a_bcodes = explode(",", $orderId);
|
||||
$s_bcode = "";
|
||||
|
||||
foreach ($a_bcodes as $b) {
|
||||
if ($s_bcode != "") $s_bcode .= ",";
|
||||
$s_bcode .= "'$b'";
|
||||
}
|
||||
$sql = "SELECT
|
||||
T_OrderDetailID,
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(IF(M_TitleName IS NULL,'',CONCAT(M_TitleName,'. ')),ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
M_PatientAddress AS alamat,
|
||||
M_PatientAddressCity as city,
|
||||
'' AS M_DoctorName,
|
||||
T_TestName as test,
|
||||
IF(M_PatientGender = 'male','L','P') as sex_code, CorporateName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID and T_OrderDetailID IN ($s_bcode)
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
|
||||
left join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join corporate ON T_OrderHeaderCorporateID = CorporateID AND CorporateIsActive = 'Y'
|
||||
|
||||
";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
// echo $sql;
|
||||
$lstQry = $this->db_onedev->last_query();
|
||||
|
||||
|
||||
$rows = $query->result_array();
|
||||
|
||||
foreach ($rows as $key => $value) {
|
||||
$oldage = explode("tahun", $value['age']);
|
||||
|
||||
$rows[$key]['age'] = $oldage[0] . ' Tahun';
|
||||
}
|
||||
$updatedData = $this->duplicateDataByOrderId($a_bcodes, $rows);
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"a_bcodes" => $a_bcodes,
|
||||
"lstQry" => $lstQry,
|
||||
"coba" => array_count_values($a_bcodes),
|
||||
"rows" => $updatedData
|
||||
));
|
||||
}
|
||||
|
||||
function so_label()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
|
||||
$sql = "select
|
||||
CONCAT(M_TitleName,'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
concat(M_PatientKedudukan ,' / ',M_PatientNIK ) as nrp,
|
||||
M_PatientJob,
|
||||
M_PatientJabatan ,
|
||||
concat(DATE_FORMAT(M_PatientDOB, '%d/%m/%Y') , ' (',TIMESTAMPDIFF(YEAR, M_PatientDOB, CURDATE()) ,' th) ', M_SexName , ', ',ifnull(M_ReligionName,'')) as tgllahir,
|
||||
(SELECT concat(M_PatientAddressDescription , ' ' , M_KelurahanName)
|
||||
|
||||
from m_patientaddress AS p
|
||||
left join m_kelurahan on M_PatientAddressM_KelurahanID = M_KelurahanID
|
||||
left join m_district on M_KelurahanM_DistrictID = M_DistrictID
|
||||
left join m_city on M_DistrictM_CityID = M_CityID
|
||||
WHERE M_PatientAddressM_PatientID = M_PatientID
|
||||
ORDER BY M_PatientAddressM_PatientID
|
||||
LIMIT 1) AS alamat,
|
||||
M_PatientHP,
|
||||
concat(T_OrderHeaderLabNumber,' / ', DATE_FORMAT(T_OrderHeaderDate, '%d/%m/%Y ')) as lab,
|
||||
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
fn_lookup_external(T_OrderHeaderLabNumber,'L') as nolab,
|
||||
M_PatientNoReg as noreg, M_CompanyName as patienttype,
|
||||
M_PatientPJ ,
|
||||
M_PatientLocation ,
|
||||
M_PatientIDNumber
|
||||
|
||||
from t_orderheader
|
||||
left join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
left join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join m_religion on M_PatientM_ReligionID = M_ReligionID
|
||||
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
||||
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
||||
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
||||
where T_OrderHeaderID = $orderId
|
||||
group by T_OrderHeaderID ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
if (count($rows) > 0) $data = $rows[0];
|
||||
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $data
|
||||
));
|
||||
}
|
||||
|
||||
function formulir_khusus()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(M_TitleName,'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
concat(M_PatientKedudukan ,' / ',M_PatientNIK ) as nrp,
|
||||
M_PatientJob,
|
||||
M_PatientJabatan ,
|
||||
concat( ' (',TIMESTAMPDIFF(YEAR, M_PatientDOB, CURDATE()) ,' th) ', M_SexCode ) as tgllahir,
|
||||
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
(SELECT M_PatientAddressDescription from m_patientaddress AS p
|
||||
WHERE M_PatientAddressM_PatientID = M_PatientID
|
||||
ORDER BY M_PatientAddressM_PatientID
|
||||
LIMIT 1) AS alamat,
|
||||
M_CityName as city,
|
||||
CONCAT(M_DoctorPrefix,' ',M_DoctorName,' ',M_DoctorSufix) AS M_DoctorName,
|
||||
group_concat(distinct T_TestName) as test ,
|
||||
M_SexCode as sexcode, M_CompanyName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join m_religion on M_PatientM_ReligionID = M_ReligionID
|
||||
|
||||
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
||||
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
||||
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
||||
left join m_doctor ON T_OrderHeaderSenderM_DoctorID = M_DoctorID AND M_DoctorIsActive = 'Y'
|
||||
left join m_patientaddress on M_PatientAddressM_PatientID = M_PatientID
|
||||
left join m_kelurahan on M_PatientAddressM_KelurahanID = M_KelurahanID
|
||||
left join m_district on M_KelurahanM_DistrictID = M_DistrictID
|
||||
left join m_city on M_DistrictM_CityID = M_CityID
|
||||
where T_OrderHeaderID = $orderId
|
||||
group by T_OrderHeaderID ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
if (count($rows) > 0) $data = $rows[0];
|
||||
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $data
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
|
||||
function pk()
|
||||
{
|
||||
$barcodeId = $this->input->get("barcodeId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($barcodeId == "") $barcodeId = "'0'";
|
||||
$a_bcodes = explode(",", $barcodeId);
|
||||
$s_bcode = "";
|
||||
foreach ($a_bcodes as $b) {
|
||||
if ($s_bcode != "") $s_bcode .= ",";
|
||||
$s_bcode .= "'$b'";
|
||||
}
|
||||
|
||||
$sql = "select
|
||||
RIGHT(T_OrderHeaderLabNumber,7 ) T_OrderHeaderLabNumber ,
|
||||
T_OrderHeaderLabNumber Full_T_OrderHeaderLabNumber,
|
||||
T_SampleTypeName,
|
||||
left(T_BarcodeLabBarcode ,13) T_BarcodeLabBarcode ,
|
||||
CONCAT(M_TitleName,'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) M_PatientName,
|
||||
M_PatientNoReg,
|
||||
T_OrderHeaderM_PatientAge,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
if(M_PatientGender = 'male' , 'L' , 'P') as Gender,
|
||||
CorporateName,M_PatientNIP,
|
||||
DATE_FORMAT(T_OrderHeaderDate,'%d/%m/%Y') T_OrderHeaderDate,
|
||||
case
|
||||
when M_PatientGender = 'male' then 'M'
|
||||
when M_PatientGender = 'female' then 'F'
|
||||
end Sex,
|
||||
T_SampleTypeSuffix
|
||||
from t_barcodelab
|
||||
join t_sampletype on T_BarcodeLabT_SampleTypeID = T_SampleTypeID
|
||||
join t_orderheader on T_BarcodeLabT_OrderHeaderID = T_OrderHeaderID
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join corporate on T_OrderHeaderCorporateID = CorporateID and CorporateIsActive = 'Y'
|
||||
|
||||
|
||||
where T_BarcodeLabBarcode in ( $s_bcode ) ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
//echo $sql;
|
||||
$rows = $query->result_array();
|
||||
$rst = [];
|
||||
foreach ($rows as $key => $value) {
|
||||
$rst[] = $value;
|
||||
if ($value['T_SampleTypeSuffix'] == 'UK') {
|
||||
$rst[] = $value;
|
||||
}
|
||||
}
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $rst
|
||||
));
|
||||
}
|
||||
function duplicateDataByBarcode($prm, $data)
|
||||
{
|
||||
// Hitung jumlah kemunculan setiap elemen dalam array prm
|
||||
$barcodeCounts = array_count_values($prm);
|
||||
|
||||
// Array baru untuk menyimpan hasil duplikasi
|
||||
$result = [];
|
||||
|
||||
// Loop melalui setiap objek di data JSON
|
||||
foreach ($data as $item) {
|
||||
$barcode = $item['Full_T_BarcodeLabBarcode'];
|
||||
|
||||
// Jika ada dalam barcodeCounts, duplikasi data sesuai jumlah kemunculan
|
||||
if (isset($barcodeCounts[$barcode])) { // Menambahkan '1' karena sesuai contoh data di prm
|
||||
for ($i = 0; $i < $barcodeCounts[$barcode]; $i++) {
|
||||
$result[] = $item; // Tambahkan data ke hasil
|
||||
}
|
||||
} else {
|
||||
$result[] = $item; // Jika tidak ada dalam barcodeCounts, tambahkan satu kali
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
function pkv2()
|
||||
{
|
||||
$barcodeId = $this->input->get("barcodeId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($barcodeId == "") $barcodeId = "'0'";
|
||||
$a_bcodes = explode(",", $barcodeId);
|
||||
$s_bcode = "";
|
||||
foreach ($a_bcodes as $b) {
|
||||
if ($s_bcode != "") $s_bcode .= ",";
|
||||
$s_bcode .= "'$b'";
|
||||
}
|
||||
|
||||
$sql = "SELECT
|
||||
RIGHT(T_OrderHeaderLabNumber,7 ) T_OrderHeaderLabNumber ,
|
||||
T_OrderHeaderLabNumber Full_T_OrderHeaderLabNumber,
|
||||
T_SampleTypeName,
|
||||
left(T_BarcodeLabBarcode ,13) T_BarcodeLabBarcode ,
|
||||
T_BarcodeLabBarcode Full_T_BarcodeLabBarcode ,
|
||||
CONCAT(M_TitleName,'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) M_PatientName,
|
||||
M_PatientNoReg,
|
||||
T_OrderHeaderM_PatientAge,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
if(M_PatientGender = 'male' , 'L' , 'P') as Gender,
|
||||
CorporateName,M_PatientNIP,
|
||||
DATE_FORMAT(T_OrderHeaderDate,'%d/%m/%Y') T_OrderHeaderDate,
|
||||
case
|
||||
when M_PatientGender = 'male' then 'M'
|
||||
when M_PatientGender = 'female' then 'F'
|
||||
end Sex,
|
||||
T_SampleTypeSuffix
|
||||
from t_barcodelab
|
||||
join t_sampletype on T_BarcodeLabT_SampleTypeID = T_SampleTypeID
|
||||
join t_orderheader on T_BarcodeLabT_OrderHeaderID = T_OrderHeaderID
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join corporate on T_OrderHeaderCorporateID = CorporateID and CorporateIsActive = 'Y'
|
||||
|
||||
|
||||
where T_BarcodeLabBarcode in ( $s_bcode ) ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
//echo $sql;
|
||||
$rows = $query->result_array();
|
||||
$rst = [];
|
||||
foreach ($rows as $key => $value) {
|
||||
$rst[] = $value;
|
||||
// if ($value['T_SampleTypeSuffix'] == 'UK') {
|
||||
// $rst[] = $value;
|
||||
// }
|
||||
}
|
||||
$updatedData = $this->duplicateDataByBarcode($a_bcodes, $rst);
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $updatedData
|
||||
));
|
||||
}
|
||||
}
|
||||
362
application/controllers/v1/su/Barcode.php041124
Normal file
362
application/controllers/v1/su/Barcode.php041124
Normal file
@@ -0,0 +1,362 @@
|
||||
<?php
|
||||
ini_set('display_errors', 1);
|
||||
ini_set('display_startup_errors', 1);
|
||||
error_reporting(E_ALL);
|
||||
|
||||
class Barcode extends CI_Controller
|
||||
{
|
||||
|
||||
function formulir()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(IFNULL(M_TitleName,''),'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
M_PatientAddress AS alamat,
|
||||
'' as city,
|
||||
'' AS M_DoctorName,
|
||||
group_concat(distinct T_TestName) as test,
|
||||
IF(M_PatientGender = 'male','L','P') as sexcode,
|
||||
CorporateName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join corporate ON T_OrderHeaderCorporateID = CorporateID AND CorporateIsActive = 'Y'
|
||||
where T_OrderHeaderID = {$orderId}
|
||||
group by T_OrderHeaderID ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
if (count($rows) > 0) $data = $rows[0];
|
||||
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $data
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
function so_group()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
fn_lookup_external(T_OrderHeaderLabNumber,'L') as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(M_TitleName,'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
(SELECT M_PatientAddressDescription from m_patientaddress AS p
|
||||
WHERE M_PatientAddressM_PatientID = M_PatientID
|
||||
ORDER BY M_PatientAddressM_PatientID
|
||||
LIMIT 1) AS alamat,
|
||||
M_CityName as city,
|
||||
CONCAT(M_DoctorPrefix,' ',M_DoctorName,' ',M_DoctorSufix) AS M_DoctorName,
|
||||
group_concat(distinct T_TestName separator ', ') as test ,
|
||||
M_SexCode as sexcode, M_CompanyName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y'
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
join so_resultentry on T_OrderDetailID = So_ResultEntryT_OrderDetailID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
||||
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
||||
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
||||
left join m_doctor ON T_OrderHeaderSenderM_DoctorID = M_DoctorID AND M_DoctorIsActive = 'Y'
|
||||
left join m_patientaddress on M_PatientAddressM_PatientID = M_PatientID
|
||||
left join m_kelurahan on M_PatientAddressM_KelurahanID = M_KelurahanID
|
||||
left join m_district on M_KelurahanM_DistrictID = M_DistrictID
|
||||
left join m_city on M_DistrictM_CityID = M_CityID
|
||||
where T_OrderHeaderID = $orderId and T_TestIsResult ='y' and T_TestIsNonLab <> ''
|
||||
group by T_OrderHeaderID ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
if (count($rows) > 0) $data = $rows[0];
|
||||
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $data
|
||||
));
|
||||
}
|
||||
/*
|
||||
//+ "^FT5,200^A0N,23,24^FH\^FD"+ data.city+"^FS"+ "\n"
|
||||
//+ "^FT5,175^A0N,23,24^FH\^FD" + data.address + "^FS"+ "\n"
|
||||
//+ "^FT3,150^A0N,28,28^FH\^FD"+ data.title+" "+ data.patientName +"^FS"+ "\n"
|
||||
//+ "^BY3,3,45^FT22,70^BCN,,Y,N"+ "\n"
|
||||
//+ "^FD>;" + xbarcodeId + "^FS"+ "\n"
|
||||
//+ "^FT5,225^A0N,23,24^FH\^FD"+ data.patienttype +"^FS"+ "\n"
|
||||
//+ "^PQ1,0,1,Y^XZ"+ "\n"
|
||||
*/
|
||||
function so()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
// orderId = order detail id
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(IF(M_TitleName IS NULL,'',CONCAT(M_TitleName,'. ')),ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
M_PatientAddress AS alamat,
|
||||
M_PatientAddressCity as city,
|
||||
'' AS M_DoctorName,
|
||||
T_TestName as test,
|
||||
IF(M_PatientGender = 'male','L','P') as sex_code, CorporateName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID and T_OrderHeaderID = $orderId
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
left join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join corporate ON T_OrderHeaderCorporateID = CorporateID AND CorporateIsActive = 'Y'
|
||||
";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
//echo $sql;
|
||||
|
||||
|
||||
|
||||
$rows = $query->result_array();
|
||||
foreach ($rows as $key => $value) {
|
||||
$oldage = explode("tahun", $value['age']);
|
||||
|
||||
$rows[$key]['age'] = $oldage[0] . ' Tahun';
|
||||
}
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $rows
|
||||
));
|
||||
}
|
||||
function sov1()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
// orderId = order detail id
|
||||
$a_bcodes = explode(",", $orderId);
|
||||
$s_bcode = "";
|
||||
foreach ($a_bcodes as $b) {
|
||||
if ($s_bcode != "") $s_bcode .= ",";
|
||||
$s_bcode .= "'$b'";
|
||||
}
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(IF(M_TitleName IS NULL,'',CONCAT(M_TitleName,'. ')),ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
M_PatientAddress AS alamat,
|
||||
M_PatientAddressCity as city,
|
||||
'' AS M_DoctorName,
|
||||
T_TestName as test,
|
||||
IF(M_PatientGender = 'male','L','P') as sex_code, CorporateName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID and T_OrderDetailID IN ($s_bcode)
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
JOIN nonlab_barcode ON T_TestNat_TestID = Nonlab_BarcodeNat_TestID AND Nonlab_BarcodeIsActive = 'Y'
|
||||
left join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join corporate ON T_OrderHeaderCorporateID = CorporateID AND CorporateIsActive = 'Y'
|
||||
GROUP BY Nonlab_BarcodeID
|
||||
";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
//echo $sql;
|
||||
|
||||
|
||||
|
||||
$rows = $query->result_array();
|
||||
foreach ($rows as $key => $value) {
|
||||
$oldage = explode("tahun", $value['age']);
|
||||
|
||||
$rows[$key]['age'] = $oldage[0] . ' Tahun';
|
||||
}
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $rows
|
||||
));
|
||||
}
|
||||
|
||||
function so_label()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
|
||||
$sql = "select
|
||||
CONCAT(M_TitleName,'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
concat(M_PatientKedudukan ,' / ',M_PatientNIK ) as nrp,
|
||||
M_PatientJob,
|
||||
M_PatientJabatan ,
|
||||
concat(DATE_FORMAT(M_PatientDOB, '%d/%m/%Y') , ' (',TIMESTAMPDIFF(YEAR, M_PatientDOB, CURDATE()) ,' th) ', M_SexName , ', ',ifnull(M_ReligionName,'')) as tgllahir,
|
||||
(SELECT concat(M_PatientAddressDescription , ' ' , M_KelurahanName)
|
||||
|
||||
from m_patientaddress AS p
|
||||
left join m_kelurahan on M_PatientAddressM_KelurahanID = M_KelurahanID
|
||||
left join m_district on M_KelurahanM_DistrictID = M_DistrictID
|
||||
left join m_city on M_DistrictM_CityID = M_CityID
|
||||
WHERE M_PatientAddressM_PatientID = M_PatientID
|
||||
ORDER BY M_PatientAddressM_PatientID
|
||||
LIMIT 1) AS alamat,
|
||||
M_PatientHP,
|
||||
concat(T_OrderHeaderLabNumber,' / ', DATE_FORMAT(T_OrderHeaderDate, '%d/%m/%Y ')) as lab,
|
||||
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
fn_lookup_external(T_OrderHeaderLabNumber,'L') as nolab,
|
||||
M_PatientNoReg as noreg, M_CompanyName as patienttype,
|
||||
M_PatientPJ ,
|
||||
M_PatientLocation ,
|
||||
M_PatientIDNumber
|
||||
|
||||
from t_orderheader
|
||||
left join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
left join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join m_religion on M_PatientM_ReligionID = M_ReligionID
|
||||
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
||||
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
||||
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
||||
where T_OrderHeaderID = $orderId
|
||||
group by T_OrderHeaderID ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
if (count($rows) > 0) $data = $rows[0];
|
||||
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $data
|
||||
));
|
||||
}
|
||||
|
||||
function formulir_khusus()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(M_TitleName,'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
concat(M_PatientKedudukan ,' / ',M_PatientNIK ) as nrp,
|
||||
M_PatientJob,
|
||||
M_PatientJabatan ,
|
||||
concat( ' (',TIMESTAMPDIFF(YEAR, M_PatientDOB, CURDATE()) ,' th) ', M_SexCode ) as tgllahir,
|
||||
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
(SELECT M_PatientAddressDescription from m_patientaddress AS p
|
||||
WHERE M_PatientAddressM_PatientID = M_PatientID
|
||||
ORDER BY M_PatientAddressM_PatientID
|
||||
LIMIT 1) AS alamat,
|
||||
M_CityName as city,
|
||||
CONCAT(M_DoctorPrefix,' ',M_DoctorName,' ',M_DoctorSufix) AS M_DoctorName,
|
||||
group_concat(distinct T_TestName) as test ,
|
||||
M_SexCode as sexcode, M_CompanyName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join m_religion on M_PatientM_ReligionID = M_ReligionID
|
||||
|
||||
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
||||
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
||||
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
||||
left join m_doctor ON T_OrderHeaderSenderM_DoctorID = M_DoctorID AND M_DoctorIsActive = 'Y'
|
||||
left join m_patientaddress on M_PatientAddressM_PatientID = M_PatientID
|
||||
left join m_kelurahan on M_PatientAddressM_KelurahanID = M_KelurahanID
|
||||
left join m_district on M_KelurahanM_DistrictID = M_DistrictID
|
||||
left join m_city on M_DistrictM_CityID = M_CityID
|
||||
where T_OrderHeaderID = $orderId
|
||||
group by T_OrderHeaderID ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
if (count($rows) > 0) $data = $rows[0];
|
||||
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $data
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
|
||||
function pk()
|
||||
{
|
||||
$barcodeId = $this->input->get("barcodeId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($barcodeId == "") $barcodeId = "'0'";
|
||||
$a_bcodes = explode(",", $barcodeId);
|
||||
$s_bcode = "";
|
||||
foreach ($a_bcodes as $b) {
|
||||
if ($s_bcode != "") $s_bcode .= ",";
|
||||
$s_bcode .= "'$b'";
|
||||
}
|
||||
|
||||
$sql = "select
|
||||
RIGHT(T_OrderHeaderLabNumber,7 ) T_OrderHeaderLabNumber ,
|
||||
T_OrderHeaderLabNumber Full_T_OrderHeaderLabNumber,
|
||||
T_SampleTypeName,
|
||||
left(T_BarcodeLabBarcode ,13) T_BarcodeLabBarcode ,
|
||||
CONCAT(M_TitleName,'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) M_PatientName,
|
||||
M_PatientNoReg,
|
||||
T_OrderHeaderM_PatientAge,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
if(M_PatientGender = 'male' , 'L' , 'P') as Gender,
|
||||
CorporateName,M_PatientNIP,
|
||||
DATE_FORMAT(T_OrderHeaderDate,'%d/%m/%Y') T_OrderHeaderDate,
|
||||
case
|
||||
when M_PatientGender = 'male' then 'M'
|
||||
when M_PatientGender = 'female' then 'F'
|
||||
end Sex,
|
||||
T_SampleTypeSuffix
|
||||
from t_barcodelab
|
||||
join t_sampletype on T_BarcodeLabT_SampleTypeID = T_SampleTypeID
|
||||
join t_orderheader on T_BarcodeLabT_OrderHeaderID = T_OrderHeaderID
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join corporate on T_OrderHeaderCorporateID = CorporateID and CorporateIsActive = 'Y'
|
||||
|
||||
|
||||
where T_BarcodeLabBarcode in ( $s_bcode ) ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
//echo $sql;
|
||||
$rows = $query->result_array();
|
||||
$rst = [];
|
||||
foreach ($rows as $key => $value) {
|
||||
$rst[] = $value;
|
||||
if($value['T_SampleTypeSuffix'] == 'UK'){
|
||||
$rst[] = $value;
|
||||
}
|
||||
}
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $rst
|
||||
));
|
||||
}
|
||||
}
|
||||
355
application/controllers/v1/su/Barcode.php_18724
Normal file
355
application/controllers/v1/su/Barcode.php_18724
Normal file
@@ -0,0 +1,355 @@
|
||||
<?php
|
||||
ini_set('display_errors', 1);
|
||||
ini_set('display_startup_errors', 1);
|
||||
error_reporting(E_ALL);
|
||||
|
||||
class Barcode extends CI_Controller
|
||||
{
|
||||
|
||||
function formulir()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(IFNULL(M_TitleName,''),'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
M_PatientAddress AS alamat,
|
||||
'' as city,
|
||||
'' AS M_DoctorName,
|
||||
group_concat(distinct T_TestName) as test,
|
||||
IF(M_PatientGender = 'male','L','P') as sexcode,
|
||||
CorporateName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join corporate ON T_OrderHeaderCorporateID = CorporateID AND CorporateIsActive = 'Y'
|
||||
where T_OrderHeaderID = {$orderId}
|
||||
group by T_OrderHeaderID ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
if (count($rows) > 0) $data = $rows[0];
|
||||
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $data
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
function so_group()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
fn_lookup_external(T_OrderHeaderLabNumber,'L') as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(M_TitleName,'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
(SELECT M_PatientAddressDescription from m_patientaddress AS p
|
||||
WHERE M_PatientAddressM_PatientID = M_PatientID
|
||||
ORDER BY M_PatientAddressM_PatientID
|
||||
LIMIT 1) AS alamat,
|
||||
M_CityName as city,
|
||||
CONCAT(M_DoctorPrefix,' ',M_DoctorName,' ',M_DoctorSufix) AS M_DoctorName,
|
||||
group_concat(distinct T_TestName separator ', ') as test ,
|
||||
M_SexCode as sexcode, M_CompanyName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y'
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
join so_resultentry on T_OrderDetailID = So_ResultEntryT_OrderDetailID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
||||
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
||||
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
||||
left join m_doctor ON T_OrderHeaderSenderM_DoctorID = M_DoctorID AND M_DoctorIsActive = 'Y'
|
||||
left join m_patientaddress on M_PatientAddressM_PatientID = M_PatientID
|
||||
left join m_kelurahan on M_PatientAddressM_KelurahanID = M_KelurahanID
|
||||
left join m_district on M_KelurahanM_DistrictID = M_DistrictID
|
||||
left join m_city on M_DistrictM_CityID = M_CityID
|
||||
where T_OrderHeaderID = $orderId and T_TestIsResult ='y' and T_TestIsNonLab <> ''
|
||||
group by T_OrderHeaderID ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
if (count($rows) > 0) $data = $rows[0];
|
||||
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $data
|
||||
));
|
||||
}
|
||||
/*
|
||||
//+ "^FT5,200^A0N,23,24^FH\^FD"+ data.city+"^FS"+ "\n"
|
||||
//+ "^FT5,175^A0N,23,24^FH\^FD" + data.address + "^FS"+ "\n"
|
||||
//+ "^FT3,150^A0N,28,28^FH\^FD"+ data.title+" "+ data.patientName +"^FS"+ "\n"
|
||||
//+ "^BY3,3,45^FT22,70^BCN,,Y,N"+ "\n"
|
||||
//+ "^FD>;" + xbarcodeId + "^FS"+ "\n"
|
||||
//+ "^FT5,225^A0N,23,24^FH\^FD"+ data.patienttype +"^FS"+ "\n"
|
||||
//+ "^PQ1,0,1,Y^XZ"+ "\n"
|
||||
*/
|
||||
function so()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
// orderId = order detail id
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(IF(M_TitleName IS NULL,'',CONCAT(M_TitleName,'. ')),ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
M_PatientAddress AS alamat,
|
||||
M_PatientAddressCity as city,
|
||||
'' AS M_DoctorName,
|
||||
T_TestName as test,
|
||||
IF(M_PatientGender = 'male','L','P') as sex_code, CorporateName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID and T_OrderHeaderID = $orderId
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
left join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join corporate ON T_OrderHeaderCorporateID = CorporateID AND CorporateIsActive = 'Y'
|
||||
";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
//echo $sql;
|
||||
|
||||
|
||||
|
||||
$rows = $query->result_array();
|
||||
foreach ($rows as $key => $value) {
|
||||
$oldage = explode("tahun", $value['age']);
|
||||
|
||||
$rows[$key]['age'] = $oldage[0] . ' Tahun';
|
||||
}
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $rows
|
||||
));
|
||||
}
|
||||
function sov1()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
// orderId = order detail id
|
||||
$a_bcodes = explode(",", $orderId);
|
||||
$s_bcode = "";
|
||||
foreach ($a_bcodes as $b) {
|
||||
if ($s_bcode != "") $s_bcode .= ",";
|
||||
$s_bcode .= "'$b'";
|
||||
}
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(IF(M_TitleName IS NULL,'',CONCAT(M_TitleName,'. ')),ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
M_PatientAddress AS alamat,
|
||||
M_PatientAddressCity as city,
|
||||
'' AS M_DoctorName,
|
||||
T_TestName as test,
|
||||
IF(M_PatientGender = 'male','L','P') as sex_code, CorporateName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID and T_OrderDetailID IN ($s_bcode)
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
JOIN nonlab_barcode ON T_TestNat_TestID = Nonlab_BarcodeNat_TestID AND Nonlab_BarcodeIsActive = 'Y'
|
||||
left join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join corporate ON T_OrderHeaderCorporateID = CorporateID AND CorporateIsActive = 'Y'
|
||||
GROUP BY Nonlab_BarcodeID
|
||||
";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
//echo $sql;
|
||||
|
||||
|
||||
|
||||
$rows = $query->result_array();
|
||||
foreach ($rows as $key => $value) {
|
||||
$oldage = explode("tahun", $value['age']);
|
||||
|
||||
$rows[$key]['age'] = $oldage[0] . ' Tahun';
|
||||
}
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $rows
|
||||
));
|
||||
}
|
||||
|
||||
function so_label()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
|
||||
$sql = "select
|
||||
CONCAT(M_TitleName,'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
concat(M_PatientKedudukan ,' / ',M_PatientNIK ) as nrp,
|
||||
M_PatientJob,
|
||||
M_PatientJabatan ,
|
||||
concat(DATE_FORMAT(M_PatientDOB, '%d/%m/%Y') , ' (',TIMESTAMPDIFF(YEAR, M_PatientDOB, CURDATE()) ,' th) ', M_SexName , ', ',ifnull(M_ReligionName,'')) as tgllahir,
|
||||
(SELECT concat(M_PatientAddressDescription , ' ' , M_KelurahanName)
|
||||
|
||||
from m_patientaddress AS p
|
||||
left join m_kelurahan on M_PatientAddressM_KelurahanID = M_KelurahanID
|
||||
left join m_district on M_KelurahanM_DistrictID = M_DistrictID
|
||||
left join m_city on M_DistrictM_CityID = M_CityID
|
||||
WHERE M_PatientAddressM_PatientID = M_PatientID
|
||||
ORDER BY M_PatientAddressM_PatientID
|
||||
LIMIT 1) AS alamat,
|
||||
M_PatientHP,
|
||||
concat(T_OrderHeaderLabNumber,' / ', DATE_FORMAT(T_OrderHeaderDate, '%d/%m/%Y ')) as lab,
|
||||
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
fn_lookup_external(T_OrderHeaderLabNumber,'L') as nolab,
|
||||
M_PatientNoReg as noreg, M_CompanyName as patienttype,
|
||||
M_PatientPJ ,
|
||||
M_PatientLocation ,
|
||||
M_PatientIDNumber
|
||||
|
||||
from t_orderheader
|
||||
left join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
left join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join m_religion on M_PatientM_ReligionID = M_ReligionID
|
||||
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
||||
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
||||
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
||||
where T_OrderHeaderID = $orderId
|
||||
group by T_OrderHeaderID ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
if (count($rows) > 0) $data = $rows[0];
|
||||
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $data
|
||||
));
|
||||
}
|
||||
|
||||
function formulir_khusus()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(M_TitleName,'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
concat(M_PatientKedudukan ,' / ',M_PatientNIK ) as nrp,
|
||||
M_PatientJob,
|
||||
M_PatientJabatan ,
|
||||
concat( ' (',TIMESTAMPDIFF(YEAR, M_PatientDOB, CURDATE()) ,' th) ', M_SexCode ) as tgllahir,
|
||||
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
(SELECT M_PatientAddressDescription from m_patientaddress AS p
|
||||
WHERE M_PatientAddressM_PatientID = M_PatientID
|
||||
ORDER BY M_PatientAddressM_PatientID
|
||||
LIMIT 1) AS alamat,
|
||||
M_CityName as city,
|
||||
CONCAT(M_DoctorPrefix,' ',M_DoctorName,' ',M_DoctorSufix) AS M_DoctorName,
|
||||
group_concat(distinct T_TestName) as test ,
|
||||
M_SexCode as sexcode, M_CompanyName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join m_religion on M_PatientM_ReligionID = M_ReligionID
|
||||
|
||||
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
||||
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
||||
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
||||
left join m_doctor ON T_OrderHeaderSenderM_DoctorID = M_DoctorID AND M_DoctorIsActive = 'Y'
|
||||
left join m_patientaddress on M_PatientAddressM_PatientID = M_PatientID
|
||||
left join m_kelurahan on M_PatientAddressM_KelurahanID = M_KelurahanID
|
||||
left join m_district on M_KelurahanM_DistrictID = M_DistrictID
|
||||
left join m_city on M_DistrictM_CityID = M_CityID
|
||||
where T_OrderHeaderID = $orderId
|
||||
group by T_OrderHeaderID ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
if (count($rows) > 0) $data = $rows[0];
|
||||
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $data
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
|
||||
function pk()
|
||||
{
|
||||
$barcodeId = $this->input->get("barcodeId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($barcodeId == "") $barcodeId = "'0'";
|
||||
$a_bcodes = explode(",", $barcodeId);
|
||||
$s_bcode = "";
|
||||
foreach ($a_bcodes as $b) {
|
||||
if ($s_bcode != "") $s_bcode .= ",";
|
||||
$s_bcode .= "'$b'";
|
||||
}
|
||||
|
||||
$sql = "select
|
||||
RIGHT(T_OrderHeaderLabNumber,7 ) T_OrderHeaderLabNumber ,
|
||||
T_OrderHeaderLabNumber Full_T_OrderHeaderLabNumber,
|
||||
T_SampleTypeName,
|
||||
left(T_BarcodeLabBarcode ,13) T_BarcodeLabBarcode ,
|
||||
CONCAT(M_TitleName,'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) M_PatientName,
|
||||
M_PatientNoReg,
|
||||
T_OrderHeaderM_PatientAge,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
if(M_PatientGender = 'male' , 'L' , 'P') as Gender,
|
||||
CorporateName,M_PatientNIP,
|
||||
DATE_FORMAT(T_OrderHeaderDate,'%d/%m/%Y') T_OrderHeaderDate,
|
||||
case
|
||||
when M_PatientGender = 'male' then 'M'
|
||||
when M_PatientGender = 'female' then 'F'
|
||||
end Sex,
|
||||
T_SampleTypeSuffix
|
||||
from t_barcodelab
|
||||
join t_sampletype on T_BarcodeLabT_SampleTypeID = T_SampleTypeID
|
||||
join t_orderheader on T_BarcodeLabT_OrderHeaderID = T_OrderHeaderID
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join corporate on T_OrderHeaderCorporateID = CorporateID and CorporateIsActive = 'Y'
|
||||
|
||||
|
||||
where T_BarcodeLabBarcode in ( $s_bcode ) ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
//echo $sql;
|
||||
$rows = $query->result_array();
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $rows
|
||||
));
|
||||
}
|
||||
}
|
||||
525
application/controllers/v1/su/BarcodeBKP.php
Normal file
525
application/controllers/v1/su/BarcodeBKP.php
Normal file
@@ -0,0 +1,525 @@
|
||||
<?php
|
||||
ini_set('display_errors', 1);
|
||||
ini_set('display_startup_errors', 1);
|
||||
error_reporting(E_ALL);
|
||||
|
||||
class Barcode extends CI_Controller
|
||||
{
|
||||
|
||||
function formulir()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(IFNULL(M_TitleName,''),'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
M_PatientAddress AS alamat,
|
||||
'' as city,
|
||||
'' AS M_DoctorName,
|
||||
group_concat(distinct T_TestName) as test,
|
||||
IF(M_PatientGender = 'male','L','P') as sexcode,
|
||||
CorporateName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join corporate ON T_OrderHeaderCorporateID = CorporateID AND CorporateIsActive = 'Y'
|
||||
where T_OrderHeaderID = {$orderId}
|
||||
group by T_OrderHeaderID ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
if (count($rows) > 0) $data = $rows[0];
|
||||
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $data
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
function so_group()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
fn_lookup_external(T_OrderHeaderLabNumber,'L') as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(M_TitleName,'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
(SELECT M_PatientAddressDescription from m_patientaddress AS p
|
||||
WHERE M_PatientAddressM_PatientID = M_PatientID
|
||||
ORDER BY M_PatientAddressM_PatientID
|
||||
LIMIT 1) AS alamat,
|
||||
M_CityName as city,
|
||||
CONCAT(M_DoctorPrefix,' ',M_DoctorName,' ',M_DoctorSufix) AS M_DoctorName,
|
||||
group_concat(distinct T_TestName separator ', ') as test ,
|
||||
M_SexCode as sexcode, M_CompanyName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y'
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
join so_resultentry on T_OrderDetailID = So_ResultEntryT_OrderDetailID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
||||
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
||||
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
||||
left join m_doctor ON T_OrderHeaderSenderM_DoctorID = M_DoctorID AND M_DoctorIsActive = 'Y'
|
||||
left join m_patientaddress on M_PatientAddressM_PatientID = M_PatientID
|
||||
left join m_kelurahan on M_PatientAddressM_KelurahanID = M_KelurahanID
|
||||
left join m_district on M_KelurahanM_DistrictID = M_DistrictID
|
||||
left join m_city on M_DistrictM_CityID = M_CityID
|
||||
where T_OrderHeaderID = $orderId and T_TestIsResult ='y' and T_TestIsNonLab <> ''
|
||||
group by T_OrderHeaderID ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
if (count($rows) > 0) $data = $rows[0];
|
||||
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $data
|
||||
));
|
||||
}
|
||||
/*
|
||||
//+ "^FT5,200^A0N,23,24^FH\^FD"+ data.city+"^FS"+ "\n"
|
||||
//+ "^FT5,175^A0N,23,24^FH\^FD" + data.address + "^FS"+ "\n"
|
||||
//+ "^FT3,150^A0N,28,28^FH\^FD"+ data.title+" "+ data.patientName +"^FS"+ "\n"
|
||||
//+ "^BY3,3,45^FT22,70^BCN,,Y,N"+ "\n"
|
||||
//+ "^FD>;" + xbarcodeId + "^FS"+ "\n"
|
||||
//+ "^FT5,225^A0N,23,24^FH\^FD"+ data.patienttype +"^FS"+ "\n"
|
||||
//+ "^PQ1,0,1,Y^XZ"+ "\n"
|
||||
*/
|
||||
function so()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
// orderId = order detail id
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(IF(M_TitleName IS NULL,'',CONCAT(M_TitleName,'. ')),ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
M_PatientAddress AS alamat,
|
||||
M_PatientAddressCity as city,
|
||||
'' AS M_DoctorName,
|
||||
T_TestName as test,
|
||||
IF(M_PatientGender = 'male','L','P') as sex_code, CorporateName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID and T_OrderHeaderID = $orderId
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
left join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join corporate ON T_OrderHeaderCorporateID = CorporateID AND CorporateIsActive = 'Y'
|
||||
";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
//echo $sql;
|
||||
|
||||
|
||||
|
||||
$rows = $query->result_array();
|
||||
foreach ($rows as $key => $value) {
|
||||
$oldage = explode("tahun", $value['age']);
|
||||
|
||||
$rows[$key]['age'] = $oldage[0] . ' Tahun';
|
||||
}
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $rows
|
||||
));
|
||||
}
|
||||
function sov1()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
// orderId = order detail id
|
||||
$a_bcodes = explode(",", $orderId);
|
||||
$s_bcode = "";
|
||||
foreach ($a_bcodes as $b) {
|
||||
if ($s_bcode != "") $s_bcode .= ",";
|
||||
$s_bcode .= "'$b'";
|
||||
}
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(IF(M_TitleName IS NULL,'',CONCAT(M_TitleName,'. ')),ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
M_PatientAddress AS alamat,
|
||||
M_PatientAddressCity as city,
|
||||
'' AS M_DoctorName,
|
||||
T_TestName as test,
|
||||
IF(M_PatientGender = 'male','L','P') as sex_code, CorporateName as patienttype,M_PatientNIP
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID and T_OrderDetailID IN ($s_bcode)
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
|
||||
left join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join corporate ON T_OrderHeaderCorporateID = CorporateID AND CorporateIsActive = 'Y'
|
||||
|
||||
";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
//echo $sql;
|
||||
|
||||
$lstQry = $this->db_onedev->last_query();
|
||||
|
||||
$rows = $query->result_array();
|
||||
|
||||
foreach ($rows as $key => $value) {
|
||||
$oldage = explode("tahun", $value['age']);
|
||||
|
||||
$rows[$key]['age'] = $oldage[0] . ' Tahun';
|
||||
}
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"qry" => $lstQry,
|
||||
"rows" => $rows
|
||||
));
|
||||
}
|
||||
function duplicateDataByOrderId($prm, $data)
|
||||
{
|
||||
// Hitung jumlah kemunculan setiap elemen dalam array prm
|
||||
$orderCounts = array_count_values($prm);
|
||||
|
||||
// Array baru untuk menyimpan hasil duplikasi
|
||||
$result = [];
|
||||
|
||||
// Loop melalui setiap objek di data JSON
|
||||
foreach ($data as $item) {
|
||||
$orderId = $item['T_OrderDetailID'];
|
||||
|
||||
// Jika ada dalam orderCounts, duplikasi data sesuai jumlah kemunculan
|
||||
if (isset($orderCounts[$orderId])) {
|
||||
for ($i = 0; $i < $orderCounts[$orderId]; $i++) {
|
||||
$result[] = $item; // Tambahkan data ke hasil
|
||||
}
|
||||
} else {
|
||||
$result[] = $item; // Jika tidak ada dalam orderCounts, tambahkan satu kali
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
function sov2()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
// orderId = order detail id
|
||||
$a_bcodes = explode(",", $orderId);
|
||||
$s_bcode = "";
|
||||
|
||||
foreach ($a_bcodes as $b) {
|
||||
if ($s_bcode != "") $s_bcode .= ",";
|
||||
$s_bcode .= "'$b'";
|
||||
}
|
||||
$sql = "SELECT
|
||||
T_OrderDetailID,
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(IF(M_TitleName IS NULL,'',CONCAT(M_TitleName,'. ')),ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
M_PatientAddress AS alamat,
|
||||
M_PatientAddressCity as city,
|
||||
'' AS M_DoctorName,
|
||||
T_TestName as test,
|
||||
IF(M_PatientGender = 'male','L','P') as sex_code, CorporateName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID and T_OrderDetailID IN ($s_bcode)
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
|
||||
left join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join corporate ON T_OrderHeaderCorporateID = CorporateID AND CorporateIsActive = 'Y'
|
||||
|
||||
";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
// echo $sql;
|
||||
$lstQry = $this->db_onedev->last_query();
|
||||
|
||||
|
||||
$rows = $query->result_array();
|
||||
|
||||
foreach ($rows as $key => $value) {
|
||||
$oldage = explode("tahun", $value['age']);
|
||||
|
||||
$rows[$key]['age'] = $oldage[0] . ' Tahun';
|
||||
}
|
||||
$updatedData = $this->duplicateDataByOrderId($a_bcodes, $rows);
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"a_bcodes" => $a_bcodes,
|
||||
"lstQry" => $lstQry,
|
||||
"coba" => array_count_values($a_bcodes),
|
||||
"rows" => $updatedData
|
||||
));
|
||||
}
|
||||
|
||||
function so_label()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
|
||||
$sql = "select
|
||||
CONCAT(M_TitleName,'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
concat(M_PatientKedudukan ,' / ',M_PatientNIK ) as nrp,
|
||||
M_PatientJob,
|
||||
M_PatientJabatan ,
|
||||
concat(DATE_FORMAT(M_PatientDOB, '%d/%m/%Y') , ' (',TIMESTAMPDIFF(YEAR, M_PatientDOB, CURDATE()) ,' th) ', M_SexName , ', ',ifnull(M_ReligionName,'')) as tgllahir,
|
||||
(SELECT concat(M_PatientAddressDescription , ' ' , M_KelurahanName)
|
||||
|
||||
from m_patientaddress AS p
|
||||
left join m_kelurahan on M_PatientAddressM_KelurahanID = M_KelurahanID
|
||||
left join m_district on M_KelurahanM_DistrictID = M_DistrictID
|
||||
left join m_city on M_DistrictM_CityID = M_CityID
|
||||
WHERE M_PatientAddressM_PatientID = M_PatientID
|
||||
ORDER BY M_PatientAddressM_PatientID
|
||||
LIMIT 1) AS alamat,
|
||||
M_PatientHP,
|
||||
concat(T_OrderHeaderLabNumber,' / ', DATE_FORMAT(T_OrderHeaderDate, '%d/%m/%Y ')) as lab,
|
||||
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
fn_lookup_external(T_OrderHeaderLabNumber,'L') as nolab,
|
||||
M_PatientNoReg as noreg, M_CompanyName as patienttype,
|
||||
M_PatientPJ ,
|
||||
M_PatientLocation ,
|
||||
M_PatientIDNumber
|
||||
|
||||
from t_orderheader
|
||||
left join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
left join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join m_religion on M_PatientM_ReligionID = M_ReligionID
|
||||
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
||||
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
||||
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
||||
where T_OrderHeaderID = $orderId
|
||||
group by T_OrderHeaderID ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
if (count($rows) > 0) $data = $rows[0];
|
||||
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $data
|
||||
));
|
||||
}
|
||||
|
||||
function formulir_khusus()
|
||||
{
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(M_TitleName,'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
concat(M_PatientKedudukan ,' / ',M_PatientNIK ) as nrp,
|
||||
M_PatientJob,
|
||||
M_PatientJabatan ,
|
||||
concat( ' (',TIMESTAMPDIFF(YEAR, M_PatientDOB, CURDATE()) ,' th) ', M_SexCode ) as tgllahir,
|
||||
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
(SELECT M_PatientAddressDescription from m_patientaddress AS p
|
||||
WHERE M_PatientAddressM_PatientID = M_PatientID
|
||||
ORDER BY M_PatientAddressM_PatientID
|
||||
LIMIT 1) AS alamat,
|
||||
M_CityName as city,
|
||||
CONCAT(M_DoctorPrefix,' ',M_DoctorName,' ',M_DoctorSufix) AS M_DoctorName,
|
||||
group_concat(distinct T_TestName) as test ,
|
||||
M_SexCode as sexcode, M_CompanyName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join m_religion on M_PatientM_ReligionID = M_ReligionID
|
||||
|
||||
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
||||
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
||||
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
||||
left join m_doctor ON T_OrderHeaderSenderM_DoctorID = M_DoctorID AND M_DoctorIsActive = 'Y'
|
||||
left join m_patientaddress on M_PatientAddressM_PatientID = M_PatientID
|
||||
left join m_kelurahan on M_PatientAddressM_KelurahanID = M_KelurahanID
|
||||
left join m_district on M_KelurahanM_DistrictID = M_DistrictID
|
||||
left join m_city on M_DistrictM_CityID = M_CityID
|
||||
where T_OrderHeaderID = $orderId
|
||||
group by T_OrderHeaderID ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
if (count($rows) > 0) $data = $rows[0];
|
||||
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $data
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
|
||||
function pk()
|
||||
{
|
||||
$barcodeId = $this->input->get("barcodeId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($barcodeId == "") $barcodeId = "'0'";
|
||||
$a_bcodes = explode(",", $barcodeId);
|
||||
$s_bcode = "";
|
||||
foreach ($a_bcodes as $b) {
|
||||
if ($s_bcode != "") $s_bcode .= ",";
|
||||
$s_bcode .= "'$b'";
|
||||
}
|
||||
|
||||
$sql = "select
|
||||
RIGHT(T_OrderHeaderLabNumber,7 ) T_OrderHeaderLabNumber ,
|
||||
T_OrderHeaderLabNumber Full_T_OrderHeaderLabNumber,
|
||||
T_SampleTypeName,
|
||||
left(T_BarcodeLabBarcode ,13) T_BarcodeLabBarcode ,
|
||||
CONCAT(M_TitleName,'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) M_PatientName,
|
||||
M_PatientNoReg,
|
||||
T_OrderHeaderM_PatientAge,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
if(M_PatientGender = 'male' , 'L' , 'P') as Gender,
|
||||
CorporateName,M_PatientNIP,
|
||||
DATE_FORMAT(T_OrderHeaderDate,'%d/%m/%Y') T_OrderHeaderDate,
|
||||
case
|
||||
when M_PatientGender = 'male' then 'M'
|
||||
when M_PatientGender = 'female' then 'F'
|
||||
end Sex,
|
||||
T_SampleTypeSuffix
|
||||
from t_barcodelab
|
||||
join t_sampletype on T_BarcodeLabT_SampleTypeID = T_SampleTypeID
|
||||
join t_orderheader on T_BarcodeLabT_OrderHeaderID = T_OrderHeaderID
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join corporate on T_OrderHeaderCorporateID = CorporateID and CorporateIsActive = 'Y'
|
||||
|
||||
|
||||
where T_BarcodeLabBarcode in ( $s_bcode ) ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
//echo $sql;
|
||||
$rows = $query->result_array();
|
||||
$rst = [];
|
||||
foreach ($rows as $key => $value) {
|
||||
$rst[] = $value;
|
||||
if ($value['T_SampleTypeSuffix'] == 'UK') {
|
||||
$rst[] = $value;
|
||||
}
|
||||
}
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $rst
|
||||
));
|
||||
}
|
||||
function duplicateDataByBarcode($prm, $data)
|
||||
{
|
||||
// Hitung jumlah kemunculan setiap elemen dalam array prm
|
||||
$barcodeCounts = array_count_values($prm);
|
||||
|
||||
// Array baru untuk menyimpan hasil duplikasi
|
||||
$result = [];
|
||||
|
||||
// Loop melalui setiap objek di data JSON
|
||||
foreach ($data as $item) {
|
||||
$barcode = $item['Full_T_BarcodeLabBarcode'];
|
||||
|
||||
// Jika ada dalam barcodeCounts, duplikasi data sesuai jumlah kemunculan
|
||||
if (isset($barcodeCounts[$barcode])) { // Menambahkan '1' karena sesuai contoh data di prm
|
||||
for ($i = 0; $i < $barcodeCounts[$barcode]; $i++) {
|
||||
$result[] = $item; // Tambahkan data ke hasil
|
||||
}
|
||||
} else {
|
||||
$result[] = $item; // Jika tidak ada dalam barcodeCounts, tambahkan satu kali
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
function pkv2()
|
||||
{
|
||||
$barcodeId = $this->input->get("barcodeId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($barcodeId == "") $barcodeId = "'0'";
|
||||
$a_bcodes = explode(",", $barcodeId);
|
||||
$s_bcode = "";
|
||||
foreach ($a_bcodes as $b) {
|
||||
if ($s_bcode != "") $s_bcode .= ",";
|
||||
$s_bcode .= "'$b'";
|
||||
}
|
||||
|
||||
$sql = "SELECT
|
||||
RIGHT(T_OrderHeaderLabNumber,7 ) T_OrderHeaderLabNumber ,
|
||||
T_OrderHeaderLabNumber Full_T_OrderHeaderLabNumber,
|
||||
T_SampleTypeName,
|
||||
left(T_BarcodeLabBarcode ,13) T_BarcodeLabBarcode ,
|
||||
T_BarcodeLabBarcode Full_T_BarcodeLabBarcode ,
|
||||
CONCAT(M_TitleName,'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) M_PatientName,
|
||||
M_PatientNoReg,
|
||||
T_OrderHeaderM_PatientAge,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
if(M_PatientGender = 'male' , 'L' , 'P') as Gender,
|
||||
CorporateName,M_PatientNIP,
|
||||
DATE_FORMAT(T_OrderHeaderDate,'%d/%m/%Y') T_OrderHeaderDate,
|
||||
case
|
||||
when M_PatientGender = 'male' then 'M'
|
||||
when M_PatientGender = 'female' then 'F'
|
||||
end Sex,
|
||||
T_SampleTypeSuffix
|
||||
from t_barcodelab
|
||||
join t_sampletype on T_BarcodeLabT_SampleTypeID = T_SampleTypeID
|
||||
join t_orderheader on T_BarcodeLabT_OrderHeaderID = T_OrderHeaderID
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join corporate on T_OrderHeaderCorporateID = CorporateID and CorporateIsActive = 'Y'
|
||||
|
||||
|
||||
where T_BarcodeLabBarcode in ( $s_bcode ) ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
//echo $sql;
|
||||
$rows = $query->result_array();
|
||||
$rst = [];
|
||||
foreach ($rows as $key => $value) {
|
||||
$rst[] = $value;
|
||||
// if ($value['T_SampleTypeSuffix'] == 'UK') {
|
||||
// $rst[] = $value;
|
||||
// }
|
||||
}
|
||||
$updatedData = $this->duplicateDataByBarcode($a_bcodes, $rst);
|
||||
echo json_encode(array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $updatedData
|
||||
));
|
||||
}
|
||||
}
|
||||
136
application/controllers/v1/su/Barcode_bkp.php
Normal file
136
application/controllers/v1/su/Barcode_bkp.php
Normal file
@@ -0,0 +1,136 @@
|
||||
<?php
|
||||
ini_set('display_errors', 1);
|
||||
ini_set('display_startup_errors', 1);
|
||||
error_reporting(E_ALL);
|
||||
|
||||
class Barcode extends CI_Controller
|
||||
{
|
||||
function so_group() {
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId= "'0'";
|
||||
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(M_TitleName,'. ',M_PatientName) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
(SELECT M_PatientAddressDescription from m_patientaddress AS p
|
||||
WHERE M_PatientAddressM_PatientID = M_PatientID
|
||||
ORDER BY M_PatientAddressM_PatientID
|
||||
LIMIT 1) AS alamat,
|
||||
M_CityName as city,
|
||||
CONCAT(M_DoctorPrefix,' ',M_DoctorName,' ',M_DoctorSufix) AS M_DoctorName,
|
||||
group_concat(distinct T_TestName) as test ,
|
||||
M_SexCode as sexcode, M_CompanyName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
join so_resultentry on T_OrderDetailID = So_ResultEntryT_OrderDetailID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
||||
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
||||
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
||||
left join m_doctor ON T_OrderHeaderSenderM_DoctorID = M_DoctorID AND M_DoctorIsActive = 'Y'
|
||||
left join m_patientaddress on M_PatientAddressM_PatientID = M_PatientID
|
||||
left join m_kelurahan on M_PatientAddressM_KelurahanID = M_KelurahanID
|
||||
left join m_district on M_KelurahanM_DistrictID = M_DistrictID
|
||||
left join m_city on M_DistrictM_CityID = M_CityID
|
||||
where T_OrderHeaderID = $orderId and T_TestIsResult ='y' and T_TestIsNonLab <> ''
|
||||
group by T_OrderHeaderID ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
if (count($rows) > 0 ) $data = $rows[0];
|
||||
|
||||
echo json_encode( array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $data
|
||||
));
|
||||
}
|
||||
/*
|
||||
//+ "^FT5,200^A0N,23,24^FH\^FD"+ data.city+"^FS"+ "\n"
|
||||
//+ "^FT5,175^A0N,23,24^FH\^FD" + data.address + "^FS"+ "\n"
|
||||
//+ "^FT3,150^A0N,28,28^FH\^FD"+ data.title+" "+ data.patientName +"^FS"+ "\n"
|
||||
//+ "^BY3,3,45^FT22,70^BCN,,Y,N"+ "\n"
|
||||
//+ "^FD>;" + xbarcodeId + "^FS"+ "\n"
|
||||
//+ "^FT5,225^A0N,23,24^FH\^FD"+ data.patienttype +"^FS"+ "\n"
|
||||
//+ "^PQ1,0,1,Y^XZ"+ "\n"
|
||||
*/
|
||||
function so() {
|
||||
$orderId= $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
// orderId = order detail id
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(M_TitleName,'. ',M_PatientName) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
(SELECT M_PatientAddressDescription from m_patientaddress AS p
|
||||
WHERE M_PatientAddressM_PatientID = M_PatientID
|
||||
ORDER BY M_PatientAddressM_PatientID
|
||||
LIMIT 1) AS alamat,
|
||||
M_CityName as city,
|
||||
CONCAT(M_DoctorPrefix,' ',M_DoctorName,' ',M_DoctorSufix) AS M_DoctorName,
|
||||
T_TestName as test ,
|
||||
M_SexCode as sexcode, M_CompanyName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID and T_OrderDetailID = $orderId
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
join so_resultentry on T_OrderDetailID = So_ResultEntryT_OrderDetailID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
||||
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
||||
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
||||
left join m_doctor ON T_OrderHeaderSenderM_DoctorID = M_DoctorID AND M_DoctorIsActive = 'Y'
|
||||
left join m_patientaddress on M_PatientAddressM_PatientID = M_PatientID
|
||||
left join m_kelurahan on M_PatientAddressM_KelurahanID = M_KelurahanID
|
||||
left join m_district on M_KelurahanM_DistrictID = M_DistrictID
|
||||
left join m_city on M_DistrictM_CityID = M_CityID";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
echo json_encode( array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $rows
|
||||
));
|
||||
}
|
||||
|
||||
function pk() {
|
||||
$barcodeId = $this->input->get("barcodeId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($barcodeId == "") $barcodeId = "'0'";
|
||||
$a_bcodes = explode(",", $barcodeId);
|
||||
$s_bcode = "";
|
||||
foreach($a_bcodes as $b) {
|
||||
if ($s_bcode != "") $s_bcode .= ",";
|
||||
$s_bcode .= "'$b'";
|
||||
}
|
||||
|
||||
$sql = "select
|
||||
T_OrderHeaderLabNumber , T_SampleTypeName, T_BarcodeLabBarcode ,
|
||||
concat(M_TitleName, ' ', M_PatientName) M_PatientName
|
||||
from t_barcodelab
|
||||
join t_sampletype on T_BarcodeLabT_SampleTypeID = T_SampleTypeID
|
||||
join t_orderheader on T_BarcodeLabT_OrderHeaderID = T_OrderHeaderID
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
where T_BarcodeLabBarcode in ( $s_bcode ) ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
echo json_encode( array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $rows
|
||||
));
|
||||
}
|
||||
}
|
||||
?>
|
||||
200
application/controllers/v1/su/Barcode_bkpadhi.php
Normal file
200
application/controllers/v1/su/Barcode_bkpadhi.php
Normal file
@@ -0,0 +1,200 @@
|
||||
<?php
|
||||
ini_set('display_errors', 1);
|
||||
ini_set('display_startup_errors', 1);
|
||||
error_reporting(E_ALL);
|
||||
|
||||
class Barcode extends CI_Controller
|
||||
{
|
||||
|
||||
function formulir() {
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId= "'0'";
|
||||
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
T_OrderHeaderLabNumber as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(M_TitleName,'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
(SELECT M_PatientAddressDescription from m_patientaddress AS p
|
||||
WHERE M_PatientAddressM_PatientID = M_PatientID
|
||||
ORDER BY M_PatientAddressM_PatientID
|
||||
LIMIT 1) AS alamat,
|
||||
M_CityName as city,
|
||||
CONCAT(M_DoctorPrefix,' ',M_DoctorName,' ',M_DoctorSufix) AS M_DoctorName,
|
||||
group_concat(distinct T_TestName) as test ,
|
||||
M_SexCode as sexcode, M_CompanyName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
||||
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
||||
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
||||
left join m_doctor ON T_OrderHeaderSenderM_DoctorID = M_DoctorID AND M_DoctorIsActive = 'Y'
|
||||
left join m_patientaddress on M_PatientAddressM_PatientID = M_PatientID
|
||||
left join m_kelurahan on M_PatientAddressM_KelurahanID = M_KelurahanID
|
||||
left join m_district on M_KelurahanM_DistrictID = M_DistrictID
|
||||
left join m_city on M_DistrictM_CityID = M_CityID
|
||||
where T_OrderHeaderID = $orderId
|
||||
group by T_OrderHeaderID ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
if (count($rows) > 0 ) $data = $rows[0];
|
||||
|
||||
echo json_encode( array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $data
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
function so_group() {
|
||||
$orderId = $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId= "'0'";
|
||||
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
fn_lookup_external(T_OrderHeaderLabNumber,'L') as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(M_TitleName,'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
(SELECT M_PatientAddressDescription from m_patientaddress AS p
|
||||
WHERE M_PatientAddressM_PatientID = M_PatientID
|
||||
ORDER BY M_PatientAddressM_PatientID
|
||||
LIMIT 1) AS alamat,
|
||||
M_CityName as city,
|
||||
CONCAT(M_DoctorPrefix,' ',M_DoctorName,' ',M_DoctorSufix) AS M_DoctorName,
|
||||
group_concat(distinct T_TestName separator ', ') as test ,
|
||||
M_SexCode as sexcode, M_CompanyName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y'
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
join so_resultentry on T_OrderDetailID = So_ResultEntryT_OrderDetailID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
||||
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
||||
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
||||
left join m_doctor ON T_OrderHeaderSenderM_DoctorID = M_DoctorID AND M_DoctorIsActive = 'Y'
|
||||
left join m_patientaddress on M_PatientAddressM_PatientID = M_PatientID
|
||||
left join m_kelurahan on M_PatientAddressM_KelurahanID = M_KelurahanID
|
||||
left join m_district on M_KelurahanM_DistrictID = M_DistrictID
|
||||
left join m_city on M_DistrictM_CityID = M_CityID
|
||||
where T_OrderHeaderID = $orderId and T_TestIsResult ='y' and T_TestIsNonLab <> ''
|
||||
group by T_OrderHeaderID ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
if (count($rows) > 0 ) $data = $rows[0];
|
||||
|
||||
echo json_encode( array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $data
|
||||
));
|
||||
}
|
||||
/*
|
||||
//+ "^FT5,200^A0N,23,24^FH\^FD"+ data.city+"^FS"+ "\n"
|
||||
//+ "^FT5,175^A0N,23,24^FH\^FD" + data.address + "^FS"+ "\n"
|
||||
//+ "^FT3,150^A0N,28,28^FH\^FD"+ data.title+" "+ data.patientName +"^FS"+ "\n"
|
||||
//+ "^BY3,3,45^FT22,70^BCN,,Y,N"+ "\n"
|
||||
//+ "^FD>;" + xbarcodeId + "^FS"+ "\n"
|
||||
//+ "^FT5,225^A0N,23,24^FH\^FD"+ data.patienttype +"^FS"+ "\n"
|
||||
//+ "^PQ1,0,1,Y^XZ"+ "\n"
|
||||
*/
|
||||
function so() {
|
||||
$orderId= $this->input->get("orderId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($orderId == "") $orderId = "'0'";
|
||||
// orderId = order detail id
|
||||
$sql = "select
|
||||
DATE_FORMAT(T_OrderHeaderDate, '%d-%m-%Y ')as datereg,
|
||||
fn_lookup_external(T_OrderHeaderLabNumber,'L') as nolab,
|
||||
M_PatientNoReg as noreg,
|
||||
CONCAT(M_TitleName,'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) AS M_PatientName,
|
||||
T_OrderHeaderM_PatientAge as age,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
(SELECT M_PatientAddressDescription from m_patientaddress AS p
|
||||
WHERE M_PatientAddressM_PatientID = M_PatientID
|
||||
ORDER BY M_PatientAddressM_PatientID
|
||||
LIMIT 1) AS alamat,
|
||||
M_CityName as city,
|
||||
CONCAT(M_DoctorPrefix,' ',M_DoctorName,' ',M_DoctorSufix) AS M_DoctorName,
|
||||
T_TestName as test ,
|
||||
M_SexCode as sexcode, M_CompanyName as patienttype
|
||||
from t_orderheader
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_orderdetail on T_OrderHeaderID = T_OrderDetailT_OrderHeaderID and T_OrderDetailID = $orderId
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
join so_resultentry on T_OrderDetailID = So_ResultEntryT_OrderDetailID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
left join m_sex ON M_PatientM_SexID = M_SexID AND M_SexIsActive = 'Y'
|
||||
left join m_company ON T_OrderHeaderM_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
|
||||
left join m_mou ON T_OrderHeaderM_MouID = M_MouID AND M_MouIsActive = 'Y'
|
||||
left join m_doctor ON T_OrderHeaderSenderM_DoctorID = M_DoctorID AND M_DoctorIsActive = 'Y'
|
||||
left join m_patientaddress on M_PatientAddressM_PatientID = M_PatientID
|
||||
left join m_kelurahan on M_PatientAddressM_KelurahanID = M_KelurahanID
|
||||
left join m_district on M_KelurahanM_DistrictID = M_DistrictID
|
||||
left join m_city on M_DistrictM_CityID = M_CityID";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
echo json_encode( array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $rows
|
||||
));
|
||||
}
|
||||
|
||||
function pk() {
|
||||
$barcodeId = $this->input->get("barcodeId");
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
if ($barcodeId == "") $barcodeId = "'0'";
|
||||
$a_bcodes = explode(",", $barcodeId);
|
||||
$s_bcode = "";
|
||||
foreach($a_bcodes as $b) {
|
||||
if ($s_bcode != "") $s_bcode .= ",";
|
||||
$s_bcode .= "'$b'";
|
||||
}
|
||||
|
||||
$sql = "select
|
||||
RIGHT(T_OrderHeaderLabNumber,7 ) T_OrderHeaderLabNumber ,
|
||||
T_OrderHeaderLabNumber Full_T_OrderHeaderLabNumber,
|
||||
T_SampleTypeName,
|
||||
left(T_BarcodeLabBarcode ,12) T_BarcodeLabBarcode ,
|
||||
CONCAT(M_TitleName,'. ',ifnull(M_PatientPrefix,'') , ' ' ,M_PatientName,' ' , ifnull(M_PatientSuffix,'')) M_PatientName,
|
||||
M_PatientNoReg,
|
||||
T_OrderHeaderM_PatientAge,
|
||||
DATE_FORMAT(M_PatientDOB, '%d-%m-%Y') AS M_PatientDOB,
|
||||
|
||||
DATE_FORMAT(T_OrderHeaderDate,'%d/%m/%Y') T_OrderHeaderDate,
|
||||
case
|
||||
when M_SexCode = 'L' then 'M'
|
||||
when M_SexCode = 'p' then 'F'
|
||||
else M_SexCode
|
||||
end Sex,
|
||||
T_SampleTypeSuffix
|
||||
from t_barcodelab
|
||||
join t_sampletype on T_BarcodeLabT_SampleTypeID = T_SampleTypeID
|
||||
join t_orderheader on T_BarcodeLabT_OrderHeaderID = T_OrderHeaderID
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join m_sex on M_PatientM_SexID = M_SexID
|
||||
join m_title on M_PatientM_TitleID = M_TitleID
|
||||
where T_BarcodeLabBarcode in ( $s_bcode ) ";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
echo json_encode( array(
|
||||
"status" => "OK",
|
||||
"message" => "",
|
||||
"rows" => $rows
|
||||
));
|
||||
}
|
||||
}
|
||||
?>
|
||||
16
application/controllers/v1/su/Bc.php
Normal file
16
application/controllers/v1/su/Bc.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
ini_set('display_errors', 1);
|
||||
ini_set('display_startup_errors', 1);
|
||||
error_reporting(E_ALL);
|
||||
|
||||
class Bc extends MY_Controller
|
||||
{
|
||||
function index() {
|
||||
echo "API";
|
||||
}
|
||||
function test() {
|
||||
$this->broadcast("email-done");
|
||||
echo "BC : email-done";
|
||||
//echo file_get_contents('http://127.0.0.1:9090/broadcast/' . $prm);
|
||||
}
|
||||
}
|
||||
13
application/controllers/v1/su/Calc.php
Normal file
13
application/controllers/v1/su/Calc.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
class Calc extends CI_Controller
|
||||
{
|
||||
function index() {
|
||||
$id = 946;
|
||||
echo "<pre> $rows";
|
||||
}
|
||||
function auto($id) {
|
||||
$this->load->library("Resultcalc");
|
||||
$rows = $this->resultcalc->auto($id);
|
||||
echo "<pre> $rows";
|
||||
}
|
||||
}
|
||||
72
application/controllers/v1/su/Checkfolderexist.php
Normal file
72
application/controllers/v1/su/Checkfolderexist.php
Normal file
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
|
||||
class Checkfolderexist extends MY_Controller
|
||||
{
|
||||
|
||||
function donow(){
|
||||
$array_db = array(
|
||||
'192.168.250.201',
|
||||
'192.168.250.202',
|
||||
'192.168.250.204',
|
||||
'192.168.250.203',
|
||||
'192.168.250.241',
|
||||
'192.168.250.242',
|
||||
'192.168.250.243',
|
||||
'192.168.250.244',
|
||||
'192.168.250.245',
|
||||
'192.168.250.246',
|
||||
'192.168.250.191',
|
||||
'192.168.250.192',
|
||||
'192.168.250.181',
|
||||
'192.168.250.182',
|
||||
'192.168.250.183',
|
||||
'192.168.250.184',
|
||||
'192.168.250.216',
|
||||
'192.168.250.171',
|
||||
'192.168.250.172',
|
||||
'192.168.250.173',
|
||||
'192.168.250.161',
|
||||
'192.168.250.162',
|
||||
'192.168.250.151',
|
||||
'192.168.250.211',
|
||||
'192.168.250.221',
|
||||
'192.168.250.231',
|
||||
'192.168.250.156',
|
||||
'192.168.250.141',
|
||||
'192.168.250.231',
|
||||
'192.168.250.131',
|
||||
'192.168.250.236',
|
||||
'192.168.250.121',
|
||||
'192.168.250.126',
|
||||
'192.168.250.136',
|
||||
'192.168.250.176',
|
||||
'192.168.250.251',
|
||||
'192.168.250.252',
|
||||
'192.168.250.81',
|
||||
'192.168.250.82',
|
||||
'192.168.250.85',
|
||||
'192.168.250.88'
|
||||
);
|
||||
foreach($array_db as $k => $v){
|
||||
|
||||
$filename = $v."/one-api/mockup/samplestoragev2" ;
|
||||
|
||||
// Remote file url
|
||||
$remoteFile = $filename;
|
||||
|
||||
// Open file
|
||||
$handle = @fopen($remoteFile, 'r');
|
||||
|
||||
// Check if file exists
|
||||
if(!$handle){
|
||||
echo 'File not found';
|
||||
}else{
|
||||
echo 'File exists';
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
14
application/controllers/v1/su/Code128.php
Normal file
14
application/controllers/v1/su/Code128.php
Normal file
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
class Code128 extends CI_Controller
|
||||
{
|
||||
function test() {
|
||||
echo "Test";
|
||||
}
|
||||
function index(){
|
||||
$no = $this->input->get("no");
|
||||
$generator = new Picqer\Barcode\BarcodeGeneratorJPG();
|
||||
header('Content-type: image/jpg');
|
||||
echo $generator->getBarcode($no, $generator::TYPE_CODE_128);
|
||||
}
|
||||
}
|
||||
?>
|
||||
19
application/controllers/v1/su/Configemail.php
Normal file
19
application/controllers/v1/su/Configemail.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
class Configemail extends CI_Controller
|
||||
{
|
||||
function config() {
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
$sql = "select * from m_emailconfig where M_EmailConfigIsActive = 'Y'
|
||||
limit 0,1";
|
||||
$qry = $this->db_onedev->query($sql);
|
||||
if ($qry) {
|
||||
$rows = $qry->result_array();
|
||||
if (count($rows) > 0 ) {
|
||||
echo json_encode($rows[0]);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
echo json_encode( array());
|
||||
}
|
||||
}
|
||||
80
application/controllers/v1/su/Crorder.php
Normal file
80
application/controllers/v1/su/Crorder.php
Normal file
@@ -0,0 +1,80 @@
|
||||
<?php
|
||||
class Crorder extends MY_Controller
|
||||
{
|
||||
public function __construct() {
|
||||
parent::__construct();
|
||||
$this->db_one = $this->load->database("onedev", true);
|
||||
}
|
||||
function order() {
|
||||
$param = $this->sys_input;
|
||||
$port = $param["port"];
|
||||
$sql = "select * from cr_order where crOrderIsDownloadedA = 'N' and crOrderIsActive = 'Y'";
|
||||
switch ($port ) {
|
||||
case "A":
|
||||
$sql = "select * from cr_order where crOrderIsDownloadedA = 'N' and crOrderIsActive = 'Y'";
|
||||
break;
|
||||
case "B":
|
||||
$sql = "select * from cr_order where crOrderIsDownloadedB = 'N' and crOrderIsActive = 'Y'";
|
||||
break;
|
||||
case "C":
|
||||
$sql = "select * from cr_order where crOrderIsDownloadedC = 'N' and crOrderIsActive = 'Y'";
|
||||
break;
|
||||
}
|
||||
try {
|
||||
$qry = $this->db->query($sql);
|
||||
if($qry) {
|
||||
$rows = $qry->result_array();
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "order" => $rows)
|
||||
);
|
||||
} else {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "order" => array())
|
||||
);
|
||||
}
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function update_order() {
|
||||
$param = $this->sys_input;
|
||||
$maxID = $param["maxID"];
|
||||
$port = $param["port"];
|
||||
$sql = "update cr_order set crOrderIsDownloadedA = 'Y' where crOrderID <= ?
|
||||
and crOrderIsDownloaded = 'N'";
|
||||
switch($port) {
|
||||
case "A":
|
||||
$sql = "update cr_order set crOrderIsDownloadedA = 'Y' where crOrderID <= ?
|
||||
and crOrderIsDownloaded = 'N'";
|
||||
break;
|
||||
case "B":
|
||||
$sql = "update cr_order set crOrderIsDownloadedB = 'Y' where crOrderID <= ?
|
||||
and crOrderIsDownloaded = 'N'";
|
||||
break;
|
||||
case "C":
|
||||
$sql = "update cr_order set crOrderIsDownloadedC = 'Y' where crOrderID <= ?
|
||||
and crOrderIsDownloaded = 'N'";
|
||||
break;
|
||||
}
|
||||
try {
|
||||
$qry = $this->db->query($sql, array($maxID));
|
||||
if ($qry) {
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => "")
|
||||
);
|
||||
} else {
|
||||
$msg = print_r($this->db->error(),true);
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => $msg )
|
||||
);
|
||||
}
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
20
application/controllers/v1/su/Emailresult.php
Normal file
20
application/controllers/v1/su/Emailresult.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
class Emailresult extends MY_Controller
|
||||
{
|
||||
public function __construct() {
|
||||
parent::__construct();
|
||||
$this->db_one = $this->load->database("onedev", true);
|
||||
}
|
||||
function config() {
|
||||
try {
|
||||
$sql = "select * from m_emailconfig from M_EmailConfigIsActive = 'Y' and M_EmailConfigType='R'";
|
||||
$qry = $this->db_one->query($sql);
|
||||
$rows = $qry->result_array();
|
||||
echo json_encode(rows);
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e.message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
20
application/controllers/v1/su/Emailresult.php_233
Normal file
20
application/controllers/v1/su/Emailresult.php_233
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
class Emailresult extends MY_Controller
|
||||
{
|
||||
public function __construct() {
|
||||
parent::__construct();
|
||||
$this->db_one = $this->load->database("onedev", true);
|
||||
}
|
||||
function config() {
|
||||
try {
|
||||
$sql = "select * from m_emailconfig from M_EmailConfigIsActive = 'Y' and M_EmailConfigType='R'";
|
||||
$qry = $this->db_one->query($sql);
|
||||
$rows = $qry->result_array();
|
||||
echo json_encode(rows);
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e.message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
107
application/controllers/v1/su/Fixprice.php
Normal file
107
application/controllers/v1/su/Fixprice.php
Normal file
@@ -0,0 +1,107 @@
|
||||
<?php
|
||||
class Fixprice extends MY_Controller
|
||||
{
|
||||
public function __construct() {
|
||||
parent::__construct();
|
||||
$this->db_one = $this->load->database("onedev", true);
|
||||
}
|
||||
function amount($mouId, $testID,$amount) {
|
||||
try {
|
||||
$sql = "update
|
||||
ss_price_mou
|
||||
set T_PriceAmount = ? ,
|
||||
T_PriceSubTotal = ? - T_PriceDisc / 100 * ? ,
|
||||
T_PriceTotal = ? - T_PriceDisc / 100 * ?
|
||||
where T_TestID = ? and Ss_PriceMouM_MouID = ? ";
|
||||
|
||||
$this->db_one->query($sql, array($amount, $amount,$amount, $amount,$amount,
|
||||
$testID, $mouId));
|
||||
echo json_encode( array("status"=>"OK" , "message" => "Updated") );
|
||||
} catch(Exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "id" => 0, "message" => $e.message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function profile($mouId, $testID) {
|
||||
try {
|
||||
$sql = "select T_TestSasCode, T_PriceAmount ,
|
||||
T_PriceDisc, T_PriceSubTotal, T_PriceTotal
|
||||
from
|
||||
ss_price_mou s
|
||||
join t_test t on s.T_TestID = t.T_TestID
|
||||
and Ss_PriceMouM_MouID = ?
|
||||
where t.T_TestID = ? ";
|
||||
$qry = $this->db_one->query($sql, array($mouId,$testID));
|
||||
$T_TestSasCode = "";
|
||||
$T_PriceAmount = 0;
|
||||
if ( $qry ) {
|
||||
$rows = $qry->result_array();
|
||||
$T_TestSasCode = $rows[0]["T_TestSasCode"];
|
||||
$T_PriceAmount= $rows[0]["T_PriceAmount"];
|
||||
$T_PriceDisc= $rows[0]["T_PriceDisc"];
|
||||
$T_PriceSubTotal= $rows[0]["T_PriceSubTotal"];
|
||||
$T_PriceTotal= $rows[0]["T_PriceTotal"];
|
||||
}
|
||||
if ($T_TestSasCode == "" || $T_PriceAmount == 0 ) {
|
||||
echo json_encode( array("status"=>"ERR", "message"=> "NO Test") );
|
||||
exit;
|
||||
}
|
||||
$T_TestSasCode = substr($T_TestSasCode, 0 , strlen($T_TestSasCode) - 2 );
|
||||
// cari anak
|
||||
$sql = "select T_TestID
|
||||
from t_test
|
||||
where T_TestSasCode like ?
|
||||
and length(T_TestSasCode ) = ?
|
||||
and T_TestIsPrice = 'Y'
|
||||
and T_TestIsActive = 'Y'";
|
||||
$qry = $this->db_one->query($sql, array($T_TestSasCode . "%" , strlen($T_TestSasCode) + 2 ) );
|
||||
$px_childs = array();
|
||||
if ($qry ) {
|
||||
$rows = $qry->result_array();
|
||||
foreach($rows as $r) {
|
||||
$px_childs[] = $r["T_TestID"];
|
||||
}
|
||||
}
|
||||
|
||||
$sql = "select s.*
|
||||
from ss_price_mou s
|
||||
join t_test t on t.T_TestID = s.T_TestID
|
||||
where Ss_PriceMouM_MouID = ? and
|
||||
px_type = 'PXR' and T_TestSasCode = ? ";
|
||||
$qry = $this->db_one->query($sql,array($mouId,$T_TestSasCode));
|
||||
if($qry) {
|
||||
$rows = $qry->result_array();
|
||||
foreach($rows as $r) {
|
||||
$id = $r["Ss_PriceMouID"];
|
||||
$child_test = json_decode($r["child_test"],true);
|
||||
$new_child_test = array();
|
||||
$flag_found = false;
|
||||
foreach($child_test as $c) {
|
||||
if($c["T_TestID"] == $testID ) {
|
||||
$c["T_PriceAmount"] = $T_PriceAmount;
|
||||
$c["T_PriceDisc"] = $T_PriceDisc;
|
||||
$c["T_PriceSubTotal"] = $T_PriceSubTotal;
|
||||
$c["T_PriceTotal"] = $T_PriceTotal;
|
||||
$flag_found = true;
|
||||
}
|
||||
if ( in_array($c["T_TestID"], $px_childs ) ) {
|
||||
$new_child_test[] = $c;
|
||||
}
|
||||
}
|
||||
if ($flag_found) {
|
||||
$j_child_test = json_encode($new_child_test);
|
||||
$sql = "update ss_price_mou set
|
||||
child_test = ? where Ss_PriceMouID = ? ";
|
||||
$this->db_one->query($sql, array($j_child_test, $id));
|
||||
}
|
||||
}
|
||||
}
|
||||
echo json_encode( array("status"=>"OK" , "message" => "Updated") );
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "id" => 0, "message" => $e.message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
8
application/controllers/v1/su/Gennoreg.php
Normal file
8
application/controllers/v1/su/Gennoreg.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
class Gennoreg extends CI_Controller
|
||||
{
|
||||
function index() {
|
||||
$this->db =
|
||||
}
|
||||
}
|
||||
?>
|
||||
2298
application/controllers/v1/su/Inject_walkin.php
Normal file
2298
application/controllers/v1/su/Inject_walkin.php
Normal file
File diff suppressed because it is too large
Load Diff
2298
application/controllers/v1/su/Inject_walkin.php--
Normal file
2298
application/controllers/v1/su/Inject_walkin.php--
Normal file
File diff suppressed because it is too large
Load Diff
17
application/controllers/v1/su/Photo.php
Normal file
17
application/controllers/v1/su/Photo.php
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
class Photo extends CI_Controller
|
||||
{
|
||||
var $base_dir = "/home/one/project/one/one-media/one-photo/patient/";
|
||||
function test() {
|
||||
echo "Test";
|
||||
}
|
||||
function small(){
|
||||
$y = $this->input->get("y");
|
||||
$pid = $this->input->get("pid");
|
||||
$foto_file = $this->base_dir . "$y" . "/" . $pid . "_thumb.jpg";
|
||||
header('Content-type: image/jpg');
|
||||
|
||||
echo file_get_contents($foto_file);
|
||||
}
|
||||
}
|
||||
?>
|
||||
130
application/controllers/v1/su/Portserver-bkp.php
Normal file
130
application/controllers/v1/su/Portserver-bkp.php
Normal file
@@ -0,0 +1,130 @@
|
||||
<?php
|
||||
class Portserver extends MY_Controller
|
||||
{
|
||||
public function __construct() {
|
||||
parent::__construct();
|
||||
$this->db_one = $this->load->database("onedev", true);
|
||||
}
|
||||
function raw() {
|
||||
$param = $this->sys_input;
|
||||
try {
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$data = $param["data"];
|
||||
$sql = "insert into itf_raw(itf_RawNat_InstrumentID,itf_RawData)
|
||||
values(?,?)";
|
||||
$this->db_one->query($sql, array($instrumentID, base64_decode($data)));
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "id" => $this->db_one->insert_id() , "message" => "")
|
||||
);
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "id" => 0, "message" => $e.message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function result() {
|
||||
$param = $this->sys_input;
|
||||
try {
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$rawID = $param["rawID"];
|
||||
$result= $param["result"];
|
||||
$noreg = $result["nolab"];
|
||||
$sql = "insert into itf_result(itf_ResultNat_InstrumentID, itf_ResultItf_RawID,
|
||||
Itf_ResultNoreg, Itf_ResultInstrumentDate, itf_ResultKode, itf_ResultResult, itf_ResultFlag)
|
||||
values(?,?,?,?,?,?,?)";
|
||||
foreach($result["result"] as $r) {
|
||||
$tgl = $r["date"];
|
||||
$px = $r["px"];
|
||||
$result = $r["result"];
|
||||
$this->db_one->query($sql,
|
||||
array($instrumentID, $rawID, $noreg, $tgl , $px,
|
||||
$result,$r["flag"]));
|
||||
}
|
||||
if ($instrumentID == 1) {
|
||||
$sql = "call sp_itf_result_alinity(?)";
|
||||
} else {
|
||||
$sql = "call sp_itf_result(?)";
|
||||
}
|
||||
$this->db->query($sql, array($rawID));
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => "")
|
||||
);
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function order() {
|
||||
$param = $this->sys_input;
|
||||
$sampleID = $param["sampleID"];
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$sql = "call sp_itf_order(?,?)";
|
||||
try {
|
||||
$qry = $this->db->query($sql, array($instrumentID,$sampleID));
|
||||
if (isset($qry->result_id->num_rows)) {
|
||||
$rows = $qry->result_array();
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "order" => $rows)
|
||||
);
|
||||
} else {
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "order" => array())
|
||||
);
|
||||
}
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function update_order() {
|
||||
$param = $this->sys_input;
|
||||
$sampleID = $param["sampleID"];
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$status = $param["status"];
|
||||
$sql = "call sp_itf_order_update(?,?,?)";
|
||||
try {
|
||||
$qry = $this->db->query($sql, array($instrumentID,$sampleID,$status));
|
||||
if ($qry) {
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => "")
|
||||
);
|
||||
} else {
|
||||
$msg = print_r($this->db->error(),true);
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => $msg )
|
||||
);
|
||||
}
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function reset_order() {
|
||||
$param = $this->sys_input;
|
||||
$sampleID = $param["sampleID"];
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$status = $param["status"];
|
||||
$sql = "call sp_itf_order_reset(?,?,?)";
|
||||
try {
|
||||
$qry = $this->db->query($sql, array($instrumentID,$sampleID,$status));
|
||||
if ($qry) {
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => "")
|
||||
);
|
||||
} else {
|
||||
$msg = print_r($this->db->error(),true);
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => $msg )
|
||||
);
|
||||
}
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
146
application/controllers/v1/su/Portserver-new.php
Normal file
146
application/controllers/v1/su/Portserver-new.php
Normal file
@@ -0,0 +1,146 @@
|
||||
<?php
|
||||
class Portserver extends MY_Controller
|
||||
{
|
||||
public function __construct() {
|
||||
parent::__construct();
|
||||
$this->db_one = $this->load->database("onedev", true);
|
||||
}
|
||||
function raw() {
|
||||
$param = $this->sys_input;
|
||||
try {
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$data = $param["data"];
|
||||
$sql = "insert into itf_raw(itf_RawNat_InstrumentID,itf_RawData)
|
||||
values(?,?)";
|
||||
$this->db_one->query($sql, array($instrumentID, base64_decode($data)));
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "id" => $this->db_one->insert_id() , "message" => "")
|
||||
);
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "id" => 0, "message" => $e.message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function result() {
|
||||
$param = $this->sys_input;
|
||||
try {
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$rawID = $param["rawID"];
|
||||
$result= $param["result"];
|
||||
$noreg = $result["nolab"];
|
||||
$sql = "insert into itf_result(itf_ResultNat_InstrumentID, itf_ResultItf_RawID,
|
||||
Itf_ResultNoreg, Itf_ResultInstrumentDate, itf_ResultKode, itf_ResultResult, itf_ResultFlag)
|
||||
values(?,?,?,?,?,?,?)";
|
||||
foreach($result["result"] as $r) {
|
||||
$tgl = $r["date"];
|
||||
$px = $r["px"];
|
||||
$result = $r["result"];
|
||||
$this->db_one->query($sql,
|
||||
array($instrumentID, $rawID, $noreg, $tgl , $px,
|
||||
$result,$r["flag"]));
|
||||
}
|
||||
if ($instrumentID == 1) {
|
||||
$sql = "call sp_itf_result_alinity(?)";
|
||||
} else {
|
||||
$sql = "call sp_itf_result(?)";
|
||||
}
|
||||
$this->db->query($sql, array($rawID));
|
||||
|
||||
// auto calc
|
||||
$s_noreg = substr($noreg,0,10);
|
||||
$sql = "select T_OrderHeaderID from t_orderheader where T_OrderHeaderLabNumber = ? ";
|
||||
$qry = $this->db->query($sql,array($s_noreg));
|
||||
$order_id = 0;
|
||||
if ($qry) {
|
||||
$rows = $qry->result_array();
|
||||
if (count($rows) > 0 ) {
|
||||
$order_id = $rows[0]["T_OrderHeaderID"];
|
||||
$this->load->library("Resultcalc");
|
||||
$this->resultcalc->auto($order_id);
|
||||
//file_put_contents("/xtmp/re-query.sql",$order_id);
|
||||
}
|
||||
}
|
||||
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => "")
|
||||
);
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function order() {
|
||||
$param = $this->sys_input;
|
||||
$sampleID = $param["sampleID"];
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$sql = "call sp_itf_order(?,?)";
|
||||
try {
|
||||
$qry = $this->db->query($sql, array($instrumentID,$sampleID));
|
||||
if (isset($qry->result_id->num_rows)) {
|
||||
$rows = $qry->result_array();
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "order" => $rows)
|
||||
);
|
||||
} else {
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "order" => array())
|
||||
);
|
||||
}
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function update_order() {
|
||||
$param = $this->sys_input;
|
||||
$sampleID = $param["sampleID"];
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$status = $param["status"];
|
||||
$sql = "call sp_itf_order_update(?,?,?)";
|
||||
try {
|
||||
$qry = $this->db->query($sql, array($instrumentID,$sampleID,$status));
|
||||
if ($qry) {
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => "")
|
||||
);
|
||||
} else {
|
||||
$msg = print_r($this->db->error(),true);
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => $msg )
|
||||
);
|
||||
}
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function reset_order() {
|
||||
$param = $this->sys_input;
|
||||
$sampleID = $param["sampleID"];
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$status = $param["status"];
|
||||
$sql = "call sp_itf_order_reset(?,?,?)";
|
||||
try {
|
||||
$qry = $this->db->query($sql, array($instrumentID,$sampleID,$status));
|
||||
if ($qry) {
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => "")
|
||||
);
|
||||
} else {
|
||||
$msg = print_r($this->db->error(),true);
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => $msg )
|
||||
);
|
||||
}
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
200
application/controllers/v1/su/Portserver-riau.php
Normal file
200
application/controllers/v1/su/Portserver-riau.php
Normal file
@@ -0,0 +1,200 @@
|
||||
<?php
|
||||
class Portserver extends MY_Controller
|
||||
{
|
||||
public function __construct() {
|
||||
parent::__construct();
|
||||
$this->db_one = $this->load->database("onedev", true);
|
||||
}
|
||||
function raw() {
|
||||
$param = $this->sys_input;
|
||||
try {
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$data = $param["data"];
|
||||
$sql = "insert into itf_raw(itf_RawNat_InstrumentID,itf_RawData)
|
||||
values(?,?)";
|
||||
$this->db_one->query($sql, array($instrumentID, base64_decode($data)));
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "id" => $this->db_one->insert_id() , "message" => "")
|
||||
);
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "id" => 0, "message" => $e.message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function resultv2() {
|
||||
$param = $this->sys_input;
|
||||
try {
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$rawID = $param["rawID"];
|
||||
$result= $param["result"];
|
||||
$noreg = $result["nolab"];
|
||||
$sql = "insert into itf_result(itf_ResultNat_InstrumentID, itf_ResultItf_RawID,
|
||||
Itf_ResultNoreg, Itf_ResultInstrumentDate, itf_ResultKode, itf_ResultResult, itf_ResultFlag)
|
||||
values(?,?,?,?,?,?,?)";
|
||||
foreach($result["result"] as $r) {
|
||||
$tgl = $r["date"];
|
||||
$px = $r["px"];
|
||||
$result = $r["result"];
|
||||
$this->db_one->query($sql,
|
||||
array($instrumentID, $rawID, $noreg, $tgl , $px,
|
||||
$result,$r["flag"]));
|
||||
}
|
||||
switch($instrumentID) {
|
||||
case 1:
|
||||
$sql = "call sp_itf_result_alinity(?)";
|
||||
break;
|
||||
case 27:
|
||||
$sql = "call sp_itf_result_architect(?)";
|
||||
break;
|
||||
default:
|
||||
$sql = "call sp_itf_result(?)";
|
||||
}
|
||||
$this->db->query($sql, array($rawID));
|
||||
|
||||
// auto calc
|
||||
$s_noreg = substr($noreg,0,10);
|
||||
$sql = "select T_OrderHeaderID from t_orderheader where T_OrderHeaderLabNumber = ? ";
|
||||
$qry = $this->db->query($sql,array($s_noreg));
|
||||
$order_id = 0;
|
||||
if ($qry) {
|
||||
$rows = $qry->result_array();
|
||||
if (count($rows) > 0 ) {
|
||||
$order_id = $rows[0]["T_OrderHeaderID"];
|
||||
$this->load->library("Resultcalc");
|
||||
$this->resultcalc->auto($order_id);
|
||||
//file_put_contents("/xtmp/re-query.sql",$order_id);
|
||||
}
|
||||
}
|
||||
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => "")
|
||||
);
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function result() {
|
||||
$param = $this->sys_input;
|
||||
try {
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$rawID = $param["rawID"];
|
||||
$result= $param["result"];
|
||||
$noreg = $result["nolab"];
|
||||
$sql = "insert into itf_result(itf_ResultNat_InstrumentID, itf_ResultItf_RawID,
|
||||
Itf_ResultNoreg, Itf_ResultInstrumentDate, itf_ResultKode, itf_ResultResult, itf_ResultFlag)
|
||||
values(?,?,?,?,?,?,?)";
|
||||
foreach($result["result"] as $r) {
|
||||
$tgl = $r["date"];
|
||||
$px = $r["px"];
|
||||
$result = $r["result"];
|
||||
$this->db_one->query($sql,
|
||||
array($instrumentID, $rawID, $noreg, $tgl , $px,
|
||||
$result,$r["flag"]));
|
||||
}
|
||||
if ($instrumentID == 1) {
|
||||
$sql = "call sp_itf_result_alinity(?)";
|
||||
} else {
|
||||
$sql = "call sp_itf_result(?)";
|
||||
}
|
||||
$this->db->query($sql, array($rawID));
|
||||
|
||||
// auto calc
|
||||
$s_noreg = substr($noreg,0,10);
|
||||
$sql = "select T_OrderHeaderID from t_orderheader where T_OrderHeaderLabNumber = ? ";
|
||||
$qry = $this->db->query($sql,array($s_noreg));
|
||||
$order_id = 0;
|
||||
if ($qry) {
|
||||
$rows = $qry->result_array();
|
||||
if (count($rows) > 0 ) {
|
||||
$order_id = $rows[0]["T_OrderHeaderID"];
|
||||
$this->load->library("Resultcalc");
|
||||
$this->resultcalc->auto($order_id);
|
||||
//file_put_contents("/xtmp/re-query.sql",$order_id);
|
||||
}
|
||||
}
|
||||
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => "")
|
||||
);
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function order() {
|
||||
$param = $this->sys_input;
|
||||
$sampleID = $param["sampleID"];
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$sql = "call sp_itf_order(?,?)";
|
||||
try {
|
||||
$qry = $this->db->query($sql, array($instrumentID,$sampleID));
|
||||
if (isset($qry->result_id->num_rows)) {
|
||||
$rows = $qry->result_array();
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "order" => $rows)
|
||||
);
|
||||
} else {
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "order" => array())
|
||||
);
|
||||
}
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function update_order() {
|
||||
$param = $this->sys_input;
|
||||
$sampleID = $param["sampleID"];
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$status = $param["status"];
|
||||
$sql = "call sp_itf_order_update(?,?,?)";
|
||||
try {
|
||||
$qry = $this->db->query($sql, array($instrumentID,$sampleID,$status));
|
||||
if ($qry) {
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => "")
|
||||
);
|
||||
} else {
|
||||
$msg = print_r($this->db->error(),true);
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => $msg )
|
||||
);
|
||||
}
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function reset_order() {
|
||||
$param = $this->sys_input;
|
||||
$sampleID = $param["sampleID"];
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$status = $param["status"];
|
||||
$sql = "call sp_itf_order_reset(?,?,?)";
|
||||
try {
|
||||
$qry = $this->db->query($sql, array($instrumentID,$sampleID,$status));
|
||||
if ($qry) {
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => "")
|
||||
);
|
||||
} else {
|
||||
$msg = print_r($this->db->error(),true);
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => $msg )
|
||||
);
|
||||
}
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
130
application/controllers/v1/su/Portserver-v2.php
Normal file
130
application/controllers/v1/su/Portserver-v2.php
Normal file
@@ -0,0 +1,130 @@
|
||||
<?php
|
||||
class Portserver extends MY_Controller
|
||||
{
|
||||
public function __construct() {
|
||||
parent::__construct();
|
||||
$this->db_one = $this->load->database("onedev", true);
|
||||
}
|
||||
function raw() {
|
||||
$param = $this->sys_input;
|
||||
try {
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$data = $param["data"];
|
||||
$sql = "insert into itf_raw(itf_RawNat_InstrumentID,itf_RawData)
|
||||
values(?,?)";
|
||||
$this->db_one->query($sql, array($instrumentID, base64_decode($data)));
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "id" => $this->db_one->insert_id() , "message" => "")
|
||||
);
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "id" => 0, "message" => $e.message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function result() {
|
||||
$param = $this->sys_input;
|
||||
try {
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$rawID = $param["rawID"];
|
||||
$result= $param["result"];
|
||||
$noreg = $result["nolab"];
|
||||
$sql = "insert into itf_result(itf_ResultNat_InstrumentID, itf_ResultItf_RawID,
|
||||
Itf_ResultNoreg, Itf_ResultInstrumentDate, itf_ResultKode, itf_ResultResult, itf_ResultFlag)
|
||||
values(?,?,?,?,?,?,?)";
|
||||
foreach($result["result"] as $r) {
|
||||
$tgl = $r["date"];
|
||||
$px = $r["px"];
|
||||
$result = $r["result"];
|
||||
$this->db_one->query($sql,
|
||||
array($instrumentID, $rawID, $noreg, $tgl , $px,
|
||||
$result,$r["flag"]));
|
||||
}
|
||||
if ($instrumentID == 1) {
|
||||
$sql = "call sp_itf_result_alinity(?)";
|
||||
} else {
|
||||
$sql = "call sp_itf_result(?)";
|
||||
}
|
||||
$this->db->query($sql, array($rawID));
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => "")
|
||||
);
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function order() {
|
||||
$param = $this->sys_input;
|
||||
$sampleID = $param["sampleID"];
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$sql = "call sp_itf_order(?,?)";
|
||||
try {
|
||||
$qry = $this->db->query($sql, array($instrumentID,$sampleID));
|
||||
if (isset($qry->result_id->num_rows)) {
|
||||
$rows = $qry->result_array();
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "order" => $rows)
|
||||
);
|
||||
} else {
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "order" => array())
|
||||
);
|
||||
}
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function update_order() {
|
||||
$param = $this->sys_input;
|
||||
$sampleID = $param["sampleID"];
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$status = $param["status"];
|
||||
$sql = "call sp_itf_order_update(?,?,?)";
|
||||
try {
|
||||
$qry = $this->db->query($sql, array($instrumentID,$sampleID,$status));
|
||||
if ($qry) {
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => "")
|
||||
);
|
||||
} else {
|
||||
$msg = print_r($this->db->error(),true);
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => $msg )
|
||||
);
|
||||
}
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function reset_order() {
|
||||
$param = $this->sys_input;
|
||||
$sampleID = $param["sampleID"];
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$status = $param["status"];
|
||||
$sql = "call sp_itf_order_reset(?,?,?)";
|
||||
try {
|
||||
$qry = $this->db->query($sql, array($instrumentID,$sampleID,$status));
|
||||
if ($qry) {
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => "")
|
||||
);
|
||||
} else {
|
||||
$msg = print_r($this->db->error(),true);
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => $msg )
|
||||
);
|
||||
}
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
146
application/controllers/v1/su/Portserver.php
Normal file
146
application/controllers/v1/su/Portserver.php
Normal file
@@ -0,0 +1,146 @@
|
||||
<?php
|
||||
class Portserver extends MY_Controller
|
||||
{
|
||||
public function __construct() {
|
||||
parent::__construct();
|
||||
$this->db_one = $this->load->database("onedev", true);
|
||||
}
|
||||
function raw() {
|
||||
$param = $this->sys_input;
|
||||
try {
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$data = $param["data"];
|
||||
$sql = "insert into itf_raw(itf_RawNat_InstrumentID,itf_RawData)
|
||||
values(?,?)";
|
||||
$this->db_one->query($sql, array($instrumentID, base64_decode($data)));
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "id" => $this->db_one->insert_id() , "message" => "")
|
||||
);
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "id" => 0, "message" => $e.message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function result() {
|
||||
$param = $this->sys_input;
|
||||
try {
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$rawID = $param["rawID"];
|
||||
$result= $param["result"];
|
||||
$noreg = $result["nolab"];
|
||||
$sql = "insert into itf_result(itf_ResultNat_InstrumentID, itf_ResultItf_RawID,
|
||||
Itf_ResultNoreg, Itf_ResultInstrumentDate, itf_ResultKode, itf_ResultResult, itf_ResultFlag)
|
||||
values(?,?,?,?,?,?,?)";
|
||||
foreach($result["result"] as $r) {
|
||||
$tgl = $r["date"];
|
||||
$px = $r["px"];
|
||||
$result = $r["result"];
|
||||
$this->db_one->query($sql,
|
||||
array($instrumentID, $rawID, $noreg, $tgl , $px,
|
||||
$result,$r["flag"]));
|
||||
}
|
||||
if ($instrumentID == 1) {
|
||||
$sql = "call sp_itf_result_alinity(?)";
|
||||
} else {
|
||||
$sql = "call sp_itf_result(?)";
|
||||
}
|
||||
$this->db->query($sql, array($rawID));
|
||||
|
||||
// auto calc
|
||||
$s_noreg = substr($noreg,0,10);
|
||||
$sql = "select T_OrderHeaderID from t_orderheader where T_OrderHeaderLabNumber = ? ";
|
||||
$qry = $this->db->query($sql,array($s_noreg));
|
||||
$order_id = 0;
|
||||
if ($qry) {
|
||||
$rows = $qry->result_array();
|
||||
if (count($rows) > 0 ) {
|
||||
$order_id = $rows[0]["T_OrderHeaderID"];
|
||||
$this->load->library("Resultcalc");
|
||||
$this->resultcalc->auto($order_id);
|
||||
//file_put_contents("/xtmp/re-query.sql",$order_id);
|
||||
}
|
||||
}
|
||||
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => "")
|
||||
);
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function order() {
|
||||
$param = $this->sys_input;
|
||||
$sampleID = $param["sampleID"];
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$sql = "call sp_itf_order(?,?)";
|
||||
try {
|
||||
$qry = $this->db->query($sql, array($instrumentID,$sampleID));
|
||||
if (isset($qry->result_id->num_rows)) {
|
||||
$rows = $qry->result_array();
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "order" => $rows)
|
||||
);
|
||||
} else {
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "order" => array())
|
||||
);
|
||||
}
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function update_order() {
|
||||
$param = $this->sys_input;
|
||||
$sampleID = $param["sampleID"];
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$status = $param["status"];
|
||||
$sql = "call sp_itf_order_update(?,?,?)";
|
||||
try {
|
||||
$qry = $this->db->query($sql, array($instrumentID,$sampleID,$status));
|
||||
if ($qry) {
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => "")
|
||||
);
|
||||
} else {
|
||||
$msg = print_r($this->db->error(),true);
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => $msg )
|
||||
);
|
||||
}
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function reset_order() {
|
||||
$param = $this->sys_input;
|
||||
$sampleID = $param["sampleID"];
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$status = $param["status"];
|
||||
$sql = "call sp_itf_order_reset(?,?,?)";
|
||||
try {
|
||||
$qry = $this->db->query($sql, array($instrumentID,$sampleID,$status));
|
||||
if ($qry) {
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => "")
|
||||
);
|
||||
} else {
|
||||
$msg = print_r($this->db->error(),true);
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => $msg )
|
||||
);
|
||||
}
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
202
application/controllers/v1/su/Portserverdbg.php
Normal file
202
application/controllers/v1/su/Portserverdbg.php
Normal file
@@ -0,0 +1,202 @@
|
||||
<?php
|
||||
class Portserverdbg extends MY_Controller
|
||||
{
|
||||
public function __construct() {
|
||||
parent::__construct();
|
||||
$this->db_one = $this->load->database("onedev", true);
|
||||
}
|
||||
function raw() {
|
||||
$param = $this->sys_input;
|
||||
try {
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$data = $param["data"];
|
||||
$sql = "insert into itf_raw(itf_RawNat_InstrumentID,itf_RawData)
|
||||
values(?,?)";
|
||||
$this->db_one->query($sql, array($instrumentID, base64_decode($data)));
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "id" => $this->db_one->insert_id() , "message" => "")
|
||||
);
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "id" => 0, "message" => $e.message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function resultv2() {
|
||||
$param = $this->sys_input;
|
||||
try {
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$rawID = $param["rawID"];
|
||||
$result= $param["result"];
|
||||
$noreg = $result["nolab"];
|
||||
$sql = "insert into itf_result(itf_ResultNat_InstrumentID, itf_ResultItf_RawID,
|
||||
Itf_ResultNoreg, Itf_ResultInstrumentDate, itf_ResultKode, itf_ResultResult, itf_ResultFlag)
|
||||
values(?,?,?,?,?,?,?)";
|
||||
foreach($result["result"] as $r) {
|
||||
$tgl = $r["date"];
|
||||
$px = $r["px"];
|
||||
$result = $r["result"];
|
||||
$this->db_one->query($sql,
|
||||
array($instrumentID, $rawID, $noreg, $tgl , $px,
|
||||
$result,$r["flag"]));
|
||||
}
|
||||
switch($instrumentID) {
|
||||
case 1:
|
||||
$sql = "call sp_itf_result_alinity(?)";
|
||||
break;
|
||||
case 27:
|
||||
$sql = "call sp_itf_result_architect(?)";
|
||||
break;
|
||||
default:
|
||||
$sql = "call sp_itf_result(?)";
|
||||
}
|
||||
$this->db->query($sql, array($rawID));
|
||||
|
||||
// auto calc
|
||||
$s_noreg = substr($noreg,0,10);
|
||||
$sql = "select T_OrderHeaderID from t_orderheader where T_OrderHeaderLabNumber = ? ";
|
||||
$qry = $this->db->query($sql,array($s_noreg));
|
||||
$order_id = 0;
|
||||
if ($qry) {
|
||||
$rows = $qry->result_array();
|
||||
if (count($rows) > 0 ) {
|
||||
$order_id = $rows[0]["T_OrderHeaderID"];
|
||||
$this->load->library("Resultcalc");
|
||||
$this->resultcalc->auto($order_id);
|
||||
//file_put_contents("/xtmp/re-query.sql",$order_id);
|
||||
}
|
||||
}
|
||||
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => "")
|
||||
);
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function result() {
|
||||
$param = $this->sys_input;
|
||||
try {
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$rawID = $param["rawID"];
|
||||
$result= $param["result"];
|
||||
$noreg = $result["nolab"];
|
||||
$sql = "insert into itf_result(itf_ResultNat_InstrumentID, itf_ResultItf_RawID,
|
||||
Itf_ResultNoreg, Itf_ResultInstrumentDate, itf_ResultKode, itf_ResultResult, itf_ResultFlag)
|
||||
values(?,?,?,?,?,?,?)";
|
||||
foreach($result["result"] as $r) {
|
||||
$tgl = $r["date"];
|
||||
$px = $r["px"];
|
||||
$result = $r["result"];
|
||||
$this->db_one->query($sql,
|
||||
array($instrumentID, $rawID, $noreg, $tgl , $px,
|
||||
$result,$r["flag"]));
|
||||
}
|
||||
if ($instrumentID == 1) {
|
||||
$sql = "call sp_itf_result_alinity(?)";
|
||||
} else {
|
||||
$sql = "call sp_itf_result(?)";
|
||||
}
|
||||
$this->db->query($sql, array($rawID));
|
||||
|
||||
// auto calc
|
||||
$s_noreg = substr($noreg,0,10);
|
||||
$sql = "select T_OrderHeaderID from t_orderheader where T_OrderHeaderLabNumber = ? ";
|
||||
$qry = $this->db->query($sql,array($s_noreg));
|
||||
$order_id = 0;
|
||||
if ($qry) {
|
||||
$rows = $qry->result_array();
|
||||
if (count($rows) > 0 ) {
|
||||
$order_id = $rows[0]["T_OrderHeaderID"];
|
||||
$this->load->library("Resultcalc");
|
||||
$this->resultcalc->auto($order_id);
|
||||
//file_put_contents("/xtmp/re-query.sql",$order_id);
|
||||
}
|
||||
}
|
||||
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => "")
|
||||
);
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function order() {
|
||||
$param = $this->sys_input;
|
||||
$sampleID = $param["sampleID"];
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$sql = "call sp_itf_order_dbg(?,?)";
|
||||
|
||||
try {
|
||||
$qry = $this->db->query($sql, array($instrumentID,$sampleID));
|
||||
echo $this->db->last_query(); exit;
|
||||
if (isset($qry->result_id->num_rows)) {
|
||||
$rows = $qry->result_array();
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "order" => $rows)
|
||||
);
|
||||
} else {
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "order" => array())
|
||||
);
|
||||
}
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function update_order() {
|
||||
$param = $this->sys_input;
|
||||
$sampleID = $param["sampleID"];
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$status = $param["status"];
|
||||
$sql = "call sp_itf_order_update(?,?,?)";
|
||||
try {
|
||||
$qry = $this->db->query($sql, array($instrumentID,$sampleID,$status));
|
||||
if ($qry) {
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => "")
|
||||
);
|
||||
} else {
|
||||
$msg = print_r($this->db->error(),true);
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => $msg )
|
||||
);
|
||||
}
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
function reset_order() {
|
||||
$param = $this->sys_input;
|
||||
$sampleID = $param["sampleID"];
|
||||
$instrumentID = $param["instrumentID"];
|
||||
$status = $param["status"];
|
||||
$sql = "call sp_itf_order_reset(?,?,?)";
|
||||
try {
|
||||
$qry = $this->db->query($sql, array($instrumentID,$sampleID,$status));
|
||||
if ($qry) {
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => "")
|
||||
);
|
||||
} else {
|
||||
$msg = print_r($this->db->error(),true);
|
||||
echo json_encode(
|
||||
array("status" => "OK" , "message" => $msg )
|
||||
);
|
||||
}
|
||||
} catch(exception $e) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR" , "message" => $e->message() )
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
51
application/controllers/v1/su/Queue.php
Normal file
51
application/controllers/v1/su/Queue.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
class Queue extends MY_Controller
|
||||
{
|
||||
public function __construct() {
|
||||
parent::__construct();
|
||||
$this->db_smartone = $this->load->database("onedev", true);
|
||||
}
|
||||
function now() {
|
||||
$sql = "select
|
||||
ifnull( sum( if(queueStatusTicket + interval 5 minute > now() , 1, 0) ), 0 ) Less5Min,
|
||||
ifnull( sum( if(queueStatusTicket + interval 5 minute <= now() , 1, 0) ), 0 ) More5Min
|
||||
from antrione.queue
|
||||
join antrione.queue_status on queueID = queueStatusQueueID
|
||||
and queueStatusFirstCall is null
|
||||
and date(queueStatusTicket) = date(now()) ";
|
||||
$qry = $this->db_smartone->query($sql);
|
||||
if ($qry) {
|
||||
$rows = $qry->result_array();
|
||||
$this->sys_ok(
|
||||
$rows[0]
|
||||
);
|
||||
} else {
|
||||
$this->sys_error_db(
|
||||
"",
|
||||
$this->db_smartone
|
||||
);
|
||||
}
|
||||
}
|
||||
function status() {
|
||||
$sql = "select
|
||||
HourStepHour Hour, count(*) Total,
|
||||
sum(if(queueStatusTicket + interval 5 minute > queueStatusFirstCall , 1, 0)) Less5Min,
|
||||
sum(if(queueStatusTicket + interval 5 minute <= queueStatusFirstCall , 1, 0)) More5Min
|
||||
from antrione.hourstep
|
||||
left join antrione.queue_status on HourStepHour = hour(queueStatusTicket)
|
||||
group by HourStepHour ";
|
||||
$qry = $this->db_smartone->query($sql);
|
||||
if ($qry) {
|
||||
$rows = $qry->result_array();
|
||||
$this->sys_ok(
|
||||
$rows
|
||||
);
|
||||
} else {
|
||||
$this->sys_error_db(
|
||||
"",
|
||||
$this->db_smartone
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
287
application/controllers/v1/su/Resultemail.php
Normal file
287
application/controllers/v1/su/Resultemail.php
Normal file
@@ -0,0 +1,287 @@
|
||||
<?php
|
||||
|
||||
class Resultemail extends MY_Controller
|
||||
{
|
||||
|
||||
function getdata() {
|
||||
$this->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;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
77
application/controllers/v1/su/Resultemail.php--10032020
Normal file
77
application/controllers/v1/su/Resultemail.php--10032020
Normal file
@@ -0,0 +1,77 @@
|
||||
<?php
|
||||
|
||||
class Resultemail extends MY_Controller
|
||||
{
|
||||
|
||||
function getdata() {
|
||||
$this->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 'laporan_papsmear'
|
||||
WHEN Group_ResultID = 3 THEN 'laporan_FNA'
|
||||
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 'laporan_Test Kebugaran'
|
||||
END as url_rpt,
|
||||
T_OrderDeliveryDestination as email_address,
|
||||
Result_HandOverEmailRetry as retry_count,
|
||||
DATE_FORMAT(T_OrderHeaderDate,'%d-%m-%Y') as order_date,
|
||||
CONCAT(M_DoctorPrefix,M_DoctorPrefix2,M_DoctorName,M_DoctorSufix,M_DoctorSufix2,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 group_result ON Result_ProcessToOfficeGroup_ResultID = Group_ResultID AND Group_ResultID = 1
|
||||
JOIN m_emailconfig ON M_EmailConfigIsActive = 'Y'
|
||||
WHERE
|
||||
Result_HandOverEmailStatus = 'S' AND Result_HandOverEmailIsActive = 'Y'
|
||||
GROUP BY Result_ProcessToOfficeID";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
//if (count($rows) > 0 ) $data = $rows[0];
|
||||
|
||||
echo json_encode($rows);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
215
application/controllers/v1/su/Resultemail.php--130420
Normal file
215
application/controllers/v1/su/Resultemail.php--130420
Normal file
@@ -0,0 +1,215 @@
|
||||
<?php
|
||||
|
||||
class Resultemail extends MY_Controller
|
||||
{
|
||||
|
||||
function getdata() {
|
||||
$this->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(M_DoctorPrefix,M_DoctorPrefix2,' ',M_DoctorName,' ',M_DoctorSufix,M_DoctorSufix2,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.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(M_DoctorPrefix,M_DoctorPrefix2,' ',M_DoctorName,' ',M_DoctorSufix,M_DoctorSufix2,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(M_DoctorPrefix,M_DoctorPrefix2,' ',M_DoctorName,' ',M_DoctorSufix,M_DoctorSufix2,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){
|
||||
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");
|
||||
}
|
||||
}
|
||||
}
|
||||
$data = array();
|
||||
//if (count($rows) > 0 ) $data = $rows[0];
|
||||
|
||||
echo json_encode($rows);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
192
application/controllers/v1/su/Resultemail.php--150320
Normal file
192
application/controllers/v1/su/Resultemail.php--150320
Normal file
@@ -0,0 +1,192 @@
|
||||
<?php
|
||||
|
||||
class Resultemail extends MY_Controller
|
||||
{
|
||||
|
||||
function getdata() {
|
||||
$this->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())
|
||||
END as url_rpt,
|
||||
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(M_DoctorPrefix,M_DoctorPrefix2,' ',M_DoctorName,' ',M_DoctorSufix,M_DoctorSufix2,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.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())
|
||||
END as url_rpt,
|
||||
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(M_DoctorPrefix,M_DoctorPrefix2,' ',M_DoctorName,' ',M_DoctorSufix,M_DoctorSufix2,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())
|
||||
END as url_rpt,
|
||||
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(M_DoctorPrefix,M_DoctorPrefix2,' ',M_DoctorName,' ',M_DoctorSufix,M_DoctorSufix2,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();
|
||||
$data = array();
|
||||
//if (count($rows) > 0 ) $data = $rows[0];
|
||||
|
||||
echo json_encode($rows);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
195
application/controllers/v1/su/Resultemail.php--160320-sblm-mikro
Normal file
195
application/controllers/v1/su/Resultemail.php--160320-sblm-mikro
Normal file
@@ -0,0 +1,195 @@
|
||||
<?php
|
||||
|
||||
class Resultemail extends MY_Controller
|
||||
{
|
||||
|
||||
function getdata() {
|
||||
$this->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,
|
||||
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(M_DoctorPrefix,M_DoctorPrefix2,' ',M_DoctorName,' ',M_DoctorSufix,M_DoctorSufix2,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.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,
|
||||
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(M_DoctorPrefix,M_DoctorPrefix2,' ',M_DoctorName,' ',M_DoctorSufix,M_DoctorSufix2,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,
|
||||
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(M_DoctorPrefix,M_DoctorPrefix2,' ',M_DoctorName,' ',M_DoctorSufix,M_DoctorSufix2,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();
|
||||
$data = array();
|
||||
//if (count($rows) > 0 ) $data = $rows[0];
|
||||
|
||||
echo json_encode($rows);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,195 @@
|
||||
<?php
|
||||
|
||||
class Resultemail extends MY_Controller
|
||||
{
|
||||
|
||||
function getdata() {
|
||||
$this->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,
|
||||
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(M_DoctorPrefix,M_DoctorPrefix2,' ',M_DoctorName,' ',M_DoctorSufix,M_DoctorSufix2,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.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,
|
||||
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(M_DoctorPrefix,M_DoctorPrefix2,' ',M_DoctorName,' ',M_DoctorSufix,M_DoctorSufix2,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,
|
||||
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(M_DoctorPrefix,M_DoctorPrefix2,' ',M_DoctorName,' ',M_DoctorSufix,M_DoctorSufix2,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();
|
||||
$data = array();
|
||||
//if (count($rows) > 0 ) $data = $rows[0];
|
||||
|
||||
echo json_encode($rows);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
192
application/controllers/v1/su/Resultemail.php-150320
Normal file
192
application/controllers/v1/su/Resultemail.php-150320
Normal file
@@ -0,0 +1,192 @@
|
||||
<?php
|
||||
|
||||
class Resultemail extends MY_Controller
|
||||
{
|
||||
|
||||
function getdata() {
|
||||
$this->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())
|
||||
END as url_rpt,
|
||||
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(M_DoctorPrefix,M_DoctorPrefix2,' ',M_DoctorName,' ',M_DoctorSufix,M_DoctorSufix2,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.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())
|
||||
END as url_rpt,
|
||||
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(M_DoctorPrefix,M_DoctorPrefix2,' ',M_DoctorName,' ',M_DoctorSufix,M_DoctorSufix2,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())
|
||||
END as url_rpt,
|
||||
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(M_DoctorPrefix,M_DoctorPrefix2,' ',M_DoctorName,' ',M_DoctorSufix,M_DoctorSufix2,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_ResultID <> 10
|
||||
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();
|
||||
$data = array();
|
||||
//if (count($rows) > 0 ) $data = $rows[0];
|
||||
|
||||
echo json_encode($rows);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
77
application/controllers/v1/su/Resultemail.php-before-nonlab
Normal file
77
application/controllers/v1/su/Resultemail.php-before-nonlab
Normal file
@@ -0,0 +1,77 @@
|
||||
<?php
|
||||
|
||||
class Resultemail extends MY_Controller
|
||||
{
|
||||
|
||||
function getdata() {
|
||||
$this->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 'laporan_papsmear'
|
||||
WHEN Group_ResultID = 3 THEN 'laporan_FNA'
|
||||
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 'laporan_Test Kebugaran'
|
||||
END as url_rpt,
|
||||
T_OrderDeliveryDestination as email_address,
|
||||
Result_HandOverEmailRetry as retry_count,
|
||||
DATE_FORMAT(T_OrderHeaderDate,'%d-%m-%Y') as order_date,
|
||||
CONCAT(M_DoctorPrefix,M_DoctorPrefix2,M_DoctorName,M_DoctorSufix,M_DoctorSufix2,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
|
||||
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 group_result ON Result_ProcessToOfficeGroup_ResultID = Group_ResultID AND Group_ResultID = 1
|
||||
JOIN m_emailconfig ON M_EmailConfigIsActive = 'Y'
|
||||
WHERE
|
||||
Result_HandOverEmailStatus = 'S' AND Result_HandOverEmailIsActive = 'Y'
|
||||
GROUP BY Result_ProcessToOfficeID";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
//if (count($rows) > 0 ) $data = $rows[0];
|
||||
|
||||
echo json_encode($rows);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
192
application/controllers/v1/su/Resultemaildebug.php
Normal file
192
application/controllers/v1/su/Resultemaildebug.php
Normal file
@@ -0,0 +1,192 @@
|
||||
<?php
|
||||
|
||||
class Resultemaildebug extends MY_Controller
|
||||
{
|
||||
|
||||
function getdata() {
|
||||
$this->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())
|
||||
END as url_rpt,
|
||||
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(M_DoctorPrefix,M_DoctorPrefix2,' ',M_DoctorName,' ',M_DoctorSufix,M_DoctorSufix2,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 = 'Q' 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.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())
|
||||
END as url_rpt,
|
||||
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(M_DoctorPrefix,M_DoctorPrefix2,' ',M_DoctorName,' ',M_DoctorSufix,M_DoctorSufix2,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 = 'Q' 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())
|
||||
END as url_rpt,
|
||||
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(M_DoctorPrefix,M_DoctorPrefix2,' ',M_DoctorName,' ',M_DoctorSufix,M_DoctorSufix2,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 = 'Q' AND Result_HandOverEmailIsActive = 'Y'
|
||||
GROUP BY T_EmailNonLabID";
|
||||
// echo $sql;
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$data = array();
|
||||
//if (count($rows) > 0 ) $data = $rows[0];
|
||||
|
||||
echo json_encode($rows);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
326
application/controllers/v1/su/Resultemailv4.php
Normal file
326
application/controllers/v1/su/Resultemailv4.php
Normal file
@@ -0,0 +1,326 @@
|
||||
<?php
|
||||
|
||||
class Resultemailv4 extends MY_Controller
|
||||
{
|
||||
|
||||
function getdata() {
|
||||
$this->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_PatientDOB,
|
||||
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('/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 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,
|
||||
'' as details
|
||||
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 AND Result_ProcessToOfficeStatus = 'S'
|
||||
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_PatientDOB,
|
||||
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('/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('/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 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,
|
||||
'' as details
|
||||
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 AND Result_ProcessToOfficeStatus = 'S'
|
||||
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_PatientDOB,
|
||||
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('/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 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('/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 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 details
|
||||
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 AND Result_ProcessToOfficeStatus = 'S'
|
||||
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'
|
||||
)
|
||||
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_PatientDOB,
|
||||
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('/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 = 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())
|
||||
ELSE
|
||||
T_EmailNonLabUrl
|
||||
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,
|
||||
'' as details
|
||||
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 AND Result_ProcessToOfficeStatus = 'S'
|
||||
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_ResultID <> 8
|
||||
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['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;
|
||||
}
|
||||
|
||||
function updatedata($xid,$status) {
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
//$xid = $this->input->get("xid");
|
||||
//$status = $this->input->get("status");
|
||||
$update_time = '';
|
||||
if($status == 'D')
|
||||
$update_time = 'Result_HandOverEmailReceivedDateTime = NOW(),';
|
||||
$sql = "UPDATE result_handoveremail SET $update_time 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;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
328
application/controllers/v1/su/Resultemailv4.php-170720
Normal file
328
application/controllers/v1/su/Resultemailv4.php-170720
Normal file
@@ -0,0 +1,328 @@
|
||||
<?php
|
||||
|
||||
class Resultemailv4 extends MY_Controller
|
||||
{
|
||||
|
||||
function getdata() {
|
||||
$this->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('/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 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,
|
||||
'' as details
|
||||
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 AND Result_ProcessToOfficeStatus = 'S'
|
||||
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('/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('/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 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,
|
||||
'' as details
|
||||
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 AND Result_ProcessToOfficeStatus = 'S'
|
||||
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('/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 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('/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 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 details
|
||||
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 AND Result_ProcessToOfficeStatus = 'S'
|
||||
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('/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 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('/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 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,
|
||||
'' as details
|
||||
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 AND Result_ProcessToOfficeStatus = 'S'
|
||||
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['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;
|
||||
}
|
||||
|
||||
function updatedata($xid,$status) {
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
//$xid = $this->input->get("xid");
|
||||
//$status = $this->input->get("status");
|
||||
$update_time = '';
|
||||
if($status == 'D')
|
||||
$update_time = 'Result_HandOverEmailReceivedDateTime = NOW(),';
|
||||
$sql = "UPDATE result_handoveremail SET $update_time 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;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
344
application/controllers/v1/su/Resultemailv5.php
Normal file
344
application/controllers/v1/su/Resultemailv5.php
Normal file
@@ -0,0 +1,344 @@
|
||||
<?php
|
||||
|
||||
class Resultemailv5 extends MY_Controller
|
||||
{
|
||||
|
||||
function getdata() {
|
||||
$this->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_PatientDOB,
|
||||
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('/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 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,
|
||||
'' as details,
|
||||
'X' So_ResultEntrySo_TemplateOther
|
||||
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 AND Result_ProcessToOfficeStatus = 'S'
|
||||
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'
|
||||
AND T_OrderDetailT_OrderPromiseID = Result_HandOverEmailT_OrderPromiseID
|
||||
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_PatientDOB,
|
||||
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('/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('/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 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,
|
||||
'' as details,
|
||||
'X' So_ResultEntrySo_TemplateOther
|
||||
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 AND Result_ProcessToOfficeStatus = 'S'
|
||||
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'
|
||||
AND T_OrderDetailT_OrderPromiseID = Result_HandOverEmailT_OrderPromiseID
|
||||
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_PatientDOB,
|
||||
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('/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 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('/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 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 details,
|
||||
'X' So_ResultEntrySo_TemplateOther
|
||||
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 AND Result_ProcessToOfficeStatus = 'S'
|
||||
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'
|
||||
AND T_OrderDetailT_OrderPromiseID = Result_HandOverEmailT_OrderPromiseID
|
||||
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_ResultFlagPerTest = 'N'
|
||||
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_PatientDOB,
|
||||
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('/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 = 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())
|
||||
ELSE
|
||||
T_EmailNonLabUrl
|
||||
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,
|
||||
'' as details,
|
||||
So_ResultEntrySo_TemplateOther
|
||||
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 AND Result_ProcessToOfficeStatus = 'S'
|
||||
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'
|
||||
AND T_OrderDetailT_OrderPromiseID = Result_HandOverEmailT_OrderPromiseID
|
||||
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_ResultFlagPerTest = '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['type_result'] == 'LAB')
|
||||
$exist_lab = 'Y';
|
||||
}
|
||||
|
||||
foreach($rows as $k => $v){
|
||||
if($v['So_ResultEntrySo_TemplateOther'] == 'UMUM' || $v['So_ResultEntrySo_TemplateOther'] == 'UMUM_KONSUL'){
|
||||
$x_url = $rows[$k]['url_rpt'];
|
||||
$ex_url = explode('|^|',$x_url);
|
||||
//print_r($ex_url);
|
||||
$rows[$k]['type_result'] = 'Riwayat';
|
||||
$rows[$k]['url_rpt'] = $ex_url[0];
|
||||
$new_group = $rows[$k];
|
||||
$new_group['type_result'] = 'Fisik';
|
||||
$new_group['url_rpt'] = isset($ex_url[1])?$ex_url[1]:$ex_url[0];
|
||||
array_push($rows,$new_group);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
function updatedata($xid,$status) {
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
//$xid = $this->input->get("xid");
|
||||
//$status = $this->input->get("status");
|
||||
$update_time = '';
|
||||
if($status == 'D')
|
||||
$update_time = 'Result_HandOverEmailReceivedDateTime = NOW(),';
|
||||
$sql = "UPDATE result_handoveremail SET $update_time 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;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
340
application/controllers/v1/su/Resultemailv5.php-301020
Normal file
340
application/controllers/v1/su/Resultemailv5.php-301020
Normal file
@@ -0,0 +1,340 @@
|
||||
<?php
|
||||
|
||||
class Resultemailv5 extends MY_Controller
|
||||
{
|
||||
|
||||
function getdata() {
|
||||
$this->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_PatientDOB,
|
||||
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('/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 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,
|
||||
'' as details,
|
||||
'X' So_ResultEntrySo_TemplateOther
|
||||
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 AND Result_ProcessToOfficeStatus = 'S'
|
||||
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_PatientDOB,
|
||||
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('/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('/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 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,
|
||||
'' as details,
|
||||
'X' So_ResultEntrySo_TemplateOther
|
||||
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 AND Result_ProcessToOfficeStatus = 'S'
|
||||
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_PatientDOB,
|
||||
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('/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 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('/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 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 details,
|
||||
'X' So_ResultEntrySo_TemplateOther
|
||||
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 AND Result_ProcessToOfficeStatus = 'S'
|
||||
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_ResultFlagPerTest = 'N'
|
||||
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_PatientDOB,
|
||||
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('/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 = 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())
|
||||
ELSE
|
||||
T_EmailNonLabUrl
|
||||
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,
|
||||
'' as details,
|
||||
So_ResultEntrySo_TemplateOther
|
||||
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 AND Result_ProcessToOfficeStatus = 'S'
|
||||
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_ResultFlagPerTest = '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['type_result'] == 'LAB')
|
||||
$exist_lab = 'Y';
|
||||
}
|
||||
|
||||
foreach($rows as $k => $v){
|
||||
if($v['So_ResultEntrySo_TemplateOther'] == 'UMUM'){
|
||||
$x_url = $rows[$k]['url_rpt'];
|
||||
$ex_url = explode('|^|',$x_url);
|
||||
//print_r($ex_url);
|
||||
$rows[$k]['type_result'] = 'Riwayat';
|
||||
$rows[$k]['url_rpt'] = $ex_url[0];
|
||||
$new_group = $rows[$k];
|
||||
$new_group['type_result'] = 'Fisik';
|
||||
$new_group['url_rpt'] = isset($ex_url[1])?$ex_url[1]:$ex_url[0];
|
||||
array_push($rows,$new_group);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
function updatedata($xid,$status) {
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
//$xid = $this->input->get("xid");
|
||||
//$status = $this->input->get("status");
|
||||
$update_time = '';
|
||||
if($status == 'D')
|
||||
$update_time = 'Result_HandOverEmailReceivedDateTime = NOW(),';
|
||||
$sql = "UPDATE result_handoveremail SET $update_time 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;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
283
application/controllers/v1/su/Samplinglab.php
Normal file
283
application/controllers/v1/su/Samplinglab.php
Normal file
@@ -0,0 +1,283 @@
|
||||
<?php
|
||||
// curl -d '{"station_id":1}' http://sasone.aplikasi.web.id/one-api/v1/su/samplinglab/process
|
||||
//
|
||||
class Samplinglab extends MY_Controller
|
||||
{
|
||||
public function __construct() {
|
||||
parent::__construct();
|
||||
$this->db_smartone = $this->load->database("onedev", true);
|
||||
}
|
||||
function list() {
|
||||
$prm = $this->sys_input;
|
||||
$station_id = $prm["station_id"];
|
||||
$start_date = date("Y-m-d 00:00:01");
|
||||
$end_date = date("Y-m-d 23:59:59");
|
||||
$sql = "select
|
||||
concat(M_TitleName,' ',M_PatientName) Name,
|
||||
fn_numbering_external(T_OrderHeaderLabNumber) Noreg,
|
||||
case
|
||||
when T_SamplingQueueLastStatusT_SamplingQueueStatusID is null then 'Tunggu'
|
||||
when T_SamplingQueueLastStatusT_SamplingQueueStatusID = 1 then 'Panggil'
|
||||
when T_SamplingQueueLastStatusT_SamplingQueueStatusID = 2 then 'Skip'
|
||||
end Status
|
||||
from t_orderheader
|
||||
join m_patient on M_PatientID = T_OrderHeaderM_PatientID
|
||||
and T_OrderHeaderIsActive = 'Y'
|
||||
join m_title on M_TitleID = M_PatientM_TitleID
|
||||
join t_ordersample on T_OrderSampleT_OrderHeaderID = T_OrderHeaderID
|
||||
left join t_sampling_queue_last_status
|
||||
on T_OrderHeaderID = T_SamplingQueueLastStatusT_OrderHeaderID
|
||||
where ( T_SamplingQueueLastStatusT_SamplingQueueStatusID <= 2 or
|
||||
T_SamplingQueueLastStatusT_SamplingQueueStatusID is null )
|
||||
and T_OrderHeaderDate > '$start_date' and T_OrderHeaderDate < '$end_date'
|
||||
and T_OrderSampleT_SampleStationID = $station_id
|
||||
group by T_OrderHeaderID
|
||||
order by T_OrderHeaderIsCito desc, T_OrderHeaderID
|
||||
";
|
||||
$qry = $this->db_smartone->query($sql);
|
||||
if ($qry) {
|
||||
$rows = $qry->result_array();
|
||||
$this->sys_ok(
|
||||
$rows
|
||||
);
|
||||
} else {
|
||||
$this->sys_error_db(
|
||||
"",
|
||||
$this->db_smartone
|
||||
);
|
||||
}
|
||||
}
|
||||
function process() {
|
||||
$prm = $this->sys_input;
|
||||
$station_id = $prm["station_id"];
|
||||
$start_date = date("Y-m-d 00:00:01");
|
||||
$end_date = date("Y-m-d 23:59:59");
|
||||
$sql = "select
|
||||
concat(M_TitleName,' ',M_PatientName) Name,
|
||||
fn_numbering_external(T_OrderHeaderLabNumber) Noreg,
|
||||
case
|
||||
when T_SamplingQueueLastStatusT_SamplingQueueStatusID = 1 then 'Tunggu'
|
||||
when T_SamplingQueueLastStatusT_SamplingQueueStatusID = 2 then 'Tunggu'
|
||||
when T_SamplingQueueLastStatusT_SamplingQueueStatusID = 3 then 'Proses'
|
||||
end Status
|
||||
from t_sampling_queue_last_status
|
||||
join t_orderheader on T_SamplingQueueLastStatusT_OrderHeaderID = T_OrderHeaderID
|
||||
and T_OrderHeaderIsActive = 'Y'
|
||||
join m_patient on M_PatientID = T_OrderHeaderM_PatientID
|
||||
join m_title on M_TitleID = M_PatientM_TitleID
|
||||
where T_SamplingQueueLastStatusT_SamplingQueueStatusID = 3
|
||||
and T_OrderHeaderDate > '$start_date' and T_OrderHeaderDate < '$end_date'
|
||||
and T_SamplingQueueLastStatusT_SampleStationID = $station_id
|
||||
order by T_OrderHeaderIsCito desc, T_OrderHeaderID
|
||||
";
|
||||
$qry = $this->db_smartone->query($sql);
|
||||
if ($qry) {
|
||||
$rows = $qry->result_array();
|
||||
$this->sys_ok(
|
||||
$rows
|
||||
);
|
||||
} else {
|
||||
$this->sys_error_db(
|
||||
"",
|
||||
$this->db_smartone
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
function generate_sample(){
|
||||
$sql = "SELECT * FROM t_orderheader";
|
||||
$qry = $this->db_smartone->query($sql);
|
||||
$datas = $qry->result_array();
|
||||
if($datas){
|
||||
|
||||
foreach ($datas as $key => $value) {
|
||||
$counter_barcode = 1;
|
||||
$sql = "SELECT T_OrderHeaderLabNumber, T_TestID, T_SampleTypeID , T_SampleTypeSuffix, T_SampleStationIsNonLab, T_SampleStationID
|
||||
from t_orderheader
|
||||
JOIN t_orderdetail ON t_orderheaderid = t_orderdetailt_orderheaderid AND t_orderdetailIsActive = 'Y'
|
||||
JOIN t_test ON t_orderdetailt_testid = t_testid AND T_TestIsResult = 'Y'
|
||||
JOIN t_sampletype ON T_TestT_SampleTypeID = T_SampleTypeID
|
||||
JOIN t_bahan ON T_SampleTypeT_BahanID = T_BahanID
|
||||
JOIN t_samplestation ON T_BahanT_SampleStationID = T_SampleStationID
|
||||
where T_OrderHeaderID = {$value['T_OrderHeaderID']}
|
||||
group by T_SampleTypeID";
|
||||
$qry = $this->db_smartone->query($sql);
|
||||
$data_samples = $qry->result_array();
|
||||
foreach ($data_samples as $k => $v) {
|
||||
$lab_no = $v['T_OrderHeaderLabNumber'];
|
||||
$test_id = $v['T_TestID'];
|
||||
$sample_id = $v['T_SampleTypeID'];
|
||||
$sample_code = $v['T_SampleTypeSuffix'];
|
||||
$barcode = $lab_no.$sample_code;
|
||||
$isnonlab = $v['T_SampleStationIsNonLab'];
|
||||
$samplestation_id = $v['T_SampleStationID'];
|
||||
|
||||
if( $counter_barcode == 1){
|
||||
$barcode = $barcode.$counter_barcode;
|
||||
$sql = "INSERT INTO t_barcodelab(
|
||||
T_BarcodeLabT_OrderHeaderID,
|
||||
T_BarcodeLabBarcode,
|
||||
T_BarcodeLabT_SampleTypeID,
|
||||
T_BarcodeLabCounter)
|
||||
VALUES ({$value['T_OrderHeaderID']},'{$barcode}',{$sample_id},{$counter_barcode})";
|
||||
$this->db_smartone->query($sql);
|
||||
|
||||
$last_id_barcode = $this->db_smartone->insert_id();
|
||||
if($isnonlab == ""){
|
||||
$sql = "INSERT INTO t_ordersample(
|
||||
T_OrderSampleT_OrderHeaderID,
|
||||
T_OrderSampleT_SampleTypeID,
|
||||
T_OrderSampleT_BarcodeLabID,
|
||||
T_OrderSampleBarcode,
|
||||
T_OrderSampleT_SampleStationID)
|
||||
VALUES ({$value['T_OrderHeaderID']},{$sample_id},{$last_id_barcode},'{$barcode}',{$samplestation_id})";
|
||||
$this->db_smartone->query($sql);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$sql = "SELECT MAX(T_BarcodeLabCounter) as ctr
|
||||
FROM t_barcodelab
|
||||
WHERE T_BarcodeLabT_OrderHeaderID = {$value['T_OrderHeaderID']} AND T_BarcodeLabBarcode LIKE CONCAT('{$barcode}', '%')
|
||||
AND T_BarcodeLabIsActive = 'Y'";
|
||||
$qry = $this->db_smartone->query($sql);
|
||||
if($qry){
|
||||
$ctr = $qry->row()->ctr;
|
||||
$counter_barcode = $ctr + 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
echo 'Selesai';
|
||||
}
|
||||
|
||||
function order_station(){
|
||||
$sql = "SELECT * FROM t_orderheader";
|
||||
$qry = $this->db_smartone->query($sql);
|
||||
$datas = $qry->result_array();
|
||||
if($datas){
|
||||
|
||||
foreach ($datas as $key => $value) {
|
||||
$counter_barcode = 1;
|
||||
$sql = "SELECT T_SampleStationID,T_SampleStationName
|
||||
FROM t_orderdetail
|
||||
JOIN t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
||||
JOIN t_sampletype ON T_TestT_SampleTypeID = T_SampleTypeID
|
||||
JOIN t_bahan ON T_SampleTypeT_BahanID = T_BahanID
|
||||
JOIN t_samplestation ON T_BahanT_SampleStationID = T_SampleStationID
|
||||
WHERE
|
||||
T_OrderDetailT_OrderHeaderID = {$value['T_OrderHeaderID']}
|
||||
GROUP BY T_SampleStationID";
|
||||
$qry = $this->db_smartone->query($sql);
|
||||
$data_samples = $qry->result_array();
|
||||
foreach ($data_samples as $k => $v) {
|
||||
$sql = "SELECT *
|
||||
FROM m_location
|
||||
WHERE
|
||||
M_LocationT_SampleStationID = {$v['T_SampleStationID']}
|
||||
ORDER BY M_LocationPriority DESC, M_LocationID ASC
|
||||
LIMIT 1";
|
||||
$location_id = $this->db_smartone->query($sql)->row()->M_LocationID;
|
||||
|
||||
|
||||
$sql = "INSERT INTO t_order_location(
|
||||
T_OrderLocationT_OrderHeaderID,
|
||||
T_OrderLocationM_LocationID,
|
||||
T_OrderLocationT_SampleStationID)
|
||||
VALUES ({$value['T_OrderHeaderID']},{$location_id},{$v['T_SampleStationID']})";
|
||||
|
||||
$this->db_smartone->query($sql);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
echo 'Selesai';
|
||||
}
|
||||
|
||||
function fisik_umum_generate(){
|
||||
$sql = " SELECT xsofisik.*, nso.So_ResultEntryID as re_id
|
||||
FROM so_resultentry nso
|
||||
JOIN t_orderheader norder ON nso.So_ResultEntryT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN xso_resultentry_fisik_umum xsofisik ON xsofisik.T_OrderHeaderLabNumber = norder.T_OrderHeaderLabNumber
|
||||
WHERE
|
||||
`So_ResultEntryNonlab_TemplateName` = 'fisik umum' ";
|
||||
$qry = $this->db_smartone->query($sql);
|
||||
$datas = $qry->result_array();
|
||||
if($datas){
|
||||
|
||||
foreach ($datas as $key => $value) {
|
||||
$re_id = $value['re_id'];
|
||||
$details = json_decode($value['So_ResultEntryFisikUmumDetails'], true);
|
||||
if($value['So_ResultEntryFisikUmumType'] == 'riwayat' || $value['So_ResultEntryFisikUmumType'] == 'fisik'){
|
||||
foreach ($details as $k => $v) {
|
||||
$title = $v['title'];
|
||||
$sql = " SELECT *
|
||||
FROM fisik_template
|
||||
WHERE
|
||||
`FisikTemplateTitle` = ? AND FisikTemplateIsActive = 'Y' LIMIT 1";
|
||||
$qry = $this->db_smartone->query($sql,[$title]);
|
||||
// echo $this->db_smartone->last_query();
|
||||
$templateID = $qry->row()->FisikTemplateID;
|
||||
$result = json_encode($v);
|
||||
$sql = "INSERT INTO so_resultentry_fisik_umum (
|
||||
So_ResultEntryFisikUmumSo_ResultEntryID,
|
||||
So_ResultEntryFisikUmumFisikTemplateID,
|
||||
So_ResultEntryFisikUmumDetails
|
||||
)
|
||||
VALUES (?,?,?)";
|
||||
$this->db_smartone->query($sql,[$re_id,$templateID,$result]);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
echo 'Selesai';
|
||||
}
|
||||
|
||||
|
||||
function summarynonlab_generate(){
|
||||
$sql = " SELECT *
|
||||
FROM mcu_summarynonlab
|
||||
JOIN nonlab_conclusion_mapping ON NonlabConclusionMappingNat_TestID = Mcu_SummaryNonlabNat_TestID AND Mcu_SummaryNonlabIsActive = 'Y'
|
||||
WHERE
|
||||
`Mcu_SummaryNonlabIsActive` = 'Y' ";
|
||||
$qry = $this->db_smartone->query($sql);
|
||||
$datas = $qry->result_array();
|
||||
if($datas){
|
||||
|
||||
foreach ($datas as $key => $value) {
|
||||
$new_ids = [];
|
||||
$exp_val = explode(",",$value['Mcu_SummaryNonlabValue']);
|
||||
|
||||
foreach ($exp_val as $k => $v) {
|
||||
$sql = "SELECT NonlabConclusionDetailID
|
||||
FROM mcu_statusresult_value
|
||||
JOIN nonlab_conclusion_detail ON NonlabConclusionDetailName = Mcu_StatusResultValueName AND NonlabConclusionDetailNonlabConclusionID = {$value['NonlabConclusionMappingNonlabConclusionID']}
|
||||
WHERE
|
||||
Mcu_StatusResultValueCode = '{$v}' AND Mcu_StatusResultValueIsActive = 'Y'";
|
||||
$qry = $this->db_smartone->query($sql);
|
||||
$row_id = $qry->row()->NonlabConclusionDetailID;
|
||||
array_push($new_ids,$row_id);
|
||||
}
|
||||
|
||||
$ids_join = JOIN(",", $new_ids);
|
||||
$sql ="UPDATE mcu_summarynonlab SET Mcu_SummaryNonlabConclusionDetailIDs = '{$ids_join}'
|
||||
WHERE Mcu_SummaryNonlabID = {$value['Mcu_SummaryNonlabID']}";
|
||||
$this->db_smartone->query($sql);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
echo 'Selesai';
|
||||
}
|
||||
}
|
||||
?>
|
||||
269
application/controllers/v1/su/Test.php
Normal file
269
application/controllers/v1/su/Test.php
Normal file
@@ -0,0 +1,269 @@
|
||||
<?php
|
||||
class Test extends MY_Controller
|
||||
{
|
||||
|
||||
var $db_onedev;
|
||||
public function index()
|
||||
{
|
||||
echo "Transaction API";
|
||||
}
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
$this->db_log = $this->load->database("log", true);
|
||||
$this->load->helper(array('form', 'url'));
|
||||
}
|
||||
/**
|
||||
* Generic POST request function
|
||||
* @param string $url API endpoint URL
|
||||
* @param array $data Request payload
|
||||
* @param array $headers Custom headers (optional)
|
||||
* @return array Response from API
|
||||
*/
|
||||
|
||||
/**
|
||||
* Generic PUT request function
|
||||
* @param string $url API endpoint URL
|
||||
* @param array $data Request payload
|
||||
* @param array $headers Custom headers (optional)
|
||||
* @return array Response from API
|
||||
*/
|
||||
|
||||
/**
|
||||
* POST request to auth API
|
||||
* @param string $username Username for authentication
|
||||
* @param string $password Password for authentication
|
||||
* @return array Response from API
|
||||
*/
|
||||
public function post_auth()
|
||||
{
|
||||
$dt_config = $this->get_config();
|
||||
$baseUrl = $dt_config['AisConfigBaseUrl'];
|
||||
$url = $baseUrl.'/api/auth/auth.php';
|
||||
$headers = array(
|
||||
'Header-Token: '.$dt_config['AisConfigHeaderToken']
|
||||
);
|
||||
|
||||
$username = $dt_config['AisConfigUsername'];
|
||||
$password = $dt_config['AisConfigPassword'];
|
||||
|
||||
$data = array(
|
||||
'username' => $username,
|
||||
'password' => $password
|
||||
);
|
||||
|
||||
$result = $this->post_request($url, $data, $headers);
|
||||
$sql = "INSERT INTO ais_login_log(
|
||||
AisLoginLogUsername,
|
||||
AisLoginLogPassword,
|
||||
AisLoginLogHeaderToken,
|
||||
AisLoginLogResult,
|
||||
AisLoginLogCreated
|
||||
)
|
||||
VALUES(
|
||||
?,
|
||||
?,
|
||||
?,
|
||||
?,
|
||||
NOW()
|
||||
)";
|
||||
$qry = $this->db_log->query($sql, array($username,$password,$dt_config['AisConfigHeaderToken'],json_encode($result)));
|
||||
|
||||
|
||||
if(!$qry){
|
||||
$this->error_log(array('fn_name'=>'post_auth','message'=>'ais_login_log insert','query'=>$sql,'json'=>json_encode($result)),999);
|
||||
exit;
|
||||
}
|
||||
//print_r($result);
|
||||
//exit;
|
||||
// Check if success
|
||||
if(!$result['success']){
|
||||
$this->error_log(array('fn_name'=>'post_auth','message'=>'failed auth','query'=>'','json'=>json_encode($result)),999);
|
||||
$errors = array('status' => 'error','message' => 'Gagal Login');
|
||||
return $errors;
|
||||
|
||||
}else{
|
||||
// Update token
|
||||
$token = $result['data']['token'];;
|
||||
$sql = "UPDATE ais_config SET AisConfigAuthToken = ? WHERE AisConfigID = 1";
|
||||
$qry = $this->db_onedev->query($sql, array($token));
|
||||
//echo $this->db_onedev->last_query();
|
||||
//exit;
|
||||
if(!$qry){
|
||||
$this->error_log(array('fn_name'=>'post_auth','message'=>'ais_config update','query'=>$sql,'json'=>''),999);
|
||||
$errors = array('status' => 'error','message' => 'Gagal Update Token');
|
||||
return $errors;
|
||||
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
function monitoring_test()
|
||||
{
|
||||
// SQL base
|
||||
$sql_base = "SELECT
|
||||
t.T_TestID,
|
||||
t.T_TestCode AS test_code,
|
||||
t.T_TestSasCode AS sas_code,
|
||||
t.T_TestName AS test_name,
|
||||
t.T_TestIsPrice AS is_price,
|
||||
t.T_TestIsResult AS is_result,
|
||||
t.T_TestIsActive AS test_active,
|
||||
at.Ais_TestStatus AS Ais_TestStatus,
|
||||
at.Ais_TestLastUpdate AS test_last_update,
|
||||
IF (at.Ais_TestID IS NULL, 'N', 'Y') AS test_status
|
||||
FROM t_test t
|
||||
LEFT JOIN (
|
||||
SELECT Ais_TestTestSasCode, Ais_TestStatus, Ais_TestLastUpdate, Ais_TestID
|
||||
FROM ".$this->db_log->database.".ais_test
|
||||
WHERE Ais_TestStatus = 'success'
|
||||
) at
|
||||
ON at.Ais_TestTestSasCode = t.T_TestSasCode
|
||||
";
|
||||
|
||||
// Ambil parameter
|
||||
$test_name = $this->input->get('test_name'); // TRUE for XSS filtering
|
||||
$sas_code = $this->input->get('sas_code');
|
||||
$test_code = $this->input->get('test_code');
|
||||
$test_status = $this->input->get('test_status');
|
||||
|
||||
// Pagination
|
||||
$page = $this->input->get('page') ? intval($this->input->get('page')) : 1;
|
||||
$limit = 10;
|
||||
$offset = ($page - 1) * $limit;
|
||||
|
||||
$params = [];
|
||||
$where_clauses = [
|
||||
"t.T_TestIsActive = 'Y'"
|
||||
];
|
||||
|
||||
// Status filter
|
||||
if ($test_status === 'Y') {
|
||||
$where_clauses[] = "at.Ais_TestID IS NOT NULL";
|
||||
} elseif ($test_status === 'N') {
|
||||
$where_clauses[] = "at.Ais_TestID IS NULL";
|
||||
}
|
||||
|
||||
if ($test_name) {
|
||||
$where_clauses[] = "t.T_TestName LIKE ?";
|
||||
$params[] = "%$test_name%";
|
||||
}
|
||||
|
||||
if ($test_code) {
|
||||
$where_clauses[] = "t.T_TestCode LIKE ?";
|
||||
$params[] = "%$test_code%";
|
||||
}
|
||||
|
||||
if ($sas_code) {
|
||||
$where_clauses[] = "t.T_TestSasCode LIKE ?";
|
||||
$params[] = "%$sas_code%";
|
||||
}
|
||||
|
||||
$where_sql = "";
|
||||
if (!empty($where_clauses)) {
|
||||
$where_sql = " WHERE " . implode(" AND ", $where_clauses);
|
||||
}
|
||||
|
||||
// COUNT
|
||||
$count_sql = "
|
||||
SELECT COUNT(*) AS total
|
||||
FROM (
|
||||
SELECT t.T_TestID
|
||||
FROM t_test t
|
||||
LEFT JOIN (
|
||||
SELECT Ais_TestTestSasCode, Ais_TestID
|
||||
FROM ".$this->db_log->database.".ais_test
|
||||
WHERE Ais_TestStatus = 'success'
|
||||
) at
|
||||
ON at.Ais_TestTestSasCode = t.T_TestSasCode
|
||||
$where_sql
|
||||
GROUP BY t.T_TestID
|
||||
) AS x
|
||||
";
|
||||
|
||||
$qry_count = $this->db_onedev->query($count_sql, $params);
|
||||
$total = $qry_count->row()->total ?? 0;
|
||||
|
||||
// MAIN QUERY
|
||||
$sql = $sql_base . $where_sql . "
|
||||
GROUP BY t.T_TestID
|
||||
ORDER BY t.T_TestID ASC
|
||||
LIMIT $limit OFFSET $offset";
|
||||
|
||||
$qry = $this->db_onedev->query($sql, $params);
|
||||
|
||||
// if (!$qry) {
|
||||
// $this->output
|
||||
// ->set_content_type('application/json')
|
||||
// ->set_output(json_encode(['status' => 'error', 'message' => 'Gagal mengambil data monitoring.']));
|
||||
// return;
|
||||
// }
|
||||
if (!$qry) {
|
||||
echo json_encode(['status' => 'error', 'message' => 'Gagal mengambil data monitoring.']);
|
||||
exit;
|
||||
}
|
||||
|
||||
$data = $qry->result_array();
|
||||
|
||||
echo json_encode([
|
||||
'status' => 'success',
|
||||
'message' => 'Berhasil mengambil data monitoring.',
|
||||
'data' => $data,
|
||||
'total' => $total,
|
||||
'page' => $page,
|
||||
'limit' => $limit,
|
||||
'total_page' => ceil($total / $limit)
|
||||
]);
|
||||
exit;
|
||||
}
|
||||
|
||||
function get_json_response()
|
||||
{
|
||||
$sas_code = $this->input->get('sas_code');
|
||||
|
||||
if (empty($sas_code)) {
|
||||
return $this->output
|
||||
->set_status_header(400)
|
||||
->set_content_type('application/json')
|
||||
->set_output(json_encode([
|
||||
'status' => 'error',
|
||||
'message' => 'sas_code parameter is required'
|
||||
]));
|
||||
}
|
||||
|
||||
$sql = "SELECT
|
||||
Ais_TestID AS id,
|
||||
Ais_TestTestSasCode AS sas_code,
|
||||
Ais_TestJSON AS test_json,
|
||||
Ais_TestStatus AS test_status,
|
||||
Ais_TestResponse AS test_response,
|
||||
Ais_TestLastUpdate AS test_last_update
|
||||
FROM ais_test
|
||||
WHERE Ais_TestTestSasCode = ?
|
||||
ORDER BY Ais_TestLastUpdate DESC";
|
||||
|
||||
// Query ke database LOG
|
||||
$qry = $this->db_log->query($sql, [$sas_code]);
|
||||
|
||||
$results = $qry->row_array();
|
||||
$results = $qry->result_array();
|
||||
|
||||
if ($results) {
|
||||
// Loop through each result to decode JSON
|
||||
foreach ($results as &$result) {
|
||||
$result['packet_json'] = json_decode($result['packet_json']);
|
||||
$result['packet_response'] = json_decode($result['packet_response']);
|
||||
}
|
||||
unset($result); // Unset reference to avoid side effects
|
||||
|
||||
echo json_encode(['status' => 'success', 'data' => $results]);
|
||||
} else {
|
||||
echo json_encode(['status' => 'error', 'message' => 'Data not found for the given sas code.']);
|
||||
}
|
||||
exit;
|
||||
}
|
||||
}
|
||||
3517
application/controllers/v1/su/Test.php -- 270525
Normal file
3517
application/controllers/v1/su/Test.php -- 270525
Normal file
File diff suppressed because it is too large
Load Diff
2413
application/controllers/v1/su/Test.php--050325
Normal file
2413
application/controllers/v1/su/Test.php--050325
Normal file
File diff suppressed because it is too large
Load Diff
2807
application/controllers/v1/su/Test.php--060325
Normal file
2807
application/controllers/v1/su/Test.php--060325
Normal file
File diff suppressed because it is too large
Load Diff
3281
application/controllers/v1/su/Test.php--070525
Normal file
3281
application/controllers/v1/su/Test.php--070525
Normal file
File diff suppressed because it is too large
Load Diff
4476
application/controllers/v1/su/Test.php--100326
Normal file
4476
application/controllers/v1/su/Test.php--100326
Normal file
File diff suppressed because it is too large
Load Diff
1182
application/controllers/v1/su/Test.php--111124
Normal file
1182
application/controllers/v1/su/Test.php--111124
Normal file
File diff suppressed because it is too large
Load Diff
2828
application/controllers/v1/su/Test.php--140325
Normal file
2828
application/controllers/v1/su/Test.php--140325
Normal file
File diff suppressed because it is too large
Load Diff
4369
application/controllers/v1/su/Test.php--160226
Normal file
4369
application/controllers/v1/su/Test.php--160226
Normal file
File diff suppressed because it is too large
Load Diff
3074
application/controllers/v1/su/Test.php--160425
Normal file
3074
application/controllers/v1/su/Test.php--160425
Normal file
File diff suppressed because it is too large
Load Diff
1206
application/controllers/v1/su/Test.php--171224
Normal file
1206
application/controllers/v1/su/Test.php--171224
Normal file
File diff suppressed because it is too large
Load Diff
2051
application/controllers/v1/su/Test.php--180225
Normal file
2051
application/controllers/v1/su/Test.php--180225
Normal file
File diff suppressed because it is too large
Load Diff
2169
application/controllers/v1/su/Test.php--190225
Normal file
2169
application/controllers/v1/su/Test.php--190225
Normal file
File diff suppressed because it is too large
Load Diff
3401
application/controllers/v1/su/Test.php--190525
Normal file
3401
application/controllers/v1/su/Test.php--190525
Normal file
File diff suppressed because it is too large
Load Diff
3458
application/controllers/v1/su/Test.php--210525
Normal file
3458
application/controllers/v1/su/Test.php--210525
Normal file
File diff suppressed because it is too large
Load Diff
3801
application/controllers/v1/su/Test.php--211025
Normal file
3801
application/controllers/v1/su/Test.php--211025
Normal file
File diff suppressed because it is too large
Load Diff
1166
application/controllers/v1/su/Test.php--231024
Normal file
1166
application/controllers/v1/su/Test.php--231024
Normal file
File diff suppressed because it is too large
Load Diff
4198
application/controllers/v1/su/Test.php--241025
Normal file
4198
application/controllers/v1/su/Test.php--241025
Normal file
File diff suppressed because it is too large
Load Diff
3611
application/controllers/v1/su/Test.php--260625
Normal file
3611
application/controllers/v1/su/Test.php--260625
Normal file
File diff suppressed because it is too large
Load Diff
2384
application/controllers/v1/su/Test.php--270225
Normal file
2384
application/controllers/v1/su/Test.php--270225
Normal file
File diff suppressed because it is too large
Load Diff
1278
application/controllers/v1/su/Test.php--270924
Normal file
1278
application/controllers/v1/su/Test.php--270924
Normal file
File diff suppressed because it is too large
Load Diff
3223
application/controllers/v1/su/Test.php--300425
Normal file
3223
application/controllers/v1/su/Test.php--300425
Normal file
File diff suppressed because it is too large
Load Diff
930
application/controllers/v1/su/Test.php-130824
Normal file
930
application/controllers/v1/su/Test.php-130824
Normal file
@@ -0,0 +1,930 @@
|
||||
<?php
|
||||
class Test extends CI_Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
}
|
||||
|
||||
function index() {
|
||||
$this->load->library("Resultcalc");
|
||||
|
||||
$id = 946;
|
||||
$rows = $this->resultcalc->auto($id);
|
||||
echo "<pre> $rows";
|
||||
}
|
||||
|
||||
function generatessprice($mgmmcuid){
|
||||
$this->load->library('SsPriceMou');
|
||||
$this->sspricemou->create($mgmmcuid);
|
||||
echo "selesai";
|
||||
}
|
||||
|
||||
function genqrcode($nomorlab,$id){
|
||||
$this->load->library('ciqrcode'); //pemanggilan library QR CODE
|
||||
$home_dir = "/home/one/project/one/";
|
||||
$target_dir = $home_dir . "one-media/one-qrcontrolcard/";
|
||||
$config['cacheable'] = false; //boolean, the default is true
|
||||
//$config['cachedir'] = './assets/'; //string, the default is application/cache/
|
||||
//$config['errorlog'] = './assets/'; //string, the default is application/logs/
|
||||
$config['imagedir'] = $target_dir; //direktori penyimpanan qr code
|
||||
$config['quality'] = true; //boolean, the default is true
|
||||
$config['size'] = '1024'; //interger, the default is 1024
|
||||
$config['black'] = array(224,255,255); // array, default is array(255,255,255)
|
||||
$config['white'] = array(70,130,180); // array, default is array(0,0,0)
|
||||
$this->ciqrcode->initialize($config);
|
||||
|
||||
$image_name="qrcode_".$nomorlab.".png"; //buat name dari qr code sesuai dengan nim
|
||||
|
||||
$params['data'] = "http://devcpone.aplikasi.web.id/one-ui/test/vuex/cpone-control-card/?noreg=".$nomorlab."&id=".$id; //data yang akan di jadikan QR CODE
|
||||
$params['level'] = 'H'; //H=High
|
||||
$params['size'] = 10;
|
||||
$params['savename'] = $config['imagedir'].$image_name; //simpan image QR CODE ke folder assets/images/
|
||||
$this->ciqrcode->generate($params); // fungsi untuk generate QR CODE
|
||||
echo "http://devcpone.aplikasi.web.id/one-api/assets/images/".$image_name;
|
||||
|
||||
|
||||
}
|
||||
|
||||
function gen_kesimpulan_fisik($id){
|
||||
$this->load->library('kesimpulanfisik');
|
||||
$kesimpulan = $this->kesimpulanfisik->kesimpulan($id);
|
||||
echo $kesimpulan;
|
||||
|
||||
}
|
||||
|
||||
function generate_kelainan_fisik_all($mgmmcuid,$limit){
|
||||
$sql = "SELECT *
|
||||
FROM so_resultentry
|
||||
JOIN t_orderheader ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID AND T_OrderHeaderIsActive = 'Y' AND
|
||||
T_OrderHeaderMgm_McuID = ?
|
||||
WHERE
|
||||
So_ResultEntryNonlab_TemplateID = 27 AND So_ResultEntryIsActive = 'Y'
|
||||
LIMIT ? ";
|
||||
$query = $this->db_onedev->query($sql,array($mgmmcuid,intval($limit)));
|
||||
//echo $this->db_onedev->last_query();
|
||||
$datas = $query->result_array();
|
||||
foreach ($datas as $key => $value) {
|
||||
$this->gen_kelainan_fisik($value['So_ResultEntryID']);
|
||||
}
|
||||
}
|
||||
|
||||
function gen_kelainan_fisik($id){
|
||||
$this->load->library('kesimpulanfisik');
|
||||
$kesimpulan = $this->kesimpulanfisik->generate_kelainan_fisik($id);
|
||||
echo json_encode($kesimpulan);
|
||||
|
||||
}
|
||||
|
||||
function gen_nonlab_template($id){
|
||||
$this->load->library('nonlabtemplate');
|
||||
$kesimpulan = $this->nonlabtemplate->generate($id);
|
||||
print_r($kesimpulan);
|
||||
|
||||
}
|
||||
|
||||
|
||||
function genpatientqrcode($nomorlab){
|
||||
$this->load->library('ciqrcode'); //pemanggilan library QR CODE
|
||||
$home_dir = "/home/one/project/one/";
|
||||
$target_dir = $home_dir . "one-media/one-qrpatient/";
|
||||
$config['cacheable'] = false; //boolean, the default is true
|
||||
//$config['cachedir'] = './assets/'; //string, the default is application/cache/
|
||||
//$config['errorlog'] = './assets/'; //string, the default is application/logs/
|
||||
$config['imagedir'] = $target_dir; //direktori penyimpanan qr code
|
||||
$config['quality'] = true; //boolean, the default is true
|
||||
$config['size'] = '1024'; //interger, the default is 1024
|
||||
$config['black'] = array(224,255,255); // array, default is array(255,255,255)
|
||||
$config['white'] = array(70,130,180); // array, default is array(0,0,0)
|
||||
$this->ciqrcode->initialize($config);
|
||||
|
||||
$image_name="patient_qr_".$nomorlab.".png"; //buat name dari qr code sesuai dengan nim
|
||||
|
||||
$params['data'] = $nomorlab; //data yang akan di jadikan QR CODE
|
||||
$params['level'] = 'H'; //H=High
|
||||
$params['size'] = 10;
|
||||
$params['savename'] = $config['imagedir'].$image_name; //simpan image QR CODE ke folder assets/images/
|
||||
$this->ciqrcode->generate($params); // fungsi untuk generate QR CODE
|
||||
echo "https://devcpone.aplikasi.web.id/one-media/one-qrpatient/".$image_name;
|
||||
//echo "selesai";
|
||||
|
||||
|
||||
}
|
||||
|
||||
function truncatextable(){
|
||||
$this->db = $this->load->database("onedev",true);
|
||||
$xgroup= array('PRICE','ORDER');
|
||||
$where_in = "";
|
||||
foreach ($xgroup as $key => $value) {
|
||||
if($where_in != "") $where_in .= " or ";
|
||||
$where_in .= "X_TableTransactionGroupName = '".$value."'";
|
||||
}
|
||||
|
||||
|
||||
$sql = "SELECT * FROM x_table_transaction
|
||||
WHERE
|
||||
X_TableTransactionIsActive = 'Y' AND ( $where_in )";
|
||||
//echo $sql;
|
||||
$data_tables = $this->db->query($sql)->result_array();
|
||||
foreach($data_tables as $k => $v){
|
||||
$sql = "TRUNCATE TABLE {$v['X_TableTransactionTableName']}";
|
||||
//echo $sql;
|
||||
//$this->db->query($sql);
|
||||
}
|
||||
echo 'selesai';
|
||||
}
|
||||
|
||||
function exporttoxls(){
|
||||
$this->db = $this->load->database("onedev",true);
|
||||
$sql = "SELECT * FROM xtable";
|
||||
$data_asal = $this->db->query($sql)->result_array();
|
||||
foreach($data_asal as $k => $v){
|
||||
$xplode = explode(' ',$v['TANGGAL_LAHIR']);
|
||||
$tgl = sprintf("%02d", $xplode[0]);
|
||||
$bln = $this->monthtonumber($xplode[1]);
|
||||
$thn = $xplode[2];
|
||||
$xdate = $tgl.'-'.$bln.'-'.$thn;
|
||||
$sql = "UPDATE xtable SET TANGGAL_LAHIR_INA = '{$xdate}' WHERE id = {$v['id']}";
|
||||
$this->db->query($sql);
|
||||
}
|
||||
echo 'selesai';
|
||||
}
|
||||
|
||||
function monthtonumber($xmonth){
|
||||
$rst = 0;
|
||||
if($xmonth == 'Januari')
|
||||
$rst = '01';
|
||||
if($xmonth == 'Februari')
|
||||
$rst = '02';
|
||||
if($xmonth == 'Maret')
|
||||
$rst = '03';
|
||||
if($xmonth == 'April')
|
||||
$rst = '04';
|
||||
if($xmonth == 'Mei')
|
||||
$rst = '05';
|
||||
if($xmonth == 'Juni')
|
||||
$rst = '06';
|
||||
if($xmonth == 'Juli')
|
||||
$rst = '07';
|
||||
if($xmonth == 'Agustus')
|
||||
$rst = '08';
|
||||
if($xmonth == 'September')
|
||||
$rst = '09';
|
||||
if($xmonth == 'Oktober')
|
||||
$rst = '10';
|
||||
if($xmonth == 'November')
|
||||
$rst = '11';
|
||||
if($xmonth == 'Desember')
|
||||
$rst = '12';
|
||||
return $rst;
|
||||
}
|
||||
|
||||
function two() {
|
||||
$this->db = $this->load->database("onedev",true);
|
||||
|
||||
$id = 946;
|
||||
|
||||
$sql = "select
|
||||
T_TestCalculationID,T_TestCalculationFormula,
|
||||
T_OrderDetailID, T_OrderDetailT_TestID, T_TestNat_TestID,
|
||||
T_TestCalculationID,T_OrderDetailResult,
|
||||
fn_global_age_count_day(M_PatientDOB, date(T_OrderHeaderDate)) / 365 AgeInYear,
|
||||
T_TestCalculationNat_SexID
|
||||
from t_orderdetail
|
||||
join t_orderheader on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
||||
and T_OrderHeaderID = ?
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
and T_OrderDetailIsActive = 'Y' and T_TestIsActive = 'Y'
|
||||
join t_testcalculation on T_TestNat_TestID = T_TestCalculationNat_TestID
|
||||
and T_TestCalculationIsActive = 'Y'
|
||||
and (
|
||||
T_TestCalculationNat_SexID = M_PatientM_SexID
|
||||
or
|
||||
T_TestCalculationNat_SexID = 0
|
||||
)
|
||||
";
|
||||
|
||||
$sql_det = "select T_TestCalculationDetailCode, T_OrderDetailResult
|
||||
from
|
||||
t_testcalculation_detail td
|
||||
join t_testcalculation on T_TestCalculationID = T_TestCalculationDetailT_TestCalculationID
|
||||
and T_TestCalculationID = ?
|
||||
join t_test t on td.T_TestCalculationDetailNat_TestID = T_TestNat_TestID
|
||||
left join t_orderdetail on T_TestID = T_OrderDetailT_TestID and T_OrderDetailIsActive = 'Y'
|
||||
and T_OrderDetailT_OrderHeaderID = ?
|
||||
where T_OrderDetailID is not null";
|
||||
|
||||
|
||||
$qry = $this->db->query($sql, array($id));
|
||||
$rows = $qry->result_array();
|
||||
if ( count($rows) > 0 ) {
|
||||
foreach($rows as $r) {
|
||||
if (false && $r["T_OrderDetailResult"] != "") continue;
|
||||
$tc_id = $r["T_TestCalculationID"];
|
||||
$qry_det = $this->db->query($sql_det, array($tc_id, $id));
|
||||
$drows = $qry_det->result_array();
|
||||
$formula = $r["T_TestCalculationFormula"];
|
||||
$have_all = true;
|
||||
$have_one = false;
|
||||
$formula = str_replace("AGE",$r["AgeInYear"], $formula);
|
||||
foreach($drows as $dr) {
|
||||
if($dr["T_OrderDetailResult"] == "" ) {
|
||||
$have_all = false;
|
||||
break;
|
||||
}
|
||||
$have_one = true;
|
||||
$code = $dr["T_TestCalculationDetailCode"];
|
||||
$value = $dr["T_OrderDetailResult"];
|
||||
$formula = str_replace($code, $value,$formula);
|
||||
}
|
||||
if ($have_all && $have_one) {
|
||||
echo "Formula : $formula <br/>";
|
||||
eval("\$f_value = $formula;");
|
||||
$od_id = $r["T_OrderDetailID"];
|
||||
$sql = "update t_orderdetail set T_OrderDetailResult = ?
|
||||
where T_OrderDetailID = ?";
|
||||
$this->db->query($sql, array($f_value,$od_id));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
function dynamic_comparison($varleft, $op, $varright)
|
||||
{
|
||||
|
||||
switch ($op) {
|
||||
case "=":
|
||||
return $varleft == $varright;
|
||||
case "!=":
|
||||
return $varleft != $varright;
|
||||
case ">=":
|
||||
return $varleft >= $varright;
|
||||
case "<=":
|
||||
return $varleft <= $varright;
|
||||
case ">":
|
||||
return $varleft > $varright;
|
||||
case "<":
|
||||
return $varleft < $varright;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
function generate_kelainan_lab_all($mgmmcuid,$limit){
|
||||
$sql = "SELECT *
|
||||
FROM t_orderheader
|
||||
WHERE
|
||||
T_OrderHeaderMgm_McuID = ? AND T_OrderHeaderIsActive = 'Y' LIMIT ? ";
|
||||
$query = $this->db_onedev->query($sql,array($mgmmcuid,intval($limit)));
|
||||
//echo $this->db_onedev->last_query();
|
||||
$datas = $query->result_array();
|
||||
foreach ($datas as $key => $value) {
|
||||
$this->generate_kelainan_lab($value['T_OrderHeaderID']);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function generate_kelainan_lab($orderid)
|
||||
{
|
||||
$sql = "select
|
||||
T_OrderHeaderID,T_OrderHeaderLabNumber,
|
||||
T_TestName, T_OrderDetailID, T_OrderDetailResult, T_OrderDetailNat_MethodeID,
|
||||
T_OrderDetailNat_MethodeID, T_OrderDetailNat_MethodeName,
|
||||
T_OrderDetailMinValue, T_OrderDetailMaxValue, T_OrderDetailMinValueInclusive,
|
||||
T_OrderDetailMaxValueInclusive,
|
||||
Mcu_SummaryLabID,
|
||||
Mcu_SummaryLabValue,
|
||||
Mcu_SummaryLabNat_MethodeID,
|
||||
Mcu_SummaryLabWithMethode,
|
||||
Mcu_SummaryLabType,
|
||||
Mcu_SummaryLabIsNormalValue,
|
||||
Mcu_KelainanID, Mcu_KelainanName, Mcu_KelainanClasification,
|
||||
Nat_TestID,
|
||||
Nat_TestCode,
|
||||
mcu_kelainangroup.*
|
||||
from t_orderdetail
|
||||
join t_orderheader on T_OrderHeaderID = {$orderid}
|
||||
and T_OrderHeaderID = T_OrderDetailT_OrderHeaderID
|
||||
and T_OrderDetailIsActive = 'Y'
|
||||
join t_test
|
||||
on T_OrderDetailT_TestID = T_TestID
|
||||
join nat_test ON T_TestNat_TestID = Nat_TestID
|
||||
join mcu_summarylab on T_TestNat_TestID = Mcu_SummaryLabNat_TestID AND Mcu_SummaryLabIsActive = 'Y'
|
||||
join mcu_kelainan on Mcu_SummaryLabMcu_KelainanID = Mcu_KelainanID
|
||||
join mcu_kelainangroup on Mcu_KelainanMcu_KelainanGroupID = Mcu_KelainanGroupID";
|
||||
//echo $sql;
|
||||
$qry = $this->db_onedev->query($sql);
|
||||
if (!$qry) {
|
||||
echo $this->db_onedev->last_query();
|
||||
echo json_encode([
|
||||
"status" => "ERR",
|
||||
"message" => "Error get order | " . $this->db_onedev->error()["message"]
|
||||
]);
|
||||
exit;
|
||||
}
|
||||
|
||||
$rows = $qry->result_array();
|
||||
$results = [];
|
||||
|
||||
|
||||
|
||||
foreach ($rows as $r) {
|
||||
$result_value = $r['T_OrderDetailResult'];
|
||||
|
||||
$value_comparison = 0;
|
||||
//echo $r['Mcu_SummaryLabIsNormalValue'];
|
||||
$kelainan = [];
|
||||
$notavailable = [];
|
||||
if (trim($result_value) == 'NA') {
|
||||
$notavailable = $r;
|
||||
} elseif ($r['Mcu_SummaryLabIsNormalValue'] == 'Y') {
|
||||
if ($r['Mcu_SummaryLabType'] == '<' || $r['Mcu_SummaryLabType'] == '<=') {
|
||||
$value_comparison = $r['T_OrderDetailMinValue'];
|
||||
}
|
||||
if ($r['Mcu_SummaryLabType'] == '>' || $r['Mcu_SummaryLabType'] == '>=') {
|
||||
$value_comparison = $r['T_OrderDetailMaxValue'];
|
||||
}
|
||||
/* $logData = array(
|
||||
"result" => $result_value,
|
||||
"comparison" => $value_comparison,
|
||||
"test_name" => $r['T_TestName'],
|
||||
"id" => $r['Mcu_SummaryLabID'],
|
||||
"nat_testid" => $r['Nat_TestID'],
|
||||
"type" => $r['Mcu_SummaryLabType'],
|
||||
"hasil" => $this->dynamic_comparison($result_value, $r['Mcu_SummaryLabType'], $value_comparison)
|
||||
);
|
||||
echo json_encode($logData); */
|
||||
if ($this->dynamic_comparison($result_value, $r['Mcu_SummaryLabType'], $value_comparison)) {
|
||||
//echo $r['T_TestName']." : ".$r['Mcu_KelainanName'].", ";
|
||||
$kelainan = $r;
|
||||
$results[] = array('test' => $r['T_TestName'], 'nat_test' => $r['Nat_TestCode'], 'kelainan' => $r['Mcu_KelainanName'], 'orderdetailID' => $r['T_OrderDetailID'], 'orderheaderID' => $r['T_OrderHeaderID'], 'nat_testID' => $r['Nat_TestID'], 'mcu_summarylabID' => $r['Mcu_SummaryLabID']);
|
||||
}
|
||||
} else {
|
||||
$value_comparison = $r['Mcu_SummaryLabValue'];
|
||||
if ($r['Mcu_SummaryLabType'] == '!=' || $r['Mcu_SummaryLabType'] == '==') {
|
||||
if ($this->dynamic_comparison($result_value, $r['Mcu_SummaryLabType'], $value_comparison)) {
|
||||
//echo $r['T_TestName']." : ".$r['Mcu_KelainanName'].", ";
|
||||
$kelainan = $r;
|
||||
$results[] = array('test' => $r['T_TestName'], 'nat_test' => $r['Nat_TestCode'], 'kelainan' => $r['Mcu_KelainanName'], 'orderdetailID' => $r['T_OrderDetailID'], 'orderheaderID' => $r['T_OrderHeaderID'], 'nat_testID' => $r['Nat_TestID'], 'mcu_summarylabID' => $r['Mcu_SummaryLabID']);
|
||||
}
|
||||
} else {
|
||||
if (is_numeric($result_value) && $this->dynamic_comparison($result_value, $r['Mcu_SummaryLabType'], $value_comparison)) {
|
||||
//echo $r['T_TestName']." : ".$r['Mcu_KelainanName'].", ";
|
||||
$kelainan = $r;
|
||||
$results[] = array('test' => $r['T_TestName'], 'nat_test' => $r['Nat_TestCode'], 'kelainan' => $r['Mcu_KelainanName'], 'orderdetailID' => $r['T_OrderDetailID'], 'orderheaderID' => $r['T_OrderHeaderID'], 'nat_testID' => $r['Nat_TestID'], 'mcu_summarylabID' => $r['Mcu_SummaryLabID']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// print_r($results);
|
||||
$sql = "UPDATE t_kelainan_lab
|
||||
SET T_KelainanLabIsActive = 'X'
|
||||
WHERE
|
||||
T_KelainanLabT_OrderHeaderID = {$orderid}";
|
||||
$this->db_onedev->query($sql);
|
||||
|
||||
if (count($results) > 0) {
|
||||
foreach ($results as $v_result) {
|
||||
$sql_kel_lab = "SELECT *
|
||||
FROM t_kelainan_lab
|
||||
WHERE T_KelainanLabT_OrderDetailID = ?
|
||||
GROUP BY T_KelainanLabT_OrderDetailID";
|
||||
$qry_kel_lab = $this->db_onedev->query($sql_kel_lab, array($v_result['orderdetailID']));
|
||||
if ($qry_kel_lab) {
|
||||
$rows_kel = $qry_kel_lab->result_array();
|
||||
} else {
|
||||
$this->sys_error_db("select kelainan lab", $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
if (count($rows_kel) > 0) {
|
||||
|
||||
// print_r($v_result['orderdetailID']);
|
||||
// exit;
|
||||
|
||||
$sql_update_kel = "UPDATE t_kelainan_lab
|
||||
SET T_KelainanLabT_OrderDetailID = {$v_result['orderdetailID']},
|
||||
T_KelainanLabT_OrderHeaderID = {$v_result['orderheaderID']},
|
||||
T_KelainanLabNat_TestID = {$v_result['nat_testID']},
|
||||
T_KelainanLabMcu_SummaryLabID = {$v_result['mcu_summarylabID']},
|
||||
T_KelainanLabCreatedUserID = 1,
|
||||
T_KelainanLabIsActive = 'Y',
|
||||
T_KelainanLabCreated = NOW()
|
||||
WHERE T_KelainanLabID = {$rows_kel[0]['T_KelainanLabID']}";
|
||||
$qry_update_kel = $this->db_onedev->query($sql_update_kel);
|
||||
if (!$qry_update_kel) {
|
||||
echo $this->db_onedev->last_query();
|
||||
//$this->db_onedev->trans_rollback();
|
||||
$this->sys_error_db('error', 'Error update lab: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
} else {
|
||||
// print_r('insert');
|
||||
// exit;
|
||||
$sql_insert_lab = "INSERT INTO t_kelainan_lab(
|
||||
T_KelainanLabT_OrderDetailID,
|
||||
T_KelainanLabT_OrderHeaderID,
|
||||
T_KelainanLabNat_TestID,
|
||||
T_KelainanLabMcu_SummaryLabID,
|
||||
T_KelainanLabCreatedUserID,
|
||||
T_KelainanLabCreated)
|
||||
VALUES(
|
||||
'{$v_result['orderdetailID']}',
|
||||
'{$v_result['orderheaderID']}',
|
||||
'{$v_result['nat_testID']}',
|
||||
'{$v_result['mcu_summarylabID']}',
|
||||
1,
|
||||
NOW())";
|
||||
$qry_insert_lab = $this->db_onedev->query($sql_insert_lab);
|
||||
|
||||
if (!$qry_insert_lab) {
|
||||
//$this->db_onedev->trans_rollback();
|
||||
echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db('error', 'Error insert kelainan lab: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$sql = "UPDATE t_kelainan_lab
|
||||
SET T_KelainanLabIsActive = 'N'
|
||||
WHERE
|
||||
T_KelainanLabT_OrderHeaderID = {$orderid} AND T_KelainanLabIsActive = 'X'";
|
||||
$this->db_onedev->query($sql);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function replace_packet($labnumber,$oldpacket_code,$newpacket_code, $userid){
|
||||
|
||||
|
||||
$sql = " SELECT *
|
||||
FROM t_packet
|
||||
JOIN mgm_mcupacket ON Mgm_McuPacketT_PacketID = T_PacketID AND Mgm_McuPacketIsActive = 'Y'
|
||||
JOIN t_orderheader ON T_OrderHeaderMgm_McuID = Mgm_McuPacketMgm_McuID AND T_OrderHeaderLabNumber = ?
|
||||
WHERE
|
||||
T_PacketSasCode = ? AND T_PacketIsActive = 'Y' LIMIT 1";
|
||||
$query = $this->db_onedev->query($sql,array($labnumber,$newpacket_code));
|
||||
|
||||
if (!$query) {
|
||||
//$this->db_onedev->trans_rollback();
|
||||
echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db('error', 'Error get order: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$data_new_packet = $query->row_array();
|
||||
|
||||
if($data_new_packet){
|
||||
$sql = " SELECT *
|
||||
FROM t_orderheader
|
||||
JOIN t_orderdetailorder ON T_OrderDetailOrderT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailOrderIsActive = 'Y' AND
|
||||
T_OrderDetailOrderIsPacket = 'Y'
|
||||
JOIN t_packet ON T_PacketSasCode = ? AND T_OrderDetailOrderT_PacketID = T_PacketID
|
||||
WHERE
|
||||
T_OrderHeaderLabNumber = ? LIMIT 1";
|
||||
$query = $this->db_onedev->query($sql,array($oldpacket_code,$labnumber));
|
||||
//echo $this->db_onedev->last_query();
|
||||
if (!$query) {
|
||||
//$this->db_onedev->trans_rollback();
|
||||
echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db('error', 'Error get order: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
//echo $this->db_onedev->last_query();
|
||||
|
||||
$order = $query->row_array();
|
||||
|
||||
if($order){
|
||||
$this->db_onedev->trans_begin();
|
||||
|
||||
$new_packet_id = $data_new_packet['T_PacketID'];
|
||||
$old_packet_id = $order['T_PacketID'];
|
||||
|
||||
//INSERT NEW PACKET INTO ORDER DETAIL ORDER
|
||||
$sql = "INSERT INTO t_orderdetailorder (
|
||||
T_OrderDetailOrderT_OrderHeaderID,
|
||||
T_OrderDetailOrderIsPacket,
|
||||
T_OrderDetailOrderPacketType,
|
||||
T_OrderDetailOrderT_PacketID,
|
||||
T_OrderDetailOrderT_PacketName,
|
||||
T_OrderDetailOrderCreated,
|
||||
T_OrderDetailOrderCreatedUserID
|
||||
)
|
||||
VALUES(?,'Y',?,?,?,NOW(),?)";
|
||||
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID'],
|
||||
$data_new_packet['T_PacketType'],
|
||||
$data_new_packet['T_PacketID'],
|
||||
$data_new_packet['T_PacketName'],
|
||||
$userid
|
||||
));
|
||||
|
||||
if (!$query) {
|
||||
$this->db_onedev->trans_rollback();
|
||||
echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db('error', 'Error insert new packet into orderdetail order: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$new_orderdetail_orderid = $this->db_onedev->insert_id();
|
||||
|
||||
$sql = "SELECT *
|
||||
FROM t_packetdetail
|
||||
JOIN t_test ON T_PacketDetailT_TestID = T_TestID
|
||||
WHERE
|
||||
T_PacketDetailT_PacketID = ? AND
|
||||
T_PacketDetailIsActive = 'Y'";
|
||||
|
||||
$query = $this->db_onedev->query($sql,array($new_packet_id));
|
||||
|
||||
if (!$query) {
|
||||
$this->db_onedev->trans_rollback();
|
||||
echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db('error', 'Error get packet detail: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$packet_details = $query->result_array();
|
||||
foreach ($packet_details as $key => $value) {
|
||||
$data_detail = [];
|
||||
$sql = "SELECT *
|
||||
FROM t_orderdetail
|
||||
WHERE
|
||||
T_OrderDetailT_OrderHeaderID = ? AND
|
||||
T_OrderDetailT_OrderDetailOrderID = ? AND
|
||||
T_OrderDetailT_TestID = ? AND
|
||||
T_OrderDetailIsActive = 'Y'";
|
||||
$query = $this->db_onedev->query($sql,array($order['T_OrderHeaderID'],$order['T_OrderDetailOrderID'],$value['T_PacketDetailT_TestID']));
|
||||
|
||||
if (!$query) {
|
||||
$this->db_onedev->trans_rollback();
|
||||
echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db('error', 'Error get packet detail: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
//echo $this->db_onedev->last_query();
|
||||
|
||||
$data_detail = $query->result_array();
|
||||
$orderdetail_sascode = $value['T_TestSasCode']."%";
|
||||
//echo "exist-order-lama-".count($data_detail);
|
||||
if(count($data_detail) > 0){
|
||||
// UPDATE order detail lama diganti orderdetailt_orderdetailorderid baru
|
||||
$detail = $data_detail[0];
|
||||
$sql = "UPDATE t_orderdetail SET
|
||||
T_OrderDetailT_OrderDetailOrderID = ?,
|
||||
T_OrderDetailLastUpdatedUserID = ?
|
||||
WHERE
|
||||
T_OrderDetailT_OrderDetailOrderID = ? AND
|
||||
T_OrderDetailT_TestSasCode LIKE ?
|
||||
";
|
||||
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$new_orderdetail_orderid,
|
||||
$userid,
|
||||
$order['T_OrderDetailOrderID'],
|
||||
$orderdetail_sascode
|
||||
));
|
||||
|
||||
if (!$query) {
|
||||
$this->db_onedev->trans_rollback();
|
||||
echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db('error', 'Error update order detail: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
}else{
|
||||
//insert ke orderdetail jika tidak ditemukan
|
||||
$sql = "INSERT INTO t_orderdetail (
|
||||
T_OrderDetailT_OrderHeaderID,
|
||||
T_OrderDetailT_OrderDetailOrderID,
|
||||
T_OrderDetailT_TestID,
|
||||
T_OrderDetailT_TestCode,
|
||||
T_OrderDetailT_TestSasCode,
|
||||
T_OrderDetailT_TestName,
|
||||
T_OrderDetailT_TestIsResult,
|
||||
T_OrderDetailT_TestIsPanel,
|
||||
T_OrderDetailT_TestIsPrice,
|
||||
T_OrderDetailPrice,
|
||||
T_OrderDetailTotal,
|
||||
T_OrderDetailCreated,
|
||||
T_OrderDetailCreatedUserID
|
||||
)
|
||||
SELECT ?,
|
||||
?,
|
||||
T_TestID,
|
||||
T_TestCode,
|
||||
T_TestSasCode,
|
||||
T_TestName,
|
||||
T_TestIsResult,
|
||||
'N',
|
||||
T_TestIsPrice,
|
||||
if(T_TestSasCode = ?, ?,0),
|
||||
if(T_TestSasCode = ?, ?,0),
|
||||
NOW(),
|
||||
?
|
||||
FROM t_test
|
||||
WHERE
|
||||
T_TestSasCode LIKE ?
|
||||
";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID'],
|
||||
$new_orderdetail_orderid,
|
||||
$value['T_TestSasCode'],
|
||||
$value['T_PacketDetailPrice'],
|
||||
$value['T_TestSasCode'],
|
||||
$value['T_PacketDetailPrice'],
|
||||
$userid,
|
||||
$orderdetail_sascode
|
||||
));
|
||||
|
||||
//echo $this->db_onedev->last_query();
|
||||
if (!$query) {
|
||||
$this->db_onedev->trans_rollback();
|
||||
echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db('error', 'Error insert order detail: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//update isactive = N test lama yg tdk ada di paket baru
|
||||
$sql = "UPDATE t_orderdetail SET T_OrderDetailIsActive = 'N', T_OrderDetailDeleted = NOW(), T_OrderDetailDeletedUserID = ?
|
||||
WHERE
|
||||
T_OrderDetailT_OrderDetailOrderID = ? AND T_OrderDetailIsActive = 'Y'";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$userid,
|
||||
$order['T_OrderDetailOrderID']
|
||||
));
|
||||
|
||||
if (!$query) {
|
||||
$this->db_onedev->trans_rollback();
|
||||
echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db('error', 'Error update isactive N order detail: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "UPDATE t_orderdetailorder SET T_OrderDetailOrderIsActive = 'N', T_OrderDetailOrderDeleted = NOW(), T_OrderDetailOrderDeletedUserID = ?
|
||||
WHERE
|
||||
T_OrderDetailOrderID = ?";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$userid,
|
||||
$order['T_OrderDetailOrderID']
|
||||
));
|
||||
|
||||
if (!$query) {
|
||||
$this->db_onedev->trans_rollback();
|
||||
echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db('error', 'Error update isactive N order detail order: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "SELECT T_SampleStationID, M_LocationID
|
||||
FROM t_orderdetail
|
||||
JOIN t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
||||
JOIN t_sampletype ON T_TestT_SampleTypeID = T_SampleTypeID
|
||||
JOIN t_bahan ON T_SampleTypeT_BahanID = T_BahanID
|
||||
JOIN t_samplestation ON T_BahanT_SampleStationID = T_SampleStationID AND T_SampleStationIsActive = 'Y'
|
||||
JOIN m_location ON M_LocationT_SampleStationID = T_SampleStationID AND M_LocationIsActive = 'Y'
|
||||
WHERE
|
||||
T_OrderDetailT_OrderHeaderID = ? AND T_OrderDetailIsActive = 'Y'
|
||||
GROUP BY T_SampleStationID ";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID']
|
||||
));
|
||||
|
||||
if (!$query) {
|
||||
$this->db_onedev->trans_rollback();
|
||||
echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db('error', 'Error get station: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$order_locations = $query->result_array();
|
||||
if(count($order_locations) > 0){
|
||||
$sql = "UPDATE t_order_location SET T_OrderLocationIsActive = 'X' WHERE T_OrderLocationT_OrderHeaderID = ? AND T_OrderLocationIsActive = 'Y'";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID']
|
||||
));
|
||||
|
||||
foreach ($order_locations as $k => $v) {
|
||||
$exist_order_location = [];
|
||||
$sql = " SELECT *
|
||||
FROM t_order_location
|
||||
WHERE
|
||||
T_OrderLocationT_OrderHeaderID = ? AND
|
||||
T_OrderLocationT_SampleStationID= ? AND
|
||||
T_OrderLocationM_LocationID = ? AND
|
||||
T_OrderLocationIsActive = 'X' LIMIT 1";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID'],
|
||||
$v['T_SampleStationID'],
|
||||
$v['M_LocationID']
|
||||
));
|
||||
$dt_exist_order_location = $query->result_array();
|
||||
if(count($dt_exist_order_location) > 0){
|
||||
$exist_order_location = $dt_exist_order_location[0];
|
||||
$sql = "UPDATE t_order_location SET T_OrderLocationIsActive = 'Y' WHERE T_OrderLocationID = ? ";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$exist_order_location['T_OrderLocationID']
|
||||
));
|
||||
}else{
|
||||
$sql = "INSERT INTO t_order_location (
|
||||
T_OrderLocationT_OrderHeaderID,
|
||||
T_OrderLocationM_LocationID,
|
||||
T_OrderLocationT_SampleStationID,
|
||||
T_OrderLocationCreated,
|
||||
T_OrderLocationUserID
|
||||
)
|
||||
VALUES(?,?,?,NOW(),?)";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID'],
|
||||
$v['M_LocationID'],
|
||||
$v['T_SampleStationID'],
|
||||
$userid
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
$sql = "UPDATE t_order_location SET T_OrderLocationIsActive = 'N', T_OrderLocationUserID = ? WHERE T_OrderLocationT_OrderHeaderID = ? AND T_OrderLocationIsActive = 'X'";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$userid,
|
||||
$order['T_OrderHeaderID']
|
||||
));
|
||||
}
|
||||
|
||||
$sql = "SELECT T_OrderHeaderLabNumber, T_TestID, T_SampleTypeID , T_SampleTypeSuffix, T_SampleStationIsNonLab, T_SampleStationID
|
||||
FROM t_orderheader
|
||||
JOIN t_orderdetail ON t_orderheaderid = t_orderdetailt_orderheaderid AND t_orderdetailIsActive = 'Y'
|
||||
JOIN t_test ON t_orderdetailt_testid = t_testid AND T_TestIsResult = 'Y'
|
||||
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID AND Group_resultDetailIsActive = 'Y'
|
||||
JOIN group_result ON Group_ResultDetailGroup_ResultID = Group_ResultID AND Group_ResultFlagNonLab= 'N'
|
||||
JOIN t_sampletype ON T_TestT_SampleTypeID = T_SampleTypeID
|
||||
JOIN t_bahan ON T_SampleTypeT_BahanID = T_BahanID
|
||||
JOIN t_samplestation ON T_BahanT_SampleStationID = T_SampleStationID
|
||||
WHERE T_OrderHeaderID = ?
|
||||
GROUP BY T_SampleTypeID";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID']
|
||||
));
|
||||
|
||||
$order_samples = $query->result_array();
|
||||
if($order_samples){
|
||||
$sql = "UPDATE t_ordersample SET T_OrderSampleIsActive = 'X'
|
||||
WHERE
|
||||
T_OrderSampleT_OrderHeaderID = ? AND T_OrderSampleIsActive = 'Y'";
|
||||
$this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID']
|
||||
));
|
||||
|
||||
foreach ($order_samples as $sample) {
|
||||
$exist_sample = [];
|
||||
$sql = "SELECT *
|
||||
FROM t_ordersample
|
||||
WHERE
|
||||
T_OrderSampleT_OrderHeaderID = ? AND
|
||||
T_OrderSampleT_SampleTypeID = ? AND
|
||||
T_OrderSampleIsActive = 'X'";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID'],
|
||||
$sample['T_SampleTypeID']
|
||||
));
|
||||
//echo $this->db_onedev->last_query();
|
||||
$dt_exist_sample = $query->result_array();
|
||||
if(count($dt_exist_sample) > 0){
|
||||
$exist_sample = $dt_exist_sample[0];
|
||||
$sql = "UPDATE t_ordersample SET T_OrderSampleIsActive = 'Y' WHERE T_OrderSampleID = ?";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$exist_sample['T_OrderSampleID']
|
||||
));
|
||||
//echo $this->db_onedev->last_query();
|
||||
}else{
|
||||
$barcode = $labnumber . $sample['T_SampleTypeSuffix']."1";
|
||||
|
||||
$sql = "INSERT INTO t_barcodelab(
|
||||
T_BarcodeLabT_OrderHeaderID,
|
||||
T_BarcodeLabBarcode,
|
||||
T_BarcodeLabT_SampleTypeID,
|
||||
T_BarcodeLabCounter,
|
||||
T_BarcodeLabCreated,
|
||||
T_BarcodeLabCreatedUserID)
|
||||
VALUES (?,?,?,?,NOW(),?)";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID'],
|
||||
$barcode,
|
||||
$sample['T_SampleTypeID'],
|
||||
"1",
|
||||
$userid
|
||||
));
|
||||
|
||||
$last_id_barcode = $this->db_onedev->insert_id();
|
||||
|
||||
$sql = "INSERT INTO t_ordersample(
|
||||
T_OrderSampleT_OrderHeaderID,
|
||||
T_OrderSampleT_SampleTypeID,
|
||||
T_OrderSampleT_BarcodeLabID,
|
||||
T_OrderSampleBarcode,
|
||||
T_OrderSampleT_SampleStationID,
|
||||
T_OrderSampleCreated,
|
||||
T_OrderSampleCreatedUserID)
|
||||
VALUES(
|
||||
?,?,?,?,?,NOW(),?
|
||||
)";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID'],
|
||||
$sample['T_SampleTypeID'],
|
||||
$last_id_barcode,
|
||||
$barcode,
|
||||
$sample['T_SampleStationID'],
|
||||
$userid
|
||||
));
|
||||
//echo $this->db_onedev->last_query();
|
||||
}
|
||||
}
|
||||
|
||||
$sql = "UPDATE t_ordersample SET T_OrderSampleIsActive = 'N'
|
||||
WHERE
|
||||
T_OrderSampleT_OrderHeaderID = ? AND T_OrderSampleIsActive = 'X'";
|
||||
$this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID']
|
||||
));
|
||||
}
|
||||
|
||||
$sql = "SELECT *
|
||||
FROM t_orderdetail
|
||||
JOIN t_test ON T_OrderDetailT_TestID = T_TestID
|
||||
JOIN nonlab_template_mapping ON NonlabTemplateMappingNat_TestID = T_TestNat_TestID AND NonlabTemplateMappingIsActive = 'Y'
|
||||
JOIN nonlab_template ON NonlabTemplateMappingNonlabTemplateID = NonlabTemplateID AND NonlabTemplateIsActive = 'Y'
|
||||
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
||||
JOIN group_result ON Group_ResultDetailGroup_ResultID = Group_ResultID AND Group_ResultFlagNonLab = 'Y'
|
||||
WHERE
|
||||
T_OrderDetailT_OrderHeaderID = {$order['T_OrderHeaderID']} AND T_OrderDetailIsActive = 'Y'
|
||||
GROUP BY T_TestID";
|
||||
// echo $sql;
|
||||
$query = $this->db_onedev->query($sql);
|
||||
|
||||
$order_nonlab = $query->result_array();
|
||||
if(count($order_nonlab) > 0){
|
||||
$sql = "UPDATE so_resultentry SET So_ResultEntryIsActive = 'X'
|
||||
WHERE
|
||||
So_ResultEntryT_OrderHeaderID = ? AND So_ResultEntryIsActive = 'Y'";
|
||||
$this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID']
|
||||
));
|
||||
|
||||
foreach ($order_nonlab as $nonlab) {
|
||||
$exist_so = [];
|
||||
$sql = "SELECT *
|
||||
FROM so_resultentry
|
||||
WHERE
|
||||
So_ResultEntryT_OrderHeaderID = ? AND
|
||||
So_ResultEntryT_OrderDetailID = ? AND
|
||||
So_ResultEntryIsActive = 'X'";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID'],
|
||||
$nonlab['T_OrderDetailID']
|
||||
));
|
||||
|
||||
$dt_exist_so = $query->result_array();
|
||||
if(count($dt_exist_so) > 0){
|
||||
$exist_so = $dt_exist_so[0];
|
||||
$sql = "UPDATE so_resultentry SET So_ResultEntryIsActive = 'Y'
|
||||
WHERE
|
||||
So_ResultEntryID = ? AND So_ResultEntryIsActive = 'X'";
|
||||
$this->db_onedev->query($sql,array(
|
||||
$exist_so['So_ResultEntryID']
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
$sql = "UPDATE so_resultentry SET So_ResultEntryIsActive = 'N'
|
||||
WHERE
|
||||
So_ResultEntryT_OrderHeaderID = ? AND So_ResultEntryIsActive = 'X'";
|
||||
$this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID']
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
$results = ["status" => true, "msg" => "Ganti Paket Berhasil"];
|
||||
|
||||
|
||||
}else{
|
||||
$results = ["status" => false, "msg" => "Gagal ganti paket, kode paket tidak ditemukan"];
|
||||
}
|
||||
|
||||
$this->db_onedev->trans_commit();
|
||||
|
||||
}
|
||||
|
||||
echo json_encode($results);
|
||||
}
|
||||
}
|
||||
950
application/controllers/v1/su/Test.php-131024
Normal file
950
application/controllers/v1/su/Test.php-131024
Normal file
@@ -0,0 +1,950 @@
|
||||
<?php
|
||||
class Test extends CI_Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
}
|
||||
|
||||
function index() {
|
||||
$this->load->library("Resultcalc");
|
||||
|
||||
$id = 946;
|
||||
$rows = $this->resultcalc->auto($id);
|
||||
echo "<pre> $rows";
|
||||
}
|
||||
|
||||
function generatessprice($mgmmcuid){
|
||||
$this->load->library('SsPriceMou');
|
||||
$this->sspricemou->create($mgmmcuid);
|
||||
echo "selesai";
|
||||
}
|
||||
|
||||
function genqrcode($nomorlab,$id){
|
||||
$this->load->library('ciqrcode'); //pemanggilan library QR CODE
|
||||
$home_dir = "/home/one/project/one/";
|
||||
$target_dir = $home_dir . "one-media/one-qrcontrolcard/";
|
||||
$config['cacheable'] = false; //boolean, the default is true
|
||||
//$config['cachedir'] = './assets/'; //string, the default is application/cache/
|
||||
//$config['errorlog'] = './assets/'; //string, the default is application/logs/
|
||||
$config['imagedir'] = $target_dir; //direktori penyimpanan qr code
|
||||
$config['quality'] = true; //boolean, the default is true
|
||||
$config['size'] = '1024'; //interger, the default is 1024
|
||||
$config['black'] = array(224,255,255); // array, default is array(255,255,255)
|
||||
$config['white'] = array(70,130,180); // array, default is array(0,0,0)
|
||||
$this->ciqrcode->initialize($config);
|
||||
|
||||
$image_name="qrcode_".$nomorlab.".png"; //buat name dari qr code sesuai dengan nim
|
||||
|
||||
$params['data'] = "http://devcpone.aplikasi.web.id/one-ui/test/vuex/cpone-control-card/?noreg=".$nomorlab."&id=".$id; //data yang akan di jadikan QR CODE
|
||||
$params['level'] = 'H'; //H=High
|
||||
$params['size'] = 10;
|
||||
$params['savename'] = $config['imagedir'].$image_name; //simpan image QR CODE ke folder assets/images/
|
||||
$this->ciqrcode->generate($params); // fungsi untuk generate QR CODE
|
||||
echo "http://devcpone.aplikasi.web.id/one-api/assets/images/".$image_name;
|
||||
|
||||
|
||||
}
|
||||
|
||||
function gen_kesimpulan_fisik($id){
|
||||
$this->load->library('kesimpulanfisik');
|
||||
$kesimpulan = $this->kesimpulanfisik->kesimpulan($id);
|
||||
echo $kesimpulan;
|
||||
|
||||
}
|
||||
|
||||
function generate_kelainan_fisik_bydate($stardate,$endate){
|
||||
$sql = "SELECT *
|
||||
FROM so_resultentry
|
||||
JOIN t_orderheader ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID AND T_OrderHeaderIsActive = 'Y' AND
|
||||
( DATE(T_OrderHeaderDate) BETWEEN ? AND ? ) AND T_OrderHeaderIsActive = 'Y'
|
||||
WHERE
|
||||
So_ResultEntryNonlab_TemplateID = 27 AND So_ResultEntryIsActive = 'Y'
|
||||
";
|
||||
$query = $this->db_onedev->query($sql,array($stardate,$endate));
|
||||
//echo $this->db_onedev->last_query();
|
||||
$datas = $query->result_array();
|
||||
foreach ($datas as $key => $value) {
|
||||
$this->gen_kelainan_fisik($value['So_ResultEntryID']);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*function gen_kelainan_fisik_all($mgmmcuid,$limit){
|
||||
$this->load->library('kesimpulanfisik');
|
||||
$kesimpulan = $this->kesimpulanfisik->generate_all_kelainan_fisik($mgmmcuid,$limit);
|
||||
echo json_encode($kesimpulan);
|
||||
|
||||
}
|
||||
|
||||
function gen_kelainan_fisik($id){
|
||||
$this->load->library('kesimpulanfisik');
|
||||
$kesimpulan = $this->kesimpulanfisik->generate_kelainan_fisik($id);
|
||||
echo json_encode($kesimpulan);
|
||||
|
||||
}
|
||||
|
||||
function gen_nonlab_template($id){
|
||||
$this->load->library('nonlabtemplate');
|
||||
$kesimpulan = $this->nonlabtemplate->generate($id);
|
||||
print_r($kesimpulan);
|
||||
|
||||
}*/
|
||||
|
||||
|
||||
function genpatientqrcode($nomorlab){
|
||||
$this->load->library('ciqrcode'); //pemanggilan library QR CODE
|
||||
$home_dir = "/home/one/project/one/";
|
||||
$target_dir = $home_dir . "one-media/one-qrpatient/";
|
||||
$config['cacheable'] = false; //boolean, the default is true
|
||||
//$config['cachedir'] = './assets/'; //string, the default is application/cache/
|
||||
//$config['errorlog'] = './assets/'; //string, the default is application/logs/
|
||||
$config['imagedir'] = $target_dir; //direktori penyimpanan qr code
|
||||
$config['quality'] = true; //boolean, the default is true
|
||||
$config['size'] = '1024'; //interger, the default is 1024
|
||||
$config['black'] = array(224,255,255); // array, default is array(255,255,255)
|
||||
$config['white'] = array(70,130,180); // array, default is array(0,0,0)
|
||||
$this->ciqrcode->initialize($config);
|
||||
|
||||
$image_name="patient_qr_".$nomorlab.".png"; //buat name dari qr code sesuai dengan nim
|
||||
|
||||
$params['data'] = $nomorlab; //data yang akan di jadikan QR CODE
|
||||
$params['level'] = 'H'; //H=High
|
||||
$params['size'] = 10;
|
||||
$params['savename'] = $config['imagedir'].$image_name; //simpan image QR CODE ke folder assets/images/
|
||||
$this->ciqrcode->generate($params); // fungsi untuk generate QR CODE
|
||||
echo "https://devcpone.aplikasi.web.id/one-media/one-qrpatient/".$image_name;
|
||||
//echo "selesai";
|
||||
|
||||
|
||||
}
|
||||
|
||||
function truncatextable(){
|
||||
$this->db = $this->load->database("onedev",true);
|
||||
$xgroup= array('PRICE','ORDER');
|
||||
$where_in = "";
|
||||
foreach ($xgroup as $key => $value) {
|
||||
if($where_in != "") $where_in .= " or ";
|
||||
$where_in .= "X_TableTransactionGroupName = '".$value."'";
|
||||
}
|
||||
|
||||
|
||||
$sql = "SELECT * FROM x_table_transaction
|
||||
WHERE
|
||||
X_TableTransactionIsActive = 'Y' AND ( $where_in )";
|
||||
//echo $sql;
|
||||
$data_tables = $this->db->query($sql)->result_array();
|
||||
foreach($data_tables as $k => $v){
|
||||
$sql = "TRUNCATE TABLE {$v['X_TableTransactionTableName']}";
|
||||
//echo $sql;
|
||||
//$this->db->query($sql);
|
||||
}
|
||||
echo 'selesai';
|
||||
}
|
||||
|
||||
function exporttoxls(){
|
||||
$this->db = $this->load->database("onedev",true);
|
||||
$sql = "SELECT * FROM xtable";
|
||||
$data_asal = $this->db->query($sql)->result_array();
|
||||
foreach($data_asal as $k => $v){
|
||||
$xplode = explode(' ',$v['TANGGAL_LAHIR']);
|
||||
$tgl = sprintf("%02d", $xplode[0]);
|
||||
$bln = $this->monthtonumber($xplode[1]);
|
||||
$thn = $xplode[2];
|
||||
$xdate = $tgl.'-'.$bln.'-'.$thn;
|
||||
$sql = "UPDATE xtable SET TANGGAL_LAHIR_INA = '{$xdate}' WHERE id = {$v['id']}";
|
||||
$this->db->query($sql);
|
||||
}
|
||||
echo 'selesai';
|
||||
}
|
||||
|
||||
function monthtonumber($xmonth){
|
||||
$rst = 0;
|
||||
if($xmonth == 'Januari')
|
||||
$rst = '01';
|
||||
if($xmonth == 'Februari')
|
||||
$rst = '02';
|
||||
if($xmonth == 'Maret')
|
||||
$rst = '03';
|
||||
if($xmonth == 'April')
|
||||
$rst = '04';
|
||||
if($xmonth == 'Mei')
|
||||
$rst = '05';
|
||||
if($xmonth == 'Juni')
|
||||
$rst = '06';
|
||||
if($xmonth == 'Juli')
|
||||
$rst = '07';
|
||||
if($xmonth == 'Agustus')
|
||||
$rst = '08';
|
||||
if($xmonth == 'September')
|
||||
$rst = '09';
|
||||
if($xmonth == 'Oktober')
|
||||
$rst = '10';
|
||||
if($xmonth == 'November')
|
||||
$rst = '11';
|
||||
if($xmonth == 'Desember')
|
||||
$rst = '12';
|
||||
return $rst;
|
||||
}
|
||||
|
||||
function two() {
|
||||
$this->db = $this->load->database("onedev",true);
|
||||
|
||||
$id = 946;
|
||||
|
||||
$sql = "select
|
||||
T_TestCalculationID,T_TestCalculationFormula,
|
||||
T_OrderDetailID, T_OrderDetailT_TestID, T_TestNat_TestID,
|
||||
T_TestCalculationID,T_OrderDetailResult,
|
||||
fn_global_age_count_day(M_PatientDOB, date(T_OrderHeaderDate)) / 365 AgeInYear,
|
||||
T_TestCalculationNat_SexID
|
||||
from t_orderdetail
|
||||
join t_orderheader on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
||||
and T_OrderHeaderID = ?
|
||||
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
||||
join t_test on T_OrderDetailT_TestID = T_TestID
|
||||
and T_OrderDetailIsActive = 'Y' and T_TestIsActive = 'Y'
|
||||
join t_testcalculation on T_TestNat_TestID = T_TestCalculationNat_TestID
|
||||
and T_TestCalculationIsActive = 'Y'
|
||||
and (
|
||||
T_TestCalculationNat_SexID = M_PatientM_SexID
|
||||
or
|
||||
T_TestCalculationNat_SexID = 0
|
||||
)
|
||||
";
|
||||
|
||||
$sql_det = "select T_TestCalculationDetailCode, T_OrderDetailResult
|
||||
from
|
||||
t_testcalculation_detail td
|
||||
join t_testcalculation on T_TestCalculationID = T_TestCalculationDetailT_TestCalculationID
|
||||
and T_TestCalculationID = ?
|
||||
join t_test t on td.T_TestCalculationDetailNat_TestID = T_TestNat_TestID
|
||||
left join t_orderdetail on T_TestID = T_OrderDetailT_TestID and T_OrderDetailIsActive = 'Y'
|
||||
and T_OrderDetailT_OrderHeaderID = ?
|
||||
where T_OrderDetailID is not null";
|
||||
|
||||
|
||||
$qry = $this->db->query($sql, array($id));
|
||||
$rows = $qry->result_array();
|
||||
if ( count($rows) > 0 ) {
|
||||
foreach($rows as $r) {
|
||||
if (false && $r["T_OrderDetailResult"] != "") continue;
|
||||
$tc_id = $r["T_TestCalculationID"];
|
||||
$qry_det = $this->db->query($sql_det, array($tc_id, $id));
|
||||
$drows = $qry_det->result_array();
|
||||
$formula = $r["T_TestCalculationFormula"];
|
||||
$have_all = true;
|
||||
$have_one = false;
|
||||
$formula = str_replace("AGE",$r["AgeInYear"], $formula);
|
||||
foreach($drows as $dr) {
|
||||
if($dr["T_OrderDetailResult"] == "" ) {
|
||||
$have_all = false;
|
||||
break;
|
||||
}
|
||||
$have_one = true;
|
||||
$code = $dr["T_TestCalculationDetailCode"];
|
||||
$value = $dr["T_OrderDetailResult"];
|
||||
$formula = str_replace($code, $value,$formula);
|
||||
}
|
||||
if ($have_all && $have_one) {
|
||||
echo "Formula : $formula <br/>";
|
||||
eval("\$f_value = $formula;");
|
||||
$od_id = $r["T_OrderDetailID"];
|
||||
$sql = "update t_orderdetail set T_OrderDetailResult = ?
|
||||
where T_OrderDetailID = ?";
|
||||
$this->db->query($sql, array($f_value,$od_id));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
function dynamic_comparison($varleft, $op, $varright)
|
||||
{
|
||||
|
||||
switch ($op) {
|
||||
case "=":
|
||||
return $varleft == $varright;
|
||||
case "!=":
|
||||
return $varleft != $varright;
|
||||
case ">=":
|
||||
return $varleft >= $varright;
|
||||
case "<=":
|
||||
return $varleft <= $varright;
|
||||
case ">":
|
||||
return $varleft > $varright;
|
||||
case "<":
|
||||
return $varleft < $varright;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function usg_abdomen(){
|
||||
$rtn = [];
|
||||
$this->load->library('nonlabtemplate');
|
||||
$sql = "SELECT T_SamplingSoID, T_OrderDetailID, T_OrderDetailT_OrderHeaderID, So_ResultEntryID
|
||||
FROM `t_orderdetail`
|
||||
JOIN t_samplingso ON T_SamplingSoT_OrderHeaderID = T_OrderDetailT_OrderHeaderID AND
|
||||
T_SamplingSoT_TestID = T_OrderDetailT_TestID
|
||||
LEFT JOIN so_resultentry ON T_OrderDetailT_OrderHeaderID = So_ResultEntryT_OrderHeaderID AND
|
||||
So_ResultEntryT_OrderDetailID = T_OrderDetailID AND so_resultentryIsActive = 'Y'
|
||||
WHERE
|
||||
`T_OrderDetailT_TestID` = '3385' AND So_ResultEntryID IS NULL AND
|
||||
T_OrderDetailIsActive = 'Y'";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
$datas = $query->result_array();
|
||||
foreach ($datas as $key => $value) {
|
||||
|
||||
$kesimpulan = $this->nonlabtemplate->generate($value['T_SamplingSoID']);
|
||||
$rtn[] = $kesimpulan['So_ResultEntryID'];
|
||||
}
|
||||
|
||||
echo join(", ",$rtn);
|
||||
}
|
||||
|
||||
function billirubin_total(){
|
||||
$rtn = [];
|
||||
$tests = [900,901,902];
|
||||
foreach ($tests as $val) {
|
||||
$sql = "SELECT *
|
||||
FROM (
|
||||
SELECT GROUP_CONCAT(T_OrderDetailT_TestID) as exist,
|
||||
T_TestID,
|
||||
T_TestCode,
|
||||
T_TestName,
|
||||
T_TestSasCode,
|
||||
T_TestIsResult,
|
||||
T_TestIsPrice,
|
||||
T_OrderDetailT_OrderHeaderID,
|
||||
T_OrderDetailT_OrderDetailOrderID
|
||||
FROM `t_orderdetail`
|
||||
JOIN t_test ON T_TestID = ?
|
||||
WHERE
|
||||
T_OrderDetailT_TestID IN (899,900,901,902) AND T_OrderDetailIsActive = 'Y'
|
||||
GROUP BY T_OrderDetailT_OrderHeaderID
|
||||
) x
|
||||
WHERE
|
||||
exist = '899'";
|
||||
$query = $this->db_onedev->query($sql,[$val]);
|
||||
//if($val == 900)
|
||||
//echo $this->db_onedev->last_query();
|
||||
$datas = $query->result_array();
|
||||
foreach ($datas as $key => $value) {
|
||||
$sql = "INSERT INTO t_orderdetail(
|
||||
T_OrderDetailT_OrderHeaderID,
|
||||
T_OrderDetailT_OrderDetailOrderID,
|
||||
T_OrderDetailT_TestID,
|
||||
T_OrderDetailT_TestCode,
|
||||
T_OrderDetailT_TestSasCode,
|
||||
T_OrderDetailT_TestName,
|
||||
T_OrderDetailT_TestIsResult,
|
||||
T_OrderDetailT_TestIsPrice,
|
||||
T_OrderDetailCreatedUserID,
|
||||
T_OrderDetailCreated
|
||||
)
|
||||
VALUES(?,?,?,?,?,?,?,?,?,NOW())";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$value['T_OrderDetailT_OrderHeaderID'],
|
||||
$value['T_OrderDetailT_OrderDetailOrderID'],
|
||||
$value['T_TestID'],
|
||||
$value['T_TestCode'],
|
||||
$value['T_TestSasCode'],
|
||||
$value['T_TestName'],
|
||||
$value['T_TestIsResult'],
|
||||
$value['T_TestIsPrice'],
|
||||
270924
|
||||
));
|
||||
//if($key == 0)
|
||||
//echo $this->db_onedev->last_query();
|
||||
|
||||
$rtn[] = $this->db_onedev->insert_id();
|
||||
}
|
||||
}
|
||||
|
||||
echo json_encode($rtn);
|
||||
}
|
||||
|
||||
|
||||
function tonometri_remove(){
|
||||
$rtn = [];
|
||||
$sql = "SELECT So_ResultEntryID, So_ResultEntryT_OrderHeaderID
|
||||
FROM `t_orderdetail`
|
||||
JOIN so_resultentry ON So_ResultEntryT_OrderHeaderID = T_OrderDetailT_OrderHeaderID AND
|
||||
So_ResultEntryNonlab_TemplateID = 27
|
||||
WHERE `T_OrderDetailT_TestName` LIKE '%tonometri%' AND `T_OrderDetailIsActive` = 'Y'";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
|
||||
if (!$query) {
|
||||
//$this->db_onedev->trans_rollback();
|
||||
echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db('error', 'Error get order: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$datas = $query->result_array();
|
||||
foreach ($datas as $key => $value) {
|
||||
$sql = "SELECT * FROM so_resultentry_fisik_umum WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ?";
|
||||
$query = $this->db_onedev->query($sql,[$value['So_ResultEntryID']]);
|
||||
$xcount = $query->result_array();
|
||||
if(count($xcount) == 1 && $xcount[0]['So_ResultEntryFisikUmumFisikTemplateID'] == 41){
|
||||
$sql = "UPDATE so_resultentry_fisik_umum SET So_ResultEntryFisikUmumIsActive = 'N', So_ResultEntryFisikUmumDeleted = NOW(), So_ResultEntryFisikUmumDeletedUserID = 240924
|
||||
WHERE So_ResultEntryFisikUmumID = ?";
|
||||
$query = $this->db_onedev->query($sql,[$xcount[0]['So_ResultEntryFisikUmumID']]);
|
||||
$rtn[] = $xcount[0]['So_ResultEntryFisikUmumID'];
|
||||
}
|
||||
}
|
||||
|
||||
echo join(", ",$rtn);
|
||||
|
||||
|
||||
}
|
||||
|
||||
function generate_kelainan_lab_all($mgmmcuid,$limit){
|
||||
$this->load->library('Etlfisik');
|
||||
$sql = "SELECT *
|
||||
FROM t_orderheader
|
||||
WHERE
|
||||
T_OrderHeaderMgm_McuID = ? AND T_OrderHeaderIsActive = 'Y' LIMIT ? ";
|
||||
$query = $this->db_onedev->query($sql,array($mgmmcuid,intval($limit)));
|
||||
//echo $this->db_onedev->last_query();
|
||||
$datas = $query->result_array();
|
||||
foreach ($datas as $key => $value) {
|
||||
//$this->generate_kelainan_lab($value['T_OrderHeaderID']);
|
||||
$userID = 1;
|
||||
$this->etlfisik->generate_kelainan_lab($value['T_OrderHeaderID'],$userID);
|
||||
}
|
||||
}
|
||||
|
||||
function generate_all_kelainan_by_order(){
|
||||
|
||||
}
|
||||
|
||||
function generate_kelainan_fisik_all($mgmmcuid,$limit){
|
||||
$this->load->library('Etlfisik');
|
||||
$sql = "SELECT *
|
||||
FROM t_orderheader
|
||||
JOIN so_resultentry ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID AND So_ResultEntryNonlab_TemplateID = 27 AND
|
||||
So_ResultEntryIsActive = 'Y'
|
||||
WHERE
|
||||
T_OrderHeaderMgm_McuID = ? AND T_OrderHeaderIsActive = 'Y' LIMIT ? ";
|
||||
$query = $this->db_onedev->query($sql,array($mgmmcuid,intval($limit)));
|
||||
//echo $this->db_onedev->last_query();
|
||||
$datas = $query->result_array();
|
||||
foreach ($datas as $key => $value) {
|
||||
$userID = 1;
|
||||
$this->generate_etl_fisik($value['T_OrderHeaderID']);
|
||||
$this->generate_summaries($value['T_OrderHeaderID'], $value['So_ResultEntryID'], $userID);
|
||||
}
|
||||
}
|
||||
|
||||
function get_kelainan_order($orderID,$userID){
|
||||
$this->load->library('Etlfisik');
|
||||
$rtn = $this->etlfisik->generate_kelainan_by_order($orderID,$userID);
|
||||
echo json_encode($rtn);
|
||||
}
|
||||
|
||||
function generate_kelainan_non_lab_all($mgmmcuid,$limit){
|
||||
$this->load->library('Etlfisik');
|
||||
$sql = "SELECT *
|
||||
FROM t_orderheader
|
||||
WHERE
|
||||
T_OrderHeaderMgm_McuID = ? AND T_OrderHeaderIsActive = 'Y' LIMIT ? ";
|
||||
$query = $this->db_onedev->query($sql,array($mgmmcuid,intval($limit)));
|
||||
//echo $this->db_onedev->last_query();
|
||||
$datas = $query->result_array();
|
||||
foreach ($datas as $key => $value) {
|
||||
//$this->generate_kelainan_lab($value['T_OrderHeaderID']);
|
||||
$userID = 1;
|
||||
$this->etlfisik->generate_kelainan_nonlab($value['T_OrderHeaderID'],$userID);
|
||||
}
|
||||
}
|
||||
|
||||
function generate_etl_fisik($orderID){
|
||||
$this->load->library('Etlfisik');
|
||||
$userID = 1;
|
||||
$this->etlfisik->generate_all_fisik($orderID,$userID);
|
||||
}
|
||||
|
||||
function generate_summaries($orderID,$soReID,$userID,$debugID=0){
|
||||
$this->load->library('Etlfisik');
|
||||
$userID = 1;
|
||||
$this->etlfisik->generate_summaries($orderID,$soReID,$userID,$debugID=0);
|
||||
}
|
||||
|
||||
|
||||
function replace_packet($labnumber,$oldpacket_code,$newpacket_code, $userid){
|
||||
|
||||
|
||||
$sql = " SELECT *
|
||||
FROM t_packet
|
||||
JOIN mgm_mcupacket ON Mgm_McuPacketT_PacketID = T_PacketID AND Mgm_McuPacketIsActive = 'Y'
|
||||
JOIN t_orderheader ON T_OrderHeaderMgm_McuID = Mgm_McuPacketMgm_McuID AND T_OrderHeaderLabNumber = ?
|
||||
WHERE
|
||||
T_PacketSasCode = ? AND T_PacketIsActive = 'Y' LIMIT 1";
|
||||
$query = $this->db_onedev->query($sql,array($labnumber,$newpacket_code));
|
||||
|
||||
if (!$query) {
|
||||
//$this->db_onedev->trans_rollback();
|
||||
echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db('error', 'Error get order: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$data_new_packet = $query->row_array();
|
||||
|
||||
if($data_new_packet){
|
||||
$sql = " SELECT *
|
||||
FROM t_orderheader
|
||||
JOIN t_orderdetailorder ON T_OrderDetailOrderT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailOrderIsActive = 'Y' AND
|
||||
T_OrderDetailOrderIsPacket = 'Y'
|
||||
JOIN t_packet ON T_PacketSasCode = ? AND T_OrderDetailOrderT_PacketID = T_PacketID
|
||||
WHERE
|
||||
T_OrderHeaderLabNumber = ? LIMIT 1";
|
||||
$query = $this->db_onedev->query($sql,array($oldpacket_code,$labnumber));
|
||||
//echo $this->db_onedev->last_query();
|
||||
if (!$query) {
|
||||
//$this->db_onedev->trans_rollback();
|
||||
echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db('error', 'Error get order: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
//echo $this->db_onedev->last_query();
|
||||
|
||||
$order = $query->row_array();
|
||||
|
||||
if($order){
|
||||
$this->db_onedev->trans_begin();
|
||||
|
||||
$new_packet_id = $data_new_packet['T_PacketID'];
|
||||
$old_packet_id = $order['T_PacketID'];
|
||||
|
||||
//INSERT NEW PACKET INTO ORDER DETAIL ORDER
|
||||
$sql = "INSERT INTO t_orderdetailorder (
|
||||
T_OrderDetailOrderT_OrderHeaderID,
|
||||
T_OrderDetailOrderIsPacket,
|
||||
T_OrderDetailOrderPacketType,
|
||||
T_OrderDetailOrderT_PacketID,
|
||||
T_OrderDetailOrderT_PacketName,
|
||||
T_OrderDetailOrderCreated,
|
||||
T_OrderDetailOrderCreatedUserID
|
||||
)
|
||||
VALUES(?,'Y',?,?,?,NOW(),?)";
|
||||
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID'],
|
||||
$data_new_packet['T_PacketType'],
|
||||
$data_new_packet['T_PacketID'],
|
||||
$data_new_packet['T_PacketName'],
|
||||
$userid
|
||||
));
|
||||
|
||||
if (!$query) {
|
||||
$this->db_onedev->trans_rollback();
|
||||
echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db('error', 'Error insert new packet into orderdetail order: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$new_orderdetail_orderid = $this->db_onedev->insert_id();
|
||||
|
||||
$sql = "SELECT *
|
||||
FROM t_packetdetail
|
||||
JOIN t_test ON T_PacketDetailT_TestID = T_TestID
|
||||
WHERE
|
||||
T_PacketDetailT_PacketID = ? AND
|
||||
T_PacketDetailIsActive = 'Y'";
|
||||
|
||||
$query = $this->db_onedev->query($sql,array($new_packet_id));
|
||||
|
||||
if (!$query) {
|
||||
$this->db_onedev->trans_rollback();
|
||||
echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db('error', 'Error get packet detail: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$packet_details = $query->result_array();
|
||||
foreach ($packet_details as $key => $value) {
|
||||
$data_detail = [];
|
||||
$sql = "SELECT *
|
||||
FROM t_orderdetail
|
||||
WHERE
|
||||
T_OrderDetailT_OrderHeaderID = ? AND
|
||||
T_OrderDetailT_OrderDetailOrderID = ? AND
|
||||
T_OrderDetailT_TestID = ? AND
|
||||
T_OrderDetailIsActive = 'Y'";
|
||||
$query = $this->db_onedev->query($sql,array($order['T_OrderHeaderID'],$order['T_OrderDetailOrderID'],$value['T_PacketDetailT_TestID']));
|
||||
|
||||
if (!$query) {
|
||||
$this->db_onedev->trans_rollback();
|
||||
echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db('error', 'Error get packet detail: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
//echo $this->db_onedev->last_query();
|
||||
|
||||
$data_detail = $query->result_array();
|
||||
$orderdetail_sascode = $value['T_TestSasCode']."%";
|
||||
//echo "exist-order-lama-".count($data_detail);
|
||||
if(count($data_detail) > 0){
|
||||
// UPDATE order detail lama diganti orderdetailt_orderdetailorderid baru
|
||||
$detail = $data_detail[0];
|
||||
$sql = "UPDATE t_orderdetail SET
|
||||
T_OrderDetailT_OrderDetailOrderID = ?,
|
||||
T_OrderDetailLastUpdatedUserID = ?
|
||||
WHERE
|
||||
T_OrderDetailT_OrderDetailOrderID = ? AND
|
||||
T_OrderDetailT_TestSasCode LIKE ?
|
||||
";
|
||||
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$new_orderdetail_orderid,
|
||||
$userid,
|
||||
$order['T_OrderDetailOrderID'],
|
||||
$orderdetail_sascode
|
||||
));
|
||||
|
||||
if (!$query) {
|
||||
$this->db_onedev->trans_rollback();
|
||||
echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db('error', 'Error update order detail: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
}else{
|
||||
//insert ke orderdetail jika tidak ditemukan
|
||||
$sql = "INSERT INTO t_orderdetail (
|
||||
T_OrderDetailT_OrderHeaderID,
|
||||
T_OrderDetailT_OrderDetailOrderID,
|
||||
T_OrderDetailT_TestID,
|
||||
T_OrderDetailT_TestCode,
|
||||
T_OrderDetailT_TestSasCode,
|
||||
T_OrderDetailT_TestName,
|
||||
T_OrderDetailT_TestIsResult,
|
||||
T_OrderDetailT_TestIsPanel,
|
||||
T_OrderDetailT_TestIsPrice,
|
||||
T_OrderDetailPrice,
|
||||
T_OrderDetailTotal,
|
||||
T_OrderDetailCreated,
|
||||
T_OrderDetailCreatedUserID
|
||||
)
|
||||
SELECT ?,
|
||||
?,
|
||||
T_TestID,
|
||||
T_TestCode,
|
||||
T_TestSasCode,
|
||||
T_TestName,
|
||||
T_TestIsResult,
|
||||
'N',
|
||||
T_TestIsPrice,
|
||||
if(T_TestSasCode = ?, ?,0),
|
||||
if(T_TestSasCode = ?, ?,0),
|
||||
NOW(),
|
||||
?
|
||||
FROM t_test
|
||||
WHERE
|
||||
T_TestSasCode LIKE ?
|
||||
";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID'],
|
||||
$new_orderdetail_orderid,
|
||||
$value['T_TestSasCode'],
|
||||
$value['T_PacketDetailPrice'],
|
||||
$value['T_TestSasCode'],
|
||||
$value['T_PacketDetailPrice'],
|
||||
$userid,
|
||||
$orderdetail_sascode
|
||||
));
|
||||
|
||||
//echo $this->db_onedev->last_query();
|
||||
if (!$query) {
|
||||
$this->db_onedev->trans_rollback();
|
||||
echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db('error', 'Error insert order detail: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//update isactive = N test lama yg tdk ada di paket baru
|
||||
$sql = "UPDATE t_orderdetail SET T_OrderDetailIsActive = 'N', T_OrderDetailDeleted = NOW(), T_OrderDetailDeletedUserID = ?
|
||||
WHERE
|
||||
T_OrderDetailT_OrderDetailOrderID = ? AND T_OrderDetailIsActive = 'Y'";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$userid,
|
||||
$order['T_OrderDetailOrderID']
|
||||
));
|
||||
|
||||
if (!$query) {
|
||||
$this->db_onedev->trans_rollback();
|
||||
echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db('error', 'Error update isactive N order detail: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "UPDATE t_orderdetailorder SET T_OrderDetailOrderIsActive = 'N', T_OrderDetailOrderDeleted = NOW(), T_OrderDetailOrderDeletedUserID = ?
|
||||
WHERE
|
||||
T_OrderDetailOrderID = ?";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$userid,
|
||||
$order['T_OrderDetailOrderID']
|
||||
));
|
||||
|
||||
if (!$query) {
|
||||
$this->db_onedev->trans_rollback();
|
||||
echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db('error', 'Error update isactive N order detail order: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "SELECT T_SampleStationID, M_LocationID
|
||||
FROM t_orderdetail
|
||||
JOIN t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
||||
JOIN t_sampletype ON T_TestT_SampleTypeID = T_SampleTypeID
|
||||
JOIN t_bahan ON T_SampleTypeT_BahanID = T_BahanID
|
||||
JOIN t_samplestation ON T_BahanT_SampleStationID = T_SampleStationID AND T_SampleStationIsActive = 'Y'
|
||||
JOIN m_location ON M_LocationT_SampleStationID = T_SampleStationID AND M_LocationIsActive = 'Y'
|
||||
WHERE
|
||||
T_OrderDetailT_OrderHeaderID = ? AND T_OrderDetailIsActive = 'Y'
|
||||
GROUP BY T_SampleStationID ";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID']
|
||||
));
|
||||
|
||||
if (!$query) {
|
||||
$this->db_onedev->trans_rollback();
|
||||
echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db('error', 'Error get station: ' . $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$order_locations = $query->result_array();
|
||||
if(count($order_locations) > 0){
|
||||
$sql = "UPDATE t_order_location SET T_OrderLocationIsActive = 'X' WHERE T_OrderLocationT_OrderHeaderID = ? AND T_OrderLocationIsActive = 'Y'";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID']
|
||||
));
|
||||
|
||||
foreach ($order_locations as $k => $v) {
|
||||
$exist_order_location = [];
|
||||
$sql = " SELECT *
|
||||
FROM t_order_location
|
||||
WHERE
|
||||
T_OrderLocationT_OrderHeaderID = ? AND
|
||||
T_OrderLocationT_SampleStationID= ? AND
|
||||
T_OrderLocationM_LocationID = ? AND
|
||||
T_OrderLocationIsActive = 'X' LIMIT 1";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID'],
|
||||
$v['T_SampleStationID'],
|
||||
$v['M_LocationID']
|
||||
));
|
||||
$dt_exist_order_location = $query->result_array();
|
||||
if(count($dt_exist_order_location) > 0){
|
||||
$exist_order_location = $dt_exist_order_location[0];
|
||||
$sql = "UPDATE t_order_location SET T_OrderLocationIsActive = 'Y' WHERE T_OrderLocationID = ? ";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$exist_order_location['T_OrderLocationID']
|
||||
));
|
||||
}else{
|
||||
$sql = "INSERT INTO t_order_location (
|
||||
T_OrderLocationT_OrderHeaderID,
|
||||
T_OrderLocationM_LocationID,
|
||||
T_OrderLocationT_SampleStationID,
|
||||
T_OrderLocationCreated,
|
||||
T_OrderLocationUserID
|
||||
)
|
||||
VALUES(?,?,?,NOW(),?)";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID'],
|
||||
$v['M_LocationID'],
|
||||
$v['T_SampleStationID'],
|
||||
$userid
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
$sql = "UPDATE t_order_location SET T_OrderLocationIsActive = 'N', T_OrderLocationUserID = ? WHERE T_OrderLocationT_OrderHeaderID = ? AND T_OrderLocationIsActive = 'X'";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$userid,
|
||||
$order['T_OrderHeaderID']
|
||||
));
|
||||
}
|
||||
|
||||
$sql = "SELECT T_OrderHeaderLabNumber, T_TestID, T_SampleTypeID , T_SampleTypeSuffix, T_SampleStationIsNonLab, T_SampleStationID
|
||||
FROM t_orderheader
|
||||
JOIN t_orderdetail ON t_orderheaderid = t_orderdetailt_orderheaderid AND t_orderdetailIsActive = 'Y'
|
||||
JOIN t_test ON t_orderdetailt_testid = t_testid AND T_TestIsResult = 'Y'
|
||||
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID AND Group_resultDetailIsActive = 'Y'
|
||||
JOIN group_result ON Group_ResultDetailGroup_ResultID = Group_ResultID AND Group_ResultFlagNonLab= 'N'
|
||||
JOIN t_sampletype ON T_TestT_SampleTypeID = T_SampleTypeID
|
||||
JOIN t_bahan ON T_SampleTypeT_BahanID = T_BahanID
|
||||
JOIN t_samplestation ON T_BahanT_SampleStationID = T_SampleStationID
|
||||
WHERE T_OrderHeaderID = ?
|
||||
GROUP BY T_SampleTypeID";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID']
|
||||
));
|
||||
|
||||
$order_samples = $query->result_array();
|
||||
if($order_samples){
|
||||
$sql = "UPDATE t_ordersample SET T_OrderSampleIsActive = 'X'
|
||||
WHERE
|
||||
T_OrderSampleT_OrderHeaderID = ? AND T_OrderSampleIsActive = 'Y'";
|
||||
$this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID']
|
||||
));
|
||||
|
||||
foreach ($order_samples as $sample) {
|
||||
$exist_sample = [];
|
||||
$sql = "SELECT *
|
||||
FROM t_ordersample
|
||||
WHERE
|
||||
T_OrderSampleT_OrderHeaderID = ? AND
|
||||
T_OrderSampleT_SampleTypeID = ? AND
|
||||
T_OrderSampleIsActive = 'X'";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID'],
|
||||
$sample['T_SampleTypeID']
|
||||
));
|
||||
//echo $this->db_onedev->last_query();
|
||||
$dt_exist_sample = $query->result_array();
|
||||
if(count($dt_exist_sample) > 0){
|
||||
$exist_sample = $dt_exist_sample[0];
|
||||
$sql = "UPDATE t_ordersample SET T_OrderSampleIsActive = 'Y' WHERE T_OrderSampleID = ?";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$exist_sample['T_OrderSampleID']
|
||||
));
|
||||
//echo $this->db_onedev->last_query();
|
||||
}else{
|
||||
$barcode = $labnumber . $sample['T_SampleTypeSuffix']."1";
|
||||
|
||||
$sql = "INSERT INTO t_barcodelab(
|
||||
T_BarcodeLabT_OrderHeaderID,
|
||||
T_BarcodeLabBarcode,
|
||||
T_BarcodeLabT_SampleTypeID,
|
||||
T_BarcodeLabCounter,
|
||||
T_BarcodeLabCreated,
|
||||
T_BarcodeLabCreatedUserID)
|
||||
VALUES (?,?,?,?,NOW(),?)";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID'],
|
||||
$barcode,
|
||||
$sample['T_SampleTypeID'],
|
||||
"1",
|
||||
$userid
|
||||
));
|
||||
|
||||
$last_id_barcode = $this->db_onedev->insert_id();
|
||||
|
||||
$sql = "INSERT INTO t_ordersample(
|
||||
T_OrderSampleT_OrderHeaderID,
|
||||
T_OrderSampleT_SampleTypeID,
|
||||
T_OrderSampleT_BarcodeLabID,
|
||||
T_OrderSampleBarcode,
|
||||
T_OrderSampleT_SampleStationID,
|
||||
T_OrderSampleCreated,
|
||||
T_OrderSampleCreatedUserID)
|
||||
VALUES(
|
||||
?,?,?,?,?,NOW(),?
|
||||
)";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID'],
|
||||
$sample['T_SampleTypeID'],
|
||||
$last_id_barcode,
|
||||
$barcode,
|
||||
$sample['T_SampleStationID'],
|
||||
$userid
|
||||
));
|
||||
//echo $this->db_onedev->last_query();
|
||||
}
|
||||
}
|
||||
|
||||
$sql = "UPDATE t_ordersample SET T_OrderSampleIsActive = 'N'
|
||||
WHERE
|
||||
T_OrderSampleT_OrderHeaderID = ? AND T_OrderSampleIsActive = 'X'";
|
||||
$this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID']
|
||||
));
|
||||
}
|
||||
|
||||
$sql = "SELECT *
|
||||
FROM t_orderdetail
|
||||
JOIN t_test ON T_OrderDetailT_TestID = T_TestID
|
||||
JOIN nonlab_template_mapping ON NonlabTemplateMappingNat_TestID = T_TestNat_TestID AND NonlabTemplateMappingIsActive = 'Y'
|
||||
JOIN nonlab_template ON NonlabTemplateMappingNonlabTemplateID = NonlabTemplateID AND NonlabTemplateIsActive = 'Y'
|
||||
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
||||
JOIN group_result ON Group_ResultDetailGroup_ResultID = Group_ResultID AND Group_ResultFlagNonLab = 'Y'
|
||||
WHERE
|
||||
T_OrderDetailT_OrderHeaderID = {$order['T_OrderHeaderID']} AND T_OrderDetailIsActive = 'Y'
|
||||
GROUP BY T_TestID";
|
||||
// echo $sql;
|
||||
$query = $this->db_onedev->query($sql);
|
||||
|
||||
$order_nonlab = $query->result_array();
|
||||
if(count($order_nonlab) > 0){
|
||||
$sql = "UPDATE so_resultentry SET So_ResultEntryIsActive = 'X'
|
||||
WHERE
|
||||
So_ResultEntryT_OrderHeaderID = ? AND So_ResultEntryIsActive = 'Y'";
|
||||
$this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID']
|
||||
));
|
||||
|
||||
foreach ($order_nonlab as $nonlab) {
|
||||
$exist_so = [];
|
||||
$sql = "SELECT *
|
||||
FROM so_resultentry
|
||||
WHERE
|
||||
So_ResultEntryT_OrderHeaderID = ? AND
|
||||
So_ResultEntryT_OrderDetailID = ? AND
|
||||
So_ResultEntryIsActive = 'X'";
|
||||
$query = $this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID'],
|
||||
$nonlab['T_OrderDetailID']
|
||||
));
|
||||
|
||||
$dt_exist_so = $query->result_array();
|
||||
if(count($dt_exist_so) > 0){
|
||||
$exist_so = $dt_exist_so[0];
|
||||
$sql = "UPDATE so_resultentry SET So_ResultEntryIsActive = 'Y'
|
||||
WHERE
|
||||
So_ResultEntryID = ? AND So_ResultEntryIsActive = 'X'";
|
||||
$this->db_onedev->query($sql,array(
|
||||
$exist_so['So_ResultEntryID']
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
$sql = "UPDATE so_resultentry SET So_ResultEntryIsActive = 'N'
|
||||
WHERE
|
||||
So_ResultEntryT_OrderHeaderID = ? AND So_ResultEntryIsActive = 'X'";
|
||||
$this->db_onedev->query($sql,array(
|
||||
$order['T_OrderHeaderID']
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
$results = ["status" => true, "msg" => "Ganti Paket Berhasil"];
|
||||
|
||||
|
||||
}else{
|
||||
$results = ["status" => false, "msg" => "Gagal ganti paket, kode paket tidak ditemukan"];
|
||||
}
|
||||
|
||||
$this->db_onedev->trans_commit();
|
||||
|
||||
}
|
||||
|
||||
echo json_encode($results);
|
||||
}
|
||||
}
|
||||
4203
application/controllers/v1/su/Test.php-151125
Normal file
4203
application/controllers/v1/su/Test.php-151125
Normal file
File diff suppressed because it is too large
Load Diff
3134
application/controllers/v1/su/Test.php-220425
Normal file
3134
application/controllers/v1/su/Test.php-220425
Normal file
File diff suppressed because it is too large
Load Diff
1556
application/controllers/v1/su/Test_050225.php
Normal file
1556
application/controllers/v1/su/Test_050225.php
Normal file
File diff suppressed because it is too large
Load Diff
22
application/controllers/v1/su/Updateallbranch.php
Normal file
22
application/controllers/v1/su/Updateallbranch.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
$servername = "192.168.250.201";
|
||||
$username = "root";
|
||||
$password = "pramita102938";
|
||||
|
||||
// Create connection
|
||||
$conn = new mysqli($servername, $username, $password);
|
||||
$db = mysql_select_db("one");
|
||||
|
||||
// Check connection
|
||||
if ($conn->connect_error) {
|
||||
die("Connection failed: " . $conn->connect_error);
|
||||
}
|
||||
else{
|
||||
echo "Connected successfully";
|
||||
$sql = "SELECT * FROM m_menu";
|
||||
$result=mysql_query($sql,$conn);
|
||||
$row = mysql_fetch_row($result);
|
||||
print_r($row);
|
||||
}
|
||||
|
||||
?>
|
||||
70
application/controllers/v1/su/Updatequery.php
Normal file
70
application/controllers/v1/su/Updatequery.php
Normal file
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
class Updatequery extends MY_Controller
|
||||
{
|
||||
|
||||
function donow(){
|
||||
$array_db = array(
|
||||
'riau',
|
||||
'pajajaran',
|
||||
'toha',
|
||||
'cimahi',
|
||||
'ngagel',
|
||||
'aditya',
|
||||
'jemur',
|
||||
'mulyo',
|
||||
'parkus',
|
||||
'hrm',
|
||||
'cikditiro',
|
||||
'sultan_agung',
|
||||
'matraman',
|
||||
'bonjer',
|
||||
'samanhudi',
|
||||
'ragunan',
|
||||
'cirebon',
|
||||
'veteran',
|
||||
'dahlan',
|
||||
'plaju',
|
||||
'diponegoro',
|
||||
'yamin',
|
||||
'padang',
|
||||
'tegal',
|
||||
'manado',
|
||||
'pontianak',
|
||||
'sudirman',
|
||||
'magelang',
|
||||
'salatiga',
|
||||
'semarang',
|
||||
'balikpapan',
|
||||
'madiun',
|
||||
'makasar',
|
||||
'denpasar',
|
||||
'tasik',
|
||||
'dupang',
|
||||
'wonokusumo',
|
||||
'tangkuban_perahu',
|
||||
'ciliwung',
|
||||
'kediri',
|
||||
'jember' );
|
||||
foreach($array_db as $k => $v){
|
||||
$this->dbx = $this->load->database($v, true);
|
||||
|
||||
/*$sql = "UPDATE s_menu SET S_MenuUrl = 'test/vuex/one-fo-verification-v9/'
|
||||
WHERE
|
||||
`S_MenuUrl` LIKE '%test/vuex/one-fo-verification%'";*/
|
||||
$query = $this->dbx->query($sql);
|
||||
|
||||
if ($query) {
|
||||
//$rows = $query->row()->xcount;
|
||||
echo $v."-OK ";
|
||||
}
|
||||
else{
|
||||
echo $v."-ERROR ";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
68
application/controllers/v1/su/Updatequery_fitri.php
Normal file
68
application/controllers/v1/su/Updatequery_fitri.php
Normal file
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
class Updatequery_fitri extends MY_Controller
|
||||
{
|
||||
|
||||
function donow(){
|
||||
$array_db = array('riau',
|
||||
'pajajaran',
|
||||
'toha',
|
||||
'cimahi',
|
||||
'ngagel',
|
||||
'aditya',
|
||||
'jemur',
|
||||
'mulyo',
|
||||
'parkus',
|
||||
'hrm',
|
||||
'cikditiro',
|
||||
'sultan_agung',
|
||||
'matraman',
|
||||
'bonjer',
|
||||
'samanhudi',
|
||||
'ragunan',
|
||||
'cirebon',
|
||||
'veteran',
|
||||
'dahlan',
|
||||
'plaju',
|
||||
'diponegoro',
|
||||
'yamin',
|
||||
'padang',
|
||||
'tegal',
|
||||
'manado',
|
||||
'pontianak',
|
||||
'sudirman',
|
||||
'magelang',
|
||||
'salatiga',
|
||||
'semarang',
|
||||
'balikpapan',
|
||||
'madiun',
|
||||
'makasar',
|
||||
'denpasar',
|
||||
'tasik',
|
||||
'dupang',
|
||||
'wonokusumo',
|
||||
'tangkuban_perahu',
|
||||
'ciliwung',
|
||||
'kediri',
|
||||
'jember' );
|
||||
foreach($array_db as $k => $v){
|
||||
$this->dbx = $this->load->database($v, true);
|
||||
|
||||
$sql = "INSERT INTO `s_menu` (`S_MenuName`, `S_MenuUrl`, `S_MenuIcon`, `S_MenuParentS_MenuID`, `S_MenuLevel`, `S_MenuIsParent`, `S_MenuOrder`, `S_MenuIsActive`, `S_MenuCreated`, `S_MenuLastUpdated`)
|
||||
VALUES ('Bank', 'test/vuex/one-md-bank/', NULL, '68', '2', 'N', '40', 'Y', now(), now());";
|
||||
$query = $this->dbx->query($sql);
|
||||
|
||||
if ($query) {
|
||||
//$rows = $query->row()->xcount;
|
||||
echo $v."-OK ";
|
||||
}
|
||||
else{
|
||||
echo $v."-ERROR ";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
76
application/controllers/v1/su/Updatequeryregional.php
Normal file
76
application/controllers/v1/su/Updatequeryregional.php
Normal file
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
|
||||
class Updatequeryregional extends MY_Controller
|
||||
{
|
||||
|
||||
function donow(){
|
||||
$array_db = array(
|
||||
'reg_bandung',
|
||||
'reg_tegal',
|
||||
'reg_manado',
|
||||
'reg_pontianak',
|
||||
'reg_surabaya',
|
||||
'reg_yogya',
|
||||
'reg_jakarta',
|
||||
'reg_cirebon',
|
||||
'reg_palembang',
|
||||
'reg_medan',
|
||||
'reg_padang',
|
||||
'reg_pekanbaru',
|
||||
'reg_magelang',
|
||||
'reg_salatiga',
|
||||
'reg_semarang',
|
||||
'reg_balikpapan',
|
||||
'reg_madiun',
|
||||
'reg_makasar',
|
||||
'reg_denpasar',
|
||||
'reg_tasik',
|
||||
'reg_prospek',
|
||||
'reg_sima_malang',
|
||||
'reg_sima_kediri',
|
||||
'reg_sima_jember'
|
||||
);
|
||||
foreach($array_db as $k => $v){
|
||||
$this->dbx = $this->load->database($v, true);
|
||||
|
||||
/*$sql = "UPDATE s_menu SET S_MenuUrl = 'test/vuex/one-sample-storage-destroy-v2/'
|
||||
WHERE
|
||||
`S_MenuName` = 'TPS'";yamin error*/
|
||||
//begin update preparasi sperma sbmnya, re = 18, rever = 16, reval = 16
|
||||
/*$sql = "UPDATE s_menu SET S_MenuUrl = 'test/vuex/one-process-resultentry-v19/'
|
||||
WHERE
|
||||
`S_MenuName` = 'Result Entry'";
|
||||
$query = $this->dbx->query($sql);*/
|
||||
/*$sql = "UPDATE s_menu SET S_MenuUrl = 'test/vuex/one-process-resultverification-v20/'
|
||||
WHERE
|
||||
`S_MenuName` = 'Result Verification'";
|
||||
$query = $this->dbx->query($sql);
|
||||
$sql = "UPDATE s_menu SET S_MenuUrl = 'test/vuex/one-process-resultvalidation-v18/'
|
||||
WHERE
|
||||
`S_MenuName` = 'Result Validation'";
|
||||
$query = $this->dbx->query($sql);*/
|
||||
//end update preparasi sperma
|
||||
/*$sql = "ALTER TABLE `t_samplestoragedestroy`
|
||||
CHANGE `T_SampleStorageDestroySampleWeight` `T_SampleStorageDestroySampleWeight` float(11,2)
|
||||
NOT NULL AFTER `T_SampleStorageDestroyFlagEmpty`";*/
|
||||
/*$sql = "ALTER TABLE `t_samplestoragedestroy_detailnonsample`
|
||||
CHANGE `T_SampleStorageDestroyDetailNonSampleWeight` `T_SampleStorageDestroyDetailNonSampleWeight` float(11,2)
|
||||
NOT NULL AFTER `T_SampleStorageDestroyDetailNonSampleT_SampleStorageDestroyID`";*/
|
||||
/*$sql = " UPDATE `lcprep_interpretasi` SET `Lcprep_InterpretasiCode` = '4203' WHERE `Lcprep_InterpretasiID` = '18';
|
||||
UPDATE `lcprep_interpretasi` SET `Lcprep_InterpretasiCode` = '4202' WHERE `Lcprep_InterpretasiID` = '39';*/
|
||||
|
||||
$query = $this->dbx->query($sql);
|
||||
if ($query) {
|
||||
//$rows = $query->row()->xcount;
|
||||
echo $v."-OK ";
|
||||
}
|
||||
else{
|
||||
echo $v."-ERROR ";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
25
application/controllers/v1/su/Xno-bkp.php
Normal file
25
application/controllers/v1/su/Xno-bkp.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
class Xno extends CI_Controller
|
||||
{
|
||||
function index() {
|
||||
echo "API";
|
||||
}
|
||||
function show($noreg) {
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
$get_digit = substr($noreg,3,5);
|
||||
$pre = substr($noreg,0,3);
|
||||
$post = substr($noreg,-2);
|
||||
if (is_numeric($get_digit)) return $noreg;
|
||||
$sql = "select numberMapOrigin from number_map where numberMapTarget = ?";
|
||||
$qry = $this->db_onedev->query($sql, array($get_digit));
|
||||
if ($qry) {
|
||||
$rows = $qry->result_array();
|
||||
if (count($rows) > 0 ) {
|
||||
$new_digit = $rows[0]["numberMapOrigin"];
|
||||
echo $pre . $new_digit . $post;
|
||||
exit;
|
||||
}
|
||||
}
|
||||
echo $noreg;
|
||||
}
|
||||
}
|
||||
38
application/controllers/v1/su/Xno-new.php
Normal file
38
application/controllers/v1/su/Xno-new.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
class Xno extends CI_Controller
|
||||
{
|
||||
function index() {
|
||||
echo "API";
|
||||
}
|
||||
function show($noreg) {
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
//000 00014 DA
|
||||
$flag_convert = false;
|
||||
$get_digit = $noreg;
|
||||
if ( strlen($noreg) == 10 ) {
|
||||
$get_digit = substr($noreg,3,5);
|
||||
$pre = substr($noreg,0,3);
|
||||
$post = substr($noreg,-2);
|
||||
$flag_convert = true ;
|
||||
}
|
||||
if ( strlen($noreg) == 7 ) {
|
||||
$get_digit = substr($noreg,0,5);
|
||||
$post = substr($noreg,-2);
|
||||
$pre = "";
|
||||
$flag_convert = true ;
|
||||
}
|
||||
if (is_numeric($get_digit)) return $noreg;
|
||||
|
||||
$sql = "select numberMapOrigin from number_map where numberMapTarget = ?";
|
||||
$qry = $this->db_onedev->query($sql, array($get_digit));
|
||||
if ($qry) {
|
||||
$rows = $qry->result_array();
|
||||
if (count($rows) > 0 ) {
|
||||
$new_digit = $rows[0]["numberMapOrigin"];
|
||||
echo $pre . $new_digit . $post;
|
||||
exit;
|
||||
}
|
||||
}
|
||||
echo $noreg;
|
||||
}
|
||||
}
|
||||
38
application/controllers/v1/su/Xno.php
Normal file
38
application/controllers/v1/su/Xno.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
class Xno extends CI_Controller
|
||||
{
|
||||
function index() {
|
||||
echo "API";
|
||||
}
|
||||
function show($noreg) {
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
//000 00014 DA
|
||||
$flag_convert = false;
|
||||
$get_digit = $noreg;
|
||||
if ( strlen($noreg) == 10 ) {
|
||||
$get_digit = substr($noreg,3,5);
|
||||
$pre = substr($noreg,0,3);
|
||||
$post = substr($noreg,-2);
|
||||
$flag_convert = true ;
|
||||
}
|
||||
if ( strlen($noreg) == 7 ) {
|
||||
$get_digit = substr($noreg,0,5);
|
||||
$post = substr($noreg,-2);
|
||||
$pre = "";
|
||||
$flag_convert = true ;
|
||||
}
|
||||
if (is_numeric($get_digit)) return $noreg;
|
||||
|
||||
$sql = "select numberMapOrigin from number_map where numberMapTarget = ?";
|
||||
$qry = $this->db_onedev->query($sql, array($get_digit));
|
||||
if ($qry) {
|
||||
$rows = $qry->result_array();
|
||||
if (count($rows) > 0 ) {
|
||||
$new_digit = $rows[0]["numberMapOrigin"];
|
||||
echo $pre . $new_digit . $post;
|
||||
exit;
|
||||
}
|
||||
}
|
||||
echo $noreg;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user