Initial import
This commit is contained in:
207
application/controllers/antrian_online/Upload_aol.php
Normal file
207
application/controllers/antrian_online/Upload_aol.php
Normal file
@@ -0,0 +1,207 @@
|
||||
<?php
|
||||
class Upload_aol extends MY_Controller
|
||||
{
|
||||
var $base_url;
|
||||
function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->debug = false;
|
||||
$this->base_url = "https://mobile.pramita.co.id/";
|
||||
}
|
||||
function now()
|
||||
{
|
||||
return Date("Y-m-d H:i:s");
|
||||
}
|
||||
function log($msg)
|
||||
{
|
||||
echo "{$this->now()} $msg\n";
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
//antrian_upload
|
||||
$this->db->trans_begin();
|
||||
$sql =
|
||||
"select * from antrian_upload where AntrianUploadIsActive='Y' and AntrianUploadIsSent ='N' limit 0,1";
|
||||
$qry = $this->db->query($sql);
|
||||
if (!$qry) {
|
||||
$this->log("Error antrian_upload : " . $this->db->error()["message"]);
|
||||
$this->db->trans_rollback();
|
||||
exit();
|
||||
}
|
||||
if (count($qry->result_array()) == 0) {
|
||||
$this->log("No Pending antrian_upload.");
|
||||
$this->db->trans_rollback();
|
||||
exit();
|
||||
}
|
||||
//branch
|
||||
$sql =
|
||||
"select * from m_branch where M_BranchIsActive='Y' and M_BranchIsDefault='Y'";
|
||||
$qry = $this->db->query($sql);
|
||||
if (!$qry) {
|
||||
echo "{$this->now()} ERR : {$this->db->error()["message"]}\n . {$this->db->last_query}";
|
||||
exit();
|
||||
}
|
||||
$rows = $qry->result_array();
|
||||
if (count($rows) == 0) {
|
||||
$this->log("ERR : No Default Branch");
|
||||
exit();
|
||||
}
|
||||
$branchID = $rows[0]["M_BranchID"];
|
||||
$branchCode = $rows[0]["M_BranchCode"];
|
||||
//subservice
|
||||
//subservice_kuota
|
||||
//subservice_kuota_detail
|
||||
$sql =
|
||||
"select ? subServiceM_BranchID, subservice.*
|
||||
from subservice";
|
||||
$qry = $this->db->query($sql, [$branchID]);
|
||||
if (!$qry) {
|
||||
echo "{$this->now()} ERR subservice: {$this->db->error()["message"]}\n . {$this->db->last_query()}";
|
||||
exit();
|
||||
}
|
||||
$subservice = $qry->result_array();
|
||||
|
||||
$sql = "select ? subServiceQuotaM_BranchID, subservice_kuota.*
|
||||
from subservice_kuota";
|
||||
$qry = $this->db->query($sql, [$branchID]);
|
||||
if (!$qry) {
|
||||
echo "{$this->now()} ERR subservice_kuota: {$this->db->error()["message"]}\n . {$this->db->last_query()}";
|
||||
exit();
|
||||
}
|
||||
$subservice_kuota = $qry->result_array();
|
||||
|
||||
$sql = "select ? SubServiceKuotaDetailM_BranchID, subservice_kuota_detail.*
|
||||
from subservice_kuota_detail";
|
||||
$qry = $this->db->query($sql, [$branchID]);
|
||||
if (!$qry) {
|
||||
echo "{$this->now()} ERR subservice_kuota_detail : {$this->db->error()["message"]}\n . {$this->db->last_query()}";
|
||||
exit();
|
||||
}
|
||||
$subservice_kuota_detail = $qry->result_array();
|
||||
|
||||
$data = [
|
||||
"subservice" => $subservice,
|
||||
"subservice_kuota" => $subservice_kuota,
|
||||
"subservice_kuota_detail" => $subservice_kuota_detail,
|
||||
];
|
||||
$jdata = json_encode($data);
|
||||
$md5 = md5($jdata);
|
||||
$param = ["md5" => $md5, "data" => $data];
|
||||
$jparam = json_encode($param);
|
||||
$zparam = gzcompress($jparam);
|
||||
$size = round(strlen($zparam) / 1024, 2);
|
||||
$size_org = round(strlen($jparam) / 1024, 2);
|
||||
$this->log(
|
||||
"Upload SubService Kuota Masterdata (compressed): " .
|
||||
$size_org .
|
||||
" => " .
|
||||
$size .
|
||||
" kB"
|
||||
);
|
||||
$url = "{$this->base_url}one-api/antrian_online/r_aol";
|
||||
$resp = $this->post($url, $zparam);
|
||||
if ($resp["status"] == "ERR") {
|
||||
$this->log("Error Upload Subservice Masterdata " . $resp["message"]);
|
||||
$this->db->trans_rollback();
|
||||
exit();
|
||||
}
|
||||
$sql =
|
||||
"update antrian_upload set AntrianUploadIsSent='Y', AntrianUploadSentDate = now() where AntrianUploadIsSent='N' and AntrianUploadIsActive='Y'";
|
||||
$qry = $this->db->query($sql);
|
||||
if (!$qry) {
|
||||
echo "{$this->now()} ERR update antrian_upload : {$this->db->error()["message"]}\n . {$this->db->last_query()}";
|
||||
exit();
|
||||
}
|
||||
$this->db->trans_commit();
|
||||
$this->log("Upload Subservice MasterData [OK] " . json_encode($resp["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_CONNECTTIMEOUT, 5);
|
||||
curl_setopt($ch, CURLOPT_TIMEOUT, 120);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, [
|
||||
"Content-Type: application/octet-stream",
|
||||
"Content-Length: " . strlen($data),
|
||||
]);
|
||||
$result = curl_exec($ch);
|
||||
if (curl_errno($ch) > 0) {
|
||||
return [
|
||||
"status" => "ERR",
|
||||
"message" => curl_error($ch),
|
||||
];
|
||||
}
|
||||
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||
if ($httpCode != 200) {
|
||||
return [
|
||||
"status" => "ERR",
|
||||
"message" => "Http Response : $httpCode",
|
||||
];
|
||||
}
|
||||
$j_result = json_decode($result, true);
|
||||
if (!$j_result) {
|
||||
return [
|
||||
"status" => "ERR",
|
||||
"message" => "JSON invalid: $result",
|
||||
];
|
||||
}
|
||||
return $j_result;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
CREATE TABLE `hs_schedule` (
|
||||
`HS_ScheduleID` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`HS_ScheduleM_BranchID` int(11) NOT NULL,
|
||||
`HS_ScheduleM_BranchCode` varchar(2),
|
||||
`HS_ScheduleM_RegDayID` int(11) NOT NULL,
|
||||
`HS_ScheduleLimit` int(11) NOT NULL DEFAULT 10,
|
||||
`HS_ScheduleIsActive` char(1) NOT NULL DEFAULT 'Y',
|
||||
`HS_ScheduleUserID` int(11) NOT NULL DEFAULT 3,
|
||||
`HS_ScheduleCreated` datetime NOT NULL DEFAULT current_timestamp(),
|
||||
`HS_ScheduleLastUpdated` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
||||
PRIMARY KEY (`HS_ScheduleID`,HS_ScheduleM_BranchID),
|
||||
key(HS_ScheduleM_RegDayID),
|
||||
key(HS_ScheduleM_BranchCode)
|
||||
);
|
||||
|
||||
CREATE TABLE `hs_scheduledetail` (
|
||||
`HS_ScheduleDetailID` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`HS_ScheduleDetailM_BranchID` int(11) NOT NULL ,
|
||||
`HS_ScheduleDetailM_BranchCode` varchar(2) NOT NULL ,
|
||||
`HS_ScheduleDetailHS_ScheduleID` int(11) NOT NULL,
|
||||
`HS_ScheduleDetailM_RegTimeID` int(11) NOT NULL,
|
||||
`HS_ScheduleDetailIsActive` char(1) NOT NULL DEFAULT 'Y',
|
||||
`HS_ScheduleDetailUserID` int(11) NOT NULL DEFAULT 3,
|
||||
`HS_ScheduleDetailCreated` datetime NOT NULL DEFAULT current_timestamp(),
|
||||
`HS_ScheduleDetailLastUpdated` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
||||
PRIMARY KEY (`HS_ScheduleDetailID`,HS_ScheduleDetailM_BranchID),
|
||||
KEY `HS_ScheduleDetailHS_ScheduleID` (`HS_ScheduleDetailHS_ScheduleID`),
|
||||
KEY `HS_ScheduleDetailHS_Time` (`HS_ScheduleDetailM_RegTimeID`)
|
||||
);
|
||||
|
||||
drop table hs_sum_tx;
|
||||
create table hs_sum_tx (
|
||||
HS_SumTxM_BranchID int,
|
||||
HS_SumTxM_BranchCode varchar(2),
|
||||
HS_SumTxT_TransactionID int,
|
||||
HS_SumTxT_TrancactionCreated datetime,
|
||||
HS_SumTxT_OrderDateTime datetime,
|
||||
HS_SumTxT_OrderID int,
|
||||
HS_SumTxT_OrderNumber varchar(50),
|
||||
HS_SumTxT_TransactionIsActive varchar(1),
|
||||
HS_SumTxT_OrderIsActive varchar(1),
|
||||
primary key (HS_SumTxM_BranchID,HS_SumTxT_TransactionID,HS_SumTxT_OrderID),
|
||||
key (HS_SumTxM_BranchID),
|
||||
key (HS_SumTxT_TransactionID),
|
||||
key (HS_SumTxT_TrancactionCreated),
|
||||
key (HS_SumTxT_OrderDateTime),
|
||||
key (HS_SumTxT_OrderIsActive),
|
||||
key (HS_SumTxT_TransactionIsActive)
|
||||
);
|
||||
*/
|
||||
Reference in New Issue
Block a user