Files
REG_IBL/one-api/application/controllers/ibl/Companyverif.php
2026-05-25 20:01:37 +07:00

3227 lines
110 KiB
PHP

<?php
class Companyverif extends MY_Controller
{
var $db_regional;
var $load;
public function index()
{
echo "COMPANY API";
}
public function __construct()
{
parent::__construct();
$this->db_regional = $this->load->database("regional", true);
$this->load->helper(array('form', 'url'));
}
function lookupmou()
{
try {
//# cek token valid
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$id = $prm['id'];
$search = $prm['search'];
$number_offset = 0;
$number_limit = 10;
if ($prm["current_page"] > 0) {
$number_offset = ($prm["current_page"] - 1) * $number_limit;
}
$sql_select = "select M_MouID as id,
M_MouM_CompanyID as companyid,
0 as countprice,
M_MouName as name,
M_MouStartDate,
M_MouEndDate,
DATE_FORMAT(M_MouStartDate,'%d%m%Y') as startdate,
DATE_FORMAT(M_MouEndDate,'%d%m%Y') as enddate,
CONCAT(DATE_FORMAT(M_MouStartDate,'%d-%m-%Y'), ' s/d ', DATE_FORMAT(M_MouEndDate,'%d-%m-%Y')) as periode,
M_MouIsBill as isbill,
M_MouRefNumber as refnumber,
M_MouNumber as number,
CONCAT(M_MouNumber, ' [',M_MouBase, ']') as numberx,
CONCAT(M_MouName, ' [',M_OmzetTypeName, ']') as namex,
M_MouIsDefault as isdefault,
M_MouIsUsingFavourite as isfavorit,
M_MouJpaIsNetto as isjpanetto,
M_MouIsMcu as ismcu,
M_MouIsOnline as isonline,
M_MouIsApproved as isapproved,
M_MouIsAgingOnHold as isaging,
M_MouEmailIsDefault as isemail,
M_MouMinDP as mindp,
IFNULL(M_MouIsAgingOnHoldNote,'') as agingnote,
M_MouAgingDay as agingday,
M_MouNote as xnote,
IFNULL(M_MouEmail,'') as mouemail,
IF(M_MouIsBill = 'Y','Pakai Billing','Tidak Pakai Billing') as bill,
M_MouBase as baseid,
M_MouBase as basename,
M_MouM_OmzetTypeID,
M_OmzetTypeID,
M_OmzetTypeName,
M_MouM_MouTypeID,
M_MouTypeID,
M_MouTypeName,
M_AgingTypeID,
M_AgingTypeName,
M_MouIsVerified as isverified,
M_MouAllowVerify as isallowverified,
IF(v.M_UserFullName IS NULL,'',DATE_FORMAT(M_MouVerifyDate,'%d-%m-%Y %h:%i:%s')) as verifydate,
M_MouVerifyUserID,
IFNULL(v.M_UserFullName,'') as verifyuser,
IF(v.M_UserFullName IS NULL, '', CONCAT(DATE_FORMAT(M_MouVerifyDate,'%d-%m-%Y %h:%i:%s'),'\r',v.M_UserFullName)) as verify,
M_MouIsReleased as isreleased,
IF(r.M_UserFullName IS NULL,'',DATE_FORMAT(M_MouReleaseDate,'%d-%m-%Y %h:%i:%s')) as releasedate,
M_MouReleaseUserID,
IFNULL(r.M_UserFullName,'') as releaseuser,
IF(r.M_UserFullName IS NULL, '', CONCAT(DATE_FORMAT(M_MouReleaseDate,'%d-%m-%Y %h:%i:%s'),'\r',r.M_UserFullName)) as released,
M_MouIsConfirm as isconfirm,
'xxx' as action,
CASE
WHEN M_MouStatus = 'N' THEN 'Baru'
WHEN M_MouStatus = 'V' THEN 'Verified'
WHEN M_MouStatus = 'UV' THEN 'Unverified'
WHEN M_MouStatus = 'R' THEN 'Released'
WHEN M_MouStatus = 'C' THEN 'Baru (Konfirmasi)'
ELSE 'Unreleased'
END as aksi,
'xxx' as statuss,
M_MouJpa1Name,
M_MouJpa1Percent,
M_MouJpa2Name,
M_MouJpa2Percent,
M_MouJpa3Name,
M_MouJpa3Percent,
M_MouJpa4Name,
M_MouJpa4Percent,
M_MouStatus as status,
M_MouPicBillName as picname,
M_MouPicBillHandphone as pichp,
M_MouFinanceName as fincname,
M_MouFinanceHandphone as finchp,
IFNULL(M_MouPicBillEmail,'') as mouemailpic,
IFNULL(M_MouFinanceEmail,'') as mouemailfinc,
M_MouM_BillTypeID,
M_BillTypeID,
M_BillTypeName,
M_MouM_BranchBillID,
M_BranchID,
M_BranchName,
'N' as isnasional,
M_MouEresultPersonal as iserpersonal,
M_MouEresultCompany as isercompany,
IFNULL(M_MouAddonIsVoucher,'N') as isvoucher,
IFNULL(M_MouAddonIsAcuanHarga,'N') as isacuanharga,
M_MouAddonNat_StaffID,
Nat_StaffID M_StaffID,
Nat_StaffName M_StaffName,
M_MouAddonAddressResult,
M_MouAddonAddressBill,
M_MouAddonNoteResult,
M_MouAddonNoteBill,
M_MouAddonNoteResult xnoteresult,
M_MouAddonNoteBill xnotebill,
M_MouJpa1Amount,
M_MouJpa2Amount,
M_MouJpa3Amount,
M_MouJpa4Amount
from m_mou
LEFT JOIN m_omzettype ON M_MouM_OmzetTypeID = M_OmzetTypeID
LEFT JOIN m_billtype ON M_MouM_BillTypeID = M_BillTypeID
LEFT JOIN m_branch ON M_MouM_BranchBillID = M_BranchID
LEFT JOIN m_moutype ON M_MouM_MouTypeID = M_MouTypeID
LEFT JOIN m_agingtype ON M_MouM_AgingTypeID = M_AgingTypeID
LEFT join m_user v ON M_MouVerifyUserID = v.M_UserID
LEFT join m_user r ON M_MouReleaseUserID = r.M_UserID
LEFT JOIN m_mouaddon ON M_MouAddonM_MouID = M_MouID AND M_MouAddonIsActive = 'Y'
LEFT JOIN nat_staff ON Nat_StaffID = M_MouAddonNat_StaffID
where
M_MouM_CompanyID = {$id} AND M_MouIsActive = 'Y' AND M_MouStatus <> 'N' AND M_MouIsOnline = 'N' AND
(M_MouName LIKE CONCAT('%','{$search}','%') OR
M_MouNumber LIKE CONCAT('%','{$search}','%')
)
GROUP BY M_MouID
ORDER BY M_MouID DESC";
// echo $sql;
$sql_filter = "SELECT COUNT(*) as total FROM ($sql_select) as x";
$qry_filter = $this->db_regional->query($sql_filter);
$tot_count = 0;
$tot_page = 0;
if ($qry_filter) {
$tot_count = $qry_filter->result_array()[0]["total"];
$tot_page = ceil($tot_count / $number_limit);
} else {
$this->sys_error_db("mou count error", $this->db_regional);
exit;
}
$sql = $sql_select . "
LIMIT $number_limit OFFSET $number_offset";
$query = $this->db_regional->query($sql);
// echo $this->db_regional->last_query();
// exit;
$rows = $query->result_array();
if ($rows) {
foreach ($rows as $k => $v) {
$x = $this->db_regional->query("select concat( '[', group_concat( json_object('id', G_MouStatusLogID, 'status',
CASE
WHEN G_MouStatusLogStatus = 'N' THEN 'Baru'
WHEN G_MouStatusLogStatus = 'V' THEN 'Verified'
WHEN G_MouStatusLogStatus = 'UV' THEN 'Unverified'
WHEN G_MouStatusLogStatus = 'R' THEN 'Released'
WHEN G_MouStatusLogStatus = 'C' THEN 'Baru (Konfirmasi)'
ELSE 'Unreleased'
END, 'waktu', DATE_FORMAT(G_MouStatusLogCreated,'%d-%m-%Y %H:%i'), 'user' , M_UserUsername) separator ',' ), ']' )
as n from g_moustatuslog
LEFT JOIN m_user ON G_MouStatusLogUserID = M_UserID
LEFT JOIN nat_staff ON M_UserM_StaffID = Nat_StaffID
WHERE G_MouStatusLogM_MouID = '{$v['id']}' AND G_MouStatusLogIsActive = 'Y'")->row();
$rows[$k]['statuss'] = json_decode($x->n);
$cp = $this->db_regional->query("SELECT IFNULL(COUNT(T_PriceID),0) as n
FROM t_price
WHERE T_PriceM_MouID = '{$v['id']}' AND T_PriceIsActive = 'Y'
GROUP BY T_PriceM_MouID")->row();
$rows[$k]['countprice'] = isset($cp->n) && !empty($cp->n) ? $cp->n : 0;
$isnasional = $this->db_regional->query("SELECT IF(NasCom_M_MouID IS NULL,'N','Y') as isnasional
FROM nas_com_m_mou
WHERE NasCom_M_MouNewID = '{$v['id']}'")->row();
//echo $this->db_regional->last_query();
$rows[$k]['isnasional'] = $isnasional->isnasional;
if ($rows[$k]['isnasional'] == null) {
$rows[$k]['isnasional'] = 'N';
}
}
}
$result = array("total_page" => $tot_page, "total" => count($rows), "records" => $rows);
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function lookupreleasebyid()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$id = $prm['id'];
$sql = "select tx_mou_release.*,
TxMouReleaseID as id,
TxMouReleaseM_StaffName as staff_release,
DATE_FORMAT(TxMouReleaseCreated,'%d-%m-%Y %T') as date_release,
M_BranchName,
CASE
WHEN TxMouReleaseStatus = 'RN' THEN 'Release New'
WHEN TxMouReleaseStatus = 'UN' THEN 'Unrelease New'
ELSE ''
END as status_release
from tx_mou_release
JOIN m_branch ON TxMouReleaseM_BranchCode = M_BranchCode
where
TxMouReleaseM_MouID = {$id}
ORDER BY TxMouReleaseCreated DESC";
// echo $sql;
$query = $this->db_regional->query($sql, $sql_param);
$rows = $query->result_array();
if ($rows) {
foreach ($rows as $k => $v) {
}
}
$result = array("total" => count($rows), "records" => $rows);
$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'];
$group = $prm['group'];
$all = $prm['all'];
$limit = '';
if ($all == 'N') {
$limit = ' LIMIT 10';
}
$sql = "select COUNT(*) as total
from m_company
where
M_CompanyIsActive = 'Y'";
$sql_param = array($search);
$total = $this->db_regional->query($sql, $sql_param)->row()->total;
$sql = "select M_CompanyID as id, M_CompanyName as name, M_CompanyAddress as address, M_CompanyPhone as phone, M_CompanyEmail as email,M_CompanyFax as fax, M_CompanyPICBillName as pic,
CONCAT(M_CompanyName,' ' ,'[ ', ifnull(M_CompanyTypeGroupName,'-') ,' ]') as description , M_CompanyTypeID, M_CompanyM_CompanyTypeID as companytypeid, M_CompanyTypeName as companytypename,
IFNULL(M_CompanyTypeGroupID,0) M_CompanyTypeGroupID, M_CompanyTypeM_CompanyTypeGroupID as companygrouptypeid, M_CompanyTypeGroupName as companygrouptypename,
M_CompanyIsLabFrom as islabfrom, M_CompanyIsLabTo as islabto, M_CompanyIsDefault as isdefault,'xxx' as companymou,
M_CompanyBusinessID,M_CompanyBusinessName,Nat_CompanyLevelID,Nat_CompanyLevelName,CONCAT(Nat_CompanyLevelName,' [',M_CompanyName,']') as Nat_CompanyLevelNames ,M_ProvinceID,M_ProvinceName,Nat_StaffID as M_StaffID,Nat_StaffName as M_StaffName,M_CompanyNumber,M_CompanyIDParent,
Nat_HierarchyID,Nat_HierarchyName,M_CompanyFax,
M_CityID, M_CityName, M_DistrictID, M_DistrictName, M_KelurahanID, M_KelurahanName, M_DoctorID, CONCAT(M_DoctorPrefix, ' ',M_DoctorName) as M_DoctorNames,
IF(M_MouID IS NULL , 'N', M_MouIsVerified) as isverified, M_CompanyNatCode
from m_company
LEFT JOIN m_mou ON M_MouM_CompanyID = M_CompanyID AND M_MouIsActive = 'Y' AND M_MouIsVerified = 'Y'
LEFT JOIN m_companytype ON M_CompanyM_CompanyTypeID = M_CompanyTypeID
LEFT JOIN m_companytypegroup ON M_CompanyTypeGroupID = M_CompanyTypeM_CompanyTypeGroupID
LEFT JOIN m_kelurahan ON M_CompanyM_KelurahanID = M_KelurahanID
LEFT JOIN m_district ON M_CompanyM_DistrictID = M_DistrictID
LEFT JOIN m_city ON M_CompanyM_CityID = M_CityID
LEFT JOIN m_province ON M_CompanyM_ProvinceID = M_ProvinceID
LEFT JOIN m_companybusiness ON M_CompanyM_CompanyBusinessID = M_CompanyBusinessID
LEFT JOIN nat_staff ON M_CompanyM_StaffID = Nat_StaffID
LEFT JOIN nat_companylevel ON M_CompanyNat_CompanyLevelID = Nat_CompanyLevelID
LEFT JOIN nat_hierarchy ON M_CompanyNat_HierarchyID = Nat_HierarchyID
LEFT JOIN m_doctor ON M_CompanyM_DoctorID = M_DoctorID
where
( M_CompanyName LIKE CONCAT('%','{$search}','%')) AND
($group = 0 OR($group > 0 AND M_CompanyTypeGroupID = $group)) AND
M_CompanyIsActive = 'Y' GROUP BY M_CompanyID $limit";
$sql_param = array($search);
$query = $this->db_regional->query($sql);
//echo $this->db_regional->last_query();
if ($query) {
$rows = $query->result_array();
} else {
$this->sys_error_db("m_company 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 addnewcompany()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
//# ambil parameter input
$prm = $this->sys_input;
$name = $prm['name'];
$idparent = $prm['idparent'];
$companytype = $prm['companytype'];
$companybusiness = $prm['companybusiness'];
$hierarkiid = $prm['hierarkiid'];
$companylevelid = $prm['companylevelid'];
$staffid = $prm['staffid'];
$province = $prm['province'];
$city = $prm['city'];
$district = $prm['district'];
$kelurahan = $prm['kelurahan'];
$address = $prm['address'];
$email = $prm['email'];
$phone = $prm['phone'];
$fax = $prm['fax'];
$isdefault = $prm['isdefault'];
$natcode = $prm['natcode'];
if ($natcode != '') {
$query = "SELECT COUNT(*) as exist FROM m_company WHERE M_CompanyIsActive = 'Y' AND M_CompanyNatCode = '{$natcode}'";
$exist_name = $this->db_regional->query($query)->row()->exist;
} else {
$exist_name = 0;
}
if ($exist_name == 0) {
$sql = "insert into m_company(
M_CompanyName,
M_CompanyIDParent,
M_CompanyNatCode,
M_CompanyM_CompanyTypeID,
M_CompanyM_CompanyBusinessID,
M_CompanyNat_HierarchyID,
M_CompanyNat_CompanyLevelID,
M_CompanyM_StaffID,
M_CompanyM_ProvinceID,
M_CompanyM_CityID,
M_CompanyM_DistrictID,
M_CompanyM_KelurahanID,
M_CompanyAddress,
M_CompanyEmail,
M_CompanyPhone,
M_CompanyFax,
M_CompanyIsDefault,
M_CompanyCreated,
M_CompanyLastUpdated
)
values( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, now(), now())";
// echo $sql;
$query = $this->db_regional->query(
$sql,
array(
$name,
$idparent,
$natcode,
$companytype,
$companybusiness,
$hierarkiid,
$companylevelid,
$staffid,
$province,
$city,
$district,
$kelurahan,
$address,
$email,
$phone,
$fax,
$isdefault
)
);
if (!$query) {
echo $this->db_regional->last_query();
$this->sys_error_db("m_company insert");
exit;
}
$result = array("total" => 1, "records" => array("xid" => 0));
$this->sys_ok($result);
$last_id = $this->db_regional->insert_id();
if ($isdefault == 'Y') {
$querydefault = "UPDATE m_company SET
M_CompanyIsDefault = 'N' WHERE M_CompanyIsDefault = 'Y'
AND M_CompanyID <> '{$last_id}' AND M_CompanyIsActive = 'Y'
";
$rows = $this->db_regional->query($querydefault);
}
} else {
$errors = array();
if ($exist_name != 0) {
array_push($errors, array('field' => 'name', 'msg' => 'Nomor kode nasional 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 editcompany()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
//# ambil parameter input
$prm = $this->sys_input;
$id_company = $prm['id'];
$name = $prm['name'];
$idparent = $prm['idparent'];
$companytype = $prm['companytype'];
$companybusiness = $prm['companybusiness'];
$hierarkiid = $prm['hierarkiid'];
$companylevelid = $prm['companylevelid'];
$staffid = $prm['staffid'];
$province = $prm['province'];
$city = $prm['city'];
$district = $prm['district'];
$kelurahan = $prm['kelurahan'];
$address = $prm['address'];
$email = $prm['email'];
$phone = $prm['phone'];
$fax = $prm['fax'];
$isdefault = $prm['isdefault'];
$natcode = $prm['natcode'];
if ($natcode != '') {
$query = "SELECT COUNT(*) as exist FROM m_company WHERE M_CompanyIsActive = 'Y' AND M_CompanyNatCode = '{$natcode}' AND M_CompanyID <> {$id_company}";
$exist_name = $this->db_regional->query($query)->row()->exist;
} else {
$exist_name = 0;
}
if ($exist_name == 0) {
$sqlcompany = "update m_company SET
M_CompanyName = ?,
M_CompanyIDParent = ?,
M_CompanyNatCode = ?,
M_CompanyM_CompanyTypeID = ?,
M_CompanyM_CompanyBusinessID = ?,
M_CompanyNat_HierarchyID = ?,
M_CompanyNat_CompanyLevelID = ?,
M_CompanyM_StaffID = ?,
M_CompanyM_ProvinceID = ?,
M_CompanyM_CityID = ?,
M_CompanyM_DistrictID = ?,
M_CompanyM_KelurahanID = ?,
M_CompanyAddress = ?,
M_CompanyEmail = ?,
M_CompanyPhone = ?,
M_CompanyFax = ?,
M_CompanyIsDefault = ?,
M_CompanyLastUpdated = now()
where
M_CompanyID = ?
";
$querycompany = $this->db_regional->query(
$sqlcompany,
array(
$name,
$idparent,
$natcode,
$companytype,
$companybusiness,
$hierarkiid,
$companylevelid,
$staffid,
$province,
$city,
$district,
$kelurahan,
$address,
$email,
$phone,
$fax,
$isdefault,
$id_company
)
);
// echo $query;
if (!$querycompany) {
$this->sys_error_db("m_company update");
exit;
}
$result = array("total" => 1, "records" => array("xid" => $id_company));
$this->sys_ok($result);
if ($isdefault == 'Y') {
$querydefault = "UPDATE m_company SET
M_CompanyIsDefault = 'N' WHERE M_CompanyIsDefault = 'Y' AND M_CompanyIsActive = 'Y'
AND M_CompanyID <> '{$id_company}'
";
$rows = $this->db_regional->query($querydefault);
}
} else {
$errors = array();
if ($exist_name != 0) {
array_push($errors, array('field' => 'name', 'msg' => 'Nomor kode nasional 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);
}
}
function checkacuanharga()
{
$prm = $this->sys_input;
$query = "SELECT COUNT(*) x_count, CONCAT(M_CompanyName,' | ', M_MouName) note
FROM m_mouaddon
JOIN m_mou ON M_MouID = M_MouAddonM_MouID AND M_MouIsActive = 'Y'
JOIN m_company ON M_CompanyID = M_MouM_CompanyID
WHERE M_MouAddonIsActive = 'Y' AND
M_MouAddonIsAcuanHarga = 'Y'";
//echo $query;
$rows = $this->db_regional->query($query)->result_array();
$result = array(
"total" => count($rows),
"records" => $rows,
);
$this->sys_ok($result);
exit;
}
public function editcompanyafterrelease()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
//# ambil parameter input
$prm = $this->sys_input;
$id_company = $prm['id'];
$name = $prm['name'];
$idparent = $prm['idparent'];
$companytype = $prm['companytype'];
$companybusiness = $prm['companybusiness'];
$hierarkiid = $prm['hierarkiid'];
$companylevelid = $prm['companylevelid'];
$staffid = $prm['staffid'];
$province = $prm['province'];
$city = $prm['city'];
$district = $prm['district'];
$kelurahan = $prm['kelurahan'];
$address = $prm['address'];
$email = $prm['email'];
$phone = $prm['phone'];
$fax = $prm['fax'];
$isdefault = $prm['isdefault'];
$natcode = $prm['natcode'];
$userid = $this->sys_user["M_UserID"];
if ($natcode != '') {
$query = "SELECT COUNT(*) as exist FROM m_company WHERE M_CompanyIsActive = 'Y' AND M_CompanyNatCode = '{$natcode}' AND M_CompanyID <> {$id_company}";
$exist_name = $this->db_regional->query($query)->row()->exist;
} else {
$exist_name = 0;
}
if ($exist_name == 0) {
$sqlcompany = "update m_company SET
M_CompanyM_CompanyTypeID = ?,
M_CompanyM_ProvinceID = ?,
M_CompanyM_CityID = ?,
M_CompanyM_DistrictID = ?,
M_CompanyM_KelurahanID = ?,
M_CompanyAddress = ?,
M_CompanyM_StaffID = ?,
M_CompanyNatCode = ?,
M_CompanyLastUpdated = now()
where
M_CompanyID = ?
";
$querycompany = $this->db_regional->query(
$sqlcompany,
array(
$companytype,
$province,
$city,
$district,
$kelurahan,
$address,
$staffid,
$natcode,
$id_company
)
);
// echo $query;
if (!$querycompany) {
$this->sys_error_db("m_company update");
exit;
}
$result = $this->upload_editcompanyafterrelease($id_company);
if ($result[0]) {
$result = array("total" => 1, "records" => array("xid" => 0), "lastid" => $id_company);
$this->sys_ok($result);
} else {
$this->sys_error($result);
}
} else {
$errors = array();
if ($exist_name != 0) {
array_push($errors, array('field' => 'name', 'msg' => 'Nomor kode nasional sudah ada yang pakai dong'));
}
$result = array("total" => -1, "errors" => $errors, "records" => 0);
$this->sys_ok($result);
}
/* if($isdefault == 'Y'){
$querydefault ="UPDATE m_company SET
M_CompanyIsDefault = 'N' WHERE M_CompanyIsDefault = 'Y' AND M_CompanyIsActive = 'Y'
AND M_CompanyID <> '{$id_company}'
";
$rows = $this->db_regional->query($querydefault);
}
*/
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function upload_editcompanyafterrelease($companyid)
{
//upload company
$sql = "select M_CompanyID,M_CompanyM_CompanyTypeID,M_CompanyM_ProvinceID, M_CompanyM_CityID,M_CompanyM_DistrictID,M_CompanyM_KelurahanID,M_CompanyAddress,M_CompanyLastUpdated,M_CompanyM_StaffID from m_company where M_CompanyID = ?";
$qry = $this->db_regional->query($sql, array($companyid));
if (!$qry) {
return array(false, print_r($this->db_regional->error(), true));
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return array(false, "No Company : " . $this->db_regional->last_query());
}
$company = $rows[0];
$param = array(
"company" => $company
);
$param_md5 = md5(json_encode($param));
$j_param = json_encode(array("param" => $param, "md5" => $param_md5));
$sql = "select * from m_branch
JOIN s_regional ON M_BranchS_RegionalID = S_RegionalID AND S_RegionalIsDefault = 'Y'
where M_BranchIsActive = 'Y'";
$qry = $this->db_regional->query($sql);
if (!$qry) {
return array(false, print_r($this->db_regional->error(), true));
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return array(false, "No Branch");
}
$flag_error = false;
$err_msg = array();
foreach ($rows as $r) {
$branchCode = $r["M_BranchCode"];
$ipAddress = $r["M_BranchIPAddress"];
try {
$txMouID = $this->db_regional->insert_id();
$url = "http://$ipAddress/one-api/tools/company/editcompanyafterrelease";
$post_rst = $this->post($url, $j_param);
$j_rst = json_decode($post_rst, true);
} catch (Exception $e) {
$err_msg[] = $e->getMessage();
$flag_error = true;
}
}
if ($flag_error) {
return array(false, join(",", $err_msg));
}
return array(true, "OK");
}
public function addnewcompanytype()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
//# ambil parameter input
$prm = $this->sys_input;
$name_companytype = $prm['name'];
$userid = $this->sys_user["M_UserID"];
$sql = "insert into m_companytype(
M_CompanyTypeName,
M_CompanyTypeUserID,
M_CompanyTypeCreated,
M_CompanyTypeLastUpdated
)
values(?,?,now(),now())";
$query = $this->db_regional->query(
$sql,
array(
$name_companytype,
$userid
)
);
//echo $query;
if (!$query) {
$this->sys_error_db("m_companytype insert");
exit;
}
$rows = [];
$query = " SELECT *, COUNT(M_CompanyID) as used
FROM (SELECT m_companytype.*,M_CompanyID
FROM
m_companytype
LEFT JOIN m_company ON M_CompanyTypeID = M_CompanyM_CompanyTypeID AND M_CompanyIsActive = 'Y'
WHERE M_CompanyTypeIsActive = 'Y') a
GROUP BY M_CompanyTypeID
";
//echo $query;
$rows['companytypes'] = $this->db_regional->query($query)->result_array();
$result = array("total" => 1, "records" => $rows);
$this->sys_ok($result);
$last_id = $this->db_regional->insert_id();
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
public function editcompanytype()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
//# ambil parameter input
$prm = $this->sys_input;
$id_company = $prm['id'];
$name_company = $prm['name'];
$userid = $this->sys_user["M_UserID"];
$sqlcompany = "update m_companytype SET
M_CompanyTypeName = ?,
M_CompanyTypeUserID = ?,
M_CompanyTypeLastUpdated = now()
where
M_CompanyTypeID = ?
";
$querycompany = $this->db_regional->query(
$sqlcompany,
array(
$name_company,
$userid,
$id_company
)
);
// echo $query;
if (!$querycompany) {
$this->sys_error_db("m_companytype update");
exit;
}
$rows = [];
$query = " SELECT *, COUNT(M_CompanyID) as used
FROM (SELECT m_companytype.*,M_CompanyID
FROM
m_companytype
LEFT JOIN m_company ON M_CompanyTypeID = M_CompanyM_CompanyTypeID AND M_CompanyIsActive = 'Y'
WHERE M_CompanyTypeIsActive = 'Y') a
GROUP BY M_CompanyTypeID";
//echo $query;
$rows['companytypes'] = $this->db_regional->query($query)->result_array();
$result = array("total" => 1, "records" => $rows);
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
public function deletecompanytype()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
//# ambil parameter input
$prm = $this->sys_input;
$id_company = $prm['id'];
$userid = $this->sys_user["M_UserID"];
$sqlcompany = "update m_companytype SET
M_CompanyTypeIsActive = 'N',
M_CompanyTypeUserID = ?,
M_CompanyTypeLastUpdated = now()
where
M_CompanyTypeID = ?
";
$querycompany = $this->db_regional->query(
$sqlcompany,
array(
$userid,
$id_company
)
);
// echo $query;
if (!$querycompany) {
$this->sys_error_db("m_companytype update");
exit;
}
$rows = [];
$query = " SELECT *
FROM m_companytype
WHERE
M_CompanyTypeIsActive = 'Y'
";
//echo $query;
$rows['companytypes'] = $this->db_regional->query($query)->result_array();
$result = array("total" => 1, "records" => $rows);
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
public function addnewcompanybusiness()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
//# ambil parameter input
$prm = $this->sys_input;
$name_companytype = $prm['name'];
$userid = $this->sys_user["M_UserID"];
$sql = "insert into m_companybusiness(
M_CompanyBusinessName,
M_CompanyBusinessUserID,
M_CompanyBusinessCreated,
M_CompanyBusinessLastUpdated
)
values(?,?,now(),now())";
$query = $this->db_regional->query(
$sql,
array(
$name_companytype,
$userid
)
);
//echo $query;
if (!$query) {
$this->sys_error_db("m_companybusiness insert");
exit;
}
$rows = [];
$query = " SELECT *, COUNT(M_CompanyID) as used
FROM (SELECT m_companybusiness.*,M_CompanyID
FROM
m_companybusiness
LEFT JOIN m_company ON M_CompanyBusinessID = M_CompanyM_CompanyBusinessID AND M_CompanyIsActive = 'Y'
WHERE M_CompanyBusinessIsActive = 'Y') a
GROUP BY M_CompanyBusinessID
";
//echo $query;
$rows['companybusinesss'] = $this->db_regional->query($query)->result_array();
$result = array("total" => 1, "records" => $rows);
$this->sys_ok($result);
$last_id = $this->db_regional->insert_id();
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
public function editcompanybusiness()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
//# ambil parameter input
$prm = $this->sys_input;
$id_company = $prm['id'];
$name_company = $prm['name'];
$userid = $this->sys_user["M_UserID"];
$sqlcompany = "update m_companybusiness SET
M_CompanyBusinessName = ?,
M_CompanyBusinessUserID = ?,
M_CompanyBusinessLastUpdated = now()
where
M_CompanyBusinessID = ?
";
$querycompany = $this->db_regional->query(
$sqlcompany,
array(
$name_company,
$userid,
$id_company
)
);
// echo $query;
if (!$querycompany) {
$this->sys_error_db("m_companybusiness update");
exit;
}
$rows = [];
$query = " SELECT *, COUNT(M_CompanyID) as used
FROM (SELECT m_companybusiness.*,M_CompanyID
FROM
m_companybusiness
LEFT JOIN m_company ON M_CompanyBusinessID = M_CompanyM_CompanyBusinessID AND M_CompanyIsActive = 'Y'
WHERE M_CompanyBusinessIsActive = 'Y') a
GROUP BY M_CompanyBusinessID";
//echo $query;
$rows['companybusinesss'] = $this->db_regional->query($query)->result_array();
$result = array("total" => 1, "records" => $rows);
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
public function deletecompanybusiness()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
//# ambil parameter input
$prm = $this->sys_input;
$id_company = $prm['id'];
$userid = $this->sys_user["M_UserID"];
$sqlcompany = "update m_companybusiness SET
M_CompanyBusinessIsActive = 'N',
M_CompanyBusinessUserID = ?,
M_CompanyBusinessLastUpdated = now()
where
M_CompanyBusinessID = ?
";
$querycompany = $this->db_regional->query(
$sqlcompany,
array(
$userid,
$id_company
)
);
// echo $query;
if (!$querycompany) {
$this->sys_error_db("m_companybusiness update");
exit;
}
$rows = [];
$query = " SELECT *
FROM m_companybusiness
WHERE
M_CompanyBusinessIsActive = 'Y'
";
//echo $query;
$rows['companybusinesss'] = $this->db_regional->query($query)->result_array();
$result = array("total" => 1, "records" => $rows);
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
public function addnewmou()
{
try {
//# cek token valid
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$userid = $this->sys_user["M_UserID"];
//# ambil parameter input
$prm = $this->sys_input;
$companyid = $prm['companyid'];
$name = $prm['name'];
$startdate = date('Y-m-d', strtotime($prm['startdate']));
$enddate = date('Y-m-d', strtotime($prm['enddate']));
$isbill = $prm['isbill'];
$isdefault = $prm['isdefault'];
$isaging = $prm['isaging'];
$isemail = $prm['isemail'];
$isfavorit = $prm['isfavorit'];
$isjpanetto = $prm['isjpanetto'];
$ismcu = $prm['ismcu'];
$isonline = $prm['isonline'];
$refnumber = $prm['refnumber'];
$mindp = $prm['mindp'];
$agingnote = $prm['agingnote'];
$xnote = $prm['xnote'];
$mouemail = $prm['mouemail'];
$base = $prm['base'];
$omzettype = $prm['omzettype'];
$billtype = $prm['billtype'];
$branch = $prm['branch'];
$moutype = $prm['moutype'];
$agingtype = $prm['agingtype'];
$jpa1Name = $prm['jpa1Name'];
$jpa2Name = $prm['jpa2Name'];
$jpa3Name = $prm['jpa3Name'];
$jpa4Name = $prm['jpa4Name'];
$jpa1Percent = $prm['jpa1Percent'];
$jpa2Percent = $prm['jpa2Percent'];
$jpa3Percent = $prm['jpa3Percent'];
$jpa4Percent = $prm['jpa4Percent'];
$jpa1amount = $prm['jpa1amount'];
$jpa2amount = $prm['jpa2amount'];
$jpa3amount = $prm['jpa3amount'];
$jpa4amount = $prm['jpa4amount'];
$picname = $prm['picname'];
$pichp = $prm['pichp'];
$fincname = $prm['fincname'];
$finchp = $prm['finchp'];
$mouemailpic = $prm['mouemailpic'];
$mouemailfinc = $prm['mouemailfinc'];
$iserpersonal = $prm['iserpersonal'];
$isercompany = $prm['isercompany'];
$isvoucher = $prm['isvoucher'];
$isacuanharga = $prm['isacuanharga'];
$xnotebill = $prm['xnotebill'];
$xnoteresult = $prm['xnoteresult'];
$addressbill = $prm['addressbill'];
$addressresult = $prm['addressresult'];
$staff = $prm['staff'];
if ($prm['xid'] == "0" || $prm['xid'] == 0) {
$query = "SELECT COUNT(*) as exist FROM m_mou WHERE M_MouIsActive = 'Y' AND M_MouName = '{$name}' AND M_MouM_CompanyID = '{$companyid}'";
$exist_name = $this->db_regional->query($query)->row()->exist;
if ($exist_name == 0) {
$sql = "insert into m_mou(
M_MouM_CompanyID,
M_MouName,
M_MouStartDate,
M_MouEndDate,
M_MouIsBill,
M_MouIsDefault,
M_MouIsAgingOnHold,
M_MouEmailIsDefault,
M_MouIsUsingFavourite,
M_MouJpaIsNetto,
M_MouRefNumber,
M_MouMinDP,
M_MouAgingDay,
M_MouNote,
M_MouEmail,
M_MouBase,
M_MouM_OmzetTypeID,
M_MouM_MouTypeID,
M_MouM_AgingTypeID,
M_MouUserID,
M_MouJpa1Name,
M_MouJpa1Percent,
M_MouJpa2Name,
M_MouJpa2Percent,
M_MouJpa3Name,
M_MouJpa3Percent,
M_MouJpa4Name,
M_MouJpa4Percent,
M_MouJpa1Amount,
M_MouJpa2Amount,
M_MouJpa3Amount,
M_MouJpa4Amount,
M_MouIsConfirm,
M_MouStatus,
M_MouIsMcu,
M_MouPicBillName,
M_MouPicBillHandphone,
M_MouFinanceName,
M_MouFinanceHandphone,
M_MouPicBillEmail,
M_MouFinanceEmail,
M_MouM_BillTypeID,
M_MouM_BranchBillID,
M_MouEresultPersonal,
M_MouEresultCompany,
M_MouCreated,
M_MouLastUpdated
)
values( ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,now(),now())";
$query = $this->db_regional->query(
$sql,
array(
$companyid,
$name,
$startdate,
$enddate,
$isbill,
$isdefault,
$isaging,
$isemail,
$isfavorit,
$isjpanetto,
$refnumber,
$mindp,
$agingnote,
$xnote,
$mouemail,
$base,
$omzettype,
$moutype,
$agingtype,
$userid,
$jpa1Name,
$jpa1Percent,
$jpa2Name,
$jpa2Percent,
$jpa3Name,
$jpa3Percent,
$jpa4Name,
$jpa4Percent,
$jpa1amount,
$jpa2amount,
$jpa3amount,
$jpa4amount,
'Y',
'C',
$ismcu,
$picname,
$pichp,
$fincname,
$finchp,
$mouemailpic,
$mouemailfinc,
$billtype,
$branch,
$iserpersonal,
$isercompany,
)
);
//echo $query;
if (!$query) {
$this->sys_error_db("m_mou insert");
exit;
}
$last_id = $this->db_regional->insert_id();
$result = array("total" => 1, "records" => array("xid" => 0), "lastid" => $last_id);
$this->sys_ok($result);
$querystatus = "INSERT g_moustatuslog
(G_MouStatusLogDate,
G_MouStatusLogM_MouID,
G_MouStatusLogStatus,
G_MouStatusLogUserID,
G_MouStatusLogCreated,
G_MouStatusLogLastUpdated)
VALUES(
date(now()),
'{$last_id}',
'C',
'{$userid}',
now(),
now())
";
$rows = $this->db_regional->query($querystatus);
$sqladdon = "INSERT INTO m_mouaddon (
M_MouAddonM_MouID,
M_MouAddonIsVoucher,
M_MouAddonIsAcuanHarga,
M_MouAddonNat_StaffID,
M_MouAddonAddressResult,
M_MouAddonAddressBill,
M_MouAddonNoteResult,
M_MouAddonNoteBill,
M_MouAddonUserID)
VALUES('{$last_id}',
'{$isvoucher}',
'{$isacuanharga}',
'{$staff}',
'{$addressresult}',
'{$addressbill}',
'{$xnoteresult}',
'{$xnotebill}',
'{$userid}')
on duplicate key update
M_MouAddonIsVoucher = '{$isvoucher}',
M_MouAddonIsAcuanHarga = '{$isacuanharga}',
M_MouAddonNat_StaffID = '{$staff}',
M_MouAddonAddressResult = '{$addressresult}',
M_MouAddonAddressBill = '{$addressbill}',
M_MouAddonNoteResult = '{$xnoteresult}',
M_MouAddonNoteBill = '{$xnotebill}',
M_MouAddonUserID = {$userid}";
$this->db_regional->query($sqladdon);
if ($isdefault == 'Y') {
$querydefault = "UPDATE m_mou SET
M_MouIsDefault = 'N' WHERE M_MouIsDefault = 'Y' AND M_MouM_CompanyID = '{$companyid}'
AND M_MouID <> '{$last_id}'
";
$rows = $this->db_regional->query($querydefault);
}
if ($isacuanharga == 'Y') {
$queryacuanharga = "UPDATE m_mouaddon SET
M_MouAddonIsAcuanHarga = 'N' WHERE M_MouAddonIsAcuanHarga = 'Y' AND M_MouAddonM_MouID <> '{$last_id}'
";
$rows = $this->db_regional->query($queryacuanharga);
}
} else {
$errors = array();
if ($exist_name != 0) {
array_push($errors, array('field' => 'name', '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_mou WHERE M_MouIsActive = 'Y' AND M_MouName = '{$name}' AND M_MouID <> {$prm['xid']} AND M_MouM_CompanyID = '{$companyid}'";
$exist_name = $this->db_regional->query($query)->row()->exist;
//echo $query;
if ($exist_name == 0) {
$lastid = $prm['xid'];
$sql = "UPDATE m_mou SET M_MouName = '{$name}',
M_MouRefNumber = '{$refnumber}', M_MouStartDate = '{$startdate}', M_MouEndDate = '{$enddate}', M_MouIsBill = '{$isbill}',
M_MouIsDefault = '{$isdefault}', M_MouIsAgingOnHold = '{$isaging}',M_MouEmailIsDefault = '{$isemail}',M_MouIsUsingFavourite = '{$isfavorit}',M_MouJpaIsNetto = '{$isjpanetto}',M_MouMinDP = '{$mindp}',M_MouAgingDay = '{$agingnote}',
M_MouNote = '{$xnote}',
M_MouEmail = '{$mouemail}',M_MouBase = '{$base}',M_MouM_OmzetTypeID = '{$omzettype}',M_MouM_MouTypeID = '{$moutype}',
M_MouM_AgingTypeID = '{$agingtype}',
M_MouJpa1Name = '{$jpa1Name}',
M_MouJpa1Percent = '{$jpa1Percent}',
M_MouJpa2Name = '{$jpa2Name}',
M_MouJpa2Percent = '{$jpa2Percent}',
M_MouJpa3Name = '{$jpa3Name}',
M_MouJpa3Percent = '{$jpa3Percent}',
M_MouJpa4Name = '{$jpa4Name}',
M_MouJpa4Percent = '{$jpa4Percent}',
M_MouJpa1Amount = '{$jpa1amount}',
M_MouJpa2Amount = '{$jpa2amount}',
M_MouJpa3Amount = '{$jpa3amount}',
M_MouJpa4Amount = '{$jpa4amount}',
M_MouIsMcu = '{$ismcu}',
M_MouPicBillName = '{$picname}',
M_MouPicBillHandphone = '{$pichp}',
M_MouFinanceName = '{$fincname}',
M_MouFinanceHandphone = '{$finchp}',
M_MouPicBillEmail = '{$mouemailpic}',
M_MouFinanceEmail = '{$mouemailfinc}',
M_MouM_BillTypeID = '{$billtype}',
M_MouM_BranchBillID = '{$branch}',
M_MouEresultPersonal = '{$iserpersonal}',
M_MouEresultCompany = '{$isercompany}'
WHERE M_MouID = '{$prm['xid']}'";
//echo $sql;
$query = $this->db_regional->query($sql);
$sqladdon = "INSERT INTO m_mouaddon (
M_MouAddonM_MouID,
M_MouAddonIsVoucher,
M_MouAddonIsAcuanHarga,
M_MouAddonNat_StaffID,
M_MouAddonAddressResult,
M_MouAddonAddressBill,
M_MouAddonNoteResult,
M_MouAddonNoteBill,
M_MouAddonUserID)
VALUES('{$prm['xid']}',
'{$isvoucher}',
'{$isacuanharga}',
'{$staff}',
'{$addressresult}',
'{$addressbill}',
'{$xnoteresult}',
'{$xnotebill}',
'{$userid}')
on duplicate key update
M_MouAddonIsVoucher = '{$isvoucher}',
M_MouAddonIsAcuanHarga = '{$isacuanharga}',
M_MouAddonNat_StaffID = '{$staff}',
M_MouAddonAddressResult = '{$addressresult}',
M_MouAddonAddressBill = '{$addressbill}',
M_MouAddonNoteResult = '{$xnoteresult}',
M_MouAddonNoteBill = '{$xnotebill}',
M_MouAddonUserID = {$userid}";
$this->db_regional->query($sqladdon);
$result = array("total" => 1, "records" => array("xid" => 0), "lastid" => $lastid);
$this->sys_ok($result);
if ($isdefault == 'Y') {
$querydefault = "UPDATE m_mou SET
M_MouIsDefault = 'N' WHERE M_MouIsDefault = 'Y' AND M_MouM_CompanyID = '{$companyid}'
AND M_MouID <> '{$prm['xid']}'
";
$rows = $this->db_regional->query($querydefault);
}
if ($isacuanharga == 'Y') {
$queryacuanharga = "UPDATE m_mouaddon SET
M_MouAddonIsAcuanHarga = 'N' WHERE M_MouAddonIsAcuanHarga = 'Y' AND M_MouAddonM_MouID <> '{$prm['xid']}'
";
$rows = $this->db_regional->query($queryacuanharga);
}
} else {
$errors = array();
if ($exist_name != 0) {
array_push($errors, array('field' => 'name', '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 saveafterrelease()
{
try {
//# cek token valid
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$userid = $this->sys_user["M_UserID"];
//# ambil parameter input
$prm = $this->sys_input;
$isbill = $prm['isbill'];
$isdefault = $prm['isdefault'];
$isemail = $prm['isemail'];
$ismcu = $prm['ismcu'];
$isonline = $prm['isonline'];
$mouemail = $prm['mouemail'];
$mindp = $prm['mindp'];
$note = $prm['note'];
$agingday = $prm['agingnote'];
$isaging = $prm['isaging'];
$picname = $prm['picname'];
$pichp = $prm['pichp'];
$mouemailpic = $prm['mouemailpic'];
$finchp = $prm['finchp'];
$fincname = $prm['fincname'];
$mouemailfinc = $prm['mouemailfinc'];
$billtype = $prm['billtype'];
$branch = $prm['branch'];
$iserpersonal = $prm['iserpersonal'];
$isercompany = $prm['isercompany'];
$isvoucher = $prm['isvoucher'];
$isacuanharga = $prm['isacuanharga'];
$xnotebill = $prm['notebill'];
$xnoteresult = $prm['noteresult'];
$addressbill = $prm['addressbill'];
$addressresult = $prm['addressresult'];
$staff = $prm['staff'];
$lastid = $prm['xid'];
$sql = "UPDATE m_mou SET M_MouIsBill = '{$isbill}',
M_MouMinDP = '{$mindp}',
M_MouIsDefault = '{$isdefault}',
M_MouEmailIsDefault = '{$isemail}',
M_MouEmail = '{$mouemail}',
M_MouIsMcu = '{$ismcu}',
M_MouNote = '{$note}',
M_MouAgingDay = '{$agingday}',
M_MouIsAgingOnHold = '{$isaging}',
M_MouPicBillName = '{$picname}',
M_MouPicBillHandphone = '{$pichp}',
M_MouFinanceName = '{$fincname}',
M_MouFinanceHandphone = '{$finchp}',
M_MouPicBillEmail = '{$mouemailpic}',
M_MouFinanceEmail = '{$mouemailfinc}',
M_MouM_BillTypeID = '{$billtype}',
M_MouM_BranchBillID = '{$branch}',
M_MouEresultPersonal = '{$iserpersonal}',
M_MouEresultCompany = '{$isercompany}'
WHERE M_MouID = '{$prm['xid']}'";
//echo $sql;
$query = $this->db_regional->query($sql);
$sqladdon = "INSERT INTO m_mouaddon (
M_MouAddonM_MouID,
M_MouAddonIsVoucher,
M_MouAddonIsAcuanHarga,
M_MouAddonNat_StaffID,
M_MouAddonAddressResult,
M_MouAddonAddressBill,
M_MouAddonNoteResult,
M_MouAddonNoteBill,
M_MouAddonUserID)
VALUES('{$prm['xid']}',
'{$isvoucher}',
'{$isacuanharga}',
'{$staff}',
'{$addressresult}',
'{$addressbill}',
'{$xnoteresult}',
'{$xnotebill}',
'{$userid}')
on duplicate key update
M_MouAddonIsVoucher = '{$isvoucher}',
M_MouAddonIsAcuanHarga = '{$isacuanharga}',
M_MouAddonNat_StaffID = '{$staff}',
M_MouAddonAddressResult = '{$addressresult}',
M_MouAddonAddressBill = '{$addressbill}',
M_MouAddonNoteResult = '{$xnoteresult}',
M_MouAddonNoteBill = '{$xnotebill}',
M_MouAddonUserID = {$userid}";
$this->db_regional->query($sqladdon);
if ($isdefault == 'Y') {
$querydefault = "UPDATE m_mou SET
M_MouIsDefault = 'N' WHERE M_MouIsDefault = 'Y' AND M_MouM_CompanyID = '{$companyid}'
AND M_MouID <> '{$prm['xid']}'
";
$rows = $this->db_regional->query($querydefault);
}
if ($isacuanharga == 'Y') {
$queryacuanharga = "UPDATE m_mouaddon SET
M_MouAddonIsAcuanHarga = 'N' WHERE M_MouAddonIsAcuanHarga = 'Y' AND M_MouAddonM_MouID <> '{$prm['xid']}'
";
$rows = $this->db_regional->query($queryacuanharga);
}
$queryrelease = "SELECT M_MouIsReleased as released FROM m_mou WHERE M_MouID = {$lastid}";
// echo $queryrelease;
$release = $this->db_regional->query($queryrelease)->row()->released;
if ($release == 'Y') {
$result = $this->upload_editflag($lastid);
if ($result[0]) {
$result = array("total" => 1, "records" => array("xid" => 0), "lastid" => $lastid);
$this->sys_ok($result);
} else {
$this->sys_error($result);
}
} else {
$result = array("total" => 1, "records" => array("xid" => 0), "lastid" => $lastid);
$this->sys_ok($result);
}
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function upload_editflag($mouID)
{
//upload aggrement , ss_price_mou
$sql = "select M_MouID,M_MouIsDefault,M_MouIsBill,M_MouMinDP,M_MouEmail,M_MouEmailIsDefault,M_MouIsMcu,M_MouNote,
M_MouIsAgingOnHold,
M_MouAgingDay,
M_MouPicBillName,
M_MouPicBillHandphone,
M_MouPicBillEmail,
M_MouFinanceName,
M_MouFinanceHandphone,
M_MouFinanceEmail,
M_MouM_BillTypeID,
M_MouEresultCompany,
M_MouEresultPersonal,
M_MouM_BranchBillID from m_mou where M_MouID = ?";
$qry = $this->db_regional->query($sql, array($mouID));
if (!$qry) {
return array(false, print_r($this->db_regional->error(), true));
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return array(false, "No MOU : " . $this->db_regional->last_query());
}
$mou = $rows[0];
$sql = "select * from m_mouaddon where M_MouAddonM_MouID = ?";
$qry = $this->db_regional->query($sql, array($mouID));
if (! $qry) {
return array(false, print_r($this->db_regional->error(), true));
}
$rows = $qry->result_array();
if (count($rows) == 0) {
$addon = '';
}
$addon = $rows[0];
$param = array(
"mou" => $mou,
"addon" => $addon
);
$param_md5 = md5(json_encode($param));
$j_param = json_encode(array("param" => $param, "md5" => $param_md5));
$sql = "select * from m_branch
JOIN s_regional ON M_BranchS_RegionalID = S_RegionalID AND S_RegionalIsDefault = 'Y'
where M_BranchIsActive = 'Y'";
$qry = $this->db_regional->query($sql);
if (!$qry) {
return array(false, print_r($this->db_regional->error(), true));
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return array(false, "No Branch");
}
$sql = "insert into tx_mou(TxMouM_BranchIPAddress, TxMouM_BranchCode,TxMouM_MouID, TxMouJson,TxMouM_UserID,TxMouT_TestID )
values(?,?,?,?,?,'-3')";
$sql_del = "delete from tx_mou where TxMouM_MouID=? and TxMouM_BranchCode=?";
$flag_error = false;
$err_msg = array();
$userID = $this->sys_user["M_UserID"];
foreach ($rows as $r) {
$branchCode = $r["M_BranchCode"];
$ipAddress = $r["M_BranchIPAddress"];
$qry = $this->db_regional->query($sql_del, array($mouID, $branchCode));
if (!$qry) {
return array(false, print_r($this->db_regional->error(), true));
}
$qry = $this->db_regional->query($sql, array($ipAddress, $branchCode, $mouID, $j_param, $userID));
if (!$qry) {
return array(false, print_r($this->db_regional->error(), true));
}
try {
$txMouID = $this->db_regional->insert_id();
$url = "http://$ipAddress/one-api/tools/price/extendmouv2/editflag";
$post_rst = $this->post($url, $j_param);
$j_rst = json_decode($post_rst, true);
if ($j_rst["status"] != "OK") {
$err_msg[] = $post_rst;
$flag_error = true;
$this->db_regional->query("update tx_mou set TxMouRetry = TxMouRetry+1 where TxMouID = ? ", array($txMouID));
//return array(false, "Upload Failed");
} else {
$this->db_regional->query("update tx_mou set TxMouStatus = 'Y' , TxMouRetry = TxMouRetry+1 where TxMouID = ? ", array($txMouID));
}
} catch (Exception $e) {
$err_msg[] = $e->getMessage();
$flag_error = true;
}
}
if ($flag_error) {
return array(false, join(",", $err_msg));
}
return array(true, "OK");
}
public function deletemou()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
//# ambil parameter input
$prm = $this->sys_input;
$sql = "update m_mou SET
M_MouIsActive = 'N',
M_MouLastUpdated = now()
WHERE
M_MouID = ?
";
$query = $this->db_regional->query(
$sql,
array(
$prm['id']
)
);
// echo $query;
if (!$query) {
$this->sys_error_db("m_mou 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 confirmmou()
{
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"];
$id = $prm['id'];
$sql = "update m_mou SET
M_MouIsConfirm = 'Y',
M_MouConfirmDate = now(),
M_MouStatus = 'C',
M_MouConfirmUserID = '{$userid}',
M_MouLastUpdated = now()
WHERE
M_MouID = ?
";
$query = $this->db_regional->query(
$sql,
array(
$prm['id']
)
);
// echo $query;
if (!$query) {
$this->sys_error_db("m_mou update");
exit;
}
$querystatus = "INSERT g_moustatuslog
(G_MouStatusLogDate,
G_MouStatusLogM_MouID,
G_MouStatusLogStatus,
G_MouStatusLogUserID,
G_MouStatusLogCreated,
G_MouStatusLogLastUpdated)
VALUES(
date(now()),
'{$id}',
'C',
'{$userid}',
now(),
now())
";
$rows = $this->db_regional->query($querystatus);
$result = array("total" => 1, "records" => array("xid" => 0));
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
public function verifymou_addhoc()
{
try {
//# cek token valid
//# ambil parameter input
$prm = $this->sys_input;
$userid = $this->sys_user["M_UserID"];
$id = $prm['id'];
$sql = "update m_mou SET
M_MouIsVerified = 'Y',
M_MouVerifyDate = now(),
M_MouStatus = 'V',
M_MouVerifyUserID = '{$userid}',
M_MouLastUpdated = now()
WHERE
M_MouID = ?";
$query = $this->db_regional->query(
$sql,
array(
$prm['id']
)
);
// echo $query;
if (!$query) {
$this->sys_error_db("m_mou update");
exit;
}
$querystatus = "INSERT g_moustatuslog
(G_MouStatusLogDate,
G_MouStatusLogM_MouID,
G_MouStatusLogStatus,
G_MouStatusLogUserID,
G_MouStatusLogCreated,
G_MouStatusLogLastUpdated)
VALUES(
date(now()),
'{$id}',
'V',
'{$userid}',
now(),
now())
";
$rows = $this->db_regional->query($querystatus);
$querydeletessprice = "DELETE
FROM ss_price_mou
WHERE Ss_PriceMouID IN (
-- pemeriksaan
SELECT Ss_PriceMouID
FROM
ss_price_mou
WHERE T_PriceM_MouID = $id AND is_packet = 'N' AND
T_TestID IN (
SELECT T_PriceT_TestID
FROM t_price WHERE
T_PriceT_TestID NOT IN (
select T_PriceT_TestID
from t_price
where T_PriceIsActive = 'Y' AND T_PriceM_MouID = $id)
AND T_PriceIsActive = 'N' AND T_PriceM_MouID = $id
GROUP BY T_PriceT_TestID)
-- paket
UNION
SELECT Ss_PriceMouID
FROM
ss_price_mou
WHERE T_PriceM_MouID = $id AND is_packet = 'Y' AND
T_TestID IN (
SELECT T_PacketID
FROM t_packet WHERE T_PacketIsActive = 'N' AND T_PacketM_MouID = $id
)
)
";
$deletessprice = $this->db_regional->query($querydeletessprice);
//snapshot to ss_price_mou
$this->load->library("SsPriceMou_v4");
$result = $this->sspricemou_v4->create($id);
if (!$result[0]) {
$this->sys_error($result);
exit;
}
$result = $this->upload_mou($id);
// sipe: add snapshot to ss_price_mou_px
try {
$this->load->library("SsPriceMouPx");
$this->sspricemoupx->create($id);
} catch (Exception $exc2) {
$message = $exc->getMessage();
$this->sys_error($message);
}
if ($result[0]) {
$result = array("total" => 1, "records" => array("xid" => 0));
$this->sys_ok($result);
} else {
$this->sys_error("Upload MOU : " . $result);
}
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
public function verifymou()
{
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"];
$id = $prm['id'];
$sql = "update m_mou SET
M_MouIsVerified = 'Y',
M_MouVerifyDate = now(),
M_MouStatus = 'V',
M_MouVerifyUserID = '{$userid}',
M_MouLastUpdated = now()
WHERE
M_MouID = ?";
$query = $this->db_regional->query(
$sql,
array(
$prm['id']
)
);
// echo $query;
if (!$query) {
$this->sys_error_db("m_mou update");
exit;
}
$querystatus = "INSERT g_moustatuslog
(G_MouStatusLogDate,
G_MouStatusLogM_MouID,
G_MouStatusLogStatus,
G_MouStatusLogUserID,
G_MouStatusLogCreated,
G_MouStatusLogLastUpdated)
VALUES(
date(now()),
'{$id}',
'V',
'{$userid}',
now(),
now())
";
$rows = $this->db_regional->query($querystatus);
//$this->sys_ok($result);
$querydeletessprice = "DELETE
FROM ss_price_mou
WHERE Ss_PriceMouID IN (
-- pemeriksaan
SELECT Ss_PriceMouID
FROM
ss_price_mou
WHERE T_PriceM_MouID = $id AND is_packet = 'N' AND
T_TestID IN (
SELECT T_PriceT_TestID
FROM t_price WHERE
T_PriceT_TestID NOT IN (
select T_PriceT_TestID
from t_price
where T_PriceIsActive = 'Y' AND T_PriceM_MouID = $id)
AND T_PriceIsActive = 'N' AND T_PriceM_MouID = $id
GROUP BY T_PriceT_TestID)
-- paket
UNION
SELECT Ss_PriceMouID
FROM
ss_price_mou
WHERE T_PriceM_MouID = $id AND is_packet = 'Y' AND
T_TestID IN (
SELECT T_PacketID
FROM t_packet WHERE T_PacketIsActive = 'N' AND T_PacketM_MouID = $id
)
)
";
$deletessprice = $this->db_regional->query($querydeletessprice);
//snapshot to ss_price_mou
$this->load->library("SsPriceMou_v4");
$result = $this->sspricemou_v4->create($id);
if (! $result[0]) {
$this->sys_error($result);
exit;
}
$result = $this->upload_mou($id);
// sipe: add snapshot to ss_price_mou_px
try {
$this->load->library("SsPriceMouPx");
$this->sspricemoupx->create($id);
} catch (Exception $exc2) {
$message = $exc->getMessage();
$this->sys_error($message);
}
if ($result[0]) {
$result = array("total" => 1, "records" => array("xid" => 0));
$this->sys_ok($result);
exit;
} else {
$this->sys_error("Upload MOU : " . json_encode($result));
exit;
}
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function upload_mou($mouID)
{
//upload aggrement , ss_price_mou
$sql = "select * from m_mou where M_MouID = ?";
$qry = $this->db_regional->query($sql, array($mouID));
if (! $qry) {
return array(false, print_r($this->db_regional->error(), true));
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return array(false, "No MOU : " . $this->db_regional->last_query());
}
$mou = $rows[0];
$sql = "select * from m_company where M_CompanyID = ?";
$qry = $this->db_regional->query($sql, array($mou["M_MouM_CompanyID"]));
if (! $qry) {
return array(false, print_r($this->db_regional->error(), true));
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return array(false, "No Company");
}
$company = $rows[0];
$sql = "select * from g_moustatuslog where G_MouStatusLogM_MouID = ?";
$qry = $this->db_regional->query($sql, array($mouID));
if (! $qry) {
return array(false, print_r($this->db_regional->error(), true));
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return array(false, "No Log");
}
$logs = $rows;
$mou["M_MouUserID"] = 3; // set to 3
foreach ($logs as $idx => $l) {
$logs[$idx]["G_MouStatusLogUserID"] = 3;
}
$sql = "select * from ss_price_mou where Ss_PriceMouM_MouID= ?";
$qry = $this->db_regional->query($sql, array($mouID));
if (! $qry) {
return array(false, print_r($this->db_regional->error(), true));
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return array(false, "No Ss Price Mou");
}
$sql = "select * from t_price where T_PriceM_MouID= ?";
$qry = $this->db_regional->query($sql, array($mouID));
if (! $qry) {
return array(false, print_r($this->db_regional->error(), true));
}
$t_rows = $qry->result_array();
$sql = "select * from t_packet where T_PacketM_MouID = ?";
$qry = $this->db_regional->query($sql, array($mouID));
if (! $qry) {
return array(false, print_r($this->db_regional->error(), true));
}
$pkt_rows = $qry->result_array();
$sql = "select t_packetdetail.*
from t_packet
join t_packetdetail on T_PacketDetailT_PacketID = T_PacketID
where T_PacketM_MouID = ?";
$qry = $this->db_regional->query($sql, array($mouID));
if (! $qry) {
return array(false, print_r($this->db_regional->error(), true));
}
$pd_rows = $qry->result_array();
$sql = "select * from m_mouaddon where M_MouAddonM_MouID = ?";
$qry = $this->db_regional->query($sql, array($mouID));
if (! $qry) {
return array(false, print_r($this->db_regional->error(), true));
}
$rows_addon = $qry->result_array();
if (count($rows_addon) == 0) {
$addon = null;
} else {
$addon = $rows_addon[0];
}
$param = array(
"mou" => $mou,
"company" => $company,
"logs" => $logs,
"price_mou" => $rows,
"t_price" => $t_rows,
"packet" => $pkt_rows,
"packet_detail" => $pd_rows,
"addon" => $addon
);
$param_md5 = md5(json_encode($param));
$j_param = json_encode(array("param" => $param, "md5" => $param_md5));
$sql = "select * from m_branch
JOIN s_regional ON M_BranchS_RegionalID = S_RegionalID AND S_RegionalIsDefault = 'Y'
where M_BranchIsActive = 'Y'";
$qry = $this->db_regional->query($sql);
if (! $qry) {
return array(false, print_r($this->db_regional->error(), true));
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return array(false, "No Ss Price Mou");
}
$sql = "insert into tx_mou(TxMouM_BranchIPAddress, TxMouM_BranchCode,TxMouM_MouID, TxMouJson,TxMouM_UserID )
values(?,?,?,?,?)";
$sql_del = "delete from tx_mou where TxMouM_MouID=? and TxMouM_BranchCode=?";
$flag_error = false;
$err_msg = array();
$userID = $this->sys_user["M_UserID"];
foreach ($rows as $r) {
$branchCode = $r["M_BranchCode"];
$ipAddress = $r["M_BranchIPAddress"];
$qry = $this->db_regional->query($sql_del, array($mouID, $branchCode));
if (! $qry) {
return array(false, print_r($this->db_regional->error(), true));
}
$qry = $this->db_regional->query($sql, array($ipAddress, $branchCode, $mouID, $j_param, $userID));
if (! $qry) {
return array(false, print_r($this->db_regional->error(), true));
}
try {
$txMouID = $this->db_regional->insert_id();
$z_param = gzdeflate($j_param, 9);
$url = "http://$ipAddress/one-api-lab/tools/price/r_mou_gz_v2/verify";
$post_rst = $this->post($url, $z_param);
$j_rst = json_decode($post_rst, true);
if ($j_rst["status"] != "OK") {
$err_msg[] = $post_rst;
$flag_error = true;
$this->db_regional->query("update tx_mou set TxMouRetry = 1 where TxMouID = ? ", array($txMouID));
} else {
$this->db_regional->query("update tx_mou set TxMouStatus = 'Y' , TxMouRetry = 1 where TxMouID = ? ", array($txMouID));
}
} catch (Exception $e) {
$err_msg[] = $e->getMessage();
$flag_error = true;
}
}
if ($flag_error) {
return array(false, join(",", $err_msg));
}
return array(true, "OK");
}
function postold($url, $data)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 100);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data)
)
);
$result = curl_exec($ch);
return $result;
}
function post($url, $data)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 100);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt(
$ch,
CURLOPT_HTTPHEADER,
array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data)
)
);
$result = curl_exec($ch);
if (curl_errno($ch)) {
return json_encode(array(
"status" => "ERR",
"message" => curl_error($ch)
));
}
curl_close($ch);
return $result;
}
public function unverifymou()
{
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"];
$id = $prm['id'];
$sql = "update m_mou SET
M_MouIsVerified = 'N',
M_MouStatus = 'UV',
M_MouVerifyDate = now(),
M_MouVerifyUserID = '{$userid}',
M_MouLastUpdated = now()
WHERE
M_MouID = ?
";
$query = $this->db_regional->query(
$sql,
array(
$prm['id']
)
);
// echo $query;
if (!$query) {
$this->sys_error_db("m_mou update");
exit;
}
$querystatus = "INSERT g_moustatuslog
(G_MouStatusLogDate,
G_MouStatusLogM_MouID,
G_MouStatusLogStatus,
G_MouStatusLogUserID,
G_MouStatusLogCreated,
G_MouStatusLogLastUpdated)
VALUES(
date(now()),
'{$id}',
'UV',
'{$userid}',
now(),
now())
";
$rows = $this->db_regional->query($querystatus);
$result = $this->upload_unverifymou($id);
if ($result[0]) {
$result = array("total" => 1, "records" => array("xid" => 0), "lastid" => $id);
$this->sys_ok($result);
} else {
$this->sys_error($result);
}
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function upload_unverifymou($mouID)
{
//upload aggrement , ss_price_mou
$sql = "select M_MouID,M_MouIsVerified,M_MouVerifyDate,M_MouVerifyUserID,M_MouIsReleased,M_MouStatus from m_mou where M_MouID = ?";
$qry = $this->db_regional->query($sql, array($mouID));
if (! $qry) {
return array(false, print_r($this->db_regional->error(), true));
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return array(false, "No MOU : " . $this->db_regional->last_query());
}
$mou = $rows[0];
$sql = "select * from g_moustatuslog where G_MouStatusLogM_MouID = ? AND G_MouStatusLogStatus = 'UV' ORDER BY G_MouStatusLogID DESC LIMIT 1";
$qry = $this->db_regional->query($sql, array($mouID));
if (! $qry) {
return array(false, print_r($this->db_regional->error(), true));
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return array(false, "No Log");
}
$logs = $rows;
$mou["M_MouUserID"] = 3; // set to 3
foreach ($logs as $idx => $l) {
$logs[$idx]["G_MouStatusLogUserID"] = 3;
}
$param = array(
"mou" => $mou,
"logs" => $logs
);
$param_md5 = md5(json_encode($param));
$j_param = json_encode(array("param" => $param, "md5" => $param_md5));
$sql = "select * from m_branch
JOIN s_regional ON M_BranchS_RegionalID = S_RegionalID AND S_RegionalIsDefault = 'Y'
where M_BranchIsActive = 'Y'";
$qry = $this->db_regional->query($sql);
if (! $qry) {
return array(false, print_r($this->db_regional->error(), true));
}
$rows = $qry->result_array();
if (count($rows) == 0) {
return array(false, "No Ss Price Mou");
}
$sql = "insert into tx_mou(TxMouM_BranchIPAddress, TxMouM_BranchCode,TxMouM_MouID, TxMouJson,TxMouM_UserID,TxMouT_TestID )
values(?,?,?,?,?,'-4')";
$flag_error = false;
$err_msg = array();
$userID = $this->sys_user["M_UserID"];
foreach ($rows as $r) {
$branchCode = $r["M_BranchCode"];
$ipAddress = $r["M_BranchIPAddress"];
$qry = $this->db_regional->query(array($mouID, $branchCode));
if (! $qry) {
return array(false, print_r($this->db_regional->error(), true));
}
$qry = $this->db_regional->query($sql, array($ipAddress, $branchCode, $mouID, $j_param, $userID));
if (! $qry) {
return array(false, print_r($this->db_regional->error(), true));
}
try {
$txMouID = $this->db_regional->insert_id();
$url = "http://$ipAddress/one-api-lab/tools/price/r_mou/unverify";
$post_rst = $this->post($url, $j_param);
$j_rst = json_decode($post_rst, true);
if ($j_rst["status"] != "OK") {
$err_msg[] = $post_rst;
$flag_error = true;
$this->db_regional->query("update tx_mou set TxMouRetry = 1 where TxMouID = ? ", array($txMouID));
} else {
$this->db_regional->query("update tx_mou set TxMouStatus = 'Y' , TxMouRetry = 1 where TxMouID = ? ", array($txMouID));
}
} catch (Exception $e) {
$err_msg[] = $e->getMessage();
$flag_error = true;
}
}
if ($flag_error) {
return array(false, join(",", $err_msg));
}
return array(true, "OK");
}
public function releasemou()
{
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"];
$id = $prm['id'];
$sql = "update m_mou SET
M_MouIsReleased = 'Y',
M_MouStatus = 'R',
M_MouReleaseDate = now(),
M_MouReleaseUserID = '{$userid}',
M_MouIsApproved = 'Y',
M_MouLastUpdated = now()
WHERE
M_MouID = ?
";
$query = $this->db_regional->query(
$sql,
array(
$prm['id']
)
);
// echo $query;
if (!$query) {
$this->sys_error_db("m_mou update");
exit;
}
$querystatus = "INSERT g_moustatuslog
(G_MouStatusLogDate,
G_MouStatusLogM_MouID,
G_MouStatusLogStatus,
G_MouStatusLogUserID,
G_MouStatusLogCreated,
G_MouStatusLogLastUpdated)
VALUES(
date(now()),
'{$id}',
'R',
'{$userid}',
now(),
now())
";
$rows = $this->db_regional->query($querystatus);
$result = array("total" => 1, "records" => array("xid" => 0));
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
public function unreleasemou()
{
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"];
$id = $prm['id'];
$sql = "update m_mou SET
M_MouIsReleased = 'N',
M_MouStatus = 'UR',
M_MouReleaseDate = now(),
M_MouReleaseUserID = '{$userid}',
M_MouIsApproved = 'N',
M_MouLastUpdated = now()
WHERE
M_MouID = ?
";
$query = $this->db_regional->query(
$sql,
array(
$prm['id']
)
);
// echo $query;
if (!$query) {
$this->sys_error_db("m_mou update");
exit;
}
$querystatus = "INSERT g_moustatuslog
(G_MouStatusLogDate,
G_MouStatusLogM_MouID,
G_MouStatusLogStatus,
G_MouStatusLogUserID,
G_MouStatusLogCreated,
G_MouStatusLogLastUpdated)
VALUES(
date(now()),
'{$id}',
'UR',
'{$userid}',
now(),
now())
";
$rows = $this->db_regional->query($querystatus);
$result = array("total" => 1, "records" => array("xid" => 0));
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
public function deletecompany()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
//# ambil parameter input
$prm = $this->sys_input;
$sql = "update m_company SET
M_CompanyIsActive = 'N',
M_CompanyLastUpdated = now()
WHERE
M_CompanyID = ?
";
$query = $this->db_regional->query(
$sql,
array(
$prm['id']
)
);
// echo $query;
if (!$query) {
$this->sys_error_db("m_company delete");
exit;
}
$sql = "UPDATE m_mou SET
M_MouIsActive = 'N',
M_MouLastUpdated = now()
WHERE
M_MouM_CompanyID = ?
";
$query = $this->db_regional->query(
$sql,
array(
$prm['id']
)
);
// echo $query;
if (!$query) {
$this->sys_error_db("m_mou 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 selectcompanygrouptype()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$rows = [];
$query = " SELECT * FROM
m_companytypegroup
WHERE M_CompanyTypeGroupIsActive = 'Y'
";
//echo $query;
$rows['companygrouptypes'] = $this->db_regional->query($query)->result_array();
$result = array(
"total" => count($rows),
"records" => $rows,
);
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function selectcompanygrouptypefilter()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$rows = [];
$query = "SELECT 0 M_CompanyTypeGroupID,
'Semua Grup' M_CompanyTypeGroupName
UNION SELECT M_CompanyTypeGroupID,
M_CompanyTypeGroupName
FROM m_companytypegroup
WHERE M_CompanyTypeGroupIsActive = 'Y'";
//echo $query;
$rows['companygrouptypes'] = $this->db_regional->query($query)->result_array();
$result = array(
"total" => count($rows),
"records" => $rows,
);
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function selectcompanytype()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$userid = $this->sys_user["M_UserID"];
$id = $prm['id'];
$rows = [];
$query = " SELECT *, COUNT(M_CompanyID) as used
FROM (SELECT m_companytype.*,M_CompanyID
FROM
m_companytype
LEFT JOIN m_company ON M_CompanyTypeID = M_CompanyM_CompanyTypeID AND M_CompanyIsActive = 'Y'
WHERE M_CompanyTypeIsActive = 'Y' AND M_CompanyTypeM_CompanyTypeGroupID = $id) a
GROUP BY M_CompanyTypeID
";
//echo $query;
$rows['companytypes'] = $this->db_regional->query($query)->result_array();
$result = array(
"total" => count($rows),
"records" => $rows,
);
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function selectcompanybusiness()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$rows = [];
$query = " SELECT *, COUNT(M_CompanyID) as used
FROM (SELECT m_companybusiness.*,M_CompanyID
FROM
m_companybusiness
LEFT JOIN m_company ON M_CompanyBusinessID = M_CompanyM_CompanyBusinessID AND M_CompanyIsActive = 'Y'
WHERE M_CompanyBusinessIsActive = 'Y') a
GROUP BY M_CompanyBusinessID
";
//echo $query;
$rows['companybusinesss'] = $this->db_regional->query($query)->result_array();
$result = array(
"total" => count($rows),
"records" => $rows,
);
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function selectcompanylevel()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$id = $prm['id'];
$rows = [];
$query = " SELECT *,CONCAT(Nat_CompanyLevelName,' [',M_CompanyName,']') as Nat_CompanyLevelName, COUNT(M_CompanyID) as used
FROM (SELECT nat_companylevel.*,M_CompanyID,M_CompanyName
FROM
nat_companylevel
LEFT JOIN m_company ON Nat_CompanyLevelNat_CompanyID = M_CompanyID AND M_CompanyIsActive = 'Y'
WHERE Nat_CompanyLevelIsActive = 'Y') a
GROUP BY Nat_CompanyLevelID
";
//echo $query;
$rows['companylevels'] = $this->db_regional->query($query)->result_array();
$result = array(
"total" => count($rows),
"records" => $rows,
);
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function selecthierarchy()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$rows = [];
$query = " SELECT *, COUNT(M_CompanyID) as used
FROM (SELECT nat_hierarchy.*,M_CompanyID
FROM
nat_hierarchy
LEFT JOIN m_company ON Nat_HierarchyID = M_CompanyNat_HierarchyID AND M_CompanyIsActive = 'Y'
WHERE Nat_HierarchyIsActive = 'Y') a
GROUP BY Nat_HierarchyID
";
//echo $query;
$rows['hierarchys'] = $this->db_regional->query($query)->result_array();
$result = array(
"total" => count($rows),
"records" => $rows,
);
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function selectdoctor()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$rows = [];
$query = " SELECT *
FROM m_doctor
WHERE
M_DoctorIsActive = 'Y'
";
//echo $query;
$rows['doctors'] = $this->db_regional->query($query)->result_array();
$result = array(
"total" => count($rows),
"records" => $rows,
);
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function searchdoctor()
{
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 m_doctor
WHERE
M_DoctorName like ?
AND M_DoctorIsActive = 'Y'";
$query = $this->db_regional->query($sql, $q['search']);
//echo $query;
if ($query) {
$tot_count = $query->result_array()[0]["total"];
} else {
$this->sys_error_db("m_doctor count", $this->db_regional);
exit;
}
$sql = "
SELECT * FROM(SELECT *, CONCAT(M_DoctorPrefix, ' ',M_DoctorName) as M_DoctorNames
FROM m_doctor
WHERE M_DoctorIsActive = 'Y') a
WHERE
M_DoctorNames like ?
AND M_DoctorIsActive = 'Y'
ORDER BY M_DoctorName DESC
";
$query = $this->db_regional->query($sql, array($q['search']));
if ($query) {
$rows = $query->result_array();
//echo $this->db_regional->last_query();
$result = array("total" => $tot_count, "records" => $rows, "total_display" => sizeof($rows));
$this->sys_ok($result);
} else {
$this->sys_error_db("m_doctor rows", $this->db_regional);
exit;
}
}
function searchcompanylevel()
{
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$max_rst = 12;
$tot_count = 0;
$name = $prm['name'];
$hirarkiid = intval($prm['id']) - 1;
// QUERY TOTAL
$sql = "SELECT count(*) as total
FROM nat_companylevel
WHERE
Nat_CompanyLevelName like '%{$name}%'
AND
Nat_CompanyLevelNat_HierarchyID = '{$hirarkiid}'
AND Nat_CompanyLevelIsActive = 'Y'";
$query = $this->db_regional->query($sql);
//echo $query;
if ($query) {
$tot_count = $query->result_array()[0]["total"];
} else {
$this->sys_error_db("nat_companylevel count", $this->db_regional);
exit;
}
$sql = "
SELECT * FROM(SELECT *, CONCAT(Nat_CompanyLevelName, ' [',M_CompanyName,']') as Nat_CompanyLevelNames
FROM nat_companylevel
LEFT JOIN m_company ON Nat_CompanyLevelNat_CompanyID = M_CompanyID
WHERE Nat_CompanyLevelIsActive = 'Y') a
WHERE
Nat_CompanyLevelName like '%{$name}%'
AND
Nat_CompanyLevelNat_HierarchyID = '{$hirarkiid}'
AND Nat_CompanyLevelIsActive = 'Y'
ORDER BY Nat_CompanyLevelName DESC
";
$query = $this->db_regional->query($sql);
if ($query) {
$rows = $query->result_array();
//echo $this->db_regional->last_query();
$result = array("total" => $tot_count, "records" => $rows, "total_display" => sizeof($rows));
$this->sys_ok($result);
} else {
$this->sys_error_db("nat_companylevel rows", $this->db_regional);
exit;
}
}
function searchcity()
{
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 m_city
WHERE
M_CityName like ?
AND M_CityIsActive = 'Y'";
$query = $this->db_regional->query($sql, $q['search']);
//echo $query;
if ($query) {
$tot_count = $query->result_array()[0]["total"];
} else {
$this->sys_error_db("m_city count", $this->db_regional);
exit;
}
$sql = "
SELECT *
FROM m_city
WHERE
M_CityName like ?
AND M_CityIsActive = 'Y'
ORDER BY M_CityName DESC
";
$query = $this->db_regional->query($sql, array($q['search']));
if ($query) {
$rows = $query->result_array();
//echo $this->db_regional->last_query();
$result = array("total" => $tot_count, "records" => $rows, "total_display" => sizeof($rows));
$this->sys_ok($result);
} else {
$this->sys_error_db("m_city rows", $this->db_regional);
exit;
}
}
function getstaff()
{
$prm = $this->sys_input;
$query = "SELECT 0 as M_StaffID, 'Pilih Marketing' as M_StaffName
UNION
SELECT Nat_StaffID as M_StaffID, Nat_StaffName as M_StaffName
FROM nat_staff
JOIN m_position ON Nat_StaffM_PositionID = M_PositionID AND M_PositionIsMarketing = 'Y'
WHERE
Nat_StaffIsActive = 'Y'";
//echo $query;
$rows = $this->db_regional->query($query, array($prm['id']))->result_array();
$result = array(
"total" => count($rows),
"records" => $rows,
);
$this->sys_ok($result);
exit;
}
function getprovince()
{
$prm = $this->sys_input;
$query = " SELECT *
FROM m_province
WHERE
M_ProvinceIsActive = 'Y'";
//echo $query;
$rows = $this->db_regional->query($query, array($prm['id']))->result_array();
$result = array(
"total" => count($rows),
"records" => $rows,
);
$this->sys_ok($result);
exit;
}
function getcity()
{
$prm = $this->sys_input;
$query = " SELECT *
FROM m_city
WHERE
M_CityIsActive = 'Y' AND M_CityM_ProvinceID = ?
";
//echo $query;
$rows = $this->db_regional->query($query, array($prm['id']))->result_array();
$result = array(
"total" => count($rows),
"records" => $rows,
);
$this->sys_ok($result);
exit;
}
function getdistrict()
{
$prm = $this->sys_input;
$query = " SELECT *
FROM m_district
WHERE
M_DistrictIsActive = 'Y' AND M_DistrictM_CityID = ?
";
//echo $query;
$rows = $this->db_regional->query($query, array($prm['id']))->result_array();
$result = array(
"total" => count($rows),
"records" => $rows,
);
$this->sys_ok($result);
exit;
}
function getkelurahan()
{
$prm = $this->sys_input;
$query = " SELECT *
FROM m_kelurahan
WHERE
M_KelurahanIsActive = 'Y' AND M_KelurahanM_DistrictID = ?
";
//echo $query;
$rows = $this->db_regional->query($query, array($prm['id']))->result_array();
$result = array(
"total" => count($rows),
"records" => $rows,
);
$this->sys_ok($result);
exit;
}
function selectbase()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$rows = [];
$query = " SELECT 'SPK' as baseid, 'SPK' as basename
UNION SELECT 'MOU' as baseid, 'MOU' as basename
";
//echo $query;
$rows['bases'] = $this->db_regional->query($query)->result_array();
$result = array(
"total" => count($rows),
"records" => $rows,
);
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function selectomzettype()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$rows = [];
$query = " SELECT *
FROM m_omzettype
WHERE
M_OmzetTypeIsActive = 'Y'
";
//echo $query;
$rows['omzettypes'] = $this->db_regional->query($query)->result_array();
$result = array(
"total" => count($rows),
"records" => $rows,
);
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function selectbilltype()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$rows = [];
$query = " SELECT *
FROM m_billtype
WHERE
M_BillTypeIsActive = 'Y'
";
//echo $query;
$rows['billtypes'] = $this->db_regional->query($query)->result_array();
$result = array(
"total" => count($rows),
"records" => $rows,
);
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function selectbranch()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$rows = [];
$query = " SELECT *
FROM m_branch
JOIN s_regional ON M_BranchS_RegionalID = S_RegionalID
WHERE
M_BranchIsActive = 'Y'
";
//echo $query;
$rows['branchs'] = $this->db_regional->query($query)->result_array();
$result = array(
"total" => count($rows),
"records" => $rows,
);
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function selectmoutype()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$rows = [];
$query = " SELECT *
FROM m_moutype
WHERE
M_MouTypeIsActive = 'Y'
";
//echo $query;
$rows['moutypes'] = $this->db_regional->query($query)->result_array();
$result = array(
"total" => count($rows),
"records" => $rows,
);
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function selectagingtype()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$rows = [];
$query = " SELECT *
FROM m_agingtype
WHERE
M_AgingIsActive = 'Y'
";
//echo $query;
$rows['agingtypes'] = $this->db_regional->query($query)->result_array();
$result = array(
"total" => count($rows),
"records" => $rows,
);
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function generateRandomString($length = 5)
{
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
function uploadattachment()
{
try {
//# cek token valid
if (!$this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$userid = $this->sys_user["M_UserID"];
$data = [];
$error = [];
$prm = $this->sys_input;
$mouid = $this->input->post('mouid');
$xnumber = $this->input->post('number');
$path = '/home/regional/project/regional/one-media/one-files/';
$config['upload_path'] = $path;
$config['allowed_types'] = 'pdf';
$config['max_size'] = 1000; // Maksimal 1000 KB
$count = count($_FILES['files']['name']);
$this->load->library('upload', $config);
// print_r($_FILES['files']['name']);
// exit;
$file_uploaded = 1;
if ($file_uploaded > 1) {
$error[] = "Jumlah file yang diupload maksimal 1";
} else {
for ($i = 0; $i < $count; $i++) {
if (!empty($_FILES['files']['name'][$i])) {
// Validasi ukuran file secara manual
if ($_FILES['files']['size'][$i] > 1000 * 1024) { // 3000 KB dalam byte
$error[] = "File " . $_FILES['files']['name'][$i] . " melebihi ukuran maksimal 1MB.";
//print_r($error);
continue; // Skip file yang terlalu besar
}
// echo $_FILES['files']['name'][$i];
// exit;
$_FILES['file']['name'] = $_FILES['files']['name'][$i];
$_FILES['file']['type'] = $_FILES['files']['type'][$i];
$_FILES['file']['tmp_name'] = $_FILES['files']['tmp_name'][$i];
$_FILES['file']['error'] = $_FILES['files']['error'][$i];
$_FILES['file']['size'] = $_FILES['files']['size'][$i];
$namex = $xnumber . '_' . $this->generateRandomString(3);
$config['file_name'] = $namex;
$this->upload->initialize($config);
// print_r($this->upload->do_upload('file'));
// exit;
if ($this->upload->do_upload('file')) {
$sql_count = "SELECT File_AttachmentID
FROM file_attachment
WHERE File_AttachmentIsActive = 'Y'
AND File_AttachmentM_MouID = ?";
$qry_count = $this->db_regional->query($sql_count, array($mouid));
if (!$qry_count) {
$this->sys_error_db("select count file attachment error", $this->db_regional);
exit;
}
$row = $qry_count->result_array();
// print_r($row);
// echo $this->db_regional->last_query();
// exit;
if (count($row['total']) > 0) {
$uploadData = $this->upload->data();
$filename = $uploadData['file_name'];
//echo $filename;
// Proses SQL atau penyimpanan data lainnya
$sql = "INSERT INTO file_attachment (
File_AttachmentM_MouID,
File_AttachmentFileName,
File_AttachmentCreated,
File_AttachmentCreatedUserID
)
VALUES(?,?,NOW(),?)";
$query = $this->db_regional->query($sql, array($mouid, $filename, $userid));
if (!$query) {
$this->sys_error_db("insert file error", $this->db_regional);
exit;
}
} else {
$sql_update = "UPDATE file_attachment SET File_AttachmentIsActive = 'N', File_AttachmentDeleted = NOW(), File_AttachmentDeletedUserID = ?
WHERE
File_AttachmentM_MouID = ?";
$query_update = $this->db_regional->query($sql_update, array($userid, $mouid));
if (!$query_update) {
$this->sys_error_db("update file error", $this->db_regional);
exit;
}
$uploadData = $this->upload->data();
$filename = $uploadData['file_name'];
//echo $filename;
$sql = "INSERT INTO file_attachment (
File_AttachmentM_MouID,
File_AttachmentFileName,
File_AttachmentCreated,
File_AttachmentCreatedUserID
)
VALUES(?,?,NOW(),?)";
$query = $this->db_regional->query($sql, array($mouid, $filename, $userid));
if (!$query) {
$this->sys_error_db("insert file after delete error", $this->db_regional);
exit;
}
}
} else {
$error[] = $this->upload->display_errors();
}
}
}
}
$result = array("total" => count($data['totalFiles']), "records" => $data['totalFiles'], 'errors' => $error);
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
}