1029 lines
31 KiB
PHP
1029 lines
31 KiB
PHP
<?php
|
|
|
|
class Requirement extends MY_Controller
|
|
{
|
|
var $db;
|
|
public function index()
|
|
{
|
|
echo "REQUIREMENT API";
|
|
}
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
// $this->db = $this->load->database("regional", true);
|
|
}
|
|
|
|
function update_position()
|
|
{
|
|
try {
|
|
//# cek token valid
|
|
if (!$this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
$prm = $this->sys_input;
|
|
$id = $prm['id'];
|
|
$req_id = $prm['req_id'];
|
|
$cmd = $prm['cmd'];
|
|
$sql_param = array($id, $req_id);
|
|
|
|
$sql = "update nat_testrequirement
|
|
set = 'N'
|
|
where Nat_TestRequirementNat_TestID= ?
|
|
and Nat_TestRequirementNat_RequirementID=?";
|
|
$query = $this->db->query($sql, $sql_param);
|
|
if (!$query) {
|
|
$this->sys_error_db($this->db->last_query());
|
|
exit;
|
|
}
|
|
$sql = "select * from nat_testrequirement
|
|
where Nat_TestRequirementNat_TestID= ?
|
|
and Nat_TestRequirementNat_RequirementID=?";
|
|
$query = $this->db->query($sql, $sql_param);
|
|
|
|
if ($query) {
|
|
$rows = $query->result_array();
|
|
} else {
|
|
$this->sys_error_db("nat_test select by requirement");
|
|
exit;
|
|
}
|
|
/* $sql = "insert into nasional_log.log_requirement(Log_RequirementCode,
|
|
Log_RequirementData, Log_RequirementUserID) values(?,?,?)";
|
|
$data = json_encode($rows);
|
|
$userID = $this->sys_user["M_UserID"];
|
|
$sql_param = array("Requirement.Delete", $data , $userID);
|
|
$query = $this->db->query($sql,$sql_param);
|
|
if (! $query) {
|
|
$this->sys_error_db( $this->db->last_query());
|
|
exit;
|
|
}
|
|
*/
|
|
$result = array("status" => "OK");
|
|
$this->sys_ok($result);
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
function list_position()
|
|
{
|
|
try {
|
|
//# cek token valid
|
|
if (!$this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
$prm = $this->sys_input;
|
|
$id = $prm['id'];
|
|
//all position
|
|
$sql = "select
|
|
distinct Nat_PositionID, Nat_PositionName, if(Nat_RequirementPositionID is null , 'N', 'Y') IsChecked
|
|
from nat_position
|
|
left join nat_requirementposition
|
|
on Nat_PositionID = Nat_RequirementPositionNat_PositionID
|
|
and Nat_PositionIsActive = 'Y' and Nat_RequirementPositionIsActive = 'Y'
|
|
and Nat_RequirementPositionNat_RequirementID = ?
|
|
order by Nat_PositionID";
|
|
$sql_param = array($id);
|
|
$query = $this->db->query($sql, $sql_param);
|
|
if ($query) {
|
|
$rows = $query->result_array();
|
|
} else {
|
|
$this->sys_error_db("nat_requirementposition select by requirement");
|
|
exit;
|
|
}
|
|
$result = array("total" => count($rows), "records" => $rows);
|
|
$this->sys_ok($result);
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
public function delete()
|
|
{
|
|
try {
|
|
//# cek token valid
|
|
if (!$this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
|
|
//# ambil parameter input
|
|
$prm = $this->sys_input;
|
|
|
|
$sql = "update nat_requirement SET
|
|
Nat_RequirementIsActive = 'N',
|
|
Nat_RequirementLastUpdated = now()
|
|
WHERE
|
|
Nat_RequirementID = ?
|
|
|
|
";
|
|
|
|
$query = $this->db->query(
|
|
$sql,
|
|
array(
|
|
$prm['id']
|
|
)
|
|
);
|
|
// echo $query;
|
|
if (!$query) {
|
|
$this->sys_error_db("nat_requirement delete");
|
|
exit;
|
|
}
|
|
|
|
$sql = "UPDATE nat_requirementposition SET
|
|
Nat_RequirementPositionIsActive = 'N',
|
|
Nat_RequirementPositionLastUpdated = now()
|
|
WHERE
|
|
Nat_RequirementPositionNat_RequirementID = ?
|
|
";
|
|
|
|
$query = $this->db->query(
|
|
$sql,
|
|
array(
|
|
$prm['id']
|
|
)
|
|
);
|
|
// echo $query;
|
|
if (!$query) {
|
|
$this->sys_error_db("nat_requirementposition delete");
|
|
exit;
|
|
}
|
|
|
|
$sql = "UPDATE nat_testrequirement SET
|
|
Nat_TestRequirementIsActive = 'N',
|
|
Nat_TestRequirementLastUpdated = now()
|
|
WHERE
|
|
Nat_TestRequirementNat_RequirementID = ?
|
|
";
|
|
|
|
$query = $this->db->query(
|
|
$sql,
|
|
array(
|
|
$prm['id']
|
|
)
|
|
);
|
|
// echo $query;
|
|
if (!$query) {
|
|
$this->sys_error_db("nat_testrequirement delete");
|
|
exit;
|
|
}
|
|
|
|
$result = array("total" => 1, "records" => array("xid" => 0));
|
|
$this->sys_ok($result);
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
function delete_test()
|
|
{
|
|
try {
|
|
//# cek token valid
|
|
if (!$this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
$prm = $this->sys_input;
|
|
$id = $prm['id'];
|
|
$req_id = $prm['req_id'];
|
|
$sql_param = array($id, $req_id);
|
|
$sql = "update nat_testrequirement
|
|
set Nat_TestRequirementIsActive = 'N'
|
|
where Nat_TestRequirementNat_TestID= ?
|
|
and Nat_TestRequirementNat_RequirementID=?";
|
|
$query = $this->db->query($sql, $sql_param);
|
|
if (!$query) {
|
|
$this->sys_error_db($this->db->last_query());
|
|
exit;
|
|
}
|
|
$sql = "select * from nat_testrequirement
|
|
where Nat_TestRequirementNat_TestID= ?
|
|
and Nat_TestRequirementNat_RequirementID=?";
|
|
$query = $this->db->query($sql, $sql_param);
|
|
|
|
if ($query) {
|
|
$rows = $query->result_array();
|
|
} else {
|
|
$this->sys_error_db("nat_test select by requirement");
|
|
exit;
|
|
}
|
|
/* $sql = "insert into nasional_log.log_requirement(Log_RequirementCode,
|
|
Log_RequirementData, Log_RequirementUserID) values(?,?,?)";
|
|
$data = json_encode($rows);
|
|
$userID = $this->sys_user["M_UserID"];
|
|
$sql_param = array("Requirement.Delete", $data , $userID);
|
|
$query = $this->db->query($sql,$sql_param);
|
|
if (! $query) {
|
|
$this->sys_error_db( $this->db->last_query());
|
|
exit;
|
|
}
|
|
*/
|
|
$result = array("status" => "OK");
|
|
$this->sys_ok($result);
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
function selected_test()
|
|
{
|
|
try {
|
|
//# cek token valid
|
|
if (!$this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
$prm = $this->sys_input;
|
|
$id = $prm['id'];
|
|
$sql_param = array($id);
|
|
$sql = "select distinct
|
|
Nat_TestRequirementNat_TestID Nat_TestID, Nat_TestName
|
|
from nat_testrequirement
|
|
join nat_test on Nat_TestID = Nat_TestRequirementNat_TestID
|
|
where
|
|
Nat_TestRequirementNat_RequirementID = ?
|
|
and
|
|
Nat_TestRequirementIsActive = 'Y'";
|
|
$query = $this->db->query($sql, $sql_param);
|
|
if ($query) {
|
|
$rows = $query->result_array();
|
|
} else {
|
|
$this->sys_error_db($this->db->last_query());
|
|
exit;
|
|
}
|
|
$sql = "select Nat_RequirementID
|
|
from nat_requirement
|
|
where Nat_RequirementID = ? and Nat_RequirementIsAllTest='Y'";
|
|
$query = $this->db->query($sql, $sql_param);
|
|
if ($query) {
|
|
$xrows = $query->result_array();
|
|
if (count($x_rows) > 0) $rows[] = array("Nat_TestID" => 0, "Nat_TestName" => "All Test");
|
|
} else {
|
|
$this->sys_error_db("nat_test select by requirement");
|
|
exit;
|
|
}
|
|
$result = array("total" => count($rows), "records" => $rows);
|
|
$this->sys_ok($result);
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
function list_test()
|
|
{
|
|
try {
|
|
//# cek token valid
|
|
if (!$this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
$prm = $this->sys_input;
|
|
$qry = "%" . $prm['search'] . "%";
|
|
$sql_param = array($qry, $qry);
|
|
$sql = "
|
|
select 0 Nat_TestID, 'All Test' Nat_TestName
|
|
where 'All Test' like ?
|
|
union
|
|
select Nat_TestID, Nat_TestName
|
|
from nat_test
|
|
where
|
|
Nat_TestIsActive = 'Y'
|
|
and Nat_TestIsResult = 'Y'
|
|
and Nat_TestName like ? ";
|
|
$query = $this->db->query($sql, $sql_param);
|
|
if ($query) {
|
|
$rows = $query->result_array();
|
|
} else {
|
|
$this->sys_error_db("nat_test select by requirement");
|
|
exit;
|
|
}
|
|
$result = array("total" => count($rows), "records" => $rows);
|
|
$this->sys_ok($result);
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
|
|
function add_position()
|
|
{
|
|
try {
|
|
//# cek token valid
|
|
if (!$this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
$prm = $this->sys_input;
|
|
$positionid = $prm['positionid'];
|
|
$requirementid = $prm['requirementid'];
|
|
$sql_param = array($positionid, $requirementid);
|
|
$sql = "INSERT INTO nat_requirementposition
|
|
(Nat_RequirementPositionNat_PositionID,
|
|
Nat_RequirementPositionNat_RequirementID,
|
|
Nat_RequirementPositionCreated,
|
|
Nat_RequirementPositionLastUpdated)
|
|
VALUES
|
|
(?,
|
|
?,
|
|
now(),
|
|
now())";
|
|
$query = $this->db->query($sql, $sql_param);
|
|
if (!$query) {
|
|
$this->sys_error_db($this->db->last_query());
|
|
exit;
|
|
}
|
|
$sql = "select * from nat_requirementposition
|
|
where Nat_RequirementPositionNat_PositionID= ?
|
|
and Nat_RequirementPositionNat_RequirementID=?";
|
|
$query = $this->db->query($sql, $sql_param);
|
|
|
|
if ($query) {
|
|
$rows = $query->result_array();
|
|
} else {
|
|
$this->sys_error_db("nat_test select by requirement");
|
|
exit;
|
|
}
|
|
/* $sql = "insert into nasional_log.log_requirement(Log_RequirementCode,
|
|
Log_RequirementData, Log_RequirementUserID) values(?,?,?)";
|
|
$data = json_encode($rows);
|
|
$userID = $this->sys_user["M_UserID"];
|
|
$sql_param = array("Requirement.Add", $data , $userID);
|
|
$query = $this->db->query($sql,$sql_param);
|
|
if (! $query) {
|
|
$this->sys_error_db( $this->db->last_query());
|
|
exit;
|
|
}
|
|
*/
|
|
$result = array("status" => "OK");
|
|
$this->sys_ok($result);
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
|
|
function delete_position()
|
|
{
|
|
try {
|
|
//# cek token valid
|
|
if (!$this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
$prm = $this->sys_input;
|
|
$positionid = $prm['positionid'];
|
|
$requirementid = $prm['requirementid'];
|
|
$sql_param = array($positionid, $requirementid);
|
|
$sql = "update nat_requirementposition
|
|
set Nat_RequirementPositionIsActive = 'N'
|
|
where Nat_RequirementPositionNat_PositionID= ?
|
|
and Nat_RequirementPositionNat_RequirementID=?";
|
|
$query = $this->db->query($sql, $sql_param);
|
|
if (!$query) {
|
|
$this->sys_error_db($this->db->last_query());
|
|
exit;
|
|
}
|
|
$sql = "select * from nat_requirementposition
|
|
where Nat_RequirementPositionNat_PositionID= ?
|
|
and Nat_RequirementPositionNat_RequirementID=?";
|
|
$query = $this->db->query($sql, $sql_param);
|
|
|
|
if ($query) {
|
|
$rows = $query->result_array();
|
|
} else {
|
|
$this->sys_error_db("nat_test select by requirement");
|
|
exit;
|
|
}
|
|
/* $sql = "insert into nasional_log.log_requirement(Log_RequirementCode,
|
|
Log_RequirementData, Log_RequirementUserID) values(?,?,?)";
|
|
$data = json_encode($rows);
|
|
$userID = $this->sys_user["M_UserID"];
|
|
$sql_param = array("Requirement.Delete", $data , $userID);
|
|
$query = $this->db->query($sql,$sql_param);
|
|
if (! $query) {
|
|
$this->sys_error_db( $this->db->last_query());
|
|
exit;
|
|
}
|
|
*/
|
|
$result = array("status" => "OK");
|
|
$this->sys_ok($result);
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
public function lookup()
|
|
{
|
|
try {
|
|
//# cek token valid
|
|
if (!$this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
|
|
$prm = $this->sys_input;
|
|
$search = $prm['search'];
|
|
$all = $prm['all'];
|
|
$limit = '';
|
|
if ($all == 'N') {
|
|
$limit = ' LIMIT 10';
|
|
}
|
|
$sql = "select COUNT(*) as total
|
|
from nat_requirement
|
|
where
|
|
Nat_RequirementIsActive = 'Y'";
|
|
$sql_param = array($search);
|
|
$total = $this->db->query($sql, $sql_param)->row()->total;
|
|
// echo $this->db->last_query();
|
|
// exit;
|
|
|
|
$sql = "SELECT * FROM
|
|
(select Nat_RequirementID as id, Nat_RequirementName as name,
|
|
Nat_RequirementIsAllTest,
|
|
concat(Nat_RequirementName, if(Nat_RequirementIsAllTest='Y','[ All Test ]', '') ) description,
|
|
'xxx' as requirementpositions, 'xxx' as requirementtest
|
|
from nat_requirement
|
|
where
|
|
Nat_RequirementIsActive = 'Y') a
|
|
WHERE
|
|
description LIKE CONCAT('%',?,'%')
|
|
$limit";
|
|
$sql_param = array($search);
|
|
$query = $this->db->query($sql, $sql_param);
|
|
//echo $this->db->last_query();
|
|
if ($query) {
|
|
$rows = $query->result_array();
|
|
} else {
|
|
$this->sys_error_db("nat_requirement select");
|
|
exit;
|
|
}
|
|
|
|
$result = array("total" => $total, "total_filter" => count($rows), "records" => $rows);
|
|
$this->sys_ok($result);
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
|
|
|
|
public function addnewrequirement()
|
|
{
|
|
try {
|
|
//# cek token valid
|
|
if (!$this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
|
|
//# ambil parameter input
|
|
$prm = $this->sys_input;
|
|
$name_requirement = $prm['name'];
|
|
$isalltest = $prm['isalltest'];
|
|
$query = "SELECT COUNT(*) as exist FROM nat_requirement WHERE Nat_RequirementIsActive = 'Y' AND Nat_RequirementName = '{$name_requirement}'";
|
|
$exist_name = $this->db->query($query)->row()->exist;
|
|
|
|
if ($exist_name == 0) {
|
|
$sql = "insert into nat_requirement(
|
|
Nat_RequirementName,
|
|
Nat_RequirementIsAllTest,
|
|
Nat_RequirementLastUpdated
|
|
)
|
|
values( ?, ?, now())";
|
|
$query = $this->db->query(
|
|
$sql,
|
|
array(
|
|
$name_requirement,
|
|
$isalltest
|
|
)
|
|
);
|
|
//echo $query;
|
|
if (!$query) {
|
|
$this->sys_error_db("nat_requirement insert");
|
|
exit;
|
|
}
|
|
$sql_param = $this->db->insert_id();
|
|
$sql = "select * from nat_requirement
|
|
where Nat_RequirementID= ?";
|
|
$query = $this->db->query($sql, $sql_param);
|
|
|
|
if ($query) {
|
|
$rows = $query->result_array();
|
|
} else {
|
|
$this->sys_error_db("nat_test select by requirement");
|
|
exit;
|
|
}
|
|
/* $sql = "insert into nasional_log.log_requirement(Log_RequirementCode,
|
|
Log_RequirementData, Log_RequirementUserID) values(?,?,?)";
|
|
$data = json_encode($rows);
|
|
$userID = $this->sys_user["M_UserID"];
|
|
$sql_param = array("Requirement.Add", $data , $userID);
|
|
$query = $this->db->query($sql,$sql_param);
|
|
if (! $query) {
|
|
$this->sys_error_db( $this->db->last_query());
|
|
exit;
|
|
}
|
|
*/
|
|
$result = array("total" => 1, "records" => array("xid" => 0));
|
|
$this->sys_ok($result);
|
|
} else {
|
|
$result = array("total" => -1, "records" => 0);
|
|
$this->sys_ok($result);
|
|
}
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
|
|
public function editrequirement()
|
|
{
|
|
try {
|
|
//# cek token valid
|
|
if (!$this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
|
|
//# ambil parameter input
|
|
$prm = $this->sys_input;
|
|
$id_requirement = $prm['id'];
|
|
$name_requirement = $prm['name'];
|
|
$isalltest = $prm['isalltest'];
|
|
|
|
$query = "SELECT COUNT(*) as exist FROM nat_requirement WHERE Nat_RequirementIsActive = 'Y' AND Nat_RequirementName = '{$name_requirement}' AND Nat_RequirementID <> {$id_requirement}";
|
|
$exist_name = $this->db->query($query)->row()->exist;
|
|
|
|
if ($exist_name == 0) {
|
|
$sql = "update nat_requirement SET
|
|
Nat_RequirementName = ?,
|
|
Nat_RequirementIsAllTest = ?,
|
|
Nat_RequirementLastUpdated = now()
|
|
where
|
|
Nat_RequirementID = ?
|
|
";
|
|
$query = $this->db->query(
|
|
$sql,
|
|
array(
|
|
$name_requirement,
|
|
$isalltest,
|
|
$id_requirement
|
|
)
|
|
);
|
|
//echo $query;
|
|
if (!$query) {
|
|
$this->sys_error_db("nat_requirement update");
|
|
exit;
|
|
}
|
|
$sql_param = $prm['id'];
|
|
$sql = "select * from nat_requirement
|
|
where Nat_RequirementID= ?";
|
|
$query = $this->db->query($sql, $sql_param);
|
|
|
|
if ($query) {
|
|
$rows = $query->result_array();
|
|
} else {
|
|
$this->sys_error_db("nat_test select by requirement");
|
|
exit;
|
|
}
|
|
$result = array("status" => "OK");
|
|
$this->sys_ok($result);
|
|
/* $sql = "insert into nasional_log.log_requirement(Log_RequirementCode,
|
|
Log_RequirementData, Log_RequirementUserID) values(?,?,?)";
|
|
$data = json_encode($rows);
|
|
$userID = $this->sys_user["M_UserID"];
|
|
$sql_param = array("Requirement.Update", $data , $userID);
|
|
$query = $this->db->query($sql,$sql_param);
|
|
if (! $query) {
|
|
$this->sys_error_db( $this->db->last_query());
|
|
exit;
|
|
}
|
|
$result = array ("total" => 1, "records" => array("xid" => $id_requirement));
|
|
$this->sys_ok($result);
|
|
*/
|
|
} else {
|
|
$result = array("total" => -1, "records" => 0);
|
|
$this->sys_ok($result);
|
|
}
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
|
|
public function addnewrequirementposition()
|
|
{
|
|
try {
|
|
//# cek token valid
|
|
if (!$this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
|
|
//# ambil parameter input
|
|
$prm = $this->sys_input;
|
|
$requirementid = $prm['requirementid'];
|
|
$positionid = $prm['positionid'];
|
|
|
|
$sql = "insert into nat_requirementposition(
|
|
Nat_RequirementPositionNat_RequirementID,
|
|
Nat_RequirementPositionNat_PositionID,
|
|
Nat_RequirementPositionCreated,
|
|
Nat_RequirementPositionLastUpdated
|
|
)
|
|
values( ?,?,now(),now())";
|
|
$query = $this->db->query(
|
|
$sql,
|
|
array(
|
|
$requirementid,
|
|
$positionid
|
|
)
|
|
);
|
|
//echo $query;
|
|
if (!$query) {
|
|
$this->sys_error_db("nat_requirementposition insert");
|
|
exit;
|
|
}
|
|
|
|
$result = array("total" => 1, "records" => array("xid" => 0));
|
|
$this->sys_ok($result);
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
|
|
public function addnewrequirementtest()
|
|
{
|
|
try {
|
|
//# cek token valid
|
|
if (!$this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
|
|
//# ambil parameter input
|
|
$prm = $this->sys_input;
|
|
if ($prm['xid'] == "0" || $prm['xid'] == 0) {
|
|
$sql = "insert into nat_testrequirement(
|
|
Nat_TestRequirementNat_RequirementID,
|
|
Nat_TestRequirementNat_TestID,
|
|
Nat_TestRequirementCreated,
|
|
Nat_TestRequirementLastUpdated
|
|
)
|
|
values( ?,?,now(),now())";
|
|
$query = $this->db->query(
|
|
$sql,
|
|
array(
|
|
$prm['requirementid'],
|
|
$prm['testid']
|
|
)
|
|
);
|
|
if (!$query) {
|
|
$this->sys_error_db("nat_testrequirement insert");
|
|
exit;
|
|
}
|
|
} else {
|
|
$sql = "update nat_testrequirement SET
|
|
Nat_TestRequirementNat_TestID = ?,
|
|
Nat_TestRequirementLastUpdated = now()
|
|
WHERE
|
|
Nat_TestRequirementID = ?
|
|
|
|
";
|
|
|
|
$query = $this->db->query(
|
|
$sql,
|
|
array(
|
|
$prm['testid'],
|
|
$prm['xid']
|
|
)
|
|
);
|
|
|
|
if (!$query) {
|
|
$this->sys_error_db("nat_testrequirement update");
|
|
exit;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
$result = array("total" => 1, "records" => array("xid" => 0));
|
|
$this->sys_ok($result);
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
|
|
|
|
public function deleterequirementtest()
|
|
{
|
|
try {
|
|
//# cek token valid
|
|
if (!$this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
|
|
//# ambil parameter input
|
|
$prm = $this->sys_input;
|
|
|
|
$sql = "update nat_testrequirement SET
|
|
Nat_TestRequirementIsActive = 'N',
|
|
Nat_TestRequirementLastUpdate = now()
|
|
WHERE
|
|
Nat_TestRequirementID = ?
|
|
|
|
";
|
|
|
|
$query = $this->db->query(
|
|
$sql,
|
|
array(
|
|
$prm['id']
|
|
)
|
|
);
|
|
// echo $query;
|
|
if (!$query) {
|
|
$this->sys_error_db("nat_testrequirement delete");
|
|
exit;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
$result = array("total" => 1, "records" => array("xid" => 0));
|
|
$this->sys_ok($result);
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
|
|
public function deleterequirementposition()
|
|
{
|
|
try {
|
|
//# cek token valid
|
|
if (!$this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
|
|
//# ambil parameter input
|
|
$prm = $this->sys_input;
|
|
|
|
$sql = "update nat_requirementposition SET
|
|
Nat_RequirementPositionIsActive = 'N',
|
|
Nat_RequirementPositionLastUpdated = now()
|
|
WHERE
|
|
Nat_RequirementPositionID = ?
|
|
|
|
";
|
|
|
|
$query = $this->db->query(
|
|
$sql,
|
|
array(
|
|
$prm['id']
|
|
)
|
|
);
|
|
// echo $query;
|
|
if (!$query) {
|
|
$this->sys_error_db("nat_requirementposition delete");
|
|
exit;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
$result = array("total" => 1, "records" => array("xid" => 0));
|
|
$this->sys_ok($result);
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
|
|
|
|
public function deleterequirement()
|
|
{
|
|
try {
|
|
//# cek token valid
|
|
if (!$this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
|
|
//# ambil parameter input
|
|
$prm = $this->sys_input;
|
|
|
|
$sql = "update nat_requirement SET
|
|
Nat_RequirementIsActive = 'N',
|
|
Nat_RequirementLastUpdated = now()
|
|
WHERE
|
|
Nat_RequirementID = ?
|
|
|
|
";
|
|
|
|
$query = $this->db->query(
|
|
$sql,
|
|
array(
|
|
$prm['id']
|
|
)
|
|
);
|
|
// echo $query;
|
|
if (!$query) {
|
|
$this->sys_error_db("nat_requirement delete");
|
|
exit;
|
|
}
|
|
$sql_param = $prm['id'];
|
|
$sql = "select * from nat_requirement
|
|
where Nat_RequirementID= ?";
|
|
$query = $this->db->query($sql, $sql_param);
|
|
|
|
if ($query) {
|
|
$rows = $query->result_array();
|
|
} else {
|
|
$this->sys_error_db("nat_test select by requirement");
|
|
exit;
|
|
}
|
|
/* $sql = "insert into nasional_log.log_requirement(Log_RequirementCode,
|
|
Log_RequirementData, Log_RequirementUserID) values(?,?,?)";
|
|
$data = json_encode($rows);
|
|
$userID = $this->sys_user["M_UserID"];
|
|
$sql_param = array("Requirement.Delete", $data , $userID);
|
|
$query = $this->db->query($sql,$sql_param);
|
|
if (! $query) {
|
|
$this->sys_error_db( $this->db->last_query());
|
|
exit;
|
|
}
|
|
*/
|
|
$sql = "update nat_requirementposition SET
|
|
Nat_RequirementPositionIsActive = 'N',
|
|
Nat_RequirementPositionLastUpdated = now()
|
|
WHERE
|
|
Nat_RequirementPositionNat_RequirementID = ?
|
|
|
|
";
|
|
|
|
$query = $this->db->query(
|
|
$sql,
|
|
array(
|
|
$prm['id']
|
|
)
|
|
);
|
|
// echo $query;
|
|
if (!$query) {
|
|
$this->sys_error_db("nat_requirementposition delete");
|
|
exit;
|
|
}
|
|
|
|
$sql = "update nat_testrequirement SET
|
|
Nat_TestRequirementIsActive = 'N',
|
|
Nat_TestRequirementLastUpdated = now()
|
|
WHERE
|
|
Nat_TestRequirementNat_RequirementID = ?
|
|
|
|
";
|
|
|
|
$query = $this->db->query(
|
|
$sql,
|
|
array(
|
|
$prm['id']
|
|
)
|
|
);
|
|
// echo $query;
|
|
if (!$query) {
|
|
$this->sys_error_db("nat_testrequirement delete");
|
|
exit;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$result = array("total" => 1, "records" => array("xid" => 0));
|
|
$this->sys_ok($result);
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
|
|
|
|
public function searchposition()
|
|
{
|
|
$prm = $this->sys_input;
|
|
$requirementid = $prm['id'];
|
|
$max_rst = 12;
|
|
$tot_count = 0;
|
|
|
|
$q = [
|
|
'search' => '%'
|
|
];
|
|
|
|
if ($prm['search'] != '') {
|
|
$q['search'] = "%{$prm['search']}%";
|
|
}
|
|
|
|
// QUERY TOTAL
|
|
$sql = "SELECT count(*) as total
|
|
FROM nat_position
|
|
LEFT JOIN nat_requirementposition ON Nat_RequirementPositionNat_PositionID = Nat_PositionID AND Nat_RequirementPositionNat_RequirementID = ? AND Nat_RequirementPositionIsActive = 'Y'
|
|
WHERE
|
|
ISNULL(Nat_RequirementPositionID) AND
|
|
|
|
Nat_PositionIsActive = 'Y'
|
|
AND Nat_PositionName like ?";
|
|
$query = $this->db->query($sql, array($requirementid, $q['search']));
|
|
|
|
if ($query) {
|
|
$tot_count = $query->result_array()[0]["total"];
|
|
} else {
|
|
$this->sys_error_db("nat_position count", $this->db);
|
|
exit;
|
|
}
|
|
|
|
$sql = "
|
|
SELECT Nat_PositionID as id,
|
|
Nat_PositionName as name
|
|
FROM nat_position
|
|
LEFT JOIN nat_requirementposition ON Nat_RequirementPositionNat_PositionID = Nat_PositionID AND Nat_RequirementPositionNat_RequirementID = ? AND Nat_RequirementPositionIsActive = 'Y'
|
|
WHERE
|
|
ISNULL(Nat_RequirementPositionID) AND
|
|
Nat_PositionIsActive = 'Y'
|
|
AND Nat_PositionName like ?
|
|
ORDER BY Nat_PositionCode ASC
|
|
|
|
";
|
|
$query = $this->db->query($sql, array($requirementid, $q['search']));
|
|
|
|
if ($query) {
|
|
$rows = $query->result_array();
|
|
//echo $this->db->last_query();
|
|
$result = array("total" => $tot_count, "records" => $rows, "total_display" => sizeof($rows));
|
|
$this->sys_ok($result);
|
|
} else {
|
|
$this->sys_error_db("nat_position rows", $this->db);
|
|
exit;
|
|
}
|
|
}
|
|
function searchtest()
|
|
{
|
|
if (!$this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
$prm = $this->sys_input;
|
|
|
|
$max_rst = 12;
|
|
$tot_count = 0;
|
|
|
|
$q = [
|
|
'search' => '%'
|
|
];
|
|
|
|
if ($prm['search'] != '') {
|
|
$q['search'] = "%{$prm['search']}%";
|
|
}
|
|
|
|
// QUERY TOTAL
|
|
$sql = "SELECT count(*) as total
|
|
FROM nat_test
|
|
WHERE
|
|
Nat_TestName like ?
|
|
AND Nat_TestIsActive = 'Y'";
|
|
$query = $this->db->query($sql, $q['search']);
|
|
//echo $query;
|
|
if ($query) {
|
|
$tot_count = $query->result_array()[0]["total"];
|
|
} else {
|
|
$this->sys_error_db("nat_test count", $this->db);
|
|
exit;
|
|
}
|
|
|
|
$sql = "
|
|
SELECT *
|
|
FROM nat_test
|
|
WHERE Nat_TestName like ?
|
|
AND Nat_TestIsActive = 'Y'
|
|
ORDER BY Nat_TestName DESC
|
|
";
|
|
$query = $this->db->query($sql, array($q['search']));
|
|
|
|
if ($query) {
|
|
$rows = $query->result_array();
|
|
//echo $this->db->last_query();
|
|
$result = array("total" => $tot_count, "records" => $rows, "total_display" => sizeof($rows));
|
|
$this->sys_ok($result);
|
|
} else {
|
|
$this->sys_error_db("nat_test rows", $this->db);
|
|
exit;
|
|
}
|
|
}
|
|
}
|