tambah save glukosa

This commit is contained in:
Hanan Askarim
2026-05-21 15:08:41 +07:00
parent 7228d17924
commit 7834c044ad

View File

@@ -176,8 +176,8 @@ T_OrderHeaderIsActive as isactive,
}
// echo $this->db_onedev->last_query();
$rows = $query->result_array();
if(count($rows) > 0){
foreach($rows as $key => $row){
if (count($rows) > 0) {
foreach ($rows as $key => $row) {
$row['glucoses'] = null;
$sql = "SELECT GROUP_CONCAT( DISTINCT CONCAT(IFNULL(OrderGlucoseID,0),'^',Nat_TestID,'^',Nat_TestName,'^',IFNULL(OrderGlucoseResult,'')) SEPARATOR '*') as glucoses
FROM t_orderdetail
@@ -189,12 +189,11 @@ T_OrderHeaderIsActive as isactive,
GROUP BY T_OrderDetailT_OrderHeaderID";
$query = $this->db_onedev->query($sql, [$row['orderID']]);
//echo $this->db_onedev->last_query();
if($query){
if ($query) {
$rst_glucose = $query->row_array();
$row['glucoses'] = $rst_glucose['glucoses'];
}
$rows[$key] = $row;
}
}
$result = [
@@ -202,7 +201,6 @@ T_OrderHeaderIsActive as isactive,
"records" => $rows
];
$this->sys_ok($result);
}
function searchxxx()
@@ -343,7 +341,6 @@ GROUP_CONCAT(CONCAT(OrderGlucoseID,'^',Nat_TestID,'^',Nat_TestName,'^',OrderGluc
"records" => $query->result_array()
];
$this->sys_ok($result);
}
function getdetail()
{
@@ -667,7 +664,7 @@ FROM
$userid = $this->sys_user["M_UserID"];
$messages_log = [];
if($prm['glucoses'] && count($prm['glucoses'])){
if ($prm['glucoses'] && count($prm['glucoses'])) {
foreach ($prm['glucoses'] as $k_gluc => $v_gluc) {
$sampletypeid = $this->db_onedev->query("SELECT Nat_TestNat_SampleTypeID
FROM nat_test WHERE Nat_TestID = '{$v_gluc[1]}'")->row();
@@ -679,7 +676,7 @@ FROM
AND T_OrderSampleT_SampleTypeID = ?
AND T_OrderSampleReceive = 'Y'
AND T_OrderSampleReceiveDate IS NOT NULL";
$query_gluc = $this->db_onedev->query($sql_gluc, [$prm['orderID'],$sampletypeid->Nat_TestNat_SampleTypeID]);
$query_gluc = $this->db_onedev->query($sql_gluc, [$prm['orderID'], $sampletypeid->Nat_TestNat_SampleTypeID]);
if (!$query_gluc) {
$message = $this->db_onedev->error();
$message['qry'] = $this->db_onedev->last_query();
@@ -704,7 +701,7 @@ FROM
}
$order_gluc = $query_order_gluc->row_array()['total'];
if($sample_gluc > 0 && $order_gluc > 0){
if ($sample_gluc > 0 && $order_gluc > 0) {
$sql = $this->db_onedev->query("SELECT * FROM order_glucose WHERE OrderGlucoseID = {$v_gluc[0]}");
$x_data_before = $sql->result_array();
@@ -759,14 +756,7 @@ FROM
VALUES ('GLUCOSE','{$prm['orderID']}','{$x_data_before}','{$x_data_after}',now(),'{$userid}')";
$querylog = $this->db_onedev->query($sqllog);
}
}
}
$sql_bbtb = "SELECT
@@ -800,7 +790,7 @@ FROM
}
$order_bbtb = $query_order_bbtb->row_array()['total'];
if ($sample_bbtb > 0 && $order_bbtb > 0){
if ($sample_bbtb > 0 && $order_bbtb > 0) {
if ($prm['T_SamplingAdditionalFisikBBTBID'] == 0) {
@@ -845,8 +835,7 @@ FROM
AdditionalFisikLogUserID)
VALUES ('BBTB','{$prm['orderID']}','','{$x_data_after}',now(),'{$userid}')";
$querylog = $this->db_onedev->query($sqllog);
} else{
} else {
$sql = $this->db_onedev->query("SELECT * FROM t_samplingso_additional_fisik_bbtb WHERE T_SamplingAdditionalFisikBBTBID = {$prm['T_SamplingAdditionalFisikBBTBID']} AND T_SamplingAdditionalFisikBBTBIsActive = 'Y'");
$x_data_before = $sql->result_array();
$x_data_before = json_encode($x_data_before);
@@ -916,7 +905,7 @@ FROM
}
$order_bw = $query_order_bw->row_array()['total'];
if ($sample_bw > 0 && $order_bw > 0){
if ($sample_bw > 0 && $order_bw > 0) {
if ($prm['T_SamplingAdditionalFisikBWID'] == 0) {
$sql = "INSERT INTO t_samplingso_additional_fisik_bw
@@ -955,8 +944,7 @@ FROM
AdditionalFisikLogUserID)
VALUES ('BW','{$prm['orderID']}','','{$x_data_after}',now(),'{$userid}')";
$querylog = $this->db_onedev->query($sqllog);
} else{
} else {
$sql = $this->db_onedev->query("SELECT * FROM t_samplingso_additional_fisik_bw WHERE T_SamplingAdditionalFisikBWID = {$prm['T_SamplingAdditionalFisikBWID']}");
$x_data_before = $sql->result_array();
$x_data_before = json_encode($x_data_before);
@@ -1025,7 +1013,7 @@ FROM
}
$order_visus = $query_order_visus->row_array()['total'];
if ($sample_visus > 0 && $order_visus > 0){
if ($sample_visus > 0 && $order_visus > 0) {
if ($prm['T_SamplingAdditionalFisikVisusID'] == 0) {
$sql = "INSERT INTO t_samplingso_additional_fisik_visus
(T_SamplingAdditionalFisikVisusT_OrderHeaderID,
@@ -1082,7 +1070,7 @@ FROM
AdditionalFisikLogUserID)
VALUES ('VISUS','{$prm['orderID']}','','{$x_data_after}',now(),'{$userid}')";
$querylog = $this->db_onedev->query($sqllog);
} else{
} else {
$sql = $this->db_onedev->query("SELECT * FROM t_samplingso_additional_fisik_visus WHERE T_SamplingAdditionalFisikVisusID = {$prm['T_SamplingAdditionalFisikVisusID']} AND T_SamplingAdditionalFisikVisusIsActive = 'Y'");
$x_data_before = $sql->result_array();
$x_data_before = json_encode($x_data_before);
@@ -1128,28 +1116,138 @@ FROM
}
}
if($sample_bbtb == 0 && $order_bbtb > 0) {
if ($sample_bbtb == 0 && $order_bbtb > 0) {
$messages_log[] = "BB TB";
}
if($sample_bw == 0 && $order_bw > 0) {
if ($sample_bw == 0 && $order_bw > 0) {
$messages_log[] = "Buta Warna ";
}
if($sample_gluc == 0 && $order_gluc > 0) {
if ($sample_gluc == 0 && $order_gluc > 0) {
$messages_log[] = "Gula darah";
}
if($sample_visus == 0 && $order_visus > 0) {
if ($sample_visus == 0 && $order_visus > 0) {
$messages_log[] = "Visus";
}
if(count($messages_log) > 0) {
if (count($messages_log) > 0) {
$message .= implode(" , ", $messages_log);
$result = array("message" => "Belum sampling " . $message);
}else{
} else {
$result = array("message" => "Data berhasil disimpan");
}
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function saveGlucosa()
{
try {
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$userid = $this->sys_user["M_UserID"];
if ($prm['glucoses'] && count($prm['glucoses'])) {
foreach ($prm['glucoses'] as $k_gluc => $v_gluc) {
$sampletypeid = $this->db_onedev->query("SELECT Nat_TestNat_SampleTypeID
FROM nat_test WHERE Nat_TestID = '{$v_gluc[1]}'")->row();
$sql_gluc = "SELECT
COUNT(T_OrderSampleID) AS total
FROM t_ordersample
WHERE T_OrderSampleT_OrderHeaderID = ?
AND T_OrderSampleT_SampleTypeID = ?
AND T_OrderSampleReceive = 'Y'
AND T_OrderSampleReceiveDate IS NOT NULL";
$query_gluc = $this->db_onedev->query($sql_gluc, [$prm['orderID'], $sampletypeid->Nat_TestNat_SampleTypeID]);
if (!$query_gluc) {
$message = $this->db_onedev->error();
$message['qry'] = $this->db_onedev->last_query();
$this->sys_error($message);
exit;
}
$sample_gluc = $query_gluc->row_array()['total'];
$sql_order_gluc = "SELECT
COUNT(T_OrderDetailID) AS total
FROM t_orderdetail
JOIN t_test ON T_OrderDetailT_OrderHeaderID = {$prm['orderID']} AND
T_OrderDetailT_TestID = T_TestID AND
T_OrderDetailIsActive = 'Y'
JOIN nat_test ON T_TestNat_TestID = {$v_gluc[1]}";
$query_order_gluc = $this->db_onedev->query($sql_order_gluc);
if (!$query_order_gluc) {
$message = $this->db_onedev->error();
$message['qry'] = $this->db_onedev->last_query();
$this->sys_error($message);
exit;
}
$order_gluc = $query_order_gluc->row_array()['total'];
if ($sample_gluc > 0 && $order_gluc > 0) {
$sql = $this->db_onedev->query("SELECT * FROM order_glucose WHERE OrderGlucoseID = {$v_gluc[0]}");
$x_data_before = $sql->result_array();
$x_data_before = json_encode($x_data_before);
$sql = "UPDATE order_glucose SET OrderGlucoseIsActive = 'N', OrderGlucoseDeleted = NOW(), OrderGlucoseDeletedUserID = '{$userid}'
WHERE
OrderGlucoseID = {$v_gluc[0]}";
$this->db_onedev->query($sql);
$sql = "INSERT INTO order_glucose (
OrderGlucoseT_OrderHeaderID,
OrderGlucoseNat_TestID,
OrderGlucoseResult,
OrderGlucoseCreated,
OrderGlucoseCreatedUserID
)
VALUES(
{$prm['orderID']},
{$v_gluc[1]},
'{$v_gluc[3]}',
NOW(),
{$userid}
)";
$this->db_onedev->query($sql);
$last_id_glucose = $this->db_onedev->insert_id();
$sql = "UPDATE t_orderdetail
JOIN t_test ON T_OrderDetailT_OrderHeaderID = {$prm['orderID']} AND
T_OrderDetailT_TestID = T_TestID AND
T_OrderDetailIsActive = 'Y'
JOIN nat_test ON T_TestNat_TestID = {$v_gluc[1]}
SET T_OrderDetailResult = '{$v_gluc[3]}',
T_OrderDetailNormalValueNote = '< 100',
T_OrderDetailNormalValueDescription = '< 100',
T_OrderDetailLastUpdatedUserID = {$userid},
T_OrderDetailLastUpdated = NOW()
";
$this->db_onedev->query($sql);
// INSERT LOG
$sql = $this->db_onedev->query("SELECT * FROM order_glucose WHERE OrderGlucoseID = {$last_id_glucose}");
$x_data_after = $sql->result_array();
$x_data_after = json_encode($x_data_after);
$sqllog = "INSERT INTO additionalfisik_log(
AdditionalFisikLogType,
AdditionalFisikLogT_OrderHeaderID,
AdditionalFisikLogJSONBefore,
AdditionalFisikLogJSONAfter,
AdditionalFisikLogCreated,
AdditionalFisikLogUserID)
VALUES ('GLUCOSE','{$prm['orderID']}','{$x_data_before}','{$x_data_after}',now(),'{$userid}')";
$querylog = $this->db_onedev->query($sqllog);
}
}
}
$result = array("message" => "Data glukosa berhasil disimpan");
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);