forked from HANYANG/HANYANG_MES
132 lines
3.8 KiB
PHP
132 lines
3.8 KiB
PHP
<?php
|
|
function curl_request( $access_url, $query="", $method="GET", $headers="", $options="", $cookie="" ){
|
|
if( is_array($query) ){
|
|
$strquery = http_build_query($query);
|
|
}
|
|
$ch = curl_init();
|
|
switch( strtoupper($method) ){
|
|
case "POST" :
|
|
curl_setopt( $ch, CURLOPT_POST, 1);
|
|
curl_setopt( $ch, CURLOPT_POSTFIELDS, $strquery);
|
|
break;
|
|
|
|
case "GET" :
|
|
if( $strquery ){
|
|
$access_url = $access_url."?".$strquery;
|
|
}
|
|
break;
|
|
|
|
case "PUT" :
|
|
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
|
|
curl_setopt( $ch, CURLOPT_POSTFIELDS, $strquery);
|
|
break;
|
|
|
|
case "DELETE" :
|
|
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
|
|
curl_setopt( $ch, CURLOPT_POSTFIELDS, $strquery);
|
|
break;
|
|
|
|
case "RAW" :
|
|
$a = "{
|
|
'startDate': '20230101',
|
|
'endDate': '20231231',
|
|
'terminal':'BPTG',
|
|
'interfaceId':'IF-ITT-TIS-001'
|
|
}";
|
|
curl_setopt( $ch, CURLOPT_POST, 1);
|
|
curl_setopt( $ch, CURLOPT_POSTFIELDS, $a);
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
|
|
echo 1;
|
|
break;
|
|
}
|
|
|
|
if( $headers ) { //(e.g., array("fruit: apple", "colour: red")
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
|
}
|
|
|
|
if( $options ) { //(e.g., array("fruit"=>"apple", "colour"=>"red")
|
|
curl_setopt_array($ch, $options);
|
|
}
|
|
|
|
curl_setopt( $ch, CURLOPT_URL, $access_url);
|
|
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
|
|
curl_setopt( $ch, CURLOPT_HEADER, 0);
|
|
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
|
|
|
|
if( $cookie ){ //(e.g., "fruit=apple; colour=red")
|
|
curl_setopt( $ch, CURLOPT_COOKIE, $cookie);
|
|
}
|
|
|
|
$response = curl_exec( $ch );
|
|
curl_close( $ch );
|
|
return $response;
|
|
}
|
|
|
|
|
|
$serviceKey = "n696ex0+T6cnHg424BGtHzbYaHEQ4uZOFMfoIpGQKOw=";
|
|
$url = 'https://www.chainportal.co.kr/openapi/v2/'. $serviceKey; /*URL*/
|
|
$trminlCode = "BPTG";
|
|
|
|
$querys = Array(
|
|
"startDate" => $startDate?:date("Ymd"),
|
|
"endDate" => $endDate?:date("Ymd",time()+24*3600),
|
|
"terminal" => $trminlCode?:"",
|
|
"interfaceId" => "IF-ITT-TIS-001",
|
|
);
|
|
print_r($querys);
|
|
$rst_json = curl_request($url, $querys, "RAW");
|
|
print_r($rst_json);
|
|
$rst_obj = json_decode($rst_json);
|
|
$items = $rst_obj->response->body->items->item;
|
|
|
|
//function isNl2Blank( $val ){
|
|
// if( strtolower($val) === 'null' || (!$val && $val !== 0) ) return "";
|
|
//
|
|
// return $val;
|
|
//}
|
|
|
|
//$query = "EXEC USP_ADD_BERTHNG_INF ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?";
|
|
//
|
|
//foreach( $items as $item ){
|
|
// echo 1;
|
|
// $params = Array(
|
|
// $trminlCode,
|
|
// isNl2Blank($item->terminalShipName),
|
|
// isNl2Blank($item->terminalShipVoyageNo),
|
|
// isNl2Blank($item->shippingVoyageNo),
|
|
// isNl2Blank($item->terminalShipYear),
|
|
// isNl2Blank($item->shippingVoyageNo),
|
|
// isNl2Blank($item->shippingCode),
|
|
// isNl2Blank($item->shippingRouteCode),
|
|
// isNl2Blank($item->alongside),
|
|
// isNl2Blank($item->etb),
|
|
// isNl2Blank($item->etd),
|
|
// isNl2Blank($item->cct),
|
|
// isNl2Blank($item->berthCode),
|
|
// isNl2Blank($item->dischargingCount),
|
|
// isNl2Blank($item->loadCount),
|
|
// isNl2Blank($item->shiftCount),
|
|
// isNl2Blank($item->creatDate),
|
|
// isNl2Blank($item->updtDate),
|
|
// );
|
|
//
|
|
// $stmt = sqlsrv_query($auth_conn, $query, $params);
|
|
// print_r($stmt);
|
|
//}
|
|
|
|
/*
|
|
* EXEC USP_ADD_BERTHNG_INF ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?1
|
|
Array
|
|
(
|
|
[0] => Array
|
|
(
|
|
[0] => 25000
|
|
[SQLSTATE] => 25000
|
|
[1] => 266
|
|
[code] => 266
|
|
[2] => [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]EXECUTE 후 트랜잭션 개수는 BEGIN 및 COMMIT 문 수가 일치하지 않음을 나타냅니다. 이전 개수 = 0, 현재 개수 = 1.
|
|
[message] => [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]EXECUTE 후 트랜잭션 개수는 BEGIN 및 COMMIT 문 수가 일치하지 않음을 나타냅니다. 이전 개수 = 0, 현재 개수 = 1.
|
|
)
|
|
|
|
)
|
|
*/ |