Dedup group result details
This commit is contained in:
@@ -1202,12 +1202,214 @@ class Resultentry extends MY_Controller
|
||||
$this->sys_error_db("worklist count", $this->db_onedev);
|
||||
exit();
|
||||
}
|
||||
//echo $this->db_onedev->last_query();
|
||||
|
||||
return true;
|
||||
}
|
||||
function saveresult()
|
||||
{
|
||||
//echo $this->db_onedev->last_query();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function get_group_result_by_orderdetail($orderdetail_id)
|
||||
{
|
||||
$first_row = [];
|
||||
$sql = "SELECT T_OrderHeaderGroupResultGroup_ResultID,
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderID
|
||||
FROM t_orderheader_group_result_details
|
||||
JOIN t_orderheader_group_result ON T_OrderHeaderGroupResultID =
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderGroupResultID AND
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'Y'
|
||||
WHERE
|
||||
T_OrderHeaderGroupResultDetailsT_OrderDetailID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'Y' LIMIT 1";
|
||||
$query = $this->db_onedev->query($sql, [$orderdetail_id]);
|
||||
if (!$query) {
|
||||
return false;
|
||||
}
|
||||
$row_dt_group = $query->result_array();
|
||||
if (count($row_dt_group) > 0) {
|
||||
$first_row = $row_dt_group[0];
|
||||
}
|
||||
|
||||
$sql = "SELECT T_OrderDetailT_OrderHeaderID, T_OrderDetailT_TestID
|
||||
FROM t_orderdetail
|
||||
WHERE T_OrderDetailID = ? AND T_OrderDetailIsActive = 'Y' LIMIT 1";
|
||||
$query = $this->db_onedev->query($sql, [$orderdetail_id]);
|
||||
if (!$query) {
|
||||
return false;
|
||||
}
|
||||
$rows = $query->result_array();
|
||||
if (count($rows) <= 0) {
|
||||
return [];
|
||||
}
|
||||
$orderheader_id = $rows[0]['T_OrderDetailT_OrderHeaderID'];
|
||||
$test_id = $rows[0]['T_OrderDetailT_TestID'];
|
||||
|
||||
$sql = "SELECT
|
||||
gr.Group_ResultID,
|
||||
gr.Group_ResultName,
|
||||
gr.Group_ResultFlagPerTest
|
||||
FROM group_resultdetail grd
|
||||
JOIN group_result gr
|
||||
ON grd.Group_ResultDetailGroup_ResultID = gr.Group_ResultID
|
||||
AND gr.Group_ResultIsActive = 'Y'
|
||||
WHERE
|
||||
grd.Group_ResultDetailT_TestID = ? AND
|
||||
grd.Group_ResultDetailIsActive = 'Y'
|
||||
ORDER BY gr.Group_ResultID ASC
|
||||
LIMIT 1";
|
||||
$query = $this->db_onedev->query($sql, [$test_id]);
|
||||
if (!$query) {
|
||||
return false;
|
||||
}
|
||||
$rows = $query->result_array();
|
||||
if (count($rows) <= 0) {
|
||||
return [];
|
||||
}
|
||||
$target_group_result_id = $rows[0]['Group_ResultID'];
|
||||
$target_group_result_name = $rows[0]['Group_ResultName'];
|
||||
$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,
|
||||
T_OrderHeaderGroupResultDetails
|
||||
FROM t_orderheader_group_result
|
||||
WHERE
|
||||
T_OrderHeaderGroupResultT_OrderHeaderID = ? AND
|
||||
T_OrderHeaderGroupResultGroup_ResultID = ? AND
|
||||
T_OrderHeaderGroupResultT_TestID = ? AND
|
||||
T_OrderHeaderGroupResultIsActive = 'Y'
|
||||
ORDER BY T_OrderHeaderGroupResultID ASC
|
||||
LIMIT 1";
|
||||
$query = $this->db_onedev->query($sql, [$orderheader_id, $target_group_result_id, $target_group_test_id]);
|
||||
if (!$query) {
|
||||
return false;
|
||||
}
|
||||
$rows = $query->result_array();
|
||||
$group_result_id = 0;
|
||||
$group_result_details = '';
|
||||
if (count($rows) > 0) {
|
||||
$group_result_id = $rows[0]['T_OrderHeaderGroupResultID'];
|
||||
$group_result_details = trim((string)$rows[0]['T_OrderHeaderGroupResultDetails']);
|
||||
} else {
|
||||
$sql = "INSERT INTO t_orderheader_group_result (
|
||||
T_OrderHeaderGroupResultT_OrderHeaderID,
|
||||
T_OrderHeaderGroupResultGroup_ResultID,
|
||||
T_OrderHeaderGroupResultGroup_ResultName,
|
||||
T_OrderHeaderGroupResultT_TestID,
|
||||
T_OrderHeaderGroupResultDetails,
|
||||
T_OrderHeaderGroupResultCreated
|
||||
) VALUES (?, ?, ?, ?, ?, NOW())";
|
||||
$query = $this->db_onedev->query($sql, [
|
||||
$orderheader_id,
|
||||
$target_group_result_id,
|
||||
$target_group_result_name,
|
||||
$target_group_test_id,
|
||||
(string)$orderdetail_id
|
||||
]);
|
||||
if (!$query) {
|
||||
return false;
|
||||
}
|
||||
$group_result_id = intval($this->db_onedev->insert_id());
|
||||
$group_result_details = (string)$orderdetail_id;
|
||||
}
|
||||
|
||||
$details_list = $group_result_details === '' ? [] : explode(',', str_replace(' ', '', $group_result_details));
|
||||
if (!in_array((string)$orderdetail_id, $details_list, true)) {
|
||||
$details_list[] = (string)$orderdetail_id;
|
||||
$new_details = implode(',', $details_list);
|
||||
$sql = "UPDATE t_orderheader_group_result
|
||||
SET T_OrderHeaderGroupResultDetails = ?
|
||||
WHERE T_OrderHeaderGroupResultID = ?";
|
||||
$query = $this->db_onedev->query($sql, [$new_details, $group_result_id]);
|
||||
if (!$query) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$sql = "INSERT INTO t_orderheader_group_result_details(
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderGroupResultID,
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderID,
|
||||
T_OrderHeaderGroupResultDetailsT_OrderDetailID,
|
||||
T_OrderHeaderGroupResultDetailsIsActive,
|
||||
T_OrderHeaderGroupResultDetailsCreated,
|
||||
T_OrderHeaderGroupResultDetailsLastUpdated
|
||||
)
|
||||
SELECT ?, ?, ?, 'Y', NOW(), '0000-00-00 00:00:00'
|
||||
FROM dual
|
||||
WHERE NOT EXISTS(
|
||||
SELECT 1
|
||||
FROM t_orderheader_group_result_details
|
||||
WHERE
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderGroupResultID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsT_OrderDetailID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'Y'
|
||||
)";
|
||||
$query = $this->db_onedev->query($sql, [
|
||||
$group_result_id,
|
||||
$orderheader_id,
|
||||
$orderdetail_id,
|
||||
$group_result_id,
|
||||
$orderheader_id,
|
||||
$orderdetail_id
|
||||
]);
|
||||
if (!$query) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$sql = "UPDATE t_orderheader_group_result_details
|
||||
SET
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'N',
|
||||
T_OrderHeaderGroupResultDetailsLastUpdated = NOW()
|
||||
WHERE
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderGroupResultID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsT_OrderDetailID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'Y' AND
|
||||
T_OrderHeaderGroupResultDetailsID <> (
|
||||
SELECT keep_id FROM (
|
||||
SELECT MIN(T_OrderHeaderGroupResultDetailsID) AS keep_id
|
||||
FROM t_orderheader_group_result_details
|
||||
WHERE
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderGroupResultID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsT_OrderDetailID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'Y'
|
||||
) dedup
|
||||
)";
|
||||
$query = $this->db_onedev->query($sql, [
|
||||
$group_result_id,
|
||||
$orderheader_id,
|
||||
$orderdetail_id,
|
||||
$group_result_id,
|
||||
$orderheader_id,
|
||||
$orderdetail_id
|
||||
]);
|
||||
if (!$query) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$sql = "SELECT T_OrderHeaderGroupResultGroup_ResultID,
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderID
|
||||
FROM t_orderheader_group_result_details
|
||||
JOIN t_orderheader_group_result ON T_OrderHeaderGroupResultID =
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderGroupResultID AND
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'Y'
|
||||
WHERE
|
||||
T_OrderHeaderGroupResultDetailsT_OrderDetailID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'Y' LIMIT 1";
|
||||
$query = $this->db_onedev->query($sql, [$orderdetail_id]);
|
||||
if (!$query) {
|
||||
return false;
|
||||
}
|
||||
$row_dt_group = $query->result_array();
|
||||
if (count($row_dt_group) > 0) {
|
||||
$first_row = $row_dt_group[0];
|
||||
}
|
||||
|
||||
return $first_row;
|
||||
}
|
||||
function saveresult()
|
||||
{
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
@@ -1638,29 +1840,18 @@ class Resultentry extends MY_Controller
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "SELECT T_OrderHeaderGroupResultGroup_ResultID,
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderID
|
||||
FROM t_orderheader_group_result_details
|
||||
JOIN t_orderheader_group_result ON T_OrderHeaderGroupResultID =
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderGroupResultID AND
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'Y'
|
||||
WHERE
|
||||
T_OrderHeaderGroupResultDetailsT_OrderDetailID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'Y' LIMIT 1";
|
||||
$query = $this->db_onedev->query($sql, [$orderdetail_id]);
|
||||
if (!$query) {
|
||||
$this->sys_error_db("single verification select group result", $this->db_onedev);
|
||||
exit();
|
||||
}
|
||||
|
||||
$row_dt_group = $query->result_array();
|
||||
//echo $this->db_onedev->last_query();
|
||||
if (count($row_dt_group) > 0) {
|
||||
$ohid = $row_dt_group[0]["T_OrderHeaderGroupResultDetailsT_OrderHeaderID"];
|
||||
$gid = $row_dt_group[0]["T_OrderHeaderGroupResultGroup_ResultID"];
|
||||
$this->verification_by_group($ohid, $gid);
|
||||
} else {
|
||||
$this->sys_error_db("group result tidak ditemukan", $this->db_onedev);
|
||||
$row_dt_group = $this->get_group_result_by_orderdetail($orderdetail_id);
|
||||
if ($row_dt_group === false) {
|
||||
$this->sys_error_db("single verification select group result", $this->db_onedev);
|
||||
exit();
|
||||
}
|
||||
|
||||
if (count($row_dt_group) > 0) {
|
||||
$ohid = $row_dt_group["T_OrderHeaderGroupResultDetailsT_OrderHeaderID"];
|
||||
$gid = $row_dt_group["T_OrderHeaderGroupResultGroup_ResultID"];
|
||||
$this->verification_by_group($ohid, $gid);
|
||||
} else {
|
||||
$this->sys_error_db("group result tidak ditemukan", $this->db_onedev);
|
||||
exit();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4781,6 +4781,38 @@ class Resultentry extends MY_Controller
|
||||
return false;
|
||||
}
|
||||
|
||||
$sql = "UPDATE t_orderheader_group_result_details
|
||||
SET
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'N',
|
||||
T_OrderHeaderGroupResultDetailsLastUpdated = NOW()
|
||||
WHERE
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderGroupResultID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsT_OrderDetailID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'Y' AND
|
||||
T_OrderHeaderGroupResultDetailsID <> (
|
||||
SELECT keep_id FROM (
|
||||
SELECT MIN(T_OrderHeaderGroupResultDetailsID) AS keep_id
|
||||
FROM t_orderheader_group_result_details
|
||||
WHERE
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderGroupResultID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsT_OrderDetailID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'Y'
|
||||
) dedup
|
||||
)";
|
||||
$query = $this->db_onedev->query($sql, [
|
||||
$group_result_id,
|
||||
$orderheader_id,
|
||||
$orderdetail_id,
|
||||
$group_result_id,
|
||||
$orderheader_id,
|
||||
$orderdetail_id
|
||||
]);
|
||||
if (!$query) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$sql = "SELECT T_OrderHeaderGroupResultGroup_ResultID,
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderID
|
||||
FROM t_orderheader_group_result_details
|
||||
|
||||
@@ -1059,29 +1059,18 @@ class Resultentry extends MY_Controller
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "SELECT T_OrderHeaderGroupResultGroup_ResultID,
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderID
|
||||
FROM t_orderheader_group_result_details
|
||||
JOIN t_orderheader_group_result ON T_OrderHeaderGroupResultID =
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderGroupResultID AND
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'Y'
|
||||
WHERE
|
||||
T_OrderHeaderGroupResultDetailsT_OrderDetailID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'Y' LIMIT 1";
|
||||
$query = $this->db_onedev->query($sql, [$orderdetail_id]);
|
||||
if (!$query) {
|
||||
$this->sys_error_db("single verification select group result", $this->db_onedev);
|
||||
exit();
|
||||
}
|
||||
|
||||
$row_dt_group = $query->result_array();
|
||||
//echo $this->db_onedev->last_query();
|
||||
if (count($row_dt_group) > 0) {
|
||||
$ohid = $row_dt_group[0]["T_OrderHeaderGroupResultDetailsT_OrderHeaderID"];
|
||||
$gid = $row_dt_group[0]["T_OrderHeaderGroupResultGroup_ResultID"];
|
||||
$this->verification_by_group($ohid, $gid);
|
||||
} else {
|
||||
$this->sys_error_db("group result tidak ditemukan", $this->db_onedev);
|
||||
$row_dt_group = $this->get_group_result_by_orderdetail($orderdetail_id);
|
||||
if ($row_dt_group === false) {
|
||||
$this->sys_error_db("single verification select group result", $this->db_onedev);
|
||||
exit();
|
||||
}
|
||||
|
||||
if (count($row_dt_group) > 0) {
|
||||
$ohid = $row_dt_group["T_OrderHeaderGroupResultDetailsT_OrderHeaderID"];
|
||||
$gid = $row_dt_group["T_OrderHeaderGroupResultGroup_ResultID"];
|
||||
$this->verification_by_group($ohid, $gid);
|
||||
} else {
|
||||
$this->sys_error_db("group result tidak ditemukan", $this->db_onedev);
|
||||
exit();
|
||||
}
|
||||
}
|
||||
@@ -1410,14 +1399,216 @@ class Resultentry extends MY_Controller
|
||||
$this->sys_error_db("worklist count", $this->db_onedev);
|
||||
exit();
|
||||
}
|
||||
//echo $this->db_onedev->last_query();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function deletetrx()
|
||||
//echo $this->db_onedev->last_query();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function get_group_result_by_orderdetail($orderdetail_id)
|
||||
{
|
||||
$first_row = [];
|
||||
$sql = "SELECT T_OrderHeaderGroupResultGroup_ResultID,
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderID
|
||||
FROM t_orderheader_group_result_details
|
||||
JOIN t_orderheader_group_result ON T_OrderHeaderGroupResultID =
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderGroupResultID AND
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'Y'
|
||||
WHERE
|
||||
T_OrderHeaderGroupResultDetailsT_OrderDetailID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'Y' LIMIT 1";
|
||||
$query = $this->db_onedev->query($sql, [$orderdetail_id]);
|
||||
if (!$query) {
|
||||
return false;
|
||||
}
|
||||
$row_dt_group = $query->result_array();
|
||||
if (count($row_dt_group) > 0) {
|
||||
$first_row = $row_dt_group[0];
|
||||
}
|
||||
|
||||
$sql = "SELECT T_OrderDetailT_OrderHeaderID, T_OrderDetailT_TestID
|
||||
FROM t_orderdetail
|
||||
WHERE T_OrderDetailID = ? AND T_OrderDetailIsActive = 'Y' LIMIT 1";
|
||||
$query = $this->db_onedev->query($sql, [$orderdetail_id]);
|
||||
if (!$query) {
|
||||
return false;
|
||||
}
|
||||
$rows = $query->result_array();
|
||||
if (count($rows) <= 0) {
|
||||
return [];
|
||||
}
|
||||
$orderheader_id = $rows[0]['T_OrderDetailT_OrderHeaderID'];
|
||||
$test_id = $rows[0]['T_OrderDetailT_TestID'];
|
||||
|
||||
$sql = "SELECT
|
||||
gr.Group_ResultID,
|
||||
gr.Group_ResultName,
|
||||
gr.Group_ResultFlagPerTest
|
||||
FROM group_resultdetail grd
|
||||
JOIN group_result gr
|
||||
ON grd.Group_ResultDetailGroup_ResultID = gr.Group_ResultID
|
||||
AND gr.Group_ResultIsActive = 'Y'
|
||||
WHERE
|
||||
grd.Group_ResultDetailT_TestID = ? AND
|
||||
grd.Group_ResultDetailIsActive = 'Y'
|
||||
ORDER BY gr.Group_ResultID ASC
|
||||
LIMIT 1";
|
||||
$query = $this->db_onedev->query($sql, [$test_id]);
|
||||
if (!$query) {
|
||||
return false;
|
||||
}
|
||||
$rows = $query->result_array();
|
||||
if (count($rows) <= 0) {
|
||||
return [];
|
||||
}
|
||||
$target_group_result_id = $rows[0]['Group_ResultID'];
|
||||
$target_group_result_name = $rows[0]['Group_ResultName'];
|
||||
$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,
|
||||
T_OrderHeaderGroupResultDetails
|
||||
FROM t_orderheader_group_result
|
||||
WHERE
|
||||
T_OrderHeaderGroupResultT_OrderHeaderID = ? AND
|
||||
T_OrderHeaderGroupResultGroup_ResultID = ? AND
|
||||
T_OrderHeaderGroupResultT_TestID = ? AND
|
||||
T_OrderHeaderGroupResultIsActive = 'Y'
|
||||
ORDER BY T_OrderHeaderGroupResultID ASC
|
||||
LIMIT 1";
|
||||
$query = $this->db_onedev->query($sql, [$orderheader_id, $target_group_result_id, $target_group_test_id]);
|
||||
if (!$query) {
|
||||
return false;
|
||||
}
|
||||
$rows = $query->result_array();
|
||||
$group_result_id = 0;
|
||||
$group_result_details = '';
|
||||
if (count($rows) > 0) {
|
||||
$group_result_id = $rows[0]['T_OrderHeaderGroupResultID'];
|
||||
$group_result_details = trim((string)$rows[0]['T_OrderHeaderGroupResultDetails']);
|
||||
} else {
|
||||
$sql = "INSERT INTO t_orderheader_group_result (
|
||||
T_OrderHeaderGroupResultT_OrderHeaderID,
|
||||
T_OrderHeaderGroupResultGroup_ResultID,
|
||||
T_OrderHeaderGroupResultGroup_ResultName,
|
||||
T_OrderHeaderGroupResultT_TestID,
|
||||
T_OrderHeaderGroupResultDetails,
|
||||
T_OrderHeaderGroupResultCreated
|
||||
) VALUES (?, ?, ?, ?, ?, NOW())";
|
||||
$query = $this->db_onedev->query($sql, [
|
||||
$orderheader_id,
|
||||
$target_group_result_id,
|
||||
$target_group_result_name,
|
||||
$target_group_test_id,
|
||||
(string)$orderdetail_id
|
||||
]);
|
||||
if (!$query) {
|
||||
return false;
|
||||
}
|
||||
$group_result_id = intval($this->db_onedev->insert_id());
|
||||
$group_result_details = (string)$orderdetail_id;
|
||||
}
|
||||
|
||||
$details_list = $group_result_details === '' ? [] : explode(',', str_replace(' ', '', $group_result_details));
|
||||
if (!in_array((string)$orderdetail_id, $details_list, true)) {
|
||||
$details_list[] = (string)$orderdetail_id;
|
||||
$new_details = implode(',', $details_list);
|
||||
$sql = "UPDATE t_orderheader_group_result
|
||||
SET T_OrderHeaderGroupResultDetails = ?
|
||||
WHERE T_OrderHeaderGroupResultID = ?";
|
||||
$query = $this->db_onedev->query($sql, [$new_details, $group_result_id]);
|
||||
if (!$query) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$sql = "INSERT INTO t_orderheader_group_result_details(
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderGroupResultID,
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderID,
|
||||
T_OrderHeaderGroupResultDetailsT_OrderDetailID,
|
||||
T_OrderHeaderGroupResultDetailsIsActive,
|
||||
T_OrderHeaderGroupResultDetailsCreated,
|
||||
T_OrderHeaderGroupResultDetailsLastUpdated
|
||||
)
|
||||
SELECT ?, ?, ?, 'Y', NOW(), '0000-00-00 00:00:00'
|
||||
FROM dual
|
||||
WHERE NOT EXISTS(
|
||||
SELECT 1
|
||||
FROM t_orderheader_group_result_details
|
||||
WHERE
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderGroupResultID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsT_OrderDetailID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'Y'
|
||||
)";
|
||||
$query = $this->db_onedev->query($sql, [
|
||||
$group_result_id,
|
||||
$orderheader_id,
|
||||
$orderdetail_id,
|
||||
$group_result_id,
|
||||
$orderheader_id,
|
||||
$orderdetail_id
|
||||
]);
|
||||
if (!$query) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$sql = "UPDATE t_orderheader_group_result_details
|
||||
SET
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'N',
|
||||
T_OrderHeaderGroupResultDetailsLastUpdated = NOW()
|
||||
WHERE
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderGroupResultID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsT_OrderDetailID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'Y' AND
|
||||
T_OrderHeaderGroupResultDetailsID <> (
|
||||
SELECT keep_id FROM (
|
||||
SELECT MIN(T_OrderHeaderGroupResultDetailsID) AS keep_id
|
||||
FROM t_orderheader_group_result_details
|
||||
WHERE
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderGroupResultID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsT_OrderDetailID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'Y'
|
||||
) dedup
|
||||
)";
|
||||
$query = $this->db_onedev->query($sql, [
|
||||
$group_result_id,
|
||||
$orderheader_id,
|
||||
$orderdetail_id,
|
||||
$group_result_id,
|
||||
$orderheader_id,
|
||||
$orderdetail_id
|
||||
]);
|
||||
if (!$query) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$sql = "SELECT T_OrderHeaderGroupResultGroup_ResultID,
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderID
|
||||
FROM t_orderheader_group_result_details
|
||||
JOIN t_orderheader_group_result ON T_OrderHeaderGroupResultID =
|
||||
T_OrderHeaderGroupResultDetailsT_OrderHeaderGroupResultID AND
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'Y'
|
||||
WHERE
|
||||
T_OrderHeaderGroupResultDetailsT_OrderDetailID = ? AND
|
||||
T_OrderHeaderGroupResultDetailsIsActive = 'Y' LIMIT 1";
|
||||
$query = $this->db_onedev->query($sql, [$orderdetail_id]);
|
||||
if (!$query) {
|
||||
return false;
|
||||
}
|
||||
$row_dt_group = $query->result_array();
|
||||
if (count($row_dt_group) > 0) {
|
||||
$first_row = $row_dt_group[0];
|
||||
}
|
||||
|
||||
return $first_row;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function deletetrx()
|
||||
{
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
|
||||
Reference in New Issue
Block a user