Fix QR and MCU per-test

This commit is contained in:
sas.fajri
2026-04-23 15:46:57 +07:00
parent aea39e343c
commit b88eb4abdb
5 changed files with 137 additions and 107 deletions

View File

@@ -99,16 +99,17 @@ class Rv_patient extends MY_Controller
);
exit;
}
$sql = "INSERT INTO mcu_resume_results(
Mcu_ResumeResultsType,
Mcu_ResumeResultsT_OrderHeaderID,
Mcu_ResumeResultsGroupResultID,
Mcu_ResumeResultsName,
Mcu_ResumeResultsJSON,
Mcu_ResumeResultsCreated,
Mcu_ResumeResultsUserID)
VALUES('KHUSUS',?,?,?,?,NOW(),?)";
$qry = $this->db_smartone->query($sql, array($order_id, $groupResultID, $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")
@@ -352,16 +353,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_ResumeResultsName,
Mcu_ResumeResultsJSON,
Mcu_ResumeResultsCreated,
Mcu_ResumeResultsUserID)
VALUES('KHUSUS',?,?,?,?,NOW(),?)";
$qry = $this->db_smartone->query($sql, array($order_id, $groupResultID, $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")

View File

@@ -1554,43 +1554,49 @@ class Resultentry extends MY_Controller
$act = "UPDATE_ACT";
if ($prm['act'] === 'val1') {
$act = "VALIDATION";
$sql = "SELECT so_resultentrydetail.*, IF(NonlabTemplateMcuID IS NULL,'N','Y') as is_kesimpulan, T_TestID, T_TestName, So_ResultEntryT_OrderHeaderID
FROM so_resultentrydetail
JOIN so_resultentry ON So_ResultEntryDetailSo_ResultEntryID = So_ResultEntryID AND So_ResultEntryIsActive = 'Y'
JOIN t_orderdetail ON So_ResultEntryT_OrderDetailID = T_OrderDetailID AND T_OrderDetailIsActive = 'Y'
JOIN t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
LEFT JOIN nonlab_template_mcu ON NonlabTemplateMcuNat_TestID = T_TestNat_TestID AND NonlabTemplateMcuIsActive = 'Y' AND
NonlabTemplateMcuNonlabTemplateDetailID = So_ResultEntryDetailNonlab_TemplateDetailID
WHERE
$sql = "SELECT so_resultentrydetail.*, IF(NonlabTemplateMcuID IS NULL,'N','Y') as is_kesimpulan, T_TestID, T_TestName, So_ResultEntryT_OrderHeaderID, Group_ResultID
FROM so_resultentrydetail
JOIN so_resultentry ON So_ResultEntryDetailSo_ResultEntryID = So_ResultEntryID AND So_ResultEntryIsActive = 'Y'
JOIN t_orderdetail ON So_ResultEntryT_OrderDetailID = T_OrderDetailID AND T_OrderDetailIsActive = 'Y'
JOIN t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = '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_ResultIsActive = 'Y'
LEFT JOIN nonlab_template_mcu ON NonlabTemplateMcuNat_TestID = T_TestNat_TestID AND NonlabTemplateMcuIsActive = 'Y' AND
NonlabTemplateMcuNonlabTemplateDetailID = So_ResultEntryDetailNonlab_TemplateDetailID
WHERE
So_ResultEntryDetailSo_ResultEntryID = {$last_id} AND
So_ResultEntryDetailIsActive = 'Y'";
$qry = $this->db_onedev->query($sql);
$data_result_details = $qry->result_array();
if (count($data_result_details) > 0) {
$test_id = $data_result_details[0]['T_TestID'];
$test_name = $data_result_details[0]['T_TestName'];
$order_id = $data_result_details[0]['So_ResultEntryT_OrderHeaderID'];
$data_result_details = json_encode($data_result_details);
$sql = "UPDATE mcu_resume_results SET Mcu_ResumeResultsIsActive = 'N'
WHERE Mcu_ResumeResultsT_OrderHeaderID = ? AND
Mcu_ResumeResultsT_TestID = ? AND
Mcu_ResumeResultsIsActive = 'Y'";
$qry = $this->db_onedev->query($sql, array($order_id, $test_id));
if (count($data_result_details) > 0) {
$group_result_id = $data_result_details[0]['Group_ResultID'];
$test_id = $data_result_details[0]['T_TestID'];
$test_name = $data_result_details[0]['T_TestName'];
$order_id = $data_result_details[0]['So_ResultEntryT_OrderHeaderID'];
$data_result_details = json_encode($data_result_details);
$sql = "UPDATE mcu_resume_results SET Mcu_ResumeResultsIsActive = 'N'
WHERE Mcu_ResumeResultsT_OrderHeaderID = ? AND
Mcu_ResumeResultsGroupResultID = ? AND
Mcu_ResumeResultsT_TestID = ? AND
Mcu_ResumeResultsIsActive = 'Y'";
$qry = $this->db_onedev->query($sql, array($order_id, $group_result_id, $test_id));
if (!$qry) {
echo json_encode(
array("status" => "ERR", "message" => "Error: " . $this->db_onedev->error())
);
exit;
}
$sql = "INSERT INTO mcu_resume_results(
Mcu_ResumeResultsT_OrderHeaderID,
Mcu_ResumeResultsT_TestID,
Mcu_ResumeResultsName,
Mcu_ResumeResultsJSON,
Mcu_ResumeResultsCreated,
Mcu_ResumeResultsUserID)
VALUES(?,?,?,?,NOW(),?)";
$qry = $this->db_onedev->query($sql, array($order_id, $test_id, $test_name, $data_result_details, $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_onedev->query($sql, array($order_id, $group_result_id, $test_id, $test_name, $data_result_details, $userid));
if (!$qry) {
echo json_encode(
array("status" => "ERR", "message" => "Error: " . $this->db_onedev->error())

File diff suppressed because one or more lines are too long

View File

@@ -952,29 +952,33 @@ class Resultentry extends MY_Controller
if ($prm['act'] == 'val1') {
$status_verif = 'Y';
$act = "VALIDATION";
$sql = "SELECT so_resultentrydetail.*, IF(NonlabTemplateMcuID IS NULL,'N','Y') as is_kesimpulan, T_TestID, T_TestName, So_ResultEntryT_OrderHeaderID
FROM so_resultentrydetail
JOIN so_resultentry ON So_ResultEntryDetailSo_ResultEntryID = So_ResultEntryID AND So_ResultEntryIsActive = 'Y'
JOIN t_orderdetail ON So_ResultEntryT_OrderDetailID = T_OrderDetailID AND T_OrderDetailIsActive = 'Y'
JOIN t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
LEFT JOIN nonlab_template_mcu ON NonlabTemplateMcuNat_TestID = T_TestNat_TestID AND NonlabTemplateMcuIsActive = 'Y' AND
NonlabTemplateMcuNonlabTemplateDetailID = So_ResultEntryDetailNonlab_TemplateDetailID
WHERE
$sql = "SELECT so_resultentrydetail.*, IF(NonlabTemplateMcuID IS NULL,'N','Y') as is_kesimpulan, T_TestID, T_TestName, So_ResultEntryT_OrderHeaderID, Group_ResultID
FROM so_resultentrydetail
JOIN so_resultentry ON So_ResultEntryDetailSo_ResultEntryID = So_ResultEntryID AND So_ResultEntryIsActive = 'Y'
JOIN t_orderdetail ON So_ResultEntryT_OrderDetailID = T_OrderDetailID AND T_OrderDetailIsActive = 'Y'
JOIN t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = '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_ResultIsActive = 'Y'
LEFT JOIN nonlab_template_mcu ON NonlabTemplateMcuNat_TestID = T_TestNat_TestID AND NonlabTemplateMcuIsActive = 'Y' AND
NonlabTemplateMcuNonlabTemplateDetailID = So_ResultEntryDetailNonlab_TemplateDetailID
WHERE
So_ResultEntryDetailSo_ResultEntryID = {$last_id} AND
So_ResultEntryDetailIsActive = 'Y'";
$qry = $this->db_onedev->query($sql);
$data_result_details = $qry->result_array();
if (count($data_result_details) > 0) {
$test_id = $data_result_details[0]['T_TestID'];
$test_name = $data_result_details[0]['T_TestName'];
$order_id = $data_result_details[0]['So_ResultEntryT_OrderHeaderID'];
$data_result_details = json_encode($data_result_details);
$sql = "UPDATE mcu_resume_results SET Mcu_ResumeResultsIsActive = 'N'
WHERE Mcu_ResumeResultsT_OrderHeaderID = {$order_id} AND
Mcu_ResumeResultsT_TestID = {$test_id} AND
Mcu_ResumeResultsIsActive = 'Y'";
$qry = $this->db_onedev->query($sql, array($order_id, $test_id));
if (count($data_result_details) > 0) {
$group_result_id = $data_result_details[0]['Group_ResultID'];
$test_id = $data_result_details[0]['T_TestID'];
$test_name = $data_result_details[0]['T_TestName'];
$order_id = $data_result_details[0]['So_ResultEntryT_OrderHeaderID'];
$data_result_details = json_encode($data_result_details);
$sql = "UPDATE mcu_resume_results SET Mcu_ResumeResultsIsActive = 'N'
WHERE Mcu_ResumeResultsT_OrderHeaderID = ? AND
Mcu_ResumeResultsGroupResultID = ? AND
Mcu_ResumeResultsT_TestID = ? AND
Mcu_ResumeResultsIsActive = 'Y'";
$qry = $this->db_onedev->query($sql, array($order_id, $group_result_id, $test_id));
//echo $this->db_onedev->last_query();
if (!$qry) {
//echo $this->db_onedev->last_query();
@@ -983,15 +987,17 @@ class Resultentry extends MY_Controller
);
exit;
}
$sql = "INSERT INTO mcu_resume_results(
Mcu_ResumeResultsT_OrderHeaderID,
Mcu_ResumeResultsT_TestID,
Mcu_ResumeResultsName,
Mcu_ResumeResultsJSON,
Mcu_ResumeResultsCreated,
Mcu_ResumeResultsUserID)
VALUES(?,?,?,?,NOW(),?)";
$qry = $this->db_onedev->query($sql, array($order_id, $test_id, $test_name, $data_result_details, $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_onedev->query($sql, array($order_id, $group_result_id, $test_id, $test_name, $data_result_details, $userid));
if (!$qry) {
//echo $this->db_onedev->last_query();
echo json_encode(

View File

@@ -230,12 +230,22 @@ class Generateqrreport
// verifyURL = URL langsung ke PDF: {base}/{uuid}.pdf
// Golang akan upload PDF ke path ini di dedicated server
$verifyURL = rtrim($params['verifyBaseURL'], '/') . '/' . str_replace('-', '', $uuid) . '.pdf';
$groupResultID = (int)($params['groupResultID'] ?? 0);
$testID = (int)($params['testID'] ?? 0);
$groupResultName = $params['groupResultName'];
$this->db_smartone
->where('QR_PrintOutT_OrderHeaderID', (int)$params['orderHeaderID'])
->where('QR_PrintOutGroup_ResultID', $groupResultID)
->where('QR_PrintOutT_TestID', $testID)
->where('QR_PrintOutIsActive', 1)
->update('qr_printout', ['QR_PrintOutIsActive' => 0]);
$data = [
'QR_PrintOutT_OrderHeaderID' => (int)$params['orderHeaderID'],
'QR_PrintOutGroup_ResultID' => (int)($params['groupResultID'] ?? 0),
'QR_PrintOutT_TestID' => (int)($params['testID'] ?? 0),
'QR_PrintOutGroup_ResultName' => $params['groupResultName'],
'QR_PrintOutGroup_ResultID' => $groupResultID,
'QR_PrintOutT_TestID' => $testID,
'QR_PrintOutGroup_ResultName' => $groupResultName,
'QR_PrintOutUUID' => $uuid,
'QR_PrintOutVerifyURL' => $verifyURL, // URL final PDF = yang di-encode ke QR Code
'QR_PrintOutReportURL' => $params['QR_PrintOutReportURL'], // URL sumber PDF di PHP server (Golang fetch dari sini)
@@ -635,4 +645,4 @@ class Generateqrreport
}
}
}
}
}