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; } }