clqms-server/app/Controllers/Equipment.php
2025-11-19 10:01:13 +07:00

113 lines
3.3 KiB
PHP

<?php
namespace App\Controllers;
class Equipment extends BaseController {
public function index() {
$db = \Config\Database::connect();
return view('equipment_index.php');
}
public function edit($instid) {
// $data = array();
// if ($instid != 0) {
// $db = \Config\Database::connect();
// $sql = "SELECT * FROM dict_insts where instid='$instid'";
// $query = $db->query($sql);
// $results = $query->getResultArray();
// $data['insts'] = $results;
// }
// if ($this->request->getMethod() === 'post') {
// // $rules = [ 'instname' => 'required' ];
// // $instname = $this->request->getPost('instname');
// if($this->validate($rules)){
// if($instid == 0 ) {
// $db = \Config\Database::connect();
// $sql = "insert into dict_insts(instname, createdate) values ('$instname', NOW())";
// $query = $db->query($sql);
// return redirect()->to('/insts');
// } else {
// $db = \Config\Database::connect();
// $sql = "update dict_insts set instname='$instname' where instid='$instid'";
// $query = $db->query($sql);
// return redirect()->to('/insts');
// }
// } else {
// $data['validation'] = $this->validator;
// return view('insts_editor',$data);
// }
// } else {
// return view('equipment_editor');
// }
return view('equipment_editor');
}
public function detailInstrumentTest($EquipmentID) {
$data['EquipmentID'] = $EquipmentID;
$db = \Config\Database::connect();
$sql = "SELECT COUNT(*) as testcount
FROM patres
WHERE EquipmentID='$EquipmentID'";
$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'";
$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)";
$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
WHERE EquipmentID='$EquipmentID'
ORDER BY ResultID DESC
LIMIT 2000";
$query = $db->query($sql);
$results = $query->getResultArray();
$data['testData'] = $results;
return view('equipment_detail_test', $data);
}
}