fix generate qr report di lab
This commit is contained in:
@@ -124,11 +124,20 @@ EOF;
|
||||
}
|
||||
public function v3($orderHeaderID)
|
||||
{
|
||||
$sql = "SELECT QR_PrintOutReportURL
|
||||
FROM qr_printout
|
||||
WHERE QR_PrintOutT_OrderHeaderID = ?
|
||||
AND QR_PrintOutIsActive = 1
|
||||
ORDER BY QR_PrintOutID DESC
|
||||
$sql = "SELECT IFNULL(qp.QR_PrintOutVerifyURL, '') AS verify_url
|
||||
FROM one_lab.qr_printout qp
|
||||
JOIN one_lab.t_orderheader_group_result r
|
||||
ON r.T_OrderHeaderGroupResultT_OrderHeaderID = qp.QR_PrintOutT_OrderHeaderID
|
||||
AND r.T_OrderHeaderGroupResultGroup_ResultID = qp.QR_PrintOutGroup_ResultID
|
||||
AND r.T_OrderHeaderGroupResultT_TestID = qp.QR_PrintOutT_TestID
|
||||
JOIN one_lab.t_orderheader_group_result_details d
|
||||
ON d.T_OrderHeaderGroupResultDetailsT_OrderHeaderGroupResultID = r.T_OrderHeaderGroupResultID
|
||||
WHERE d.T_OrderHeaderGroupResultDetailsT_OrderHeaderID = ?
|
||||
AND d.T_OrderHeaderGroupResultDetailsIsActive = 'Y'
|
||||
AND r.T_OrderHeaderGroupResultIsActive = 'Y'
|
||||
AND qp.QR_PrintOutIsActive = 1
|
||||
AND IFNULL(qp.QR_PrintOutVerifyURL, '') <> ''
|
||||
ORDER BY qp.QR_PrintOutID DESC
|
||||
LIMIT 1";
|
||||
$rs = $this->get_one_row($sql, array($orderHeaderID));
|
||||
if ($rs["status"] == -1) {
|
||||
@@ -140,8 +149,8 @@ EOF;
|
||||
exit;
|
||||
}
|
||||
|
||||
$reportUrl = $rs["data"]["QR_PrintOutReportURL"];
|
||||
$img_qrcode = $this->post("http://localhost/charts/qrtext.php", $reportUrl);
|
||||
$verifyUrl = $rs["data"]["verify_url"];
|
||||
$img_qrcode = $this->post("http://localhost/charts/qrtext.php", $verifyUrl);
|
||||
header("Content-type: image/png");
|
||||
echo $img_qrcode;
|
||||
exit;
|
||||
@@ -149,7 +158,7 @@ EOF;
|
||||
public function v3_nonlab($resultEntryID)
|
||||
{
|
||||
$sql = " SELECT
|
||||
qp.QR_PrintOutReportURL
|
||||
IFNULL(qp.QR_PrintOutVerifyURL, '') AS verify_url
|
||||
FROM one_lab.so_resultentry se
|
||||
JOIN one_lab.t_orderheader oh
|
||||
ON oh.T_OrderHeaderID = se.SO_ResultEntryT_OrderHeaderID
|
||||
@@ -170,8 +179,8 @@ EOF;
|
||||
exit;
|
||||
}
|
||||
|
||||
$reportUrl = $rs["data"]["QR_PrintOutReportURL"];
|
||||
$img_qrcode = $this->post("http://localhost/charts/qrtext.php", $reportUrl);
|
||||
$verifyUrl = $rs["data"]["verify_url"];
|
||||
$img_qrcode = $this->post("http://localhost/charts/qrtext.php", $verifyUrl);
|
||||
header("Content-type: image/png");
|
||||
echo $img_qrcode;
|
||||
exit;
|
||||
|
||||
@@ -99,17 +99,17 @@ class Rv_patient extends MY_Controller
|
||||
);
|
||||
exit;
|
||||
}
|
||||
$sql = "INSERT INTO mcu_resume_results(
|
||||
Mcu_ResumeResultsType,
|
||||
Mcu_ResumeResultsT_OrderHeaderID,
|
||||
Mcu_ResumeResultsGroupResultID,
|
||||
Mcu_ResumeResultsT_TestID,
|
||||
Mcu_ResumeResultsName,
|
||||
Mcu_ResumeResultsJSON,
|
||||
Mcu_ResumeResultsCreated,
|
||||
Mcu_ResumeResultsUserID)
|
||||
VALUES('KHUSUS',?,?,?,?,?,NOW(),?)";
|
||||
$qry = $this->db_smartone->query($sql, array($order_id, $groupResultID, 0, $groupResultName, $j_data_result_lab, $userID));
|
||||
$sql = "INSERT INTO mcu_resume_results(
|
||||
Mcu_ResumeResultsType,
|
||||
Mcu_ResumeResultsT_OrderHeaderID,
|
||||
Mcu_ResumeResultsGroupResultID,
|
||||
Mcu_ResumeResultsT_TestID,
|
||||
Mcu_ResumeResultsName,
|
||||
Mcu_ResumeResultsJSON,
|
||||
Mcu_ResumeResultsCreated,
|
||||
Mcu_ResumeResultsUserID)
|
||||
VALUES('KHUSUS',?,?,?,?,?,NOW(),?)";
|
||||
$qry = $this->db_smartone->query($sql, array($order_id, $groupResultID, 0, $groupResultName, $j_data_result_lab, $userID));
|
||||
if (!$qry) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR", "message" => "Error: insert mcu results")
|
||||
@@ -183,7 +183,8 @@ class Rv_patient extends MY_Controller
|
||||
$sql_get = "SELECT T_OrderHeaderGroupResultID,
|
||||
T_OrderHeaderGroupResultGroup_ResultID,
|
||||
T_OrderHeaderGroupResultT_TestID,
|
||||
T_OrderHeaderGroupResultGroup_ResultName
|
||||
T_OrderHeaderGroupResultGroup_ResultName,
|
||||
Group_ResultName
|
||||
FROM t_orderheader_group_result
|
||||
JOIN group_result ON T_OrderHeaderGroupResultGroup_ResultID = Group_ResultID
|
||||
AND Group_ResultFlagNonLab = 'N'
|
||||
@@ -196,25 +197,12 @@ class Rv_patient extends MY_Controller
|
||||
}
|
||||
$data = $qry_get->result_array();
|
||||
|
||||
$sql_url = "SELECT Print_TransactionID,
|
||||
Print_TransactionType,
|
||||
Print_TransactionCode,
|
||||
Print_TransactionName,
|
||||
Print_TransactionUrl,
|
||||
Print_TransactionUrlWatermark,
|
||||
Print_TransactionUrlEletronic,
|
||||
Print_TransactionParams
|
||||
FROM print_transaction
|
||||
WHERE Print_TransactionCode = 'LAB-RESULT-P-01'
|
||||
LIMIT 1";
|
||||
$qry_url = $this->db_smartone->query($sql_url);
|
||||
if (!$qry_url) {
|
||||
$this->sys_error_db('error print_transaction', $this->db_smartone);
|
||||
exit;
|
||||
}
|
||||
$rst_url = $qry_url->row_array();
|
||||
$template_url = $rst_url['Print_TransactionUrlWatermark'];
|
||||
$template_url_electronic = isset($rst_url['Print_TransactionUrlEletronic']) ? $rst_url['Print_TransactionUrlEletronic'] : '';
|
||||
// mapping test kode print
|
||||
$map = [
|
||||
'LAB' => 'LAB-RESULT-P-01',
|
||||
'Papsmear' => 'PAP-P-01',
|
||||
'FNA' => 'FNA-P-01'
|
||||
];
|
||||
|
||||
$sql_branch = "SELECT M_BranchID,
|
||||
M_BranchCode,
|
||||
@@ -228,42 +216,8 @@ class Rv_patient extends MY_Controller
|
||||
$this->sys_error_db('error m_branch', $this->db_smartone);
|
||||
exit;
|
||||
}
|
||||
$branch = $qry_branch->row_array();
|
||||
$base = "http://localhost/";
|
||||
|
||||
// Tambah base_url di depan
|
||||
$full_url = $base . ltrim($template_url, '/');
|
||||
|
||||
// Ganti nama report jadi _watermark
|
||||
$full_url = str_replace(
|
||||
'rpt_test.rptdesign',
|
||||
'rpt_test_watermark.rptdesign',
|
||||
$full_url
|
||||
);
|
||||
|
||||
// Ganti parameter
|
||||
$full_url = str_replace(
|
||||
['PUsername', 'PT_OrderHeaderID', 'TS'],
|
||||
[
|
||||
trim($this->sys_user['M_UserUsername']),
|
||||
$order_id,
|
||||
time()
|
||||
],
|
||||
$full_url
|
||||
);
|
||||
$full_url_electronic = '';
|
||||
if ($template_url_electronic !== '') {
|
||||
$full_url_electronic = $base . ltrim($template_url_electronic, '/');
|
||||
$full_url_electronic = str_replace(
|
||||
['PUsername', 'PT_OrderHeaderID', 'TS'],
|
||||
[
|
||||
trim($this->sys_user['M_UserUsername']),
|
||||
$order_id,
|
||||
time()
|
||||
],
|
||||
$full_url_electronic
|
||||
);
|
||||
}
|
||||
$branch = $qry_branch->row_array();
|
||||
$base = "http://localhost/";
|
||||
|
||||
// ambil endpoint URL dari DB
|
||||
$sql_url = "SELECT QR_ReportEndpointID,
|
||||
@@ -288,6 +242,65 @@ class Rv_patient extends MY_Controller
|
||||
|
||||
foreach ($data as $key => $value) {
|
||||
|
||||
$group_result_name = $value['Group_ResultName'];
|
||||
|
||||
// kalau tidak ada di mapping skip
|
||||
if (!isset($map[$group_result_name])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$printCode = $map[$group_result_name];
|
||||
|
||||
// ambil URL print
|
||||
$sql_url = "SELECT Print_TransactionUrlWatermark, Print_TransactionUrlEletronic
|
||||
FROM print_transaction
|
||||
WHERE Print_TransactionCode = ?
|
||||
LIMIT 1";
|
||||
$qry_url = $this->db_onedev->query($sql_url, [$printCode]);
|
||||
if (!$qry_url) {
|
||||
$this->sys_error_db('error print_transaction', $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$rst_url = $qry_url->row_array();
|
||||
$template_url = $rst_url['Print_TransactionUrlWatermark'];
|
||||
$template_url_electronic = isset($rst_url['Print_TransactionUrlEletronic']) ? $rst_url['Print_TransactionUrlEletronic'] : '';
|
||||
|
||||
// Tambah base_url di depan
|
||||
$full_url = $base . ltrim($template_url, '/');
|
||||
|
||||
// ubah semua report jadi versi watermark
|
||||
$full_url = str_replace(
|
||||
'.rptdesign',
|
||||
'_watermark.rptdesign',
|
||||
$full_url
|
||||
);
|
||||
|
||||
// Ganti parameter
|
||||
$full_url = str_replace(
|
||||
['PUsername', 'PT_OrderHeaderID', 'TS'],
|
||||
[
|
||||
trim($this->sys_user['M_UserUsername']),
|
||||
$order_id,
|
||||
time()
|
||||
],
|
||||
$full_url
|
||||
);
|
||||
|
||||
$full_url_electronic = '';
|
||||
if ($template_url_electronic !== '') {
|
||||
$full_url_electronic = $base . ltrim($template_url_electronic, '/');
|
||||
$full_url_electronic = str_replace(
|
||||
['PUsername', 'PT_OrderHeaderID', 'TS'],
|
||||
[
|
||||
trim($this->sys_user['M_UserUsername']),
|
||||
$order_id,
|
||||
time()
|
||||
],
|
||||
$full_url_electronic
|
||||
);
|
||||
}
|
||||
|
||||
// cek sudah ada atau belum
|
||||
$sql_check = "SELECT QR_PrintOutID, QR_PrintOutUploadStatus
|
||||
FROM qr_printout
|
||||
@@ -308,19 +321,19 @@ class Rv_patient extends MY_Controller
|
||||
$params = [
|
||||
'orderHeaderID' => $order_id,
|
||||
'groupResultID' => $value['T_OrderHeaderGroupResultGroup_ResultID'],
|
||||
'testID' => $value['T_OrderHeaderGroupResultT_TestID'],
|
||||
'groupResultName' => $value['T_OrderHeaderGroupResultGroup_ResultName'],
|
||||
'verifyBaseURL' => $verify_url,
|
||||
'QR_PrintOutReportURL' => $full_url,
|
||||
'QR_PrintOutReportURLElectronic' => $full_url_electronic,
|
||||
'createdByUserID' => $userID
|
||||
];
|
||||
'testID' => $value['T_OrderHeaderGroupResultT_TestID'],
|
||||
'groupResultName' => $value['T_OrderHeaderGroupResultGroup_ResultName'],
|
||||
'verifyBaseURL' => $verify_url,
|
||||
'QR_PrintOutReportURL' => $full_url,
|
||||
'QR_PrintOutReportURLElectronic' => $full_url_electronic,
|
||||
'createdByUserID' => $userID
|
||||
];
|
||||
|
||||
$this->generateqrreport->saveQRPrintout($params);
|
||||
}
|
||||
}
|
||||
|
||||
echo $this->sys_ok(array("status" => "OK"));
|
||||
$this->sys_ok(array("status" => "OK"));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -369,17 +382,17 @@ class Rv_patient extends MY_Controller
|
||||
|
||||
// Insert new record
|
||||
$j_data_result = json_encode($rows_result);
|
||||
$sql = "INSERT INTO mcu_resume_results(
|
||||
Mcu_ResumeResultsType,
|
||||
Mcu_ResumeResultsT_OrderHeaderID,
|
||||
Mcu_ResumeResultsGroupResultID,
|
||||
Mcu_ResumeResultsT_TestID,
|
||||
Mcu_ResumeResultsName,
|
||||
Mcu_ResumeResultsJSON,
|
||||
Mcu_ResumeResultsCreated,
|
||||
Mcu_ResumeResultsUserID)
|
||||
VALUES('KHUSUS',?,?,?,?,?,NOW(),?)";
|
||||
$qry = $this->db_smartone->query($sql, array($order_id, $groupResultID, 0, $groupResultName, $j_data_result, $userID));
|
||||
$sql = "INSERT INTO mcu_resume_results(
|
||||
Mcu_ResumeResultsType,
|
||||
Mcu_ResumeResultsT_OrderHeaderID,
|
||||
Mcu_ResumeResultsGroupResultID,
|
||||
Mcu_ResumeResultsT_TestID,
|
||||
Mcu_ResumeResultsName,
|
||||
Mcu_ResumeResultsJSON,
|
||||
Mcu_ResumeResultsCreated,
|
||||
Mcu_ResumeResultsUserID)
|
||||
VALUES('KHUSUS',?,?,?,?,?,NOW(),?)";
|
||||
$qry = $this->db_smartone->query($sql, array($order_id, $groupResultID, 0, $groupResultName, $j_data_result, $userID));
|
||||
if (!$qry) {
|
||||
echo json_encode(
|
||||
array("status" => "ERR", "message" => "Error: insert into mcu result 2")
|
||||
|
||||
@@ -208,7 +208,7 @@ class Samplingcall extends MY_Controller
|
||||
IFNULL(M_PatientPhotoThumb,'') as M_PatientPhotoThumb,
|
||||
M_SexName as M_SexName,
|
||||
M_TitleName as M_TitleName,
|
||||
M_PatientName_enc, M_PatientDOB_enc, M_TitleName,
|
||||
M_PatientName_enc, M_PatientDOB_enc,
|
||||
M_CompanyName,
|
||||
fn_sampling_queue_status_name(T_OrderHeaderID,T_SampleStationID) as status,
|
||||
M_PatientDOB as patient_dob_raw,
|
||||
@@ -570,7 +570,7 @@ class Samplingcall extends MY_Controller
|
||||
$userid = $prm['staff']['userid'];
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
$sql = "SELECT T_OrderHeaderQueue AS queueNumber ,
|
||||
M_LocationID AS locationID,
|
||||
@@ -586,7 +586,7 @@ class Samplingcall extends MY_Controller
|
||||
$splitedLocationName = explode(" ", $locationName);
|
||||
$locationName = $splitedLocationName[0];
|
||||
|
||||
|
||||
|
||||
|
||||
if ($prm['act'] == 'call') {
|
||||
$sql = "SELECT T_SamplingQueueLastStatusID, T_SamplingQueueStatusName, T_SampleStationName, T_SampleStationID, T_SampleStationIsNonLab
|
||||
@@ -1010,18 +1010,18 @@ class Samplingcall extends MY_Controller
|
||||
$rows = $this->db_onedev->query($query);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if ($status_call['status'] == 'NOTCALL') {
|
||||
$rst_data = $status_call;
|
||||
}
|
||||
|
||||
if ($prm['act'] == 'skip' || $status_call['status'] == 'NOTCALL') {
|
||||
$skip_time = date('Y-m-d H:i:s', strtotime($prm['skiptime'])+10);
|
||||
$skip_time = date('Y-m-d H:i:s', strtotime($prm['skiptime']) + 10);
|
||||
$sql = "UPDATE antrian_samplestation SET AntrianSampleStationIsActive = 'N'
|
||||
WHERE
|
||||
AntrianSampleStationT_OrderLocationID = ?";
|
||||
$query = $this->db_onedev->query($sql,array($prm['orderlocationid']));
|
||||
$query = $this->db_onedev->query($sql, array($prm['orderlocationid']));
|
||||
/* start dipaggil 3 kali skpi ururtan jd ke bawah */
|
||||
/*$sql = "SELECT COUNT(*) as x_count
|
||||
FROM antrian_samplestation
|
||||
@@ -1045,8 +1045,7 @@ class Samplingcall extends MY_Controller
|
||||
VALUES(
|
||||
?,?,?,NOW()
|
||||
)";
|
||||
$query = $this->db_onedev->query($sql,array($prm['orderlocationid'],$skip_time,$userid));
|
||||
|
||||
$query = $this->db_onedev->query($sql, array($prm['orderlocationid'], $skip_time, $userid));
|
||||
}
|
||||
|
||||
if (intval($next_status) == 1) {
|
||||
|
||||
Reference in New Issue
Block a user