960 lines
38 KiB
PHP
960 lines
38 KiB
PHP
<?php
|
|
class Natsubgroup extends MY_Controller
|
|
{
|
|
var $db_onedev;
|
|
public function index()
|
|
{
|
|
echo "AUTH API";
|
|
}
|
|
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->db_onedev = $this->load->database("onedev", true);
|
|
}
|
|
|
|
// lookup nat_group
|
|
function getNatGroup()
|
|
{
|
|
$prm = $this->sys_input;
|
|
try {
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
|
|
$sql = "SELECT Nat_GroupID,
|
|
Nat_GroupCode,
|
|
Nat_GroupName
|
|
FROM nat_group
|
|
WHERE Nat_GroupIsActive ='Y'";
|
|
$qry = $this->db_onedev->query($sql, array());
|
|
|
|
if (!$qry) {
|
|
// $this->db->trans_rollback();
|
|
$this->sys_error_db("Error get nat_group");
|
|
exit;
|
|
}
|
|
$result = $qry->result_array();
|
|
$this->sys_ok($result);
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
|
|
// lookup nat_sub_group
|
|
function getNatSubGroup()
|
|
{
|
|
$prm = $this->sys_input;
|
|
try {
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
|
|
$sql = "SELECT
|
|
p.Nat_GroupName,
|
|
c.Nat_SubGroupID,
|
|
c.Nat_SubGroupNat_GroupID,
|
|
c.Nat_SubGroupCode,
|
|
c.Nat_SubGroupName,
|
|
c.Nat_SubGroupLangName,
|
|
c.Nat_SubGroupIsResult,
|
|
c.Nat_SubGroupReportTitle,
|
|
c.Nat_SubGroupCreated,
|
|
c.Nat_SubGroupLastUpdated,
|
|
c.Nat_SubGroupIsActive,
|
|
CONCAT(p.Nat_GroupName,' - ',c.Nat_SubGroupName) as display
|
|
FROM nat_subgroup AS c
|
|
JOIN nat_group AS p
|
|
ON c.Nat_SubGroupNat_GroupID = p.Nat_GroupID
|
|
AND c.Nat_SubGroupIsActive = 'Y'
|
|
AND p.Nat_GroupIsActive = 'Y'";
|
|
$qry = $this->db_onedev->query($sql, array());
|
|
|
|
if (!$qry) {
|
|
// $this->db->trans_rollback();
|
|
$this->sys_error_db("Error get nat_subgroup");
|
|
exit;
|
|
}
|
|
$result = $qry->result_array();
|
|
$this->sys_ok($result);
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
|
|
// ac pendapatan
|
|
function getAcPendapatan()
|
|
{
|
|
$prm = $this->sys_input;
|
|
try {
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
|
|
$search = $prm['search'];
|
|
// $where_search = "%%";
|
|
$where_search_desc = '%'.$search.'%';
|
|
$where_search_acc = "$search%";
|
|
|
|
$sql = "SELECT
|
|
coaID,
|
|
coaAccountNo,
|
|
coaDescription,
|
|
coaSubDescription,
|
|
coaAccountType,
|
|
coaSpecialAccountType,
|
|
coaIsInput,
|
|
coaReportSchedule,
|
|
coaCurrencyCode,
|
|
coaCashFlowCategory,
|
|
coaCreated,
|
|
coaLastUpdated,
|
|
coaIsActive,
|
|
coaLevel
|
|
FROM coa
|
|
WHERE coaIsInput = 'Y'
|
|
AND coaIsActive = 'Y'
|
|
AND
|
|
(
|
|
coaDescription LIKE '$where_search_desc'
|
|
OR coaAccountNo LIKE '$where_search_acc'
|
|
)";
|
|
|
|
// echo $sql;
|
|
// die();
|
|
$qry = $this->db_onedev->query($sql, array());
|
|
|
|
if (!$qry) {
|
|
// $this->db->trans_rollback();
|
|
$this->sys_error_db("Error get coa pendapatan");
|
|
exit;
|
|
}
|
|
$result = $qry->result_array();
|
|
$this->sys_ok($result);
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
|
|
// ac biaya
|
|
function getAcBiaya()
|
|
{
|
|
$prm = $this->sys_input;
|
|
try {
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
|
|
$search = $prm['search'];
|
|
// $where_search = "%%";
|
|
$where_search_desc = '%'.$search.'%';
|
|
$where_search_acc = "$search%";
|
|
|
|
$sql = "SELECT
|
|
coaID,
|
|
coaAccountNo,
|
|
coaDescription,
|
|
coaSubDescription,
|
|
coaAccountType,
|
|
coaSpecialAccountType,
|
|
coaIsInput,
|
|
coaReportSchedule,
|
|
coaCurrencyCode,
|
|
coaCashFlowCategory,
|
|
coaCreated,
|
|
coaLastUpdated,
|
|
coaIsActive,
|
|
coaLevel
|
|
FROM coa
|
|
WHERE coaIsInput = 'Y'
|
|
AND coaIsActive = 'Y'
|
|
AND
|
|
(
|
|
coaDescription LIKE '$where_search_desc'
|
|
OR coaAccountNo LIKE '$where_search_acc'
|
|
)";
|
|
|
|
// echo $sql;
|
|
// die();
|
|
$qry = $this->db_onedev->query($sql, array());
|
|
|
|
if (!$qry) {
|
|
// $this->db->trans_rollback();
|
|
$this->sys_error_db("Error get coa pendapatan");
|
|
exit;
|
|
}
|
|
$result = $qry->result_array();
|
|
$this->sys_ok($result);
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
|
|
// ac persediaan
|
|
function getAcPersediaan()
|
|
{
|
|
$prm = $this->sys_input;
|
|
try {
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
|
|
$search = $prm['search'];
|
|
// $where_search = "%%";
|
|
$where_search_desc = '%'.$search.'%';
|
|
$where_search_acc = "$search%";
|
|
|
|
$sql = "SELECT
|
|
coaID,
|
|
coaAccountNo,
|
|
coaDescription,
|
|
coaSubDescription,
|
|
coaAccountType,
|
|
coaSpecialAccountType,
|
|
coaIsInput,
|
|
coaReportSchedule,
|
|
coaCurrencyCode,
|
|
coaCashFlowCategory,
|
|
coaCreated,
|
|
coaLastUpdated,
|
|
coaIsActive,
|
|
coaLevel
|
|
FROM coa
|
|
WHERE coaIsInput = 'Y'
|
|
AND coaIsActive = 'Y'
|
|
AND
|
|
(
|
|
coaDescription LIKE '$where_search_desc'
|
|
OR coaAccountNo LIKE '$where_search_acc'
|
|
)";
|
|
|
|
// echo $sql;
|
|
// die();
|
|
$qry = $this->db_onedev->query($sql, array());
|
|
|
|
if (!$qry) {
|
|
// $this->db->trans_rollback();
|
|
$this->sys_error_db("Error get coa pendapatan");
|
|
exit;
|
|
}
|
|
$result = $qry->result_array();
|
|
$this->sys_ok($result);
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
|
|
// addData
|
|
function addData()
|
|
{
|
|
$prm = $this->sys_input;
|
|
try {
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
|
|
$this->db_onedev->trans_begin();
|
|
|
|
$a_nat_group = $prm['a_nat_group'];
|
|
$a_nat_subgroup = $prm['a_nat_subgroup'];
|
|
$a_coa_pendapatan = $prm['a_coa_pendapatan'];
|
|
$a_coa_biaya = $prm['a_coa_biaya'];
|
|
$a_coa_persediaan = $prm['a_coa_persediaan'];
|
|
|
|
$MapNatSub_IsActive = 'Y';
|
|
$MapNatSub_CreatedAt = date('Y-m-d H:i:s');
|
|
$MapNatSub_LastUpdatedAt = date('Y-m-d H:i:s');
|
|
|
|
// nat_group
|
|
$MapNatSub_NatGroupID = isset($a_nat_group['Nat_GroupID']) ? $a_nat_group['Nat_GroupID'] : 0;
|
|
|
|
// nat_subgroup
|
|
$MapNatSub_NatSubGroupID = isset($a_nat_subgroup['Nat_SubGroupID']) ? $a_nat_subgroup['Nat_SubGroupID'] : 0;
|
|
$MapNatSub_NatSubGroupCode = isset($a_nat_subgroup['Nat_SubGroupCode']) ? $a_nat_subgroup['Nat_SubGroupCode'] : '';
|
|
|
|
// pendapatan
|
|
$MapNatSub_PendapatanCoaID = isset($a_coa_pendapatan['coaID']) ? $a_coa_pendapatan['coaID'] : 0;
|
|
$MapNatSub_PendapatanCoaAccountNo = isset($a_coa_pendapatan['coaAccountNo']) ? $a_coa_pendapatan['coaAccountNo'] : '';
|
|
$MapNatSub_PendapatanCoaDescription = isset($a_coa_pendapatan['coaDescription']) ? $a_coa_pendapatan['coaDescription'] : '';
|
|
|
|
// biaya
|
|
$MapNatSub_BiayaCoaID = isset($a_coa_biaya['coaID']) ? $a_coa_biaya['coaID'] : 0;
|
|
$MapNatSub_BiayaCoaAccountNo = isset($a_coa_biaya['coaAccountNo']) ? $a_coa_biaya['coaAccountNo'] : '';
|
|
$MapNatSub_BiayaCoaDescription = isset($a_coa_biaya['coaDescription']) ? $a_coa_biaya['coaDescription'] : '';
|
|
|
|
// persediaan
|
|
$MapNatSub_PersediaanCoaID = isset($a_coa_persediaan['coaID']) ? $a_coa_persediaan['coaID'] : 0;
|
|
$MapNatSub_PersediaanCoaAccountNo = isset($a_coa_persediaan['coaAccountNo']) ? $a_coa_persediaan['coaAccountNo'] : '';
|
|
$MapNatSub_PersediaanCoaDescription = isset($a_coa_persediaan['coaDescription']) ? $a_coa_persediaan['coaDescription'] : '';
|
|
|
|
// check jika sudah ada MapNatSub_NatGroupID AND MapNatSub_NatSubGroupID maka tidak boleh insert
|
|
$sql_gn = "SELECT *
|
|
FROM nat_group
|
|
WHERE Nat_GroupID = '$MapNatSub_NatGroupID'
|
|
AND Nat_GroupIsActive = 'Y'";
|
|
|
|
$qry_gn = $this->db_onedev->query($sql_gn);
|
|
if (!$qry_gn) {
|
|
$this->db_onedev->trans_rollback();
|
|
$error = array(
|
|
"message" => $this->db_onedev->error()["message"],
|
|
// "sql" => $last_qry
|
|
);
|
|
$this->sys_error_db($error, $this->db_onedev);
|
|
exit;
|
|
}
|
|
$rows_gn = $qry_gn->result();
|
|
$grup_name = "";
|
|
$grup_name .= $rows_gn[0]->Nat_GroupName;
|
|
|
|
// sub group
|
|
|
|
$sql_sub = "SELECT *
|
|
FROM nat_subgroup
|
|
WHERE Nat_SubGroupID = '$MapNatSub_NatSubGroupID'
|
|
AND Nat_SubGroupIsActive = 'Y'";
|
|
|
|
$qry_sub = $this->db_onedev->query($sql_sub);
|
|
if (!$qry_sub) {
|
|
$this->db_onedev->trans_rollback();
|
|
$error = array(
|
|
"message" => $this->db_onedev->error()["message"],
|
|
// "sql" => $last_qry
|
|
);
|
|
$this->sys_error_db($error, $this->db_onedev);
|
|
exit;
|
|
}
|
|
$rows_sub = $qry_sub->result();
|
|
$sub_grup_name = "";
|
|
$sub_grup_name .= $rows_sub[0]->Nat_SubGroupName;
|
|
|
|
$sql_c = "SELECT * from map_nat_subgroup
|
|
where MapNatSub_IsActive = 'Y'
|
|
AND MapNatSub_NatGroupID = '$MapNatSub_NatGroupID'
|
|
AND MapNatSub_NatSubGroupID ='$MapNatSub_NatSubGroupID'";
|
|
|
|
$qry_c = $this->db_onedev->query($sql_c);
|
|
if (!$qry_c) {
|
|
$this->db_onedev->trans_rollback();
|
|
$error = array(
|
|
"message" => $this->db_onedev->error()["message"],
|
|
// "sql" => $last_qry
|
|
);
|
|
$this->sys_error_db($error, $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
$rows_c = $qry_c->result_array();
|
|
if(count($rows_c) > 0) {
|
|
$this->db_onedev->trans_rollback();
|
|
$this->sys_error("Group Name dengan nama $grup_name, Sub Group dengan nama $sub_grup_name, sudah ada");
|
|
exit;
|
|
}
|
|
|
|
// mulai insert
|
|
$sql = "INSERT INTO map_nat_subgroup
|
|
(
|
|
MapNatSub_NatGroupID,
|
|
MapNatSub_NatSubGroupID,
|
|
MapNatSub_NatSubGroupCode,
|
|
MapNatSub_IsActive,
|
|
MapNatSub_CreatedAt,
|
|
MapNatSub_LastUpdatedAt,
|
|
MapNatSub_PendapatanCoaID,
|
|
MapNatSub_PendapatanCoaAccountNo,
|
|
MapNatSub_PendapatanCoaDescription,
|
|
MapNatSub_BiayaCoaID,
|
|
MapNatSub_BiayaCoaAccountNo,
|
|
MapNatSub_BiayaCoaDescription,
|
|
MapNatSub_PersediaanCoaID,
|
|
MapNatSub_PersediaanCoaAccountNo,
|
|
MapNatSub_PersediaanCoaDescription
|
|
)
|
|
VALUES (
|
|
'$MapNatSub_NatGroupID',
|
|
'$MapNatSub_NatSubGroupID',
|
|
'$MapNatSub_NatSubGroupCode',
|
|
'$MapNatSub_IsActive',
|
|
'$MapNatSub_CreatedAt',
|
|
'$MapNatSub_LastUpdatedAt',
|
|
'$MapNatSub_PendapatanCoaID',
|
|
'$MapNatSub_PendapatanCoaAccountNo',
|
|
'$MapNatSub_PendapatanCoaDescription',
|
|
'$MapNatSub_BiayaCoaID',
|
|
'$MapNatSub_BiayaCoaAccountNo',
|
|
'$MapNatSub_BiayaCoaDescription',
|
|
'$MapNatSub_PersediaanCoaID',
|
|
'$MapNatSub_PersediaanCoaAccountNo',
|
|
'$MapNatSub_PersediaanCoaDescription'
|
|
)";
|
|
|
|
// echo $sql;
|
|
|
|
$qry = $this->db_onedev->query($sql);
|
|
if (!$qry) {
|
|
$this->db_onedev->trans_rollback();
|
|
$error = array(
|
|
"message" => $this->db_onedev->error()["message"],
|
|
// "sql" => $last_qry
|
|
);
|
|
$this->sys_error_db($error, $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
$this->db_onedev->trans_commit();
|
|
$result = array("total" => 1);
|
|
$this->sys_ok($result);
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
|
|
// search
|
|
function search()
|
|
{
|
|
try {
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
|
|
$prm = $this->sys_input;
|
|
$search = isset($prm["search"]) ? trim($prm["search"]) : '';
|
|
$search = ($search !== '') ? "%$search%" : "%%";
|
|
|
|
// $number_offset = ($prm["current_page"] > 0) ? ($prm["current_page"] - 1) * 20 : 0;
|
|
// $number_limit = 2;
|
|
$number_limit = 10;
|
|
$number_offset = ($prm["current_page"] > 0) ? ($prm["current_page"] - 1) * $number_limit : 0;
|
|
|
|
$sql = "SELECT
|
|
IFNULL(m.MapNatSub_ID, 0) AS MapNatSub_ID,
|
|
IFNULL(m.MapNatSub_NatGroupID, 0) AS MapNatSub_NatGroupID,
|
|
IFNULL(m.MapNatSub_NatSubGroupID, 0) AS MapNatSub_NatSubGroupID,
|
|
IFNULL(m.MapNatSub_NatSubGroupCode, '') AS MapNatSub_NatSubGroupCode,
|
|
IFNULL(m.MapNatSub_IsActive, '') AS MapNatSub_IsActive,
|
|
IFNULL(m.MapNatSub_CreatedAt, '') AS MapNatSub_CreatedAt,
|
|
IFNULL(m.MapNatSub_LastUpdatedAt, '') AS MapNatSub_LastUpdatedAt,
|
|
IFNULL(m.MapNatSub_PendapatanCoaID, 0) AS MapNatSub_PendapatanCoaID,
|
|
IFNULL(m.MapNatSub_PendapatanCoaAccountNo, '') AS MapNatSub_PendapatanCoaAccountNo,
|
|
IFNULL(m.MapNatSub_PendapatanCoaDescription, '') AS MapNatSub_PendapatanCoaDescription,
|
|
IFNULL(m.MapNatSub_BiayaCoaID, 0) AS MapNatSub_BiayaCoaID,
|
|
IFNULL(m.MapNatSub_BiayaCoaAccountNo, '') AS MapNatSub_BiayaCoaAccountNo,
|
|
IFNULL(m.MapNatSub_BiayaCoaDescription, '') AS MapNatSub_BiayaCoaDescription,
|
|
IFNULL(m.MapNatSub_PersediaanCoaID, 0) AS MapNatSub_PersediaanCoaID,
|
|
IFNULL(m.MapNatSub_PersediaanCoaAccountNo, '') AS MapNatSub_PersediaanCoaAccountNo,
|
|
IFNULL(m.MapNatSub_PersediaanCoaDescription, '') AS MapNatSub_PersediaanCoaDescription,
|
|
IFNULL(g.Nat_GroupID, 0) AS Nat_GroupID,
|
|
IFNULL(g.Nat_GroupName, '') AS Nat_GroupName,
|
|
IFNULL(g.Nat_GroupIsActive, '') AS Nat_GroupIsActive,
|
|
IFNULL(s.Nat_SubGroupID, 0) AS Nat_SubGroupID,
|
|
IFNULL(s.Nat_SubGroupCode, '') AS Nat_SubGroupCode,
|
|
IFNULL(s.Nat_SubGroupName, '') AS Nat_SubGroupName,
|
|
IFNULL(s.Nat_SubGroupLangName, '') AS Nat_SubGroupLangName,
|
|
IFNULL(s.Nat_SubGroupIsResult, '') AS Nat_SubGroupIsResult,
|
|
IFNULL(s.Nat_SubGroupReportTitle, '') AS Nat_SubGroupReportTitle,
|
|
IFNULL(s.Nat_SubGroupCreated, '') AS Nat_SubGroupCreated,
|
|
IFNULL(s.Nat_SubGroupLastUpdated, '') AS Nat_SubGroupLastUpdated,
|
|
IFNULL(s.Nat_SubGroupIsActive, '') AS Nat_SubGroupIsActive,
|
|
IFNULL(c_pendapatan.coaID, 0) AS PendapatanCoaID,
|
|
IFNULL(c_pendapatan.coaAccountNo, '') AS PendapatanCoaAccountNo,
|
|
IFNULL(c_pendapatan.coaDescription, '') AS PendapatanCoaDescription,
|
|
IFNULL(c_biaya.coaID, 0) AS BiayaCoaID,
|
|
IFNULL(c_biaya.coaAccountNo, '') AS BiayaCoaAccountNo,
|
|
IFNULL(c_biaya.coaDescription, '') AS BiayaCoaDescription,
|
|
IFNULL(c_persediaan.coaID, 0) AS PersediaanCoaID,
|
|
IFNULL(c_persediaan.coaAccountNo, '') AS PersediaanCoaAccountNo,
|
|
IFNULL(c_persediaan.coaDescription, '') AS PersediaanCoaDescription
|
|
FROM map_nat_subgroup m
|
|
LEFT JOIN nat_group g
|
|
ON m.MapNatSub_NatGroupID = g.Nat_GroupID
|
|
AND g.Nat_GroupIsActive = 'Y'
|
|
LEFT JOIN nat_subgroup s
|
|
ON m.MapNatSub_NatSubGroupID = s.Nat_SubGroupID
|
|
AND s.Nat_SubGroupIsActive = 'Y'
|
|
LEFT JOIN coa c_pendapatan
|
|
ON m.MapNatSub_PendapatanCoaID = c_pendapatan.coaID
|
|
AND c_pendapatan.coaIsInput = 'Y'
|
|
AND c_pendapatan.coaIsActive = 'Y'
|
|
LEFT JOIN coa c_biaya
|
|
ON m.MapNatSub_BiayaCoaID = c_biaya.coaID
|
|
AND c_biaya.coaIsInput = 'Y'
|
|
AND c_biaya.coaIsActive = 'Y'
|
|
LEFT JOIN coa c_persediaan
|
|
ON m.MapNatSub_PersediaanCoaID = c_persediaan.coaID
|
|
AND c_persediaan.coaIsInput = 'Y'
|
|
AND c_persediaan.coaIsActive = 'Y'
|
|
WHERE m.MapNatSub_IsActive = 'Y'
|
|
AND (
|
|
g.Nat_GroupName LIKE '$search' OR
|
|
s.Nat_SubGroupName LIKE '$search' OR
|
|
m.MapNatSub_NatSubGroupCode LIKE '$search' OR
|
|
m.MapNatSub_PendapatanCoaAccountNo LIKE '$search' OR
|
|
m.MapNatSub_PendapatanCoaDescription LIKE '$search' OR
|
|
m.MapNatSub_BiayaCoaAccountNo LIKE '$search' OR
|
|
m.MapNatSub_BiayaCoaDescription LIKE '$search' OR
|
|
m.MapNatSub_PersediaanCoaAccountNo LIKE '$search' OR
|
|
m.MapNatSub_PersediaanCoaDescription LIKE '$search'
|
|
)
|
|
ORDER BY m.MapNatSub_ID ASC";
|
|
|
|
$sql_total = "SELECT count(*) as total FROM ($sql) as x";
|
|
$qry_total = $this->db_onedev->query($sql_total);
|
|
|
|
$totalCount = 0;
|
|
$totalPage = 0;
|
|
if ($qry_total) {
|
|
$totalCount = $qry_total->result_array()[0]["total"];
|
|
$totalPage = ceil($totalCount / $number_limit);
|
|
} else {
|
|
$this->sys_error_db("select map_nat_subgroup count error", $this->db_onedev);;
|
|
exit;
|
|
}
|
|
|
|
$sql_select = $sql . " LIMIT $number_limit OFFSET $number_offset";
|
|
|
|
$qry = $this->db_onedev->query($sql_select);
|
|
if ($qry) {
|
|
$rows = $qry->result_array();
|
|
} else {
|
|
$this->db_onedev->trans_rollback();
|
|
$this->sys_error_db("select map_nat_subgroup error", $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
$response = [
|
|
"total" => $totalPage,
|
|
"totalFilter" => $totalCount,
|
|
"records" => $rows,
|
|
"sql" => $this->db_onedev->last_query()
|
|
];
|
|
|
|
$this->sys_ok($response);
|
|
} catch (Exception $exc) {
|
|
$this->sys_error($exc->getMessage());
|
|
}
|
|
}
|
|
|
|
// get_by_id
|
|
function get_by_id()
|
|
{
|
|
$prm = $this->sys_input;
|
|
try {
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
|
|
// map_nat_subgroup
|
|
$MapNatSub_ID = isset($prm['MapNatSub_ID']) ? $prm['MapNatSub_ID'] : 0;
|
|
|
|
$sql_m = "SELECT * FROM map_nat_subgroup where MapNatSub_ID = '$MapNatSub_ID'";
|
|
|
|
$qry_m = $this->db_onedev->query($sql_m);
|
|
if (!$qry_m) {
|
|
$error = array(
|
|
"message" => $this->db_onedev->error()["message"],
|
|
"sql" => $this->db_onedev->last_query()
|
|
);
|
|
$this->sys_error_db($error, $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
$rows_m = $qry_m->result_array();
|
|
|
|
// empty rows_m
|
|
if (empty($rows_m)) {
|
|
$rows_m = [[
|
|
"MapNatSub_ID" => 0,
|
|
"MapNatSub_NatGroupID" => 0,
|
|
"MapNatSub_NatSubGroupID" => 0,
|
|
"MapNatSub_NatSubGroupCode" => '',
|
|
"MapNatSub_IsActive" => 'Y',
|
|
"MapNatSub_CreatedAt" => '',
|
|
"MapNatSub_LastUpdatedAt" => '',
|
|
"MapNatSub_PendapatanCoaID" => 0,
|
|
"MapNatSub_PendapatanCoaAccountNo" => '',
|
|
"MapNatSub_PendapatanCoaDescription" => '',
|
|
"MapNatSub_BiayaCoaID" => 0,
|
|
"MapNatSub_BiayaCoaAccountNo" => '',
|
|
"MapNatSub_BiayaCoaDescription" => '',
|
|
"MapNatSub_PersediaanCoaID" => 0,
|
|
"MapNatSub_PersediaanCoaAccountNo" => '',
|
|
"MapNatSub_PersediaanCoaDescription" => ''
|
|
]];
|
|
}
|
|
|
|
// nat group
|
|
$MapNatSub_NatGroupID = isset($prm['MapNatSub_NatGroupID']) ? $prm['MapNatSub_NatGroupID'] : 0;
|
|
$sql_g = "SELECT * FROM nat_group where Nat_GroupID = '$MapNatSub_NatGroupID'";
|
|
|
|
$qry_g = $this->db_onedev->query($sql_g);
|
|
if (!$qry_g) {
|
|
$error = array(
|
|
"message" => $this->db_onedev->error()["message"],
|
|
"sql" => $this->db_onedev->last_query()
|
|
);
|
|
$this->sys_error_db($error, $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
$rows_g = $qry_g->result_array();
|
|
|
|
if (empty($rows_g)) {
|
|
$rows_g = [[
|
|
"Nat_GroupID" => 0,
|
|
"Nat_GroupCode" => '',
|
|
"Nat_GroupName" => '',
|
|
"Nat_GroupCreated" => '',
|
|
"Nat_GroupLastUpdated"=> '',
|
|
"Nat_GroupIsActive" => 'Y'
|
|
]];
|
|
}
|
|
|
|
$sql_gx = "SELECT * FROM nat_group where Nat_GroupIsActive = 'Y'";
|
|
|
|
$qry_gx = $this->db_onedev->query($sql_gx);
|
|
if (!$qry_gx) {
|
|
$error = array(
|
|
"message" => $this->db_onedev->error()["message"],
|
|
"sql" => $this->db_onedev->last_query()
|
|
);
|
|
$this->sys_error_db($error, $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
$rows_gx = $qry_gx->result_array();
|
|
|
|
// nat sub group
|
|
$MapNatSub_NatSubGroupID = isset($prm['MapNatSub_NatSubGroupID']) ? $prm['MapNatSub_NatSubGroupID'] : 0;
|
|
$sql_sg = "SELECT c.*,
|
|
CONCAT(p.Nat_GroupName,' - ',c.Nat_SubGroupName) as display
|
|
FROM nat_subgroup c
|
|
JOIN nat_group AS p
|
|
ON c.Nat_SubGroupNat_GroupID = p.Nat_GroupID
|
|
AND c.Nat_SubGroupIsActive = 'Y'
|
|
AND p.Nat_GroupIsActive = 'Y'
|
|
where Nat_SubGroupID = '$MapNatSub_NatSubGroupID'";
|
|
|
|
$qry_sg = $this->db_onedev->query($sql_sg);
|
|
if (!$qry_sg) {
|
|
$error = array(
|
|
"message" => $this->db_onedev->error()["message"],
|
|
"sql" => $this->db_onedev->last_query()
|
|
);
|
|
$this->sys_error_db($error, $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
$rows_sg = $qry_sg->result_array();
|
|
|
|
if (empty($rows_sg)) {
|
|
$rows_sg = [[
|
|
"Nat_SubGroupID" => 0,
|
|
"Nat_SubGroupNat_GroupID" => 0,
|
|
"Nat_SubGroupCode" => '',
|
|
"Nat_SubGroupName" => '',
|
|
"Nat_SubGroupLangName" => '',
|
|
"Nat_SubGroupIsResult" => 'N',
|
|
"Nat_SubGroupReportTitle" => '',
|
|
"Nat_SubGroupCreated" => '',
|
|
"Nat_SubGroupLastUpdated" => '',
|
|
"Nat_SubGroupIsActive" => 'Y',
|
|
"display" => ''
|
|
]];
|
|
}
|
|
|
|
$sql_sgx = "SELECT c.*,
|
|
CONCAT(p.Nat_GroupName,' - ',c.Nat_SubGroupName) as display
|
|
FROM nat_subgroup c
|
|
JOIN nat_group AS p
|
|
ON c.Nat_SubGroupNat_GroupID = p.Nat_GroupID
|
|
AND c.Nat_SubGroupIsActive = 'Y'
|
|
AND p.Nat_GroupIsActive = 'Y'";
|
|
|
|
$qry_sgx = $this->db_onedev->query($sql_sgx);
|
|
if (!$qry_sgx) {
|
|
$error = array(
|
|
"message" => $this->db_onedev->error()["message"],
|
|
"sql" => $this->db_onedev->last_query()
|
|
);
|
|
$this->sys_error_db($error, $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
$rows_sgx = $qry_sgx->result_array();
|
|
|
|
// pendapatan
|
|
$MapNatSub_PendapatanCoaID = isset($prm['MapNatSub_PendapatanCoaID']) ? $prm['MapNatSub_PendapatanCoaID'] : 0;
|
|
$sql_p = "SELECT * FROM coa where coaID = '$MapNatSub_PendapatanCoaID'
|
|
AND coaIsInput = 'Y'
|
|
AND coaIsActive = 'Y'
|
|
";
|
|
|
|
$qry_p = $this->db_onedev->query($sql_p);
|
|
if (!$qry_p) {
|
|
$error = array(
|
|
"message" => $this->db_onedev->error()["message"],
|
|
"sql" => $this->db_onedev->last_query()
|
|
);
|
|
$this->sys_error_db($error, $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
$rows_p = $qry_p->result_array();
|
|
|
|
if (empty($rows_p)) {
|
|
$rows_p = [[
|
|
"coaID" => 0,
|
|
"coaAccountNo" => '',
|
|
"coaDescription" => '',
|
|
"coaSubDescription" => '',
|
|
"coaAccountType" => '',
|
|
"coaSpecialAccountType" => '',
|
|
"coaIsInput" => 'N',
|
|
"coaReportSchedule" => '',
|
|
"coaCurrencyCode" => '',
|
|
"coaCashFlowCategory" => '',
|
|
"coaCreated" => '',
|
|
"coaLastUpdated" => '',
|
|
"coaIsActive" => 'Y',
|
|
"coaLevel" => 1
|
|
]];
|
|
}
|
|
|
|
// biaya
|
|
$MapNatSub_BiayaCoaID = isset($prm['MapNatSub_BiayaCoaID']) ? $prm['MapNatSub_BiayaCoaID'] : 0;
|
|
$sql_b = "SELECT * FROM coa where coaID = '$MapNatSub_BiayaCoaID'
|
|
AND coaIsInput = 'Y'
|
|
AND coaIsActive = 'Y'
|
|
";
|
|
|
|
$qry_b = $this->db_onedev->query($sql_b);
|
|
if (!$qry_b) {
|
|
$error = array(
|
|
"message" => $this->db_onedev->error()["message"],
|
|
"sql" => $this->db_onedev->last_query()
|
|
);
|
|
$this->sys_error_db($error, $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
$rows_b = $qry_b->result_array();
|
|
|
|
if (empty($rows_b)) {
|
|
$rows_b = [[
|
|
"coaID" => 0,
|
|
"coaAccountNo" => '',
|
|
"coaDescription" => '',
|
|
"coaSubDescription" => '',
|
|
"coaAccountType" => '',
|
|
"coaSpecialAccountType" => '',
|
|
"coaIsInput" => 'N',
|
|
"coaReportSchedule" => '',
|
|
"coaCurrencyCode" => '',
|
|
"coaCashFlowCategory" => '',
|
|
"coaCreated" => '',
|
|
"coaLastUpdated" => '',
|
|
"coaIsActive" => 'Y',
|
|
"coaLevel" => 1
|
|
]];
|
|
}
|
|
|
|
// psd
|
|
$MapNatSub_PersediaanCoaID = isset($prm['MapNatSub_PersediaanCoaID']) ? $prm['MapNatSub_PersediaanCoaID'] : 0;
|
|
$sql_psd = "SELECT * FROM coa where coaID = '$MapNatSub_PersediaanCoaID'
|
|
AND coaIsInput = 'Y'
|
|
AND coaIsActive = 'Y'
|
|
";
|
|
|
|
$qry_psd = $this->db_onedev->query($sql_psd);
|
|
if (!$qry_psd) {
|
|
$error = array(
|
|
"message" => $this->db_onedev->error()["message"],
|
|
"sql" => $this->db_onedev->last_query()
|
|
);
|
|
$this->sys_error_db($error, $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
$rows_psd = $qry_psd->result_array();
|
|
|
|
if (empty($rows_psd)) {
|
|
$rows_psd = [[
|
|
"coaID" => 0,
|
|
"coaAccountNo" => '',
|
|
"coaDescription" => '',
|
|
"coaSubDescription" => '',
|
|
"coaAccountType" => '',
|
|
"coaSpecialAccountType" => '',
|
|
"coaIsInput" => 'N',
|
|
"coaReportSchedule" => '',
|
|
"coaCurrencyCode" => '',
|
|
"coaCashFlowCategory" => '',
|
|
"coaCreated" => '',
|
|
"coaLastUpdated" => '',
|
|
"coaIsActive" => 'Y',
|
|
"coaLevel" => 1
|
|
]];
|
|
}
|
|
|
|
// response
|
|
$response = [
|
|
"record_map_nat_subgroup" => $rows_m,
|
|
"records_group" => $rows_g,
|
|
"records_group_all" => $rows_gx,
|
|
"records_sub_group" => $rows_sg,
|
|
"records_sub_group_all" => $rows_sgx,
|
|
"records_pendapatan" => $rows_p,
|
|
"records_biaya" => $rows_b,
|
|
"records_persediaan" => $rows_psd,
|
|
"sql" => $sql_sg
|
|
];
|
|
|
|
$this->sys_ok($response);
|
|
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
|
|
// editData
|
|
function editData()
|
|
{
|
|
$prm = $this->sys_input;
|
|
try {
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
|
|
$this->db_onedev->trans_begin();
|
|
$e_nat_group = $prm['e_nat_group'];
|
|
$e_nat_subgroup = $prm['e_nat_subgroup'];
|
|
$e_coa_biaya = $prm['e_coa_biaya'];
|
|
$e_coa_pendapatan = $prm['e_coa_pendapatan'];
|
|
$e_coa_persediaan = $prm['e_coa_persediaan'];
|
|
|
|
$MapNatSub_ID = $prm['MapNatSub_ID'];
|
|
|
|
// defined variable
|
|
|
|
$MapNatSub_LastUpdatedAt = date('Y-m-d H:i:s');
|
|
|
|
// nat_group
|
|
$MapNatSub_NatGroupID = isset($e_nat_group['Nat_GroupID']) ? $e_nat_group['Nat_GroupID'] : 0;
|
|
|
|
// nat sub grup
|
|
$MapNatSub_NatSubGroupID = isset($e_nat_subgroup['Nat_SubGroupID']) ? $e_nat_subgroup['Nat_SubGroupID'] : 0;
|
|
$MapNatSub_NatSubGroupCode = isset($e_nat_subgroup['Nat_SubGroupCode']) ? $e_nat_subgroup['Nat_SubGroupCode'] : '';
|
|
|
|
// pendapatan
|
|
$MapNatSub_PendapatanCoaID = isset($e_coa_pendapatan['coaID']) ? $e_coa_pendapatan['coaID'] : 0;
|
|
$MapNatSub_PendapatanCoaAccountNo = isset($e_coa_pendapatan['coaAccountNo']) ? $e_coa_pendapatan['coaAccountNo'] : '';
|
|
$MapNatSub_PendapatanCoaDescription = isset($e_coa_pendapatan['coaDescription']) ? $e_coa_pendapatan['coaDescription'] : '';
|
|
|
|
// biaya
|
|
$MapNatSub_BiayaCoaID = isset($e_coa_biaya['coaID']) ? $e_coa_biaya['coaID'] : 0;
|
|
$MapNatSub_BiayaCoaAccountNo = isset($e_coa_biaya['coaAccountNo']) ? $e_coa_biaya['coaAccountNo'] : '';
|
|
$MapNatSub_BiayaCoaDescription = isset($e_coa_biaya['coaDescription']) ? $e_coa_biaya['coaDescription'] : '';
|
|
|
|
// persediaan
|
|
$MapNatSub_PersediaanCoaID = isset($e_coa_persediaan['coaID']) ? $e_coa_persediaan['coaID'] : 0;
|
|
$MapNatSub_PersediaanCoaAccountNo = isset($e_coa_persediaan['coaAccountNo']) ? $e_coa_persediaan['coaAccountNo'] : '';
|
|
$MapNatSub_PersediaanCoaDescription = isset($e_coa_persediaan['coaDescription']) ? $e_coa_persediaan['coaDescription'] : '';
|
|
|
|
$sql = "UPDATE map_nat_subgroup
|
|
SET
|
|
MapNatSub_NatGroupID = '$MapNatSub_NatGroupID',
|
|
MapNatSub_NatSubGroupID = '$MapNatSub_NatSubGroupID',
|
|
MapNatSub_NatSubGroupCode = '$MapNatSub_NatSubGroupCode',
|
|
MapNatSub_IsActive = 'Y',
|
|
MapNatSub_LastUpdatedAt = '$MapNatSub_LastUpdatedAt',
|
|
MapNatSub_PendapatanCoaID = '$MapNatSub_PendapatanCoaID',
|
|
MapNatSub_PendapatanCoaAccountNo = '$MapNatSub_PendapatanCoaAccountNo',
|
|
MapNatSub_PendapatanCoaDescription = '$MapNatSub_PendapatanCoaDescription',
|
|
MapNatSub_BiayaCoaID = '$MapNatSub_BiayaCoaID',
|
|
MapNatSub_BiayaCoaAccountNo = '$MapNatSub_BiayaCoaAccountNo',
|
|
MapNatSub_BiayaCoaDescription = '$MapNatSub_BiayaCoaDescription',
|
|
MapNatSub_PersediaanCoaID = '$MapNatSub_PersediaanCoaID',
|
|
MapNatSub_PersediaanCoaAccountNo = '$MapNatSub_PersediaanCoaAccountNo',
|
|
MapNatSub_PersediaanCoaDescription = '$MapNatSub_PersediaanCoaDescription'
|
|
WHERE MapNatSub_ID = '$MapNatSub_ID'";
|
|
|
|
// echo $sql;
|
|
|
|
$qry = $this->db_onedev->query($sql);
|
|
if (!$qry) {
|
|
$this->db_onedev->trans_rollback();
|
|
$error = array(
|
|
"message" => $this->db_onedev->error()["message"],
|
|
"sql" => $last_qry
|
|
);
|
|
$this->sys_error_db($error, $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
$this->db_onedev->trans_commit();
|
|
$result = array("total" => 1);
|
|
$this->sys_ok($result);
|
|
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
|
|
// deleteData
|
|
function deleteData()
|
|
{
|
|
$prm = $this->sys_input;
|
|
try {
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
|
|
$this->db_onedev->trans_begin();
|
|
$MapNatSub_ID = $prm['MapNatSub_ID'];
|
|
$MapNatSub_LastUpdatedAt = date('Y-m-d H:i:s');
|
|
|
|
$sql = "UPDATE map_nat_subgroup
|
|
SET
|
|
MapNatSub_IsActive = 'N',
|
|
MapNatSub_LastUpdatedAt = '$MapNatSub_LastUpdatedAt'
|
|
WHERE MapNatSub_ID = '$MapNatSub_ID'";
|
|
|
|
$qry = $this->db_onedev->query($sql);
|
|
if (!$qry) {
|
|
$this->db_onedev->trans_rollback();
|
|
$error = array(
|
|
"message" => $this->db_onedev->error()["message"],
|
|
"sql" => $last_qry
|
|
);
|
|
$this->sys_error_db($error, $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
$this->db_onedev->trans_commit();
|
|
$result = array("total" => 1);
|
|
$this->sys_ok($result);
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
}
|
|
?>
|