Apply Group_ResultFlagPerTest rules

This commit is contained in:
sas.fajri
2026-05-21 11:56:47 +07:00
parent 5164b356dc
commit 19038646f1

View File

@@ -4644,7 +4644,8 @@ class Resultentry extends MY_Controller
$sql = "SELECT
gr.Group_ResultID,
gr.Group_ResultName
gr.Group_ResultName,
gr.Group_ResultFlagPerTest
FROM group_resultdetail grd
JOIN group_result gr
ON grd.Group_ResultDetailGroup_ResultID = gr.Group_ResultID
@@ -4664,9 +4665,8 @@ class Resultentry extends MY_Controller
}
$target_group_result_id = $rows[0]['Group_ResultID'];
$target_group_result_name = $rows[0]['Group_ResultName'];
if (!empty($first_row) && intval($first_row['T_OrderHeaderGroupResultGroup_ResultID']) === intval($target_group_result_id)) {
return $first_row;
}
$target_group_flag_per_test = isset($rows[0]['Group_ResultFlagPerTest']) ? $rows[0]['Group_ResultFlagPerTest'] : 'Y';
$target_group_test_id = $target_group_flag_per_test === 'Y' ? intval($test_id) : 0;
$sql = "SELECT
T_OrderHeaderGroupResultID,
@@ -4675,11 +4675,11 @@ class Resultentry extends MY_Controller
WHERE
T_OrderHeaderGroupResultT_OrderHeaderID = ? AND
T_OrderHeaderGroupResultGroup_ResultID = ? AND
(T_OrderHeaderGroupResultT_TestID = ? OR T_OrderHeaderGroupResultT_TestID = 0) AND
T_OrderHeaderGroupResultT_TestID = ? AND
T_OrderHeaderGroupResultIsActive = 'Y'
ORDER BY IF(T_OrderHeaderGroupResultT_TestID = ?, 0, 1), T_OrderHeaderGroupResultID ASC
ORDER BY T_OrderHeaderGroupResultID ASC
LIMIT 1";
$query = $this->db_onedev->query($sql, [$orderheader_id, $target_group_result_id, $test_id, $test_id]);
$query = $this->db_onedev->query($sql, [$orderheader_id, $target_group_result_id, $target_group_test_id]);
if (!$query) {
return false;
}
@@ -4703,7 +4703,7 @@ class Resultentry extends MY_Controller
$orderheader_id,
$target_group_result_id,
$target_group_result_name,
$test_id,
$target_group_test_id,
(string)$orderdetail_id
]);
if (!$query) {
@@ -5382,8 +5382,12 @@ class Resultentry extends MY_Controller
T_OrderHeaderGroupResultGroup_ResultID,
T_OrderHeaderGroupResultT_TestID,
T_OrderHeaderGroupResultGroup_ResultName,
gr.Group_ResultFlagPerTest,
T_TestName
FROM t_orderheader_group_result
JOIN group_result gr
ON gr.Group_ResultID = T_OrderHeaderGroupResultGroup_ResultID
AND gr.Group_ResultIsActive = 'Y'
LEFT JOIN t_test
ON T_OrderHeaderGroupResultT_TestID = T_TestID
AND T_TestIsActive = 'Y'
@@ -5453,7 +5457,8 @@ class Resultentry extends MY_Controller
$printCode = $map[$report_key];
foreach ($data as $value) {
$target_test_id = intval($trx['test_id']) > 0 ? intval($trx['test_id']) : intval($value['T_OrderHeaderGroupResultT_TestID']);
$is_per_test = isset($value['Group_ResultFlagPerTest']) && $value['Group_ResultFlagPerTest'] === 'Y';
$target_test_id = $is_per_test ? intval($trx['test_id']) : 0;
$sql_pt = "SELECT Print_TransactionUrlWatermark
FROM print_transaction