Files
2026-04-27 10:26:26 +07:00

88 lines
3.2 KiB
PHP

<?php
class Qualqc extends MY_Controller
{
public function __construct()
{
parent::__construct();
}
public function now()
{
return date("Y-m-d H:i:s");
}
public function reply()
{
echo json_encode($this->resp);
exit;
}
public function index()
{
echo "Kualitatif QC test";
}
public function get_data($from, $to, $m_qcID)
{
$sql = "SELECT M_QcResultKualitatifID AS id,
Nat_TestID,
Nat_TestName,
m_qc_resultkualitatif.*,
M_QcResultKualitatifM_QcKualitatifID AS qid,
DATE_FORMAT(M_QcResultKualitatifDate, '%d-%m-%Y') AS resultdate,
Nat_QcKualitatifNormal,
Nat_QcKualitatifValue,
CONCAT(Nat_QcControlKualitatifName, ' |',Nat_QcLevelName, ' |', Nat_QcControlKualitatifLotNumber, ' |',DATE_FORMAT(Nat_QcControlKualitatifExpired,'%d-%m-%Y')) AS Nat_QcControlKualitatifName
FROM
nat_qc_controlkualitatif
JOIN nat_qckualitatif ON Nat_QcKualitatifNat_QcControlKualitatifID = Nat_QcControlKualitatifID
JOIN m_qckualitatif ON M_QcKualitatifNat_QcKualitatifID = Nat_QcKualitatifID AND M_QcKualitatifIsActive = 'Y'
JOIN m_qc_resultkualitatif ON M_QcResultKualitatifM_QcKualitatifID = M_QcKualitatifID AND M_QcResultKualitatifIsActive = 'Y'
JOIN nat_instrument ON Nat_InstrumentID = Nat_QcKualitatifNat_InstrumentID
JOIN nat_test ON Nat_TestID = Nat_QcKualitatifNat_TestID
JOIN nat_qc_level ON Nat_QcLevelID = Nat_QcControlKualitatifNat_QcLevelID
WHERE
M_QcResultKualitatifM_QcKualitatifID IN(?) AND
M_QcResultKualitatifDate BETWEEN DATE_FORMAT(?, '%Y-%m-%d') AND DATE_FORMAT(?, '%Y-%m-%d')
GROUP BY M_QcResultKualitatifID
ORDER BY M_QcResultKualitatifDate ASC, M_QcResultKualitatifCreated ASC, Nat_TestName ASC;
";
$qry = $this->db->query($sql, array($m_qcID, $from, $to));
if (!$qry) {
$this->resp["message"] = "{$this->now()} ERR : " . $this->db->error()["message"] . "\n"
. "|" . $this->db->last_query() . "\n";
$this->reply();
}
$rows = $qry->result_array();
$result = array();
foreach ($rows as $idx => $r) {
if ($idx == 0) {
$result = array(
"qid" => $r["qid"],
"testName" => $r["Nat_TestName"],
"control" => $r["Nat_QcControlKualitatifName"],
"qcNormalValue" => $r["Nat_QcKualitatifNormal"],
"qcValues" => $r["Nat_QcKualitatifValue"],
"resultDates" => array(),
"resultValues" => array()
);
}
$result["resultDates"][] = $r["resultdate"];
$result["resultValues"][] = $r["M_QcResultKualitatifValue"];
}
return $result;
}
public function data($from, $to, $qualID) {
$result = array();
$result[] = $this->get_data($from, $to, $qualID);
echo $id;
$this->resp["status"] = "OK";
$this->resp["data"] = $result;
$this->reply();
}
}
?>