Initial import
This commit is contained in:
221
one-api/application/controllers/v1/masterdata/Unitcompany.php
Normal file
221
one-api/application/controllers/v1/masterdata/Unitcompany.php
Normal file
@@ -0,0 +1,221 @@
|
||||
<?php
|
||||
|
||||
class Unitcompany extends MY_Controller
|
||||
{
|
||||
var $db_regional;
|
||||
public function index()
|
||||
{
|
||||
echo "UNIT API";
|
||||
}
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->db_regional = $this->load->database("regional", true);
|
||||
}
|
||||
|
||||
function lookupunitbyname(){
|
||||
try {
|
||||
//# cek token valid
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
|
||||
$prm = $this->sys_input;
|
||||
$unit = $prm['unit'];
|
||||
$number_limit = 10;
|
||||
$number_offset = ($prm['current_page'] - 1) * $number_limit ;
|
||||
$sql = "select COUNT(*) as total
|
||||
FROM(SELECT m_companytype.M_CompanyTypeID
|
||||
from m_companytype
|
||||
LEFT JOIN m_companytypegroup ON m_companytype.M_CompanyTypeM_CompanyTypeGroupID = m_companytypegroup.M_CompanyTypeGroupID
|
||||
WHERE
|
||||
(M_CompanyTypeName LIKE CONCAT('%','{$unit}','%') OR m_companytypegroup.M_CompanyTypeGroupName LIKE CONCAT('%','{$unit}','%')) AND
|
||||
M_CompanyTypeIsActive = 'Y' GROUP BY M_CompanyTypeID) a";
|
||||
$query = $this->db_regional->query($sql);
|
||||
$tot_count = 0;
|
||||
$tot_page = 0;
|
||||
if ($query) {
|
||||
$tot_count = $query->result_array()[0]["total"];
|
||||
$tot_page = ceil($tot_count/$number_limit);
|
||||
} else {
|
||||
$this->sys_error_db("m_companytype count", $this->db_regional);
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "select M_CompanyTypeID as id,
|
||||
M_CompanyTypeName as name,
|
||||
M_CompanyTypeName as Nat_UnitName,
|
||||
m_companytype.*,
|
||||
m_companytypegroup.M_CompanyTypeGroupName as GroupName
|
||||
from m_companytype
|
||||
LEFT JOIN m_companytypegroup ON m_companytype.M_CompanyTypeM_CompanyTypeGroupID = m_companytypegroup.M_CompanyTypeGroupID
|
||||
WHERE
|
||||
(M_CompanyTypeName LIKE CONCAT('%','{$unit}','%') OR m_companytypegroup.M_CompanyTypeGroupName LIKE CONCAT('%','{$unit}','%')) AND
|
||||
M_CompanyTypeIsActive = 'Y'
|
||||
GROUP BY M_CompanyTypeID
|
||||
ORDER BY GroupName ASC, M_CompanyTypeName ASC
|
||||
limit $number_limit offset $number_offset";
|
||||
$query = $this->db_regional->query($sql);
|
||||
if ($query) {
|
||||
$rows = $query->result_array();
|
||||
foreach($rows as $key => $val){
|
||||
$rows[$key]['code'] = $number_offset + $key + 1;
|
||||
//penomeran
|
||||
$rows[$key]['Nat_UnitCode'] = $number_offset + $key + 1;
|
||||
}
|
||||
} else {
|
||||
$this->sys_error_db("m_companytype select");
|
||||
exit;
|
||||
}
|
||||
|
||||
$result = array ("total" => $tot_page, "total_filter"=>count($rows),"records" => $rows);
|
||||
$this->sys_ok($result);
|
||||
|
||||
} catch(Exception $exc) {
|
||||
$message = $exc->getMessage();
|
||||
$this->sys_error($message);
|
||||
}
|
||||
}
|
||||
public function addnewunit()
|
||||
{
|
||||
try {
|
||||
//# cek token valid
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
|
||||
//# ambil parameter input
|
||||
$prm = $this->sys_input;
|
||||
$name = $prm['M_CompanyTypeName'];
|
||||
$group_id = $prm['M_CompanyTypeGroupID'];
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
|
||||
|
||||
if($prm['xid'] == 0){
|
||||
$query = "SELECT COUNT(*) as exist FROM m_companytype WHERE M_CompanyTypeIsActive = 'Y' AND M_CompanyTypeName = '{$name}'";
|
||||
$exist_code = $this->db_regional->query($query)->row()->exist;
|
||||
if($exist_code == 0){
|
||||
$sql = "insert into m_companytype(
|
||||
M_CompanyTypeName,
|
||||
M_CompanyTypeM_CompanyTypeGroupID,
|
||||
M_CompanyTypeUserID,
|
||||
M_CompanyTypeLastUpdated,
|
||||
M_CompanyTypeCreated)
|
||||
values(?,?,?,now(),now())";
|
||||
$query = $this->db_regional->query($sql,
|
||||
array(
|
||||
$name,
|
||||
$group_id,
|
||||
$userid)
|
||||
);
|
||||
if (!$query) {
|
||||
$this->sys_error_db("m_companytype insert",$this->db_regional);
|
||||
exit;
|
||||
}
|
||||
$result = array ("total" => 1, "records" => array("xid" => 0));
|
||||
$this->sys_ok($result);
|
||||
}else{
|
||||
$errors = array();
|
||||
if($exist_code != 0){
|
||||
array_push($errors,array('field'=>'Nat_UnitName','msg'=>'Nama sudah ada yang pakai dong'));
|
||||
}
|
||||
$result = array ("total" => -1,"errors" => $errors, "records" => 0);
|
||||
$this->sys_ok($result);
|
||||
}
|
||||
|
||||
}else{
|
||||
$query = "SELECT COUNT(*) as exist FROM m_companytype WHERE M_CompanyTypeIsActive = 'Y' AND M_CompanyTypeName = '{$name}' AND M_CompanyTypeID <> {$prm['xid']}";
|
||||
//echo $query;
|
||||
$exist_code = $this->db_regional->query($query)->row()->exist;
|
||||
// echo $exist_code;
|
||||
if($exist_code == 0){
|
||||
$sql = "UPDATE m_companytype SET
|
||||
M_CompanyTypeName = '{$name}',
|
||||
M_CompanyTypeM_CompanyTypeGroupID = '{$group_id}',
|
||||
M_CompanyTypeUserID = '{$userid}',
|
||||
M_CompanyTypeLastUpdated = now()
|
||||
WHERE M_CompanyTypeID = '{$prm['xid']}'";
|
||||
//echo $sql;
|
||||
$query = $this->db_regional->query($sql);
|
||||
$result = array ("total" => 1, "records" => array("xid" => 0));
|
||||
$this->sys_ok($result);
|
||||
}else{
|
||||
$errors = array();
|
||||
if($exist_code != 0){
|
||||
array_push($errors,array('field'=>'Nat_UnitName','msg'=>'Nama sudah ada yang pakai dong'));
|
||||
}
|
||||
$result = array ("total" => -1,"errors" => $errors, "records" => 0);
|
||||
$this->sys_ok($result);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
} catch(Exception $exc) {
|
||||
$message = $exc->getMessage();
|
||||
$this->sys_error($message);
|
||||
}
|
||||
}
|
||||
|
||||
public function getallgroups()
|
||||
{
|
||||
try {
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$sql = "SELECT M_CompanyTypeGroupID, M_CompanyTypeGroupName FROM m_companytypegroup WHERE M_CompanyTypeGroupIsActive = 'Y' ORDER BY M_CompanyTypeGroupName ASC";
|
||||
$query = $this->db_regional->query($sql);
|
||||
$rows = $query->result_array();
|
||||
$this->sys_ok(array("records" => $rows));
|
||||
} catch(Exception $exc) {
|
||||
$message = $exc->getMessage();
|
||||
$this->sys_error($message);
|
||||
}
|
||||
}
|
||||
|
||||
public function deleteunit()
|
||||
{
|
||||
try {
|
||||
//# cek token valid
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
|
||||
//# ambil parameter input
|
||||
$prm = $this->sys_input;
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
$sql = "update m_companytype SET
|
||||
M_CompanyTypeIsActive = 'N',
|
||||
M_CompanyTypeLastUpdated = now()
|
||||
WHERE
|
||||
M_CompanyTypeID = ?
|
||||
|
||||
";
|
||||
|
||||
$query = $this->db_regional->query($sql,
|
||||
array(
|
||||
$prm['id']
|
||||
)
|
||||
);
|
||||
// echo $query;
|
||||
if (!$query) {
|
||||
$this->sys_error_db("m_companytype delete");
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
$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