Compare commits

..

No commits in common. "main" and "composer-prod" have entirely different histories.

6 changed files with 86 additions and 147 deletions

View File

@ -71,9 +71,9 @@ class ApiController extends BaseController {
$total_simpan_non = count($decrypted_data['result_data']);
$total_simpan_non = strval($total_simpan_non);
// Digunakna untuk memfilter data
$decrypted_data = $this->filterData($decrypted_data);
$sn_number = $decrypted_data['sn_number'];
$timezone = 7;
$total_simpan_filter = count($decrypted_data['result_data']);
$total_simpan_filter = strval($total_simpan_filter);
@ -86,8 +86,6 @@ class ApiController extends BaseController {
$patresFlagValues = [];
$flagdefCache = [];
$now = date('Y-m-d H:i:s');
// Proses setiap item dalam data yang diterima
foreach ($decrypted_data['result_data'] as $key => $value) {
$SAMP_ID = $value['SAMP_ID'];
@ -96,27 +94,19 @@ class ApiController extends BaseController {
// $CONC_DATA = isset($value['CONC_DATA']) ? $value['CONC_DATA'] : null;
// $OD_DATA = isset($value['OD_DATA']) ? $value['OD_DATA'] : null;
// Jika tidak ada nilai, set sebagai NULL
// $CONC_DATA = isset($value['CONC_DATA']) ? "'".$value['CONC_DATA']."'" : 'NULL';
// $OD_DATA = isset($value['OD_DATA']) ? "'".$value['OD_DATA']."'" : 'NULL';
// DOUBLE — harus numeric literal / NULL (tidak boleh string)
$CONC_DATA = (isset($value['CONC_DATA']) && $value['CONC_DATA'] !== '')
? floatval($value['CONC_DATA'])
: 'NULL';
$OD_DATA = (isset($value['OD_DATA']) && $value['OD_DATA'] !== '')
? floatval($value['OD_DATA'])
: 'NULL';
$CONC_DATA = isset($value['CONC_DATA']) ? "'".$value['CONC_DATA']."'" : 'NULL';
$OD_DATA = isset($value['OD_DATA']) ? "'".$value['OD_DATA']."'" : 'NULL';
$RST_DATE = $value['RST_DATE'];
$RST_DATE = date("Y-m-d H:i:s.v", strtotime($RST_DATE) - $timezone * 3600); // Ubah je Timezone tertentu
$FLAG = $value['Flag'];
$REACTION_NO = $value['ReactionNo'];
$DIL_ORD = $value['DIL_ORD'];
// Input ke Tabel PATRES - Input Satu Persatu
$sql = "INSERT INTO patres (EquipmentID, SampleID, TestTechCode, Aspcnt, Result, ResultDateTime, createdate)
VALUES ('$sn_number', '$SAMP_ID', '$ITEM_NAME', $ASP_CNT, $CONC_DATA, '$RST_DATE', '$now')";
VALUES ('$sn_number', '$SAMP_ID', '$ITEM_NAME', $ASP_CNT, $CONC_DATA, '$RST_DATE', NOW())";
$db->query($sql);
$patres_lastid = $db->insertID();
@ -139,7 +129,7 @@ class ApiController extends BaseController {
} else {
// Insert Data ke Tabel Flagdef
$sql = "INSERT INTO flagdef (Instrumentid, Flag, flagtext, FlagDesc, onscreen, onresult, createdate)
VALUES (1, '$FLAG', '$FLAG', '', 1, 1, '$now')";
VALUES (1, '$FLAG', '$FLAG', '', 1, 1, NOW())";
$db->query($sql);
// Ambil FlagDefID baru
@ -178,14 +168,15 @@ class ApiController extends BaseController {
$db->transComplete();
// Cek status transaksi
if (! $db->transStatus()) {
if ($db->transStatus() === FALSE) {
$db->transRollback();
// return $this->respond(['message' => 'Server tidak menyimpan data anda, dikarenakan terjadi kesalahan saat memproses data.'], 500);
return $this->respond(['message' => $db->error()], 500);
} else {
$db->transCommit();
return $this->respond(['message' => "Menyimpan ". $total_simpan_filter . " dari " . $total_simpan_non ." data, Data berhasil diproses."], 201);
}
}
// Digunakan Untuk Memfilter Data Valid dan Tidak Valid

View File

@ -56,53 +56,33 @@ class Equipment extends BaseController {
$query = $db->query($sql);
$results = $query->getResultArray();
$data['testcount'] = $results[0]['testcount'];
$timezone = 7;
if ($timezone == 7) {
$data['timezone'] = "WIB";
} else if ($timezone == 8) {
$data['timezone'] = "WITA";
} else if ($timezone == 9) {
$data['timezone'] = "WIT";
} else {
$data['timezone'] = "";
}
$sql = "SELECT
DATEDIFF(
MAX(ResultDateTime + INTERVAL $timezone HOUR),
MIN(ResultDateTime + INTERVAL $timezone HOUR)
) AS days,
MIN(ResultDateTime + INTERVAL $timezone HOUR) AS firstdate,
MAX(ResultDateTime + INTERVAL $timezone HOUR) AS lastdate
FROM patres
WHERE EquipmentID = '$EquipmentID'";
$sql = "SELECT DATEDIFF(
MAX(ResultDateTime),
MIN(ResultDateTime)) as days,
MIN(ResultDateTime) as firstdate,
MAX(ResultDateTime) as lastdate
FROM patres
WHERE EquipmentID='$EquipmentID';";
$query = $db->query($sql);
$results = $query->getResultArray();
$data['days'] = $results[0]['days'];
$data['firstdate'] = $results[0]['firstdate'];
$data['lastdate'] = $results[0]['lastdate'];
$sql = "SELECT
YEAR(ResultDateTime + INTERVAL 7 HOUR) AS year,
MONTH(ResultDateTime + INTERVAL 7 HOUR) AS month,
COUNT(*) AS count
FROM patres
WHERE EquipmentID = '$EquipmentID'
GROUP BY
YEAR(ResultDateTime + INTERVAL 7 HOUR),
MONTH(ResultDateTime + INTERVAL 7 HOUR)
ORDER BY
YEAR(ResultDateTime + INTERVAL 7 HOUR),
MONTH(ResultDateTime + INTERVAL 7 HOUR)";
$sql = "SELECT YEAR(ResultDateTime) AS year, MONTH(ResultDateTime) AS month, COUNT(*) AS count
FROM patres
WHERE EquipmentID = '$EquipmentID'
GROUP BY YEAR(ResultDateTime), MONTH(ResultDateTime)
ORDER BY YEAR(ResultDateTime), MONTH(ResultDateTime);";
$query = $db->query($sql);
$results = $query->getResultArray();
$data['counts'] = $results;
$sql = "SELECT SampleID, TestTechCode, Result, ResultDateTime + INTERVAL $timezone HOUR AS ResultDateTime, CreateDate + INTERVAL $timezone HOUR AS CreateDate FROM patres
$sql = "SELECT SampleID,TestTechCode,Result,ResultDateTime,CreateDate FROM patres
WHERE EquipmentID='$EquipmentID'
ORDER BY ResultID DESC
LIMIT 2000";
LIMIT 3000";
$query = $db->query($sql);
$results = $query->getResultArray();
$data['testData'] = $results;

View File

@ -8,8 +8,7 @@ class Home extends BaseController {
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'services-summit.my.id/api/getProductSites', //PROD
// CURLOPT_URL => 'https://services-summit.my.id/api/getProductSites', //DEV
CURLOPT_URL => 'services-summit.my.id/api/getProductSites',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
@ -39,64 +38,48 @@ class Home extends BaseController {
];
// Mengelompokkan Data Khusus 1024i
}
// else if ($item["productaliasid"] == 18) {
// $productList1024i[] = [
// "productaliasid" => $item["productaliasid"],
// "productnumber" => $item["productnumber"],
// "sitename" => $item["sitename"]
// ];
} else if ($item["productaliasid"] == 18) {
$productList1024i[] = [
"productaliasid" => $item["productaliasid"],
"productnumber" => $item["productnumber"],
"sitename" => $item["sitename"]
];
// // Mengelompokkan Data Khusus 24i
// } else if ($item["productaliasid"] == 19) {
// $productList24i[] = [
// "productaliasid" => $item["productaliasid"],
// "productnumber" => $item["productnumber"],
// "sitename" => $item["sitename"]
// ];
// Mengelompokkan Data Khusus 24i
} else if ($item["productaliasid"] == 19) {
$productList24i[] = [
"productaliasid" => $item["productaliasid"],
"productnumber" => $item["productnumber"],
"sitename" => $item["sitename"]
];
// // Mengelompokkan Data Khusus 50i
// } else if ($item["productaliasid"] == 21) {
// $productList50i[] = [
// "productaliasid" => $item["productaliasid"],
// "productnumber" => $item["productnumber"],
// "sitename" => $item["sitename"]
// ];
// } else {
// $productList30i = null;
// $productList1024i = null;
// $productList24i = null;
// $productList50i = null;
// }
// Mengelompokkan Data Khusus 50i
} else if ($item["productaliasid"] == 21) {
$productList50i[] = [
"productaliasid" => $item["productaliasid"],
"productnumber" => $item["productnumber"],
"sitename" => $item["sitename"]
];
} else {
$productList30i = null;
$productList1024i = null;
$productList24i = null;
$productList50i = null;
}
}
$timezone = 7;
if ($timezone == 7) {
$data['timezone'] = "WIB";
} else if ($timezone == 8) {
$data['timezone'] = "WITA";
} else if ($timezone == 9) {
$data['timezone'] = "WIT";
} else {
$data['timezone'] = "";
}
$sql = "SELECT EquipmentID, COUNT(*) AS patresCount,
DATE_ADD(MAX(ResultDateTime), INTERVAL $timezone HOUR) AS lastResultDate
$sql = "SELECT EquipmentID, COUNT(*) AS patresCount, MAX(ResultDateTime) AS lastResultDate
FROM patres
GROUP BY EquipmentID
ORDER BY patresCount DESC";
$query = $db->query($sql);
ORDER By patresCount DESC";
$query = $db->query($sql);
$results = $query->getResultArray();
// siapkan variabel dulu biar tidak "undefined variable"
$tms30i = [];
// Menyamakan Data CRM dan CLQMS Berdasarkan SN Number
if (!empty($results) && !empty($productList30i)) {
foreach ($results as $itemDB) {
foreach ($productList30i as $itemCRM) {
foreach ($results as $itemDB) {
foreach ($productList30i as $itemCRM) {
if ($itemDB['EquipmentID'] == $itemCRM['productnumber']) {
// echo "<br>Product Alias ID CRM: " . $itemCRM["productaliasid"] . "<br>";
// echo "Product Number: " . $itemCRM["productnumber"] . "<br>";
// echo "Site Name: " . $itemCRM["sitename"] . "<br><br>";
@ -104,25 +87,23 @@ class Home extends BaseController {
// echo "Product Number: " . $itemDB["patresCount"] . "<br>";
// echo "Site Name: " . $itemDB["lastResultDate"] . "<br><br>";
// echo "----------------------------<br><br>";
if ($itemDB['EquipmentID'] == $itemCRM['productnumber']) {
$tms30i[] = [
"productaliasid" => $itemCRM["productaliasid"],
"EquipmentID" => $itemDB["EquipmentID"],
"sitename" => $itemCRM["sitename"],
"patresCount" => $itemDB["patresCount"],
"lastResultDate" => $itemDB["lastResultDate"],
];
}
$tms30i[] = [
"productaliasid" => $itemCRM["productaliasid"],
"EquipmentID" => $itemDB["EquipmentID"],
"sitename" => $itemCRM["sitename"],
"patresCount" => $itemDB["patresCount"],
"lastResultDate" => $itemDB["lastResultDate"]
];
}
}
}
// kalau tidak ada data, $tms30i akan tetap berupa array kosong []
$data['tms30i'] = $tms30i ?? [];
$data['tms30i'] = $tms30i;
return view('home_dashboard.php', $data);
}
}

View File

@ -48,7 +48,19 @@
<div class="card shadow-none">
<div class="card-header">
-
<?php if ($EquipmentID == '6011310722') : ?>
<div class="fw-bold">National Hospital Surabaya<span class="float-end p-0">TMS 30i &nbsp;<i class="bi bi-pc-display-horizontal"></i></span></div>
<?php elseif ($EquipmentID == '6015090124') : ?>
<div class="fw-bold">Persada Hospital</div>
<?php elseif ($EquipmentID == '6011320722') : ?>
<div class="fw-bold">RS Mardi Rahayu Kudus</div>
<?php elseif ($EquipmentID == '6005840519') : ?>
<div class="fw-bold">RS dr. Oen Kandang Sapi Solo</div>
<?php elseif ($EquipmentID == '6006100619') : ?>
<div class="fw-bold">RS Permata Cibubur</div>
<?php elseif ($EquipmentID == '6015560324') : ?>
<div class="fw-bold">ScanMe Labs Jakarta Kelapa Gading</div>
<?php endif; ?>
</div>
<div class="card-body p-4">
@ -137,10 +149,10 @@
<div class="col-12 mb-3">
<div class="row text-center p-2 mt-1">
<div class="col-12 col-md-6">
Tanggal Awal : <span class="fw-bold"><?=$formatedFirstDate;?> (<?=$timezone;?>)</span>
Tanggal Awal : <span class="fw-bold"><?=$formatedFirstDate;?></span>
</div>
<div class="col-12 col-md-6">
Tanggal Akhir : <span class="fw-bold"><?=$formatedLastDate;?> (<?=$timezone;?>)</span>
Tanggal Akhir : <span class="fw-bold"><?=$formatedLastDate;?></span>
</div>
</div>
</div>
@ -164,8 +176,8 @@
<th scope="col">Sample ID</th>
<th scope="col">Test Code</th>
<th scope="col">Result</th>
<th scope="col">Result Date (<?=$timezone;?>)</th>
<th scope="col">Create Date (<?=$timezone;?>)</th>
<th scope="col">Result Date</th>
<th scope="col">Create Date</th>
</thead>
<tbody>

View File

@ -219,7 +219,7 @@
<?php
$dateObject = new DateTime($value['lastResultDate']);
$formattedDate = $dateObject->format('D, d M Y - H:i:s.v');
echo($formattedDate." (". $timezone .")");
echo($formattedDate);
?>
</em>
</footer>

View File

@ -1,25 +0,0 @@
Setelah Di Dekripsi :
{
"instnumber": "ProductNumber",
"pr_key": "HKQOs6W3thfaCarLK",
"result_data": [
{
"SAMP_ID": "202308080600101",
"ITEM_NAME": "TEST3438",
"ASP_CNT": 1,
"CONC_DATA": 0.0,
"OD_DATA": -0.001560902221253245,
"RST_DATE": "2023-08-08 12:22:08",
"Flag": null,
"ReactionNo": 1,
"DIL_ORD": 0
}
]
}
Sebelum Di Dekripsi :
{
"instrument_data": "yOLvBGUP8oBMJKJaxCefOd/Qp8XCbBTEqTQqyQUH0xiQYiUZwLioxBPYSSzH1nMbiHRx0m7D4uUmTh4Y9XRZFvUYnnPaCcU9kcddBN74cCZDBxAiVhd4n7YtLwPoQBfcuiM4cvZ6LA7giBHCIndnCuTNl3IV+VgaA6Dw/XCkwBJjWGWqNFUWxzfxU3WqGoWZryV40rgyUALQEO0zbF5C8znLiV7wMSURd84l/1N2iIn4ekCBWhsIHk9/ifNyfwwLIKwi+bbUHAd7rzl/xxn7CJUVWcC/4gycAdzpP+JuX1Urf1vkik5n+74s4KuHAX2iiQ1WA/90Ck4Naz09s4wM9PwItPpMIQdzwmW3OxsRvyVIGlkuwcsqBmlDeoRr4+ox",
"checksum": "5648edefbcd26c932db9e2b078e85ef4924ffdbb1deab35fff0611819c702e95"
}