Files
2026-04-27 10:26:26 +07:00

95 lines
3.3 KiB
PHP

<?php
class Hasil extends MY_Controller
{
function __construct() {
parent::__construct();
$this->db = $this->load->database("onedev", true);
}
function index() {
$this->nilai_normal(true);
}
function clean_up_message($msg) {
$msg = str_replace("-","\-",$msg);
$msg = str_replace("(","\(",$msg);
$msg = str_replace(")","\)",$msg);
$msg = str_replace(".","\.",$msg);
$msg = str_replace("[","\[",$msg);
$msg = str_replace("]","\]",$msg);
$msg = str_replace("|","\|",$msg);
return $msg;
}
function nilai_normal($do_send=false,$date = "") {
$sql = "select distinct Nat_NormalValueNat_TestID
from nat_normalvalue
where Nat_NormalValueIsActive = 'Y'";
$qry = $this->db->query($sql);
$s_nat_ids = "0";
if ($qry) {
$rows = $qry->result_array();
foreach($rows as $r) {
$s_ids .= "," . $r["Nat_NormalValueNat_TestID"];
}
}
if ($date == "" ) $date = Date("Y-m-d");
$sql = "select T_OrderHeaderLabNumber, T_OrderHeaderM_PatientAge,
concat( substring(group_concat(T_OrderDetailT_TestName),1,200), ' ...') TestName
from
t_orderdetail
join t_orderheader on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
and date(T_OrderHeaderDate) = '$date'
and T_OrderDetailNat_NormalValueID = 0 and T_OrderDetailIsActive = 'Y'
and T_OrderDetailLastUpdated > T_OrderDetailCreated + interval 30 MINUTE
and T_OrderDetailResult <> ''
join t_test on T_OrderDetailT_TestID = T_TestID and T_TestIsResult = 'Y'
and T_TestNat_TestID in ( $s_nat_ids )
group by T_OrderHeaderLabNumber
";
$qry = $this->db->query($sql);
if ($qry) {
$rows = $qry->result_array();
$msg = "";
$counter = 0;
foreach($rows as $r) {
$msg .= "*" . $r["T_OrderHeaderLabNumber"] . "* ( " . $r["T_OrderHeaderM_PatientAge"] . " ) :";
$msg .= "\n\t " . $r["TestName"] . "\n";
$counter++;
if ($counter >= 10 ) {
if ($do_send === true ) {
$msg = "Hasil tanpa Nilai Normal:\n$msg";
$msg = $this->clean_up_message($msg);
$this->sasone($msg);
$msg = "";
$counter = 0;
}
}
}
if($msg != "" ) {
$msg = "Hasil tanpa Nilai Normal:\n$msg";
if ($do_send === true ) {
$msg = $this->clean_up_message($msg);
$this->sasone($msg);
} else {
echo $msg;
}
}
} else {
print_r($this->db->error());
}
}
function sasone($msg) {
$url = "http://bandungraya.aplikasi.web.id/one-api/tgram/xone/sasone";
$data = json_encode( array("text" => $msg ));
$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_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data))
);
$result = curl_exec($ch);
echo $result;
}
}