129 lines
3.8 KiB
PHP
129 lines
3.8 KiB
PHP
<?php
|
|
|
|
namespace App\Controllers;
|
|
|
|
class Home extends BaseController {
|
|
|
|
private function getProductList() {
|
|
$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_RETURNTRANSFER => true,
|
|
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
|
CURLOPT_CUSTOMREQUEST => 'GET',
|
|
));
|
|
|
|
$response = curl_exec($curl);
|
|
curl_close($curl);
|
|
$data = json_decode($response, true);
|
|
|
|
return $data;
|
|
}
|
|
|
|
public function dashboard() {
|
|
|
|
$db = \Config\Database::connect();
|
|
$productList = $this->getProductList(); //Get From API CRM
|
|
|
|
// Mengelompokkan Berdasarkan Jenis Product. cth(TMS30i, TMS50, dll)
|
|
foreach($productList as $item) {
|
|
|
|
// Mengelompokkan Data Khusus TMS30i/Medisys
|
|
if ( in_array($item["productaliasid"], [20, 60]) ) {
|
|
$productList30i[] = [
|
|
"productaliasid" => $item["productaliasid"],
|
|
"productnumber" => $item["productnumber"],
|
|
"sitename" => $item["sitename"]
|
|
];
|
|
|
|
// Mengelompokkan Data Khusus 1024i
|
|
}
|
|
// 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 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
|
|
FROM patres
|
|
GROUP BY EquipmentID
|
|
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) {
|
|
// echo "<br>Product Alias ID CRM: " . $itemCRM["productaliasid"] . "<br>";
|
|
// echo "Product Number: " . $itemCRM["productnumber"] . "<br>";
|
|
// echo "Site Name: " . $itemCRM["sitename"] . "<br><br>";
|
|
// echo "Product Alias ID DB: " . $itemDB["EquipmentID"] . "<br>";
|
|
// 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"],
|
|
];
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
// kalau tidak ada data, $tms30i akan tetap berupa array kosong []
|
|
$data['tms30i'] = $tms30i ?? [];
|
|
|
|
return view('home_dashboard.php', $data);
|
|
|
|
}
|
|
|
|
}
|