95 lines
3.3 KiB
PHP
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;
|
|
}
|
|
}
|