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(); // echo $this->db_onedev->last_query();
$rows = $query->result_array(); $rows = $query->result_array();
if(count($rows) > 0){ if (count($rows) > 0) {
foreach($rows as $key => $row){ foreach ($rows as $key => $row) {
$row['glucoses'] = null; $row['glucoses'] = null;
$sql = "SELECT GROUP_CONCAT( DISTINCT CONCAT(IFNULL(OrderGlucoseID,0),'^',Nat_TestID,'^',Nat_TestName,'^',IFNULL(OrderGlucoseResult,'')) SEPARATOR '*') as glucoses $sql = "SELECT GROUP_CONCAT( DISTINCT CONCAT(IFNULL(OrderGlucoseID,0),'^',Nat_TestID,'^',Nat_TestName,'^',IFNULL(OrderGlucoseResult,'')) SEPARATOR '*') as glucoses
FROM t_orderdetail FROM t_orderdetail
@@ -189,12 +189,11 @@ T_OrderHeaderIsActive as isactive,
GROUP BY T_OrderDetailT_OrderHeaderID"; GROUP BY T_OrderDetailT_OrderHeaderID";
$query = $this->db_onedev->query($sql, [$row['orderID']]); $query = $this->db_onedev->query($sql, [$row['orderID']]);
//echo $this->db_onedev->last_query(); //echo $this->db_onedev->last_query();
if($query){ if ($query) {
$rst_glucose = $query->row_array(); $rst_glucose = $query->row_array();
$row['glucoses'] = $rst_glucose['glucoses']; $row['glucoses'] = $rst_glucose['glucoses'];
} }
$rows[$key] = $row; $rows[$key] = $row;
} }
} }
$result = [ $result = [
@@ -202,7 +201,6 @@ T_OrderHeaderIsActive as isactive,
"records" => $rows "records" => $rows
]; ];
$this->sys_ok($result); $this->sys_ok($result);
} }
function searchxxx() function searchxxx()
@@ -343,7 +341,6 @@ GROUP_CONCAT(CONCAT(OrderGlucoseID,'^',Nat_TestID,'^',Nat_TestName,'^',OrderGluc
"records" => $query->result_array() "records" => $query->result_array()
]; ];
$this->sys_ok($result); $this->sys_ok($result);
} }
function getdetail() function getdetail()
{ {
@@ -659,62 +656,62 @@ FROM
function save() function save()
{ {
try { try {
if (!$this->isLogin) { if (!$this->isLogin) {
$this->sys_error("Invalid Token"); $this->sys_error("Invalid Token");
exit; exit;
} }
$prm = $this->sys_input; $prm = $this->sys_input;
$userid = $this->sys_user["M_UserID"]; $userid = $this->sys_user["M_UserID"];
$messages_log = []; $messages_log = [];
if($prm['glucoses'] && count($prm['glucoses'])){ if ($prm['glucoses'] && count($prm['glucoses'])) {
foreach ($prm['glucoses'] as $k_gluc => $v_gluc) { foreach ($prm['glucoses'] as $k_gluc => $v_gluc) {
$sampletypeid = $this->db_onedev->query("SELECT Nat_TestNat_SampleTypeID $sampletypeid = $this->db_onedev->query("SELECT Nat_TestNat_SampleTypeID
FROM nat_test WHERE Nat_TestID = '{$v_gluc[1]}'")->row(); FROM nat_test WHERE Nat_TestID = '{$v_gluc[1]}'")->row();
$sql_gluc = "SELECT $sql_gluc = "SELECT
COUNT(T_OrderSampleID) AS total COUNT(T_OrderSampleID) AS total
FROM t_ordersample FROM t_ordersample
WHERE T_OrderSampleT_OrderHeaderID = ? WHERE T_OrderSampleT_OrderHeaderID = ?
AND T_OrderSampleT_SampleTypeID = ? AND T_OrderSampleT_SampleTypeID = ?
AND T_OrderSampleReceive = 'Y' AND T_OrderSampleReceive = 'Y'
AND T_OrderSampleReceiveDate IS NOT NULL"; 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) { if (!$query_gluc) {
$message = $this->db_onedev->error(); $message = $this->db_onedev->error();
$message['qry'] = $this->db_onedev->last_query(); $message['qry'] = $this->db_onedev->last_query();
$this->sys_error($message); $this->sys_error($message);
exit; exit;
} }
$sample_gluc = $query_gluc->row_array()['total']; $sample_gluc = $query_gluc->row_array()['total'];
$sql_order_gluc = "SELECT $sql_order_gluc = "SELECT
COUNT(T_OrderDetailID) AS total COUNT(T_OrderDetailID) AS total
FROM t_orderdetail FROM t_orderdetail
JOIN t_test ON T_OrderDetailT_OrderHeaderID = {$prm['orderID']} AND JOIN t_test ON T_OrderDetailT_OrderHeaderID = {$prm['orderID']} AND
T_OrderDetailT_TestID = T_TestID AND T_OrderDetailT_TestID = T_TestID AND
T_OrderDetailIsActive = 'Y' T_OrderDetailIsActive = 'Y'
JOIN nat_test ON T_TestNat_TestID = {$v_gluc[1]}"; JOIN nat_test ON T_TestNat_TestID = {$v_gluc[1]}";
$query_order_gluc = $this->db_onedev->query($sql_order_gluc); $query_order_gluc = $this->db_onedev->query($sql_order_gluc);
if (!$query_order_gluc) { if (!$query_order_gluc) {
$message = $this->db_onedev->error(); $message = $this->db_onedev->error();
$message['qry'] = $this->db_onedev->last_query(); $message['qry'] = $this->db_onedev->last_query();
$this->sys_error($message); $this->sys_error($message);
exit; exit;
} }
$order_gluc = $query_order_gluc->row_array()['total']; $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]}"); $sql = $this->db_onedev->query("SELECT * FROM order_glucose WHERE OrderGlucoseID = {$v_gluc[0]}");
$x_data_before = $sql->result_array(); $x_data_before = $sql->result_array();
$x_data_before = json_encode($x_data_before); $x_data_before = json_encode($x_data_before);
$sql = "UPDATE order_glucose SET OrderGlucoseIsActive = 'N', OrderGlucoseDeleted = NOW(), OrderGlucoseDeletedUserID = '{$userid}' $sql = "UPDATE order_glucose SET OrderGlucoseIsActive = 'N', OrderGlucoseDeleted = NOW(), OrderGlucoseDeletedUserID = '{$userid}'
WHERE WHERE
OrderGlucoseID = {$v_gluc[0]}"; OrderGlucoseID = {$v_gluc[0]}";
$this->db_onedev->query($sql); $this->db_onedev->query($sql);
$sql = "INSERT INTO order_glucose ( $sql = "INSERT INTO order_glucose (
OrderGlucoseT_OrderHeaderID, OrderGlucoseT_OrderHeaderID,
OrderGlucoseNat_TestID, OrderGlucoseNat_TestID,
OrderGlucoseResult, OrderGlucoseResult,
@@ -728,9 +725,9 @@ FROM
NOW(), NOW(),
{$userid} {$userid}
)"; )";
$this->db_onedev->query($sql); $this->db_onedev->query($sql);
$last_id_glucose = $this->db_onedev->insert_id(); $last_id_glucose = $this->db_onedev->insert_id();
$sql = "UPDATE t_orderdetail $sql = "UPDATE t_orderdetail
JOIN t_test ON T_OrderDetailT_OrderHeaderID = {$prm['orderID']} AND JOIN t_test ON T_OrderDetailT_OrderHeaderID = {$prm['orderID']} AND
T_OrderDetailT_TestID = T_TestID AND T_OrderDetailT_TestID = T_TestID AND
T_OrderDetailIsActive = 'Y' T_OrderDetailIsActive = 'Y'
@@ -741,15 +738,15 @@ FROM
T_OrderDetailLastUpdatedUserID = {$userid}, T_OrderDetailLastUpdatedUserID = {$userid},
T_OrderDetailLastUpdated = NOW() T_OrderDetailLastUpdated = NOW()
"; ";
$this->db_onedev->query($sql);
// INSERT LOG $this->db_onedev->query($sql);
$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( // 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, AdditionalFisikLogType,
AdditionalFisikLogT_OrderHeaderID, AdditionalFisikLogT_OrderHeaderID,
AdditionalFisikLogJSONBefore, AdditionalFisikLogJSONBefore,
@@ -757,55 +754,48 @@ FROM
AdditionalFisikLogCreated, AdditionalFisikLogCreated,
AdditionalFisikLogUserID) AdditionalFisikLogUserID)
VALUES ('GLUCOSE','{$prm['orderID']}','{$x_data_before}','{$x_data_after}',now(),'{$userid}')"; VALUES ('GLUCOSE','{$prm['orderID']}','{$x_data_before}','{$x_data_after}',now(),'{$userid}')";
$querylog = $this->db_onedev->query($sqllog); $querylog = $this->db_onedev->query($sqllog);
}
} }
} }
}
$sql_bbtb = "SELECT $sql_bbtb = "SELECT
COUNT(T_SamplingSoID) AS total COUNT(T_SamplingSoID) AS total
FROM t_samplingso FROM t_samplingso
WHERE T_SamplingSoT_OrderHeaderID = ? WHERE T_SamplingSoT_OrderHeaderID = ?
AND T_SamplingSoT_TestID = '3450' AND T_SamplingSoT_TestID = '3450'
AND T_SamplingSoFlag = 'D' AND T_SamplingSoFlag = 'D'
AND T_SamplingSoDoneDate IS NOT NULL"; AND T_SamplingSoDoneDate IS NOT NULL";
$query_bbtb = $this->db_onedev->query($sql_bbtb, [$prm['orderID']]); $query_bbtb = $this->db_onedev->query($sql_bbtb, [$prm['orderID']]);
if (!$query_bbtb) { if (!$query_bbtb) {
$message = $this->db_onedev->error(); $message = $this->db_onedev->error();
$message['qry'] = $this->db_onedev->last_query(); $message['qry'] = $this->db_onedev->last_query();
$this->sys_error($message); $this->sys_error($message);
exit; exit;
} }
$sample_bbtb = $query_bbtb->row_array()['total']; $sample_bbtb = $query_bbtb->row_array()['total'];
$sql_order_bbtb = "SELECT $sql_order_bbtb = "SELECT
COUNT(T_OrderDetailID) AS total COUNT(T_OrderDetailID) AS total
FROM t_orderdetail FROM t_orderdetail
WHERE T_OrderDetailT_OrderHeaderID = ? WHERE T_OrderDetailT_OrderHeaderID = ?
AND T_OrderDetailT_TestID = '3450' AND T_OrderDetailT_TestID = '3450'
AND T_OrderDetailIsActive = 'Y'"; AND T_OrderDetailIsActive = 'Y'";
$query_order_bbtb = $this->db_onedev->query($sql_order_bbtb, [$prm['orderID']]); $query_order_bbtb = $this->db_onedev->query($sql_order_bbtb, [$prm['orderID']]);
if (!$query_order_bbtb) { if (!$query_order_bbtb) {
$message = $this->db_onedev->error(); $message = $this->db_onedev->error();
$message['qry'] = $this->db_onedev->last_query(); $message['qry'] = $this->db_onedev->last_query();
$this->sys_error($message); $this->sys_error($message);
exit; exit;
} }
$order_bbtb = $query_order_bbtb->row_array()['total']; $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) { if ($prm['T_SamplingAdditionalFisikBBTBID'] == 0) {
$sql = "INSERT INTO t_samplingso_additional_fisik_bbtb
$sql = "INSERT INTO t_samplingso_additional_fisik_bbtb
(T_SamplingAdditionalFisikBBTBT_OrderHeaderID, (T_SamplingAdditionalFisikBBTBT_OrderHeaderID,
T_SamplingAdditionalFisikBBTBValueBB, T_SamplingAdditionalFisikBBTBValueBB,
T_SamplingAdditionalFisikBBTBValueTB, T_SamplingAdditionalFisikBBTBValueTB,
@@ -822,21 +812,21 @@ FROM
'{$prm['T_SamplingAdditionalFisikBBTBBodyFat']}', '{$prm['T_SamplingAdditionalFisikBBTBBodyFat']}',
now(), now(),
'{$userid}')"; '{$userid}')";
$query = $this->db_onedev->query($sql); $query = $this->db_onedev->query($sql);
if (!$query) { if (!$query) {
$message = $this->db_onedev->error(); $message = $this->db_onedev->error();
$message['qry'] = $this->db_onedev->last_query(); $message['qry'] = $this->db_onedev->last_query();
$this->sys_error($message); $this->sys_error($message);
exit; exit;
} }
$T_SamplingAdditionalFisikBBTBID = $this->db_onedev->insert_id(); $T_SamplingAdditionalFisikBBTBID = $this->db_onedev->insert_id();
// INSERT LOG // INSERT LOG
$sql = $this->db_onedev->query("SELECT * FROM t_samplingso_additional_fisik_bbtb WHERE T_SamplingAdditionalFisikBBTBID = {$T_SamplingAdditionalFisikBBTBID} AND T_SamplingAdditionalFisikBBTBIsActive = 'Y'"); $sql = $this->db_onedev->query("SELECT * FROM t_samplingso_additional_fisik_bbtb WHERE T_SamplingAdditionalFisikBBTBID = {$T_SamplingAdditionalFisikBBTBID} AND T_SamplingAdditionalFisikBBTBIsActive = 'Y'");
$x_data_after = $sql->result_array(); $x_data_after = $sql->result_array();
$x_data_after = json_encode($x_data_after); $x_data_after = json_encode($x_data_after);
$sqllog = "INSERT INTO additionalfisik_log( $sqllog = "INSERT INTO additionalfisik_log(
AdditionalFisikLogType, AdditionalFisikLogType,
AdditionalFisikLogT_OrderHeaderID, AdditionalFisikLogT_OrderHeaderID,
AdditionalFisikLogJSONBefore, AdditionalFisikLogJSONBefore,
@@ -844,13 +834,12 @@ FROM
AdditionalFisikLogCreated, AdditionalFisikLogCreated,
AdditionalFisikLogUserID) AdditionalFisikLogUserID)
VALUES ('BBTB','{$prm['orderID']}','','{$x_data_after}',now(),'{$userid}')"; VALUES ('BBTB','{$prm['orderID']}','','{$x_data_after}',now(),'{$userid}')";
$querylog = $this->db_onedev->query($sqllog); $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'");
$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 = $sql->result_array(); $x_data_before = json_encode($x_data_before);
$x_data_before = json_encode($x_data_before); $sql = "UPDATE t_samplingso_additional_fisik_bbtb
$sql = "UPDATE t_samplingso_additional_fisik_bbtb
SET T_SamplingAdditionalFisikBBTBValueBB = '{$prm['T_SamplingAdditionalFisikBBTBValueBB']}', SET T_SamplingAdditionalFisikBBTBValueBB = '{$prm['T_SamplingAdditionalFisikBBTBValueBB']}',
T_SamplingAdditionalFisikBBTBValueTB = '{$prm['T_SamplingAdditionalFisikBBTBValueTB']}', T_SamplingAdditionalFisikBBTBValueTB = '{$prm['T_SamplingAdditionalFisikBBTBValueTB']}',
T_SamplingAdditionalFisikBBTBValueClassification = '{$prm['T_SamplingAdditionalFisikBBTBValueClassification']}', T_SamplingAdditionalFisikBBTBValueClassification = '{$prm['T_SamplingAdditionalFisikBBTBValueClassification']}',
@@ -859,19 +848,19 @@ FROM
T_SamplingAdditionalFisikBBTBLastUpdated = now(), T_SamplingAdditionalFisikBBTBLastUpdated = now(),
T_SamplingAdditionalFisikBBTBLastUpdatedUserID = '{$userid}' T_SamplingAdditionalFisikBBTBLastUpdatedUserID = '{$userid}'
WHERE T_SamplingAdditionalFisikBBTBID = '{$prm['T_SamplingAdditionalFisikBBTBID']}'"; WHERE T_SamplingAdditionalFisikBBTBID = '{$prm['T_SamplingAdditionalFisikBBTBID']}'";
$query = $this->db_onedev->query($sql); $query = $this->db_onedev->query($sql);
if (!$query) { if (!$query) {
$message = $this->db_onedev->error(); $message = $this->db_onedev->error();
$message['qry'] = $this->db_onedev->last_query(); $message['qry'] = $this->db_onedev->last_query();
$this->sys_error($message); $this->sys_error($message);
exit; exit;
} }
// INSERT LOG // INSERT LOG
$sql = $this->db_onedev->query("SELECT * FROM t_samplingso_additional_fisik_bbtb WHERE T_SamplingAdditionalFisikBBTBID = {$prm['T_SamplingAdditionalFisikBBTBID']} AND T_SamplingAdditionalFisikBBTBIsActive = 'Y'"); $sql = $this->db_onedev->query("SELECT * FROM t_samplingso_additional_fisik_bbtb WHERE T_SamplingAdditionalFisikBBTBID = {$prm['T_SamplingAdditionalFisikBBTBID']} AND T_SamplingAdditionalFisikBBTBIsActive = 'Y'");
$x_data_after = $sql->result_array(); $x_data_after = $sql->result_array();
$x_data_after = json_encode($x_data_after); $x_data_after = json_encode($x_data_after);
$sqllog = "INSERT INTO additionalfisik_log( $sqllog = "INSERT INTO additionalfisik_log(
AdditionalFisikLogType, AdditionalFisikLogType,
AdditionalFisikLogT_OrderHeaderID, AdditionalFisikLogT_OrderHeaderID,
AdditionalFisikLogJSONBefore, AdditionalFisikLogJSONBefore,
@@ -879,47 +868,47 @@ FROM
AdditionalFisikLogCreated, AdditionalFisikLogCreated,
AdditionalFisikLogUserID) AdditionalFisikLogUserID)
VALUES ('BBTB','{$prm['orderID']}','{$x_data_before}','{$x_data_after}',now(),'{$userid}')"; VALUES ('BBTB','{$prm['orderID']}','{$x_data_before}','{$x_data_after}',now(),'{$userid}')";
$querylog = $this->db_onedev->query($sqllog); $querylog = $this->db_onedev->query($sqllog);
}
} }
}
$sql_bw = "SELECT
$sql_bw = "SELECT
COUNT(T_SamplingSoID) AS total COUNT(T_SamplingSoID) AS total
FROM t_samplingso FROM t_samplingso
WHERE T_SamplingSoT_OrderHeaderID = ? WHERE T_SamplingSoT_OrderHeaderID = ?
AND T_SamplingSoT_TestID = '2573' AND T_SamplingSoT_TestID = '2573'
AND T_SamplingSoFlag = 'D' AND T_SamplingSoFlag = 'D'
AND T_SamplingSoDoneDate IS NOT NULL"; AND T_SamplingSoDoneDate IS NOT NULL";
$query_bw = $this->db_onedev->query($sql_bw, [$prm['orderID']]); $query_bw = $this->db_onedev->query($sql_bw, [$prm['orderID']]);
if (!$query_bw) { if (!$query_bw) {
$message = $this->db_onedev->error(); $message = $this->db_onedev->error();
$message['qry'] = $this->db_onedev->last_query(); $message['qry'] = $this->db_onedev->last_query();
$this->sys_error($message); $this->sys_error($message);
exit; exit;
} }
$sample_bw = $query_bw->row_array()['total']; $sample_bw = $query_bw->row_array()['total'];
$sql_order_bw = "SELECT $sql_order_bw = "SELECT
COUNT(T_OrderDetailID) AS total COUNT(T_OrderDetailID) AS total
FROM t_orderdetail FROM t_orderdetail
WHERE T_OrderDetailT_OrderHeaderID = ? WHERE T_OrderDetailT_OrderHeaderID = ?
AND T_OrderDetailT_TestID = '2573' AND T_OrderDetailT_TestID = '2573'
AND T_OrderDetailIsActive = 'Y'"; AND T_OrderDetailIsActive = 'Y'";
$query_order_bw = $this->db_onedev->query($sql_order_bw, [$prm['orderID']]); $query_order_bw = $this->db_onedev->query($sql_order_bw, [$prm['orderID']]);
if (!$query_order_bw) { if (!$query_order_bw) {
$message = $this->db_onedev->error(); $message = $this->db_onedev->error();
$message['qry'] = $this->db_onedev->last_query(); $message['qry'] = $this->db_onedev->last_query();
$this->sys_error($message); $this->sys_error($message);
exit; exit;
} }
$order_bw = $query_order_bw->row_array()['total']; $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) { if ($prm['T_SamplingAdditionalFisikBWID'] == 0) {
$sql = "INSERT INTO t_samplingso_additional_fisik_bw $sql = "INSERT INTO t_samplingso_additional_fisik_bw
(T_SamplingAdditionalFisikBWT_OrderHeaderID, (T_SamplingAdditionalFisikBWT_OrderHeaderID,
T_SamplingAdditionalFisikBWPWValue, T_SamplingAdditionalFisikBWPWValue,
T_SamplingAdditionalFisikBWPWVAngka, T_SamplingAdditionalFisikBWPWVAngka,
@@ -932,21 +921,21 @@ FROM
'{$prm['T_SamplingAdditionalFisikBWPWKeterangan']}', '{$prm['T_SamplingAdditionalFisikBWPWKeterangan']}',
now(), now(),
'{$userid}')"; '{$userid}')";
$query = $this->db_onedev->query($sql); $query = $this->db_onedev->query($sql);
if (!$query) { if (!$query) {
$message = $this->db_onedev->error(); $message = $this->db_onedev->error();
$message['qry'] = $this->db_onedev->last_query(); $message['qry'] = $this->db_onedev->last_query();
$this->sys_error($message); $this->sys_error($message);
exit; exit;
} }
$T_SamplingAdditionalFisikBWID = $this->db_onedev->insert_id(); $T_SamplingAdditionalFisikBWID = $this->db_onedev->insert_id();
// INSERT LOG // INSERT LOG
$sql = $this->db_onedev->query("SELECT * FROM t_samplingso_additional_fisik_bw WHERE T_SamplingAdditionalFisikBWID = {$T_SamplingAdditionalFisikBWID}"); $sql = $this->db_onedev->query("SELECT * FROM t_samplingso_additional_fisik_bw WHERE T_SamplingAdditionalFisikBWID = {$T_SamplingAdditionalFisikBWID}");
$x_data_after = $sql->result_array(); $x_data_after = $sql->result_array();
$x_data_after = json_encode($x_data_after); $x_data_after = json_encode($x_data_after);
$sqllog = "INSERT INTO additionalfisik_log( $sqllog = "INSERT INTO additionalfisik_log(
AdditionalFisikLogType, AdditionalFisikLogType,
AdditionalFisikLogT_OrderHeaderID, AdditionalFisikLogT_OrderHeaderID,
AdditionalFisikLogJSONBefore, AdditionalFisikLogJSONBefore,
@@ -954,33 +943,32 @@ FROM
AdditionalFisikLogCreated, AdditionalFisikLogCreated,
AdditionalFisikLogUserID) AdditionalFisikLogUserID)
VALUES ('BW','{$prm['orderID']}','','{$x_data_after}',now(),'{$userid}')"; VALUES ('BW','{$prm['orderID']}','','{$x_data_after}',now(),'{$userid}')";
$querylog = $this->db_onedev->query($sqllog); $querylog = $this->db_onedev->query($sqllog);
} 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);
} else{ $sql = "UPDATE t_samplingso_additional_fisik_bw
$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);
$sql = "UPDATE t_samplingso_additional_fisik_bw
SET T_SamplingAdditionalFisikBWPWValue = '{$prm['T_SamplingAdditionalFisikBWPWValue']}', SET T_SamplingAdditionalFisikBWPWValue = '{$prm['T_SamplingAdditionalFisikBWPWValue']}',
T_SamplingAdditionalFisikBWPWVAngka = '{$prm['T_SamplingAdditionalFisikBWPWVAngka']}', T_SamplingAdditionalFisikBWPWVAngka = '{$prm['T_SamplingAdditionalFisikBWPWVAngka']}',
T_SamplingAdditionalFisikBWPWKeterangan = '{$prm['T_SamplingAdditionalFisikBWPWKeterangan']}', T_SamplingAdditionalFisikBWPWKeterangan = '{$prm['T_SamplingAdditionalFisikBWPWKeterangan']}',
T_SamplingAdditionalFisikBWLastUpdated = now(), T_SamplingAdditionalFisikBWLastUpdated = now(),
T_SamplingAdditionalFisikBWLastUpdatedUserID = '{$userid}' T_SamplingAdditionalFisikBWLastUpdatedUserID = '{$userid}'
WHERE T_SamplingAdditionalFisikBWID = '{$prm['T_SamplingAdditionalFisikBWID']}'"; WHERE T_SamplingAdditionalFisikBWID = '{$prm['T_SamplingAdditionalFisikBWID']}'";
$query = $this->db_onedev->query($sql); $query = $this->db_onedev->query($sql);
if (!$query) { if (!$query) {
$message = $this->db_onedev->error(); $message = $this->db_onedev->error();
$message['qry'] = $this->db_onedev->last_query(); $message['qry'] = $this->db_onedev->last_query();
$this->sys_error($message); $this->sys_error($message);
exit; exit;
} }
// INSERT LOG // INSERT LOG
$sql = $this->db_onedev->query("SELECT * FROM t_samplingso_additional_fisik_bw WHERE T_SamplingAdditionalFisikBWID = {$prm['T_SamplingAdditionalFisikBWID']}"); $sql = $this->db_onedev->query("SELECT * FROM t_samplingso_additional_fisik_bw WHERE T_SamplingAdditionalFisikBWID = {$prm['T_SamplingAdditionalFisikBWID']}");
$x_data_after = $sql->result_array(); $x_data_after = $sql->result_array();
$x_data_after = json_encode($x_data_after); $x_data_after = json_encode($x_data_after);
$sqllog = "INSERT INTO additionalfisik_log( $sqllog = "INSERT INTO additionalfisik_log(
AdditionalFisikLogType, AdditionalFisikLogType,
AdditionalFisikLogT_OrderHeaderID, AdditionalFisikLogT_OrderHeaderID,
AdditionalFisikLogJSONBefore, AdditionalFisikLogJSONBefore,
@@ -988,46 +976,46 @@ FROM
AdditionalFisikLogCreated, AdditionalFisikLogCreated,
AdditionalFisikLogUserID) AdditionalFisikLogUserID)
VALUES ('BW','{$prm['orderID']}','{$x_data_before}','{$x_data_after}',now(),'{$userid}')"; VALUES ('BW','{$prm['orderID']}','{$x_data_before}','{$x_data_after}',now(),'{$userid}')";
$querylog = $this->db_onedev->query($sqllog); $querylog = $this->db_onedev->query($sqllog);
}
} }
}
$sql_visus = "SELECT
$sql_visus = "SELECT
COUNT(T_SamplingSoID) AS total COUNT(T_SamplingSoID) AS total
FROM t_samplingso FROM t_samplingso
WHERE T_SamplingSoT_OrderHeaderID = ? WHERE T_SamplingSoT_OrderHeaderID = ?
AND T_SamplingSoT_TestID = '2571' AND T_SamplingSoT_TestID = '2571'
AND T_SamplingSoFlag = 'D' AND T_SamplingSoFlag = 'D'
AND T_SamplingSoDoneDate IS NOT NULL"; AND T_SamplingSoDoneDate IS NOT NULL";
$query_visus = $this->db_onedev->query($sql_visus, [$prm['orderID']]); $query_visus = $this->db_onedev->query($sql_visus, [$prm['orderID']]);
if (!$query_visus) { if (!$query_visus) {
$message = $this->db_onedev->error(); $message = $this->db_onedev->error();
$message['qry'] = $this->db_onedev->last_query(); $message['qry'] = $this->db_onedev->last_query();
$this->sys_error($message); $this->sys_error($message);
exit; exit;
} }
$sample_visus = $query_visus->row_array()['total']; $sample_visus = $query_visus->row_array()['total'];
$sql_order_visus = "SELECT $sql_order_visus = "SELECT
COUNT(T_OrderDetailID) AS total COUNT(T_OrderDetailID) AS total
FROM t_orderdetail FROM t_orderdetail
WHERE T_OrderDetailT_OrderHeaderID = ? WHERE T_OrderDetailT_OrderHeaderID = ?
AND T_OrderDetailT_TestID = '2571' AND T_OrderDetailT_TestID = '2571'
AND T_OrderDetailIsActive = 'Y'"; AND T_OrderDetailIsActive = 'Y'";
$query_order_visus = $this->db_onedev->query($sql_order_visus, [$prm['orderID']]); $query_order_visus = $this->db_onedev->query($sql_order_visus, [$prm['orderID']]);
if (!$query_order_visus) { if (!$query_order_visus) {
$message = $this->db_onedev->error(); $message = $this->db_onedev->error();
$message['qry'] = $this->db_onedev->last_query(); $message['qry'] = $this->db_onedev->last_query();
$this->sys_error($message); $this->sys_error($message);
exit; exit;
} }
$order_visus = $query_order_visus->row_array()['total']; $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) { if ($prm['T_SamplingAdditionalFisikVisusID'] == 0) {
$sql = "INSERT INTO t_samplingso_additional_fisik_visus $sql = "INSERT INTO t_samplingso_additional_fisik_visus
(T_SamplingAdditionalFisikVisusT_OrderHeaderID, (T_SamplingAdditionalFisikVisusT_OrderHeaderID,
T_SamplingAdditionalFisikVisusTKODV, T_SamplingAdditionalFisikVisusTKODV,
T_SamplingAdditionalFisikVisusTKOSV, T_SamplingAdditionalFisikVisusTKOSV,
@@ -1060,20 +1048,20 @@ FROM
'{$prm['T_SamplingAdditionalFisikVisusKiriKesimpulan']}', '{$prm['T_SamplingAdditionalFisikVisusKiriKesimpulan']}',
now(), now(),
'{$userid}')"; '{$userid}')";
$query = $this->db_onedev->query($sql); $query = $this->db_onedev->query($sql);
if (!$query) { if (!$query) {
$message = $this->db_onedev->error(); $message = $this->db_onedev->error();
$message['qry'] = $this->db_onedev->last_query(); $message['qry'] = $this->db_onedev->last_query();
$this->sys_error($message); $this->sys_error($message);
exit; exit;
} }
$T_SamplingAdditionalFisikVisusID = $this->db_onedev->insert_id(); $T_SamplingAdditionalFisikVisusID = $this->db_onedev->insert_id();
// INSERT LOG // INSERT LOG
$sql = $this->db_onedev->query("SELECT * FROM t_samplingso_additional_fisik_visus WHERE T_SamplingAdditionalFisikVisusID = {$T_SamplingAdditionalFisikVisusID} AND T_SamplingAdditionalFisikVisusIsActive = 'Y'"); $sql = $this->db_onedev->query("SELECT * FROM t_samplingso_additional_fisik_visus WHERE T_SamplingAdditionalFisikVisusID = {$T_SamplingAdditionalFisikVisusID} AND T_SamplingAdditionalFisikVisusIsActive = 'Y'");
$x_data_after = $sql->result_array(); $x_data_after = $sql->result_array();
$x_data_after = json_encode($x_data_after); $x_data_after = json_encode($x_data_after);
$sqllog = "INSERT INTO additionalfisik_log( $sqllog = "INSERT INTO additionalfisik_log(
AdditionalFisikLogType, AdditionalFisikLogType,
AdditionalFisikLogT_OrderHeaderID, AdditionalFisikLogT_OrderHeaderID,
AdditionalFisikLogJSONBefore, AdditionalFisikLogJSONBefore,
@@ -1081,12 +1069,12 @@ FROM
AdditionalFisikLogCreated, AdditionalFisikLogCreated,
AdditionalFisikLogUserID) AdditionalFisikLogUserID)
VALUES ('VISUS','{$prm['orderID']}','','{$x_data_after}',now(),'{$userid}')"; VALUES ('VISUS','{$prm['orderID']}','','{$x_data_after}',now(),'{$userid}')";
$querylog = $this->db_onedev->query($sqllog); $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'"); $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 = $sql->result_array();
$x_data_before = json_encode($x_data_before); $x_data_before = json_encode($x_data_before);
$sql = "UPDATE t_samplingso_additional_fisik_visus $sql = "UPDATE t_samplingso_additional_fisik_visus
SET T_SamplingAdditionalFisikVisusTKODV = '{$prm['T_SamplingAdditionalFisikVisusTKODV']}', SET T_SamplingAdditionalFisikVisusTKODV = '{$prm['T_SamplingAdditionalFisikVisusTKODV']}',
T_SamplingAdditionalFisikVisusTKOSV = '{$prm['T_SamplingAdditionalFisikVisusTKOSV']}', T_SamplingAdditionalFisikVisusTKOSV = '{$prm['T_SamplingAdditionalFisikVisusTKOSV']}',
T_SamplingAdditionalFisikVisusDKODV = '{$prm['T_SamplingAdditionalFisikVisusDKODV']}', T_SamplingAdditionalFisikVisusDKODV = '{$prm['T_SamplingAdditionalFisikVisusDKODV']}',
@@ -1103,20 +1091,20 @@ FROM
T_SamplingAdditionalFisikVisusLastUpdated = now(), T_SamplingAdditionalFisikVisusLastUpdated = now(),
T_SamplingAdditionalFisikVisusLastUpdatedUserID = '{$userid}' T_SamplingAdditionalFisikVisusLastUpdatedUserID = '{$userid}'
WHERE T_SamplingAdditionalFisikVisusID = '{$prm['T_SamplingAdditionalFisikVisusID']}'"; WHERE T_SamplingAdditionalFisikVisusID = '{$prm['T_SamplingAdditionalFisikVisusID']}'";
// echo $sql; // echo $sql;
$query = $this->db_onedev->query($sql); $query = $this->db_onedev->query($sql);
if (!$query) { if (!$query) {
$message = $this->db_onedev->error(); $message = $this->db_onedev->error();
$message['qry'] = $this->db_onedev->last_query(); $message['qry'] = $this->db_onedev->last_query();
$this->sys_error($message); $this->sys_error($message);
exit; exit;
} }
// INSERT LOG // INSERT LOG
$sql = $this->db_onedev->query("SELECT * FROM t_samplingso_additional_fisik_visus WHERE T_SamplingAdditionalFisikVisusID = {$prm['T_SamplingAdditionalFisikVisusID']} AND T_SamplingAdditionalFisikVisusIsActive = 'Y'"); $sql = $this->db_onedev->query("SELECT * FROM t_samplingso_additional_fisik_visus WHERE T_SamplingAdditionalFisikVisusID = {$prm['T_SamplingAdditionalFisikVisusID']} AND T_SamplingAdditionalFisikVisusIsActive = 'Y'");
$x_data_after = $sql->result_array(); $x_data_after = $sql->result_array();
$x_data_after = json_encode($x_data_after); $x_data_after = json_encode($x_data_after);
$sqllog = "INSERT INTO additionalfisik_log( $sqllog = "INSERT INTO additionalfisik_log(
AdditionalFisikLogType, AdditionalFisikLogType,
AdditionalFisikLogT_OrderHeaderID, AdditionalFisikLogT_OrderHeaderID,
AdditionalFisikLogJSONBefore, AdditionalFisikLogJSONBefore,
@@ -1124,36 +1112,146 @@ FROM
AdditionalFisikLogCreated, AdditionalFisikLogCreated,
AdditionalFisikLogUserID) AdditionalFisikLogUserID)
VALUES ('VISUS','{$prm['orderID']}','{$x_data_before}','{$x_data_after}',now(),'{$userid}')"; VALUES ('VISUS','{$prm['orderID']}','{$x_data_before}','{$x_data_after}',now(),'{$userid}')";
$querylog = $this->db_onedev->query($sqllog); $querylog = $this->db_onedev->query($sqllog);
} }
}
if($sample_bbtb == 0 && $order_bbtb > 0) {
$messages_log[] = "BB TB";
}
if($sample_bw == 0 && $order_bw > 0) {
$messages_log[] = "Buta Warna ";
}
if($sample_gluc == 0 && $order_gluc > 0) {
$messages_log[] = "Gula darah";
}
if($sample_visus == 0 && $order_visus > 0) {
$messages_log[] = "Visus";
} }
if(count($messages_log) > 0) { if ($sample_bbtb == 0 && $order_bbtb > 0) {
$messages_log[] = "BB TB";
}
if ($sample_bw == 0 && $order_bw > 0) {
$messages_log[] = "Buta Warna ";
}
if ($sample_gluc == 0 && $order_gluc > 0) {
$messages_log[] = "Gula darah";
}
if ($sample_visus == 0 && $order_visus > 0) {
$messages_log[] = "Visus";
}
if (count($messages_log) > 0) {
$message .= implode(" , ", $messages_log); $message .= implode(" , ", $messages_log);
$result = array("message" => "Belum sampling " . $message); $result = array("message" => "Belum sampling " . $message);
}else{ } else {
$result = array("message" => "Data berhasil disimpan"); $result = array("message" => "Data berhasil disimpan");
} }
$this->sys_ok($result); $this->sys_ok($result);
} catch (Exception $exc) {
} catch (Exception $exc) { $message = $exc->getMessage();
$message = $exc->getMessage(); $this->sys_error($message);
$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);
}
} }
function getlab($id, $isApi) function getlab($id, $isApi)
{ {