163 lines
5.8 KiB
PHP
163 lines
5.8 KiB
PHP
<?php
|
|
class Databranch extends MY_Controller
|
|
{
|
|
var $db_onedev;
|
|
public function index()
|
|
{
|
|
echo "DATA BRANCH API";
|
|
}
|
|
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->db_onedev = $this->load->database("onedev", true);
|
|
}
|
|
public function request_hold($mouid, $billid)
|
|
{
|
|
// Kirim request hold ke regional
|
|
|
|
|
|
// select data dari f_bill_issue
|
|
// join f_bill, m_mou, m_company, m_branch (M_BranchIsActive = 'Y' & M_BranchIsDefault = 'Y')
|
|
// pastikan M_MouIsActive = 'H'
|
|
// Data yang dibutuhkan M_BranchID, M_BranchCode, M_BranchName,F_BillNo, M_MouID, M_MouName, M_MouNumber, M_CompanyID, M_CompanyNumber, M_MouLastUpdated (untuk info tanggal terholdnya)
|
|
$sql = "";
|
|
$qry = $this->onedev->query($sql, array());
|
|
$rows = array();
|
|
|
|
if($qry) {
|
|
$rows = $qry->result_array();
|
|
|
|
$param = json_encode($rows);
|
|
|
|
// insert data ke tabel log_aoh
|
|
$sql_insert = "";
|
|
|
|
//get data dari tabel conf_systems S_SystemIPAddressRegional untuk mendapatkan ip regional
|
|
$regional_ip_address = "";
|
|
|
|
$url = "http://$regional_ip_address/one-api/aoh/receive_request_hold";
|
|
|
|
$result = $this->post($url,$param);
|
|
echo "to $url \nresponse : $result\n";
|
|
$result = json_decode($result,true);
|
|
if ($result["status"] == "OK" ) {
|
|
// update log_aoh field Log_AohStatus menjadi S
|
|
return true;
|
|
} else {
|
|
// update log_aoh field Log_AohStatus menjadi E
|
|
print_r($result);
|
|
}
|
|
}else {
|
|
print_r($this->db_onedev->error());
|
|
}
|
|
|
|
|
|
}
|
|
public function receive_excute_hold()
|
|
{
|
|
// Update data hold dari regional
|
|
$prm = $this->sys_input;
|
|
// parameter array mou_id
|
|
|
|
foreach($prm as $p ) {
|
|
// Update data m_mou field M_MouIsActive menjadi H
|
|
$sql = "";
|
|
$qry = $this->db_onedev->query($sql);
|
|
|
|
}
|
|
// return array mou_id beserta statusnya
|
|
|
|
}
|
|
public function request_unhold($mouid,$billid)
|
|
{
|
|
// Kirim request unhold ke regional
|
|
|
|
|
|
// select data dari f_bill_issue
|
|
// jika F_BillIssueIsAllMou = 'Y' join f_bill_mou untuk mendapatkan mouid , jika F_BillIssueIsAllMou = 'N' langsung ambil dari F_BillIssueM_MouID
|
|
// join f_bill, m_mou, m_company
|
|
// Data yang dibutuhkan F_BillNo, M_MouID, M_MouName, M_MouNumber, M_CompanyID, M_CompanyNumber
|
|
// pastikan F_BillIsLunas = 'Y'
|
|
$sql = "";
|
|
$qry = $this->onedev->query($sql, array());
|
|
$rows = array();
|
|
|
|
if($qry) {
|
|
$rows = $qry->result_array();
|
|
|
|
//get data dari tabel conf_systems S_SystemIPAddressRegional untuk mendapatkan ip regional
|
|
$regional_ip_address = "";
|
|
|
|
$param = json_encode($rows);
|
|
|
|
$url = "http://$regional_ip_address/one-api/aoh/receive_request_unhold";
|
|
|
|
$result = $this->post($url,$param);
|
|
echo "to $url \nresponse : $result\n";
|
|
$result = json_decode($result,true);
|
|
if ($result["status"] == "OK" ) {
|
|
return true;
|
|
} else {
|
|
print_r($result);
|
|
}
|
|
}else {
|
|
print_r($this->db_onedev->error());
|
|
}
|
|
}
|
|
public function receive_chek_agrement_status()
|
|
{
|
|
// select data dari f_bill_issue
|
|
// jika F_BillIssueIsAllMou = 'Y' join f_bill_mou untuk mendapatkan mouid , jika F_BillIssueIsAllMou = 'N' langsung ambil dari F_BillIssueM_MouID
|
|
// join f_bill, m_mou, m_company
|
|
// cek apakah agreement tersebut masih ada tagihan jatuh tempo & belum lunas
|
|
// jika F_BillIssueExtendDay = 0 maka F_BillDueDate + 7 & F_BillIsLunas = 'N'
|
|
// jika F_BillIssueExtendDay <> 0 maka F_BillDueDate + F_BillIssueExtendDay & F_BillIsLunas = 'N'
|
|
|
|
$sql = "";
|
|
$qry = $this->onedev->query($sql);
|
|
$rows = array();
|
|
|
|
if($qry) {
|
|
$rows = $qry->result_array();
|
|
if (count($rows) > 0) {
|
|
// jika ada tagihan belum tuntas maka status Tidak OK
|
|
}else{
|
|
// jika tidak ada tagihan yang pending maka status OK
|
|
}
|
|
}else {
|
|
print_r($this->db_onedev->error());
|
|
}
|
|
|
|
|
|
}
|
|
public function receive_excute_unhold()
|
|
{
|
|
// Update data unhold dari regional
|
|
$prm = $this->sys_input;
|
|
// parameter array mou_id
|
|
|
|
foreach($prm as $p ) {
|
|
// Update data tabel m_mou field M_MouIsActive menjadi Y
|
|
$sql = "";
|
|
$qry = $this->db_onedev->query($sql);
|
|
|
|
}
|
|
// return array mou_id beserta statusnya
|
|
}
|
|
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_VERBOSE, true);
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
|
|
'Content-Type: application/json',
|
|
'Content-Length: ' . strlen($data))
|
|
);
|
|
$result = curl_exec($ch);
|
|
//echo "RST : $result ";
|
|
return $result;
|
|
}
|
|
}
|