Files
BE_IBL/application/controllers/mockup/masterdata/Resultflagused.php
2026-04-15 15:24:12 +07:00

337 lines
11 KiB
PHP

<?php
class Resultflagused extends MY_Controller
{
var $db_onedev;
public function index()
{
echo "RESULT FLAG USED API";
}
public function __construct()
{
parent::__construct();
$this->db_onedev = $this->load->database("onedev", true);
}
function searchtest()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$q = [
'search' => '%'
];
if ($prm['search_resulttest_name'] != '') {
$q['search'] = "%{$prm['search_resulttest_name']}%";
}
$sql = "SELECT Nat_TestID, Nat_TestName,Nat_TestCode FROM nat_test
WHERE Nat_TestIsActive = 'Y'
AND Nat_TestIsQuantitative= 'N'
AND Nat_TestIsResult = 'Y'
AND Nat_TestName LIKE ?
LIMIT 20;";
$query = $this->db_onedev->query($sql, array($q['search']));
if ($query) {
$rows = $query->result_array();
//echo $this->db_onedev->last_query();
$result = array("last_query" => $this->db_onedev->last_query(), "records" => $rows);
$this->sys_ok($result);
} else {
$this->sys_error_db("Test rows", $this->db_onedev, array(
"last_query" => $this->db_onedev->last_query()
));
exit;
}
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function searchresultflag()
{
try {
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$q = [
'search' => '%'
];
if (!empty($prm['search_resulttest_name'])) {
$q['search'] = "%{$prm['search_resulttest_name']}%";
}
$resultname = $prm["resultname"] ?? '';
$resultflag = $prm["resultflag"] ?? '';
$number_limit = 10;
$curr_page = max(1, (int) $prm["current_page"]);
$number_offset = ($curr_page - 1) * $number_limit;
$params = [$q['search']];
$rstflg = "";
$rstname = "";
if (!empty($resultflag)) {
$rstflg = "AND M_ResultFlagFlag = ?";
$params[] = strtoupper($resultflag);
}
if (!empty($resultname)) {
$rstname = "AND M_ResultFlagResult LIKE ?";
$params[] = "%{$resultname}%";
}
// hitung total
$sql_count = "SELECT COUNT(*) as total
FROM m_resultflag
JOIN nat_test ON M_ResultFlagNat_TestID = Nat_TestID
WHERE Nat_TestIsActive = 'Y'
AND M_ResultFlagIsActive = 'Y'
AND Nat_TestName LIKE ?
$rstflg
$rstname";
$query = $this->db_onedev->query($sql_count, $params);
$tot_count = $query ? $query->row()->total : 0;
$tot_page = ceil($tot_count / $number_limit);
// ambil data
$sql = "SELECT *
FROM m_resultflag
JOIN nat_test ON M_ResultFlagNat_TestID = Nat_TestID
WHERE Nat_TestIsActive = 'Y'
AND M_ResultFlagIsActive = 'Y'
AND Nat_TestName LIKE ?
$rstflg
$rstname
LIMIT ? OFFSET ?";
$params_data = array_merge($params, [$number_limit, $number_offset]);
$query = $this->db_onedev->query($sql, $params_data);
$rows = $query ? $query->result_array() : [];
$result = [
"last_query" => $this->db_onedev->last_query(),
"message" => $rows ? "Data Ditemukan" : "Data Tidak Ditemukan",
"total" => $tot_count,
"total_page" => $tot_page,
"records" => $rows
];
$this->sys_ok($result);
} catch (Exception $exc) {
$this->sys_error($exc->getMessage());
}
}
function addresultflag()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$this->db_onedev->trans_begin();
$resulttest = $prm["nattestid"];
$resultname = $prm["resultname"];
$resultflag = $prm["resultflag"];
$description = $prm["description"];
$sql = "SELECT * FROM m_resultflag WHERE
M_ResultFlagNat_TestID = ?
AND M_ResultFlagResult = ?
AND M_ResultFlagIsActive = 'Y';";
$query = $this->db_onedev->query($sql, [$resulttest, $resultname]);
$rows = $query->result_array();
if ($rows) {
$result = [
"message" => "Data Sudah Pernah Dibuat",
"last_query" => $this->db_onedev->last_query(),
];
$data = $this->sys_ok($result);
return $data;
}
$sql = "INSERT INTO m_resultflag
(`M_ResultFlagNat_TestID`,
`M_ResultFlagResult`,
`M_ResultFlagFlag`,
`M_ResultFlagNote`,
`M_ResultFlagIsActive`,
`M_ResultFlagCreated`,
`M_ResultFlagLasUpdated`)
VALUES
(?,
?,
?,
?,
'Y',
now(),
now());";
$query = $this->db_onedev->query($sql, [$resulttest, $resultname, $resultflag, $description]);
if (!$query) {
$this->db_onedev->trans_rollback();
$result = [
"message" => "Data gagal disimpan",
"last_query" => $this->db_onedev->last_query(),
];
$this->sys_error_db( $result );
exit;
}
$result = array("last_query" => $this->db_onedev->last_query(), "message" => "Berhasil Insert");
$this->db_onedev->trans_commit();
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function deleteresultflag()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$this->db_onedev->trans_begin();
$resultid = $prm["resultid"];
$sql = "SELECT * FROM m_resultflag
WHERE M_ResultFlagID = ?
AND M_ResultFlagIsActive= 'Y'";
$query = $this->db_onedev->query($sql, [$resultid]);
$rows = $query->result_array();
if (!$rows) {
$data = $this->sys_ok("Tidak Ada yang Didelete");
return $data;
}
$row = $rows[0];
$message = [
"Nat_ID" => $row['M_ResultFlagNat_TestID'],
"Nama" => $row['M_ResultFlagName'],
"Flag" => $row['M_ResultFlagFlag']
];
$sql = "UPDATE m_resultflag
SET
M_ResultFlagIsActive = 'N',
M_ResultFlagLasUpdated = NOW()
WHERE M_ResultFlagID = ?
AND M_ResultFlagIsActive= 'Y'";
$query = $this->db_onedev->query($sql, [$resultid]);
if (!$query) {
$this->db_onedev->trans_rollback();
$this->sys_error_db("Result Flag Delete | " . $this->db_onedev->last_query());
exit;
}
$result = array("last_query" => $this->db_onedev->last_query(), "message" => "Berhasil Delete");
$this->db_onedev->trans_commit();
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function updateresultflag()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$this->db_onedev->trans_begin();
$resultid = $prm["resultid"];
$resulttest = $prm["nattestid"];
$resultname = $prm["resultname"];
$resultflag = $prm["resultflag"];
$sql = "SELECT * FROM m_resultflag
WHERE M_ResultFlagID = ?
AND M_ResultFlagIsActive= 'Y'";
$query = $this->db_onedev->query($sql, [$resultid]);
$rows = $query->result_array();
if (!$rows) {
$data = $this->sys_ok("Tidak Ada yang Didelete");
return $data;
}
$row = $rows[0];
$message = [
"Nat_ID" => $row['M_ResultFlagNat_TestID'],
"Nama" => $row['M_ResultFlagName'],
"Flag" => $row['M_ResultFlagFlag']
];
$sql = "UPDATE m_resultflag
SET
M_ResultFlagNat_TestID = ?,
M_ResultFlagName = ?,
M_ResultFlagFlag = ?,
M_ResultFlagLasUpdated = NOW()
WHERE M_ResultFlagID = ?
AND M_ResultFlagIsActive= 'Y'";
$query = $this->db_onedev->query($sql, [$resulttest,$resultname,$resultflag,$resultid]);
if (!$query) {
$this->db_onedev->trans_rollback();
$result = [
"message" => "Data Gagal Diupdate",
"last_query" => $this->db_onedev->last_query(),
];
$this->sys_error_db($result);
exit;
}
$result = array("last_query" => $this->db_onedev->last_query(), "message" => "Berhasil Update");
$this->db_onedev->trans_commit();
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
}