117 lines
4.3 KiB
PHP
117 lines
4.3 KiB
PHP
<?php
|
|
namespace App\Controllers;
|
|
|
|
use CodeIgniter\Validation\CreditCardRules;
|
|
|
|
class Admin extends BaseController {
|
|
public function index() {
|
|
$today = date('Y-m-d');
|
|
$date1 = $this->request->getVar('date1') ?? $today;
|
|
$date2 = $this->request->getVar('date2') ?? $today;
|
|
|
|
$db = \Config\Database::connect();
|
|
$sql = "SELECT * from GDC_CMOD.dbo.V_DASHBOARD_DEV
|
|
where COLLECTIONDATE between '$date1 00:00' and '$date2 23:59' and ODR_DDATE between '$date1 00:00' and '$date2 23:59'";
|
|
$query = $db->query($sql);
|
|
$results = $query->getResultArray();
|
|
|
|
// === Variabel counter ===
|
|
$CPending = 0; $CPColl = 0; $CColl = 0; $CPRecv = 0;
|
|
$CRecv = 0; $CInc = 0; $CPenV = 0; $CFin = 0; $CFinV = 0;
|
|
$CTotal = 0;
|
|
|
|
$dataList = [];
|
|
|
|
foreach ($results as $row) {
|
|
$reqdate = '';
|
|
if (!empty($row['REQDATE'])) {
|
|
$reqdate = date('Y-m-d H:i', strtotime($row['REQDATE']));
|
|
}
|
|
$patname = $row['Name'] ?? '';
|
|
$sp_accessnumber = $row['SP_ACCESSNUMBER'] ?? '';
|
|
$hostordernumber = $row['HOSTORDERNUMBER'] ?? '';
|
|
$stats = $row['STATS'] ?? '';
|
|
$tests = $row['TESTS'] ?? '';
|
|
$isDelete = $row['ISDELETE'] ?? 0;
|
|
|
|
// Bersihkan test string
|
|
$test = str_replace(['(', ')', ',', 'FA'], '', $tests);
|
|
|
|
if (!is_numeric($test) && $isDelete == 0) {
|
|
switch ($stats) {
|
|
case 'Pend': $statscode = 1; $CPending++; break;
|
|
case 'PartColl':$statscode = 2; $CPColl++; break;
|
|
case 'Coll': $statscode = 3; $CColl++; break;
|
|
case 'PartRecv':$statscode = 4; $CPRecv++; break;
|
|
case 'Recv': $statscode = 5; $CRecv++; break;
|
|
case 'Inc': $statscode = 6; $CInc++; break;
|
|
case 'PenV': $statscode = 7; $CPenV++; break;
|
|
case 'Fin': $statscode = 8; $CFin++; break;
|
|
case 'FinV': $statscode = 9; $CFinV++; break;
|
|
default: $statscode = 0; break;
|
|
}
|
|
$CTotal++;
|
|
// Simpan ke array
|
|
$dataList[] = [
|
|
'statscode' => $statscode,
|
|
'reqdate' => $reqdate,
|
|
'patname' => $patname,
|
|
'sp_accessnumber' => $sp_accessnumber,
|
|
'hostordernumber' => $hostordernumber,
|
|
'reff' => $row['REFF'] ?? '',
|
|
'doc' => $row['DOC'] ?? '',
|
|
'tests' => $row['TESTS'] ?? '',
|
|
'stats' => $stats,
|
|
'odr_cresult_to' => $row['ODR_CRESULT_TO'],
|
|
'isprinted'=> $row['ODR_ISPRINTED'] ?? 0,
|
|
'ispending'=> $row['ODR_ISPENDING'] ?? 0,
|
|
'ishardcopy'=> $row['ODR_NFLAGHARDCOPY'] ?? 0,
|
|
'isvaltd' => $row['ISVAL'] ?? 0,
|
|
// 'isval1' => $row['ISVAL1'] ?? 0,
|
|
// 'isval2' => $row['ISVAL2'] ?? 0,
|
|
'isdelete' => $isDelete,
|
|
'valcounter' => $row['VAL'] ?? 0,
|
|
'val1user' => $row['VAL1USER'] ?? '-',
|
|
'val2user' => $row['VAL2USER'] ?? '-',
|
|
];
|
|
|
|
}
|
|
}
|
|
|
|
// === Total counter ===
|
|
$counter = [
|
|
'pending' => $CPending,
|
|
'collect' => $CPColl+$CColl,
|
|
'recv' => $CPRecv+$CRecv,
|
|
'incomplete' => $CInc+$CPenV,
|
|
'complete' => $CFin+$CFinV,
|
|
'total' => $CTotal,
|
|
/*
|
|
'partialCollected' => $CPColl,
|
|
'collected' => $CColl,
|
|
'partialReceived' => $CPRecv,
|
|
'received' => $CRecv,
|
|
'incomplete' => $CInc,
|
|
'pendingValidation' => $CPenV,
|
|
'final' => $CFin,
|
|
'finalValidation' => $CFinV,
|
|
*/
|
|
];
|
|
|
|
$data['dataList'] = $dataList;
|
|
$data['counter'] = $counter;
|
|
$data['date1'] = $date1;
|
|
$data['date2'] = $date2;
|
|
|
|
// dd($results);
|
|
|
|
|
|
return view('admin/index', $data);
|
|
}
|
|
|
|
public function modal_specimen() {
|
|
return view('admin/modal_specimen');
|
|
}
|
|
|
|
}
|