From c85b0e6936525be79504d40dd1707744390ae3ae Mon Sep 17 00:00:00 2001 From: mikael-zakaria Date: Mon, 17 Nov 2025 13:35:14 +0700 Subject: [PATCH] Update Perbaikan Syntax dan branch main --- app/Controllers/ApiController.php | 11 ++++---- app/Controllers/Home.php | 46 ++++++++++++++++++------------- jsonditerima.txt | 25 +++++++++++++++++ 3 files changed, 58 insertions(+), 24 deletions(-) create mode 100644 jsonditerima.txt diff --git a/app/Controllers/ApiController.php b/app/Controllers/ApiController.php index c8d61ff..29dc2ff 100644 --- a/app/Controllers/ApiController.php +++ b/app/Controllers/ApiController.php @@ -86,6 +86,8 @@ 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']; @@ -106,7 +108,7 @@ class ApiController extends BaseController { // 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(); @@ -129,7 +131,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 @@ -168,15 +170,14 @@ class ApiController extends BaseController { $db->transComplete(); // Cek status transaksi - if ($db->transStatus() === FALSE) { + if (! $db->transStatus()) { $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 diff --git a/app/Controllers/Home.php b/app/Controllers/Home.php index c6ae62c..65d345a 100644 --- a/app/Controllers/Home.php +++ b/app/Controllers/Home.php @@ -8,7 +8,8 @@ class Home extends BaseController { $curl = curl_init(); curl_setopt_array($curl, array( - CURLOPT_URL => 'services-summit.my.id/api/getProductSites', + CURLOPT_URL => 'services-summit.my.id/api/getProductSites', //PROD + // CURLOPT_URL => 'https://services-summit.my.id/api/getProductSites', //DEV CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', @@ -67,19 +68,23 @@ class Home extends BaseController { $productList50i = null; } } - + $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(); - // Menyamakan Data CRM dan CLQMS Berdasarkan SN Number - foreach ($results as $itemDB) { - foreach ($productList30i as $itemCRM) { + // siapkan variabel dulu biar tidak "undefined variable" + $tms30i = []; + $data = []; - if ($itemDB['EquipmentID'] == $itemCRM['productnumber']) { + // Menyamakan Data CRM dan CLQMS Berdasarkan SN Number + if (!empty($results) && !empty($productList30i)) { + foreach ($results as $itemDB) { + foreach ($productList30i as $itemCRM) { // echo "
Product Alias ID CRM: " . $itemCRM["productaliasid"] . "
"; // echo "Product Number: " . $itemCRM["productnumber"] . "
"; // echo "Site Name: " . $itemCRM["sitename"] . "

"; @@ -87,23 +92,26 @@ class Home extends BaseController { // echo "Product Number: " . $itemDB["patresCount"] . "
"; // echo "Site Name: " . $itemDB["lastResultDate"] . "

"; // echo "----------------------------

"; - $tms30i[] = [ - "productaliasid" => $itemCRM["productaliasid"], - "EquipmentID" => $itemDB["EquipmentID"], - "sitename" => $itemCRM["sitename"], - "patresCount" => $itemDB["patresCount"], - "lastResultDate" => $itemDB["lastResultDate"] - ]; - + if ($itemDB['EquipmentID'] == $itemCRM['productnumber']) { + $tms30i[] = [ + "productaliasid" => $itemCRM["productaliasid"], + "EquipmentID" => $itemDB["EquipmentID"], + "sitename" => $itemCRM["sitename"], + "patresCount" => $itemDB["patresCount"], + "lastResultDate" => $itemDB["lastResultDate"], + ]; + } + } - } - } - $data['tms30i'] = $tms30i; + // kalau tidak ada data, $tms30i akan tetap berupa array kosong [] + // $data['tms30i'] = $tms30i; + $data['tms30i'] = $tms30i ?? []; return view('home_dashboard.php', $data); + } } diff --git a/jsonditerima.txt b/jsonditerima.txt new file mode 100644 index 0000000..b5eda47 --- /dev/null +++ b/jsonditerima.txt @@ -0,0 +1,25 @@ +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" + } \ No newline at end of file