144 lines
5.6 KiB
PHP
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;
|
|
}
|
|
} |