Files
BE_IBL/application/controllers/mockup/courierv2/Sendorder.php
2026-04-15 15:24:12 +07:00

144 lines
5.6 KiB
PHP

<?php
class Sendorder extends CI_Controller
{
function __construct() {
parent::__construct();
$this->db = $this->load->database("onedev", true);
}
function index() {
echo "Send Order API";
}
function batch() {
//janji hasil hari ini T_OrderHeaderID
$sql = "select distinct xID, T_OrderHeaderLabNumber from
(
select T_OrderPromiseT_OrderHeaderID xID , T_OrderPromiseDateTime xDate
from t_orderpromise
where T_OrderPromiseIsActive = 'Y' and
date(T_OrderPromiseDateTime) between date(now()) - INTERVAL 3 DAY and date(now())
union
select T_OrderHeaderID xID,T_OrderHeaderDate xDate
from t_orderheader
where T_OrderHeaderIsActive = 'Y' and
date(T_OrderHeaderDate) between date(now()) - INTERVAL 3 DAY and date(now())
) x";
$qry = $this->db->query($sql);
$tot_upload = 0;
if ($qry) {
$rows = $qry->result_array();
foreach($rows as $r) {
$date = date("Y-m-d H:i:s ");
$branch = 'KD';
$ip_address = 'devkedungdororaya';
$number = $r["T_OrderHeaderLabNumber"];
if ( $this->do($r["xID"])) {
echo "$date [OK] uploaded {$number} to $ip_address\n";
} else {
echo "$date [ERR] uploaded {$number} to $ip_address\n";
}
$tot_upload++;
}
}
if ($tot_upload == 0 ) {
$date = date("Y-m-d H:i:s ");
echo "$date [OK] No upload data\n";
}
}
function do($orderID) {
$sql = "select T_OrderHeaderID,
T_OrderHeaderLabNumber,
M_DeliverySource,
M_DeliveryName,
T_OrderDeliveryDestination,
T_OrderDeliveryM_KelurahanID
FROM
t_orderheader
JOIN t_orderdelivery ON T_OrderDeliveryT_OrderHeaderID = T_OrderHeaderID AND T_OrderDeliveryIsActive = 'Y' AND T_OrderDeliveryM_DeliveryTypeID = 2
JOIN m_delivery ON M_DeliveryID = T_OrderDeliveryM_DeliveryID
JOIN m_deliverytype ON M_DeliveryTypeID = T_OrderDeliveryM_DeliveryTypeID
WHERE T_OrderHeaderID = ?
";
$qry = $this->db->query($sql, array($orderID));
$rows = array();
$regional_ip_address = "";
if($qry) {
$rows = $qry->result_array();
if (count($rows) == 0 ) {
/* belum dipakai dulu
echo "No Detail Records. => ";
$this->db->query("update t_ref_deliveryorder set T_RefDeliveryOrderIsConfirm = 'Z' where T_RefDeliveryOrderID = ?", array($orderID));
return false;
*/
}
$sqlp = "select * from m_patient where M_PatientID = ?";
$sqlpa = "select * from m_patientaddress where M_PatientAddressM_PatientID = ?";
$sqlpt = "select * from m_title where M_TitleID = ?";
foreach($rows as $idx => $r) {
//patient
$regional_ip_address = '';
$patientID = $r["T_OrderHeaderM_PatientID"];
$headerID = $r["T_OrderHeaderID"];
$nolab = $r["T_OrderHeaderLabNumber"];
$branchID = '1';
$branchcode = 'KD';
$kelurahanID = $r["T_OrderDeliveryM_KelurahanID"];
$deliveryID = $r["T_OrderDeliveryID"];
$address = $r["T_OrderDeliveryDestination"];
$tipe = $r["M_DeliveryName"];
$patient = array();
$patient["headerID"] = $r["T_OrderHeaderID"];
$patient["nolab"] = $r["T_OrderHeaderLabNumber"];
$patient["branchID"] = '1';
$patient["branchcode"] = 'KD';
$patient["kelurahanID"] = $r["T_OrderDeliveryM_KelurahanID"];
$patient["deliveryID"] = $r["T_OrderDeliveryID"];
$patient["address"] = $r["T_OrderDeliveryDestination"];
$rows[$idx][$tipe] = $patient;
}
echo json_encode($rows);
/*belum dipakai $url = "http://$regional_ip_address/one-api/tools//";
$result = $this->post($url,$param);
echo "to $url \nresponse : $result\n";
$result = json_decode($result,true);
if ($result["status"] == "OK" ) {
$sqlu = "";
$this->db->query($sqlu, array($orderID));
return true;
*/
} else {
// print_r($result);
echo json_encode($rows);
}
return false;
}
function post($url,$data) {
$zdata = gzdeflate($data);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $zdata);
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($zdata))
);
$result = curl_exec($ch);
//echo "RST : $result ";
return $result;
}
}