Flatten mockup repo
This commit is contained in:
507
application/controllers/mockup/masterdata/Kelainanlab.php
Normal file
507
application/controllers/mockup/masterdata/Kelainanlab.php
Normal file
@@ -0,0 +1,507 @@
|
||||
<?php
|
||||
class Kelainanlab extends MY_Controller
|
||||
{
|
||||
var $db;
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
// $cek = $this->db->query("select database() as current_db")->result();
|
||||
// print_r($cek);
|
||||
echo "KELAINAN LAB API";
|
||||
}
|
||||
|
||||
function search()
|
||||
{
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$userid = $this->sys_user['M_UserID'];
|
||||
|
||||
$search = "";
|
||||
if (isset($prm["search"])) {
|
||||
$search = trim($prm["search"]);
|
||||
if ($search != "") {
|
||||
$search = "%" . $prm["search"] . "%";
|
||||
} else {
|
||||
$search = "%%";
|
||||
}
|
||||
}
|
||||
|
||||
$number_offset = 0;
|
||||
$number_limit = 10;
|
||||
|
||||
if ($prm["current_page"] > 0) {
|
||||
$number_offset = ($prm["current_page"] - 1) * $number_limit;
|
||||
}
|
||||
|
||||
$sql_total = "SELECT count(*) as total
|
||||
FROM mcu_summarylab
|
||||
JOIN nat_test ON Mcu_SummaryLabNat_TestID = Nat_TestID
|
||||
AND Nat_TestIsActive = 'Y'
|
||||
JOIN mcu_kelainan ON Mcu_summaryLabMcu_KelainanID = Mcu_KelainanID
|
||||
AND Mcu_KelainanIsActive = 'Y'
|
||||
WHERE Mcu_SummaryLabIsActive = 'Y'
|
||||
AND (CONCAT(Nat_TestCode,' ',Nat_TestName) LIKE ? OR Mcu_KelainanName LIKE ?)";
|
||||
$qry_total = $this->db->query($sql_total, [$search, $search]);
|
||||
$last_qry = $this->db->last_query();
|
||||
$tot_count = 0;
|
||||
$tot_page = 0;
|
||||
if ($qry_total) {
|
||||
$tot_count = $qry_total->result_array()[0]["total"];
|
||||
$tot_page = ceil($tot_count / $number_limit);
|
||||
} else {
|
||||
$this->db->trans_rollback();
|
||||
$message['last_qry'] = $last_qry;
|
||||
$this->sys_error_db("mcu_summarylab count error", $this->db);
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "SELECT Mcu_SummaryLabID,
|
||||
Mcu_SummaryLabNat_TestID,
|
||||
Mcu_SummaryLabNat_TestCode,
|
||||
Mcu_summaryLabMcu_KelainanID,
|
||||
CASE
|
||||
WHEN Mcu_SummaryLabType = '<' THEN 'Kurang dari'
|
||||
WHEN Mcu_SummaryLabType = '>' THEN 'Lebih dari'
|
||||
WHEN Mcu_SummaryLabType = '=' THEN 'Sama dengan'
|
||||
WHEN Mcu_SummaryLabType = '<=' THEN 'Kurang dari sama dengan'
|
||||
WHEN Mcu_SummaryLabType = '>=' THEN 'Lebih dari sama dengan'
|
||||
WHEN Mcu_SummaryLabType = '!=' THEN 'Tidak sama dengan'
|
||||
ELSE ''
|
||||
END as summarylabtype,
|
||||
Mcu_SummaryLabType,
|
||||
Mcu_SummaryLabIsNormalValue,
|
||||
Mcu_SummaryLabValue,
|
||||
Mcu_SummaryLabWithMethode,
|
||||
Mcu_SummaryLabNat_MethodeID,
|
||||
Nat_TestID,
|
||||
Nat_TestCode,
|
||||
CONCAT(Nat_TestCode,' ',Nat_TestName) AS codeNameTest,
|
||||
Mcu_KelainanID,
|
||||
Mcu_KelainanName,
|
||||
'' as rownumber
|
||||
FROM mcu_summarylab
|
||||
JOIN nat_test ON Mcu_SummaryLabNat_TestID = Nat_TestID
|
||||
AND Nat_TestIsActive = 'Y'
|
||||
JOIN mcu_kelainan ON Mcu_summaryLabMcu_KelainanID = Mcu_KelainanID
|
||||
AND Mcu_KelainanIsActive = 'Y'
|
||||
WHERE Mcu_SummaryLabIsActive = 'Y'
|
||||
AND (CONCAT(Nat_TestCode,' ',Nat_TestName) LIKE ? OR Mcu_KelainanName LIKE ?)
|
||||
ORDER BY Mcu_SummaryLabID DESC
|
||||
limit ? offset ?";
|
||||
|
||||
$qry = $this->db->query($sql, [$search, $search, $number_limit, $number_offset]);
|
||||
$last_qry = $this->db->last_query();
|
||||
if (!$qry) {
|
||||
$message = $this->db->error();
|
||||
$message['last_qry'] = $last_qry;
|
||||
$this->sys_error_db("mcu_summarylab select error", $this->db);
|
||||
exit;
|
||||
}
|
||||
|
||||
$rows = $qry->result_array();
|
||||
foreach ($rows as $k => $v) {
|
||||
$xno = ($k + 1) + $number_offset;
|
||||
$rows[$k]['rownumber'] = $xno;
|
||||
}
|
||||
|
||||
|
||||
$result = [
|
||||
"total_page" => $tot_page,
|
||||
"total" => $tot_count,
|
||||
"records" => $rows,
|
||||
"last_qry" => $last_qry
|
||||
];
|
||||
$this->sys_ok($result);
|
||||
} catch (Exception $exc) {
|
||||
$message = $exc->getMessage();
|
||||
$this->sys_error($message);
|
||||
}
|
||||
}
|
||||
|
||||
function searchtest()
|
||||
{
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$userid = $this->sys_user['M_UserID'];
|
||||
|
||||
$number_limit = 10;
|
||||
$tot_count = 0;
|
||||
|
||||
$search = "";
|
||||
if (isset($prm['search'])) {
|
||||
$search = trim($prm["search"]);
|
||||
if ($search != "") {
|
||||
$search = '%' . $prm['search'] . '%';
|
||||
} else {
|
||||
$search = '%%';
|
||||
}
|
||||
}
|
||||
|
||||
$sql_total = "SELECT count(*) as total
|
||||
FROM nat_test
|
||||
WHERE Nat_TestIsActive = 'Y'
|
||||
AND Nat_TestIsResult = 'Y'
|
||||
AND (CONCAT(Nat_TestCode,' ',Nat_TestName) LIKE ?)
|
||||
LIMIT ?";
|
||||
$qry_total = $this->db->query($sql_total, [$search, $number_limit]);
|
||||
if ($qry_total) {
|
||||
$tot_count = $qry_total->result_array()[0]["total"];
|
||||
} else {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("nat_test count");
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql_search = "SELECT Nat_TestID,
|
||||
Nat_TestCode,
|
||||
CONCAT(Nat_TestCode,' ',Nat_TestName) as codeNameTest
|
||||
FROM nat_test
|
||||
WHERE Nat_TestIsActive = 'Y'
|
||||
AND Nat_TestIsResult = 'Y'
|
||||
AND (CONCAT(Nat_TestCode,' ',Nat_TestName) LIKE ?)
|
||||
LIMIT ?";
|
||||
$qry_search = $this->db->query($sql_search, [$search, $number_limit]);
|
||||
if ($qry_search) {
|
||||
$rows = $qry_search->result_array();
|
||||
} else {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("nat_test select error", $this->db);
|
||||
exit;
|
||||
}
|
||||
|
||||
$result = array(
|
||||
"total" => $tot_count,
|
||||
"total_display" => sizeof($rows),
|
||||
"records" => $rows
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
} catch (Exception $exc) {
|
||||
$message = $exc->getMessage();
|
||||
$this->sys_error($message);
|
||||
}
|
||||
}
|
||||
|
||||
function searchkelainan()
|
||||
{
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$userid = $this->sys_user['M_UserID'];
|
||||
|
||||
$number_limit = 10;
|
||||
$tot_count = 0;
|
||||
|
||||
$search = "";
|
||||
if (isset($prm['search'])) {
|
||||
$search = trim($prm["search"]);
|
||||
if ($search != "") {
|
||||
$search = '%' . $prm['search'] . '%';
|
||||
} else {
|
||||
$search = '%%';
|
||||
}
|
||||
}
|
||||
|
||||
$sql_total = "SELECT count(*) as total
|
||||
FROM mcu_kelainan
|
||||
WHERE Mcu_KelainanIsActive = 'Y'
|
||||
AND (Mcu_KelainanName LIKE ?)
|
||||
LIMIT ?";
|
||||
$qry_total = $this->db->query($sql_total, [$search, $number_limit]);
|
||||
if ($qry_total) {
|
||||
$tot_count = $qry_total->result_array()[0]["total"];
|
||||
} else {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("kelainan count");
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql_search = "SELECT Mcu_KelainanID,
|
||||
Mcu_KelainanName,
|
||||
Mcu_KelainanClasification
|
||||
FROM mcu_kelainan
|
||||
WHERE Mcu_KelainanIsActive = 'Y'
|
||||
AND (Mcu_KelainanName LIKE ?)
|
||||
LIMIT ?";
|
||||
$qry_search = $this->db->query($sql_search, [$search, $number_limit]);
|
||||
if ($qry_search) {
|
||||
$rows = $qry_search->result_array();
|
||||
} else {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("kelainan select error", $this->db);
|
||||
exit;
|
||||
}
|
||||
|
||||
$result = array(
|
||||
"total" => $tot_count,
|
||||
"total_display" => sizeof($rows),
|
||||
"records" => $rows
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
} catch (Exception $exc) {
|
||||
$message = $exc->getMessage();
|
||||
$this->sys_error($message);
|
||||
}
|
||||
}
|
||||
|
||||
function add()
|
||||
{
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$this->db->trans_begin();
|
||||
$prm = $this->sys_input;
|
||||
$userid = $this->sys_user['M_UserID'];
|
||||
|
||||
$testId = "";
|
||||
if (isset($prm["testId"])) {
|
||||
$testId = trim($prm["testId"]);
|
||||
}
|
||||
$kelainanId = "";
|
||||
if (isset($prm["kelainanId"])) {
|
||||
$kelainanId = trim($prm["kelainanId"]);
|
||||
}
|
||||
$testCode = "";
|
||||
if (isset($prm["testCode"])) {
|
||||
$testCode = trim($prm["testCode"]);
|
||||
}
|
||||
$type = "";
|
||||
if (isset($prm["type"])) {
|
||||
$type = trim($prm["type"]);
|
||||
}
|
||||
$normalValue = "";
|
||||
if (isset($prm["normalValue"])) {
|
||||
$normalValue = trim($prm["normalValue"]);
|
||||
}
|
||||
$value = "";
|
||||
if (isset($prm["value"])) {
|
||||
$value = trim($prm["value"]);
|
||||
}
|
||||
|
||||
$sql_exist = "SELECT Mcu_SummaryLabID,
|
||||
Mcu_SummaryLabNat_TestID,
|
||||
Mcu_summaryLabMcu_KelainanID
|
||||
FROM mcu_summarylab
|
||||
WHERE Mcu_SummaryLabIsActive = 'Y'
|
||||
AND Mcu_SummaryLabNat_TestID = ?
|
||||
AND Mcu_summaryLabMcu_KelainanID = ?";
|
||||
$qry_exist = $this->db->query($sql_exist, [$testId, $kelainanId]);
|
||||
if ($qry_exist) {
|
||||
$tot_exist = $qry_exist->result_array();
|
||||
} else {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("mcu_summarylab count");
|
||||
exit;
|
||||
}
|
||||
|
||||
if (count($tot_exist) > 0) {
|
||||
echo json_encode(["status" => "OK", "flag" => true, "msg" => "Tidak bisa disimpan karena ada kelainan yang sama dengan pemeriksaan yang sudah ada, silahkan pilih kelainan lainnya!"]);
|
||||
exit;
|
||||
}
|
||||
|
||||
$datatype = "";
|
||||
switch ($type) {
|
||||
case "KD":
|
||||
$datatype = '<';
|
||||
break;
|
||||
case "LD":
|
||||
$datatype = '>';
|
||||
break;
|
||||
case "SD":
|
||||
$datatype = '=';
|
||||
break;
|
||||
case "KDSD":
|
||||
$datatype = '<=';
|
||||
break;
|
||||
case "LDSD":
|
||||
$datatype = '>=';
|
||||
break;
|
||||
case "TSD":
|
||||
$datatype = '!=';
|
||||
break;
|
||||
default:
|
||||
$datatype = '';
|
||||
}
|
||||
|
||||
$sql = "INSERT INTO mcu_summarylab(
|
||||
Mcu_SummaryLabNat_TestID,
|
||||
Mcu_SummaryLabNat_TestCode,
|
||||
Mcu_summaryLabMcu_KelainanID,
|
||||
Mcu_SummaryLabType,
|
||||
Mcu_SummaryLabIsNormalValue,
|
||||
Mcu_SummaryLabValue,
|
||||
Mcu_SummaryLabIsActive,
|
||||
Mcu_SummaryLabUserID,
|
||||
Mcu_SummaryLabCreated,
|
||||
Mcu_SummaryLabLastUpdated
|
||||
) VALUES(?,?,?,?,?,?,'Y',?,NOW(),NOW())";
|
||||
$qry = $this->db->query($sql, array(
|
||||
$testId,
|
||||
$testCode,
|
||||
$kelainanId,
|
||||
$datatype,
|
||||
$normalValue,
|
||||
$value,
|
||||
$userid
|
||||
));
|
||||
if (!$qry) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("save mcu_summarylab error", $this->db);
|
||||
exit;
|
||||
}
|
||||
|
||||
$this->db->trans_commit();
|
||||
$result = array(
|
||||
"total" => 1,
|
||||
"affected_rows" => $this->db->affected_rows()
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
} catch (Exception $exc) {
|
||||
$message = $exc->getMessage();
|
||||
$this->sys_error($message);
|
||||
}
|
||||
}
|
||||
|
||||
function edit()
|
||||
{
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$this->db->trans_begin();
|
||||
$prm = $this->sys_input;
|
||||
$userid = $this->sys_user['M_UserID'];
|
||||
|
||||
$xid = "";
|
||||
if (isset($prm["xid"])) {
|
||||
$xid = trim($prm["xid"]);
|
||||
}
|
||||
$type = "";
|
||||
if (isset($prm["type"])) {
|
||||
$type = trim($prm["type"]);
|
||||
}
|
||||
$normalValue = "";
|
||||
if (isset($prm["normalValue"])) {
|
||||
$normalValue = trim($prm["normalValue"]);
|
||||
}
|
||||
$value = "";
|
||||
if (isset($prm["value"])) {
|
||||
$value = trim($prm["value"]);
|
||||
}
|
||||
|
||||
$datatype = "";
|
||||
switch ($type) {
|
||||
case "KD":
|
||||
$datatype = '<';
|
||||
break;
|
||||
case "LD":
|
||||
$datatype = '>';
|
||||
break;
|
||||
case "SD":
|
||||
$datatype = '=';
|
||||
break;
|
||||
case "KDSD":
|
||||
$datatype = '<=';
|
||||
break;
|
||||
case "LDSD":
|
||||
$datatype = '>=';
|
||||
break;
|
||||
case "TSD":
|
||||
$datatype = '!=';
|
||||
break;
|
||||
default:
|
||||
$datatype = '';
|
||||
}
|
||||
|
||||
$sql = "UPDATE mcu_summarylab SET
|
||||
Mcu_SummaryLabType = ?,
|
||||
Mcu_SummaryLabIsNormalValue = ?,
|
||||
Mcu_SummaryLabValue = ?,
|
||||
Mcu_SummaryLabUserID = ?,
|
||||
Mcu_SummaryLabLastUpdated = NOW()
|
||||
WHERE Mcu_SummaryLabID = ?";
|
||||
$qry = $this->db->query($sql, [
|
||||
$datatype,
|
||||
$normalValue,
|
||||
$value,
|
||||
$userid,
|
||||
$xid
|
||||
]);
|
||||
if (!$qry) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("update mcu_summarylab error", $this->db);
|
||||
exit;
|
||||
}
|
||||
|
||||
$this->db->trans_commit();
|
||||
$result = array(
|
||||
"total" => 1,
|
||||
"records" => array("xid" => 0)
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
} catch (Exception $exc) {
|
||||
$message = $exc->getMessage();
|
||||
$this->sys_error($message);
|
||||
}
|
||||
}
|
||||
|
||||
function deleterow()
|
||||
{
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$this->db->trans_begin();
|
||||
$prm = $this->sys_input;
|
||||
$userid = $this->sys_user['M_UserID'];
|
||||
|
||||
$xid = "";
|
||||
if (isset($prm["xid"])) {
|
||||
$xid = trim($prm["xid"]);
|
||||
}
|
||||
|
||||
$sql = "UPDATE mcu_summarylab SET
|
||||
Mcu_SummaryLabIsActive = 'N',
|
||||
Mcu_SummaryLabUserID = ?,
|
||||
Mcu_SummaryLabLastUpdated = NOW()
|
||||
WHERE Mcu_SummaryLabID = ?";
|
||||
$qry = $this->db->query($sql, [
|
||||
$userid,
|
||||
$xid
|
||||
]);
|
||||
if (!$qry) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("delete mcu_summarylab error", $this->db);
|
||||
exit;
|
||||
}
|
||||
|
||||
$this->db->trans_commit();
|
||||
$result = array(
|
||||
"total" => 1,
|
||||
"records" => array("xid" => 0)
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
} catch (Exception $exc) {
|
||||
$message = $exc->getMessage();
|
||||
$this->sys_error($message);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user