Flatten mockup repo
This commit is contained in:
413
application/controllers/mockup/masterdata/Setupgroup.php
Normal file
413
application/controllers/mockup/masterdata/Setupgroup.php
Normal file
@@ -0,0 +1,413 @@
|
||||
<?php
|
||||
|
||||
class Setupgroup 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 searchproject()
|
||||
{
|
||||
try {
|
||||
//# cek token valid
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
|
||||
$q = [
|
||||
'search' => '%'
|
||||
];
|
||||
|
||||
if ($prm['search_project'] != '') {
|
||||
$q['search'] = "%{$prm['search_project']}%";
|
||||
}
|
||||
|
||||
$q['details'] = "";
|
||||
if (!empty($prm['details']) && count($prm['details']) > 0 && $prm['type'] == "project") {
|
||||
$mgm_mcu_numbers = [];
|
||||
foreach ($prm['details'] as $detail) {
|
||||
$mgm_mcu_numbers[] = "'".$detail['Mgm_McuNumber']."'";
|
||||
$q['details'] .= "AND Mgm_McuGroupDetailMgm_McuID IS NULL AND Mgm_McuNumber NOT IN (".implode(',', $mgm_mcu_numbers).")";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$sql = "SELECT Mgm_McuID, Mgm_McuNumber, Mgm_McuLabel
|
||||
FROM mgm_mcu
|
||||
JOIN corporate ON Mgm_McuCorporateID = CorporateID AND CorporateIsActive = 'Y'
|
||||
LEFT JOIN mgm_mcugroupdetail ON Mgm_McuGroupDetailMgm_McuID = Mgm_McuID AND Mgm_McuGroupDetailIsActive = 'Y'
|
||||
WHERE Mgm_McuIsActive = 'Y'
|
||||
AND ( Mgm_McuNumber LIKE ? OR Mgm_McuLabel LIKE ? )
|
||||
|
||||
{$q['details']}
|
||||
|
||||
LIMIT 20;";
|
||||
$query = $this->db_onedev->query($sql, array($q['search'], $q['search']));
|
||||
//echo $this->db_onedev->last_query();
|
||||
|
||||
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 searchcorporate()
|
||||
{
|
||||
try {
|
||||
//# cek token valid
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
|
||||
$q = [
|
||||
'search' => '%'
|
||||
];
|
||||
|
||||
if ($prm['search_corporate'] != '') {
|
||||
$q['search'] = "%{$prm['search_corporate']}%";
|
||||
}
|
||||
|
||||
|
||||
|
||||
$sql = "SELECT CorporateID, CorporateName
|
||||
FROM corporate
|
||||
WHERE CorporateIsActive = 'Y'
|
||||
AND ( CorporateName 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 searchgroupproject()
|
||||
{
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
|
||||
$prm = $this->sys_input;
|
||||
|
||||
|
||||
|
||||
$filter_corporate = $prm["filter_corporate"] ?? [];
|
||||
$filter_project = $prm["filter_project"] ?? [];
|
||||
$current_page = $prm["current_page"] ?? 1;
|
||||
$number_limit = 10;
|
||||
$number_offset = ($current_page - 1) * $number_limit;
|
||||
$params_count = [];
|
||||
$params = [];
|
||||
|
||||
|
||||
// hitung total
|
||||
$sql_count = "SELECT COUNT(*) as total
|
||||
FROM (
|
||||
SELECT DISTINCT Mgm_McuGroupID
|
||||
FROM mgm_mcugroup
|
||||
JOIN mgm_mcugroupdetail ON Mgm_McuGroupDetailMgm_McuGroupID = Mgm_McuGroupID AND Mgm_McuGroupDetailIsActive = 'Y'
|
||||
JOIN mgm_mcu ON Mgm_McuGroupDetailMgm_McuID = Mgm_McuID
|
||||
JOIN corporate ON Mgm_McuCorporateID = CorporateID AND CorporateIsActive = 'Y'
|
||||
WHERE Mgm_McuGroupIsActive = 'Y'
|
||||
|
||||
) x";
|
||||
if(!empty($filter_corporate)){
|
||||
$sql_count .= " AND Mgm_McuCorporateID = ?";
|
||||
$params_count[] = $filter_corporate['CorporateID'];
|
||||
}
|
||||
if(!empty($filter_project)){
|
||||
$sql_count .= " AND Mgm_McuGroupDetailMgm_McuID = ?";
|
||||
$params_count[] = $filter_project['Mgm_McuID'];
|
||||
}
|
||||
|
||||
$query = $this->db_onedev->query($sql_count, $params_count);
|
||||
$tot_count = $query ? $query->row()->total : 0;
|
||||
$tot_page = ceil($tot_count / $number_limit);
|
||||
|
||||
// ambil data
|
||||
$sql = "SELECT DISTINCT Mgm_McuGroupID,mgm_mcugroup.*, '' as details
|
||||
FROM mgm_mcugroup
|
||||
JOIN mgm_mcugroupdetail ON Mgm_McuGroupDetailMgm_McuGroupID = Mgm_McuGroupID AND Mgm_McuGroupDetailIsActive = 'Y'
|
||||
JOIN mgm_mcu ON Mgm_McuGroupDetailMgm_McuID = Mgm_McuID
|
||||
JOIN corporate ON Mgm_McuCorporateID = CorporateID AND CorporateIsActive = 'Y'
|
||||
WHERE Mgm_McuGroupIsActive = 'Y'
|
||||
|
||||
";
|
||||
if(count($filter_corporate) > 0){
|
||||
$sql .= " AND Mgm_McuCorporateID = ?";
|
||||
$params[] = $filter_corporate['CorporateID'];
|
||||
}
|
||||
if(count($filter_project) > 0){
|
||||
$sql .= " AND Mgm_McuGroupDetailMgm_McuID = ?";
|
||||
$params[] = $filter_project['Mgm_McuID'];
|
||||
}
|
||||
$sql .= " LIMIT ? OFFSET ?";
|
||||
|
||||
|
||||
$params_data = array_merge($params, [$number_limit, $number_offset]);
|
||||
// print_r($params_data);
|
||||
|
||||
$query = $this->db_onedev->query($sql, $params_data);
|
||||
//echo $this->db_onedev->last_query();
|
||||
|
||||
$rows = $query ? $query->result_array() : [];
|
||||
|
||||
if(!empty($rows)){
|
||||
foreach($rows as $key => $row){
|
||||
$sql = "SELECT *
|
||||
FROM mgm_mcugroupdetail
|
||||
JOIN mgm_mcu ON Mgm_McuGroupDetailMgm_McuID = Mgm_McuID
|
||||
JOIN corporate ON Mgm_McuCorporateID = CorporateID AND CorporateIsActive = 'Y'
|
||||
WHERE Mgm_McuGroupDetailMgm_McuGroupID = ? AND Mgm_McuGroupDetailIsActive = 'Y'
|
||||
";
|
||||
$query = $this->db_onedev->query($sql, [$row['Mgm_McuGroupID']]);
|
||||
// echo $this->db_onedev->last_query();
|
||||
|
||||
$rows_detail = $query ? $query->result_array() : [];
|
||||
$rows[$key]['details'] = $rows_detail;
|
||||
}
|
||||
}
|
||||
|
||||
$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;
|
||||
$name = $prm["name"];
|
||||
$details = $prm["details"];
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
|
||||
$this->db_onedev->trans_begin();
|
||||
|
||||
$sql = "SELECT * FROM mgm_mcugroup WHERE Mgm_McuGroupIsActive = 'Y' AND Mgm_McuGroupName = ?";
|
||||
$query = $this->db_onedev->query($sql, [$name]);
|
||||
if (!$query) {
|
||||
$this->db_onedev->trans_rollback();
|
||||
$this->sys_error_db("Mgm_McuGroup Select Error");
|
||||
exit;
|
||||
}
|
||||
$rows = $query->result_array();
|
||||
if(count($rows) > 0){
|
||||
$this->sys_error("Nama sudah ada");
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "INSERT INTO mgm_mcugroup (Mgm_McuGroupName, Mgm_McuGroupCreatedUserID, Mgm_McuGroupCreated) VALUES (?, ?, NOW())";
|
||||
$query = $this->db_onedev->query($sql, [$name, $userid]);
|
||||
if (!$query) {
|
||||
$this->db_onedev->trans_rollback();
|
||||
$this->sys_error_db("Mgm_McuGroup Insert Error");
|
||||
exit;
|
||||
}
|
||||
|
||||
$mcu_group_id = $this->db_onedev->insert_id();
|
||||
|
||||
if(count($details) > 0){
|
||||
foreach($details as $detail){
|
||||
$sql = "INSERT INTO mgm_mcugroupdetail (
|
||||
Mgm_McuGroupDetailMgm_McuID,
|
||||
Mgm_McuGroupDetailMgm_McuGroupID,
|
||||
Mgm_McuGroupDetailCreated,
|
||||
Mgm_McuGroupDetailCreatedUserID)
|
||||
VALUES (?, ?, NOW(), ?)";
|
||||
$query = $this->db_onedev->query($sql, [$detail['Mgm_McuID'], $mcu_group_id, $userid]);
|
||||
if (!$query) {
|
||||
$this->db_onedev->trans_rollback();
|
||||
//echo $this->db_onedev->last_query();
|
||||
$this->sys_error_db("Mgm_McuGroupDetail Insert Error");
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$result = [
|
||||
"message" => "Berhasil Tambah Data",
|
||||
"records" => $mcu_group_id
|
||||
];
|
||||
|
||||
|
||||
|
||||
$this->db_onedev->trans_commit();
|
||||
$this->sys_ok($result);
|
||||
|
||||
} catch (Exception $exc) {
|
||||
$message = $exc->getMessage();
|
||||
$this->sys_error($message);
|
||||
}
|
||||
}
|
||||
|
||||
function deletegroupproject()
|
||||
{
|
||||
try {
|
||||
//# cek token valid
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$this->db_onedev->trans_begin();
|
||||
$id = $prm["id"];
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
|
||||
|
||||
$sql = "SELECT * FROM mgm_mcugroup
|
||||
WHERE Mgm_McuGroupID = ?
|
||||
AND Mgm_McuGroupIsActive= 'Y'";
|
||||
$query = $this->db_onedev->query($sql, [$id]);
|
||||
|
||||
$rows = $query->result_array();
|
||||
if (!$rows) {
|
||||
$data = $this->sys_ok("Tidak Ada yang Didelete");
|
||||
return $data;
|
||||
}
|
||||
|
||||
|
||||
|
||||
$sql = "UPDATE mgm_mcugroup
|
||||
SET
|
||||
Mgm_McuGroupIsActive = 'N',
|
||||
Mgm_McuGroupDeleted = NOW(),
|
||||
Mgm_McuGroupDeletedUserID = ?
|
||||
WHERE Mgm_McuGroupID = ?
|
||||
AND Mgm_McuGroupIsActive= 'Y'";
|
||||
$query = $this->db_onedev->query($sql, [$userid, $id]);
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user