add resend json

This commit is contained in:
mikael-zakaria 2025-04-17 14:57:36 +08:00
parent fee085a5c5
commit 5e2530ff6a
5 changed files with 48 additions and 46 deletions

View File

@ -28,3 +28,4 @@ $routes->get('/admin/HISRequests', 'AdminPages::HISRequests');
$routes->get('/admin/HISMessages', 'AdminPages::HISMessages');
$routes->post('/admin/api/HISRequests', 'API_Admin::HISRequests_index');
$routes->post('/admin/api/HISMessages', 'API_Admin::HISMessages_index');
$routes->get('/admin/api/resendJSON/(:any)', 'API_Admin::resendJSON/$1');

View File

@ -47,4 +47,42 @@ class API_Admin extends ResourceController {
'data' => $results
]);
}
public function resendJSON($logid) {
$db = \Config\Database::connect();
$sql = "select BODY from cmod.dbo.CM_TM_LOGS where LOGID='$logid'";
$query = $db->query($sql);
$results = $query->getResultArray();
$json = $results[0]['BODY'];
$headers = [ "Content-Type" => "application/json" ];
$method = "POST";
$message = [
"headers" => $headers,
"body" => $json
];
$url = base_url()."api/requests";
//echo "<pre>$url<br/>";
//print_r($message);
$this->sendjson($method, $url, $message);
}
public function sendjson( $method, $url, $message ) {
$client = \Config\Services::curlrequest();
try {
$response = $client->request($method, $url, $message);
if ($response->getStatusCode() == 200) {
print_r($response);
} else {
print_r($response);
}
} catch (\Exception $e) {
//echo "<pre> \n".json_encode($json)."\n";
echo "Error: " . $e->getMessage();
log_message('error', 'API request exception: ' . $e->getMessage());
}
}
}

View File

@ -113,32 +113,7 @@ class API_TM extends ResourceController {
$qant = (array)$qpat['anthropometry'];
$bw = $qant['weight'];
$bh = $qant['height'];
// Check if visitnumber / patnumber beda dari yang lama
/*
$sql = "select cr.REQNUMBER, cp.PATNUMBER from cmod.dbo.CM_TM_REQUESTS cr
left join cmod.dbo.CM_TM_PATIENTS cp on cr.PATID=cp.PATID
where REFFID='$reffid'";
$query = $db->query($sql);
$results = $query->getResultArray();
if(!isset($results[0])) {
$qvisit = $results[0]['REQNUMBER'];
$qpatnum = $results[0]['PATNUMBER'];
if($qvisit != $visitnum) {
$response = [
'errors' => 'visit number is not the same', 'message' => 'Visit# is not the same with existing reffid'
];
return $this->fail($response , 409);
}
if($qpatnum != $rm) {
$response = [
'errors' => 'rm number is not the same', 'message' => 'RM# is not the same with existing reffid'
];
return $this->fail($response , 409);
}
}
*/
$sql = "select PATID from cmod.dbo.CM_TM_PATIENTS where PATNUMBER='$rm'";
$query = $db->query($sql);
$results = $query->getResultArray();
@ -152,11 +127,6 @@ class API_TM extends ResourceController {
$db->query($sql);
}
/*
$time = Time::createFromFormat('Y-m-d\TH:i:s.u\Z', $utcdt, 'UTC'); //2024-10-19T00:47:06.424654Z
$time = $time->setTimezone('Asia/Shanghai');
$orderdt = $time->toDateTimeString();
*/
$sql = "select REQID from cmod.dbo.CM_TM_REQUESTS where REFFID='$reffid'";
$query = $db->query($sql);
$results = $query->getResultArray();
@ -202,16 +172,6 @@ class API_TM extends ResourceController {
$this->orm($reqid);
return $this->respond(201);
/*
if( $db->query($sql) ) {
return $this->respond(201);
} else {
$response = [
'errors' => $db->errors(), 'message' => 'Invalid Messages'
];
return $this->fail($response , 409);
}
*/
}
public function orm($reqid) {
@ -286,11 +246,8 @@ class API_TM extends ResourceController {
//sendHL7Message($host, $port, $message, $timeout = 5);
$this->sendHL7Message( "localhost", $port, $orm, $timeout = 5);
//$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
}
public function create_result_json($accessnumber) {
$db = \Config\Database::connect();
$sql = "select r.HOSTORDERNUMBER, r.SP_HOSPNUMBER, cr.REQNUMBER, cr.LOC, cr.COMPANY, cr.AGENT, cr.VISITDESC, cr.VISITTYPE,

View File

@ -68,7 +68,7 @@ function searchMessages() {
const row = `<tr>
<td>LogID : <b>${item.LOGID}</b><br />${item.LOGDATE}</td>
<td><a href="#" class="show-more" onclick='showmore(this)'>Show More</a> <span class='text-limit'>${item.BODY}</span> </td>
<td></td>
<td><button class="btn btn-sm btn-primary" onclick="resendJSON(${item.LOGID})">resend JSON</button></td>
</tr>`;
$("#tbody").append(row);
});
@ -94,6 +94,11 @@ function showmore(element) {
element.textContent = 'Show More';
console.log('show more');
}
}
}
function resendJSON(logid) {
var url = '<?=base_url('');?>admin/api/resendJSON/'+logid;
fetch(url, { method: 'GET' });
}
</script>
<?= $this->endSection() ?>

View File

@ -25,6 +25,7 @@
<ul class="navbar-nav">
<li class="nav-item"> <a class="nav-link" href="<?=base_url();?>admin/HISRequests">HIS Requests</a> </li>
<li class="nav-item"> <a class="nav-link" href="<?=base_url();?>admin/HISMessages">HIS Messages</a> </li>
<li class="nav-item"> <a class="nav-link" href="<?=base_url();?>admin/SendJSON">Custom JSON</a> </li>
</ul>
</div>
<div class="navbar-brand" href="#">CMOD-Rest Administrator</div>