Files
BE_CPONE/application/controllers/v1/adhi/fisik/Fisik_id.php
2026-04-27 10:26:26 +07:00

197 lines
8.0 KiB
PHP

<?php
class Fisik_id extends MY_Controller
{
var $db_onedev;
public function index()
{
echo "Fisik 01";
}
public function __construct()
{
parent::__construct();
$this->db_onedev = $this->load->database("onedev", true);
}
function json($id) {
$start = $start . " 00:00:01";
$end = $end . " 23:59:59";
$sql = "select T_OrderHeaderID
from t_orderheader
where T_OrderHeaderIsActive = 'Y'
and T_OrderHeaderLabNumber = ?
";
$qry = $this->db->query($sql, array($id));
if (! $qry) {
//Error Query
$db_err = $this->db->error();
echo json_encode( array( "status" => "ERR",
"message" => $db_err["message"]
));
exit;
}
$rows = $qry->result_array();
$sid = "0";
foreach($rows as $r) {
$sid .= ", " . $r["T_OrderHeaderID"];
}
$sql = "select
fn_global_patient_name(T_OrderHeaderM_PatientID) M_PatientName,
fn_get_patient_atribute(T_OrderHeaderM_PatientID) attr,
T_OrderHeaderDate,T_OrderHeaderLabNumber, T_OrderHeaderLabNumberExt,T_OrderHeaderM_PatientAge,
M_CompanyName, M_MouName,
T_TestName,
So_ResultEntryFisikUmumType,
So_ResultEntryFisikUmumDetails
from t_orderheader
join m_company on T_OrderHeaderM_CompanyID = M_CompanyID
join m_mou on T_OrderHeaderM_MouID = M_MouID
join t_orderdetail on T_OrderDetailT_OrderHeaderID= T_OrderHeaderID and T_OrderDetailIsActive = 'Y'
join t_test ON T_TestID = T_OrderDetailT_TestID and T_TestIsActive = 'Y' and T_TestNat_GroupID = '4'
join so_resultentry on So_ResultEntryT_OrderHeaderID = T_OrderHeaderID and So_ResultEntryT_OrderDetailID = T_OrderDetailID
join so_resultentry_fisik_umum on So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID
where T_OrderHeaderID in ($sid) order by So_ResultEntryFisikUmumID ";
$qry = $this->db->query($sql, array($headerID));
if (! $qry) {
//Error Query
$db_err = $this->db->error();
echo json_encode( array( "status" => "ERR",
"message" => $db_err["message"]
));
exit;
}
$rows = $qry->result_array();
$data = array();
$new_d = array();
$a_title = array();
foreach($rows as $r) {
$attr = json_decode($r["attr"],true);
unset($r["attr"]);
$r_details = json_decode($r["So_ResultEntryFisikUmumDetails"],true);
unset($r["So_ResultEntryFisikUmumDetails"]);
//$new_r = array();
foreach($r_details as $idx => $d) {
$details = $d["details"];
unset($d["details"]);
$d["T_TestName"] = $r["T_TestName"];
$d["T_OrderHeaderDate"] = $r["T_OrderHeaderDate"];
$d["T_OrderHeaderLabNumber"] = $r["T_OrderHeaderLabNumber"];
$d["T_OrderHeaderLabNumberExt"] = $r["T_OrderHeaderLabNumberExt"];
$d["M_PatientName"] = $r["M_PatientName"];
$d["M_PatientDOB"] = $attr["M_PatientDOB"];
$d["M_PatientAge"] = $r["T_OrderHeaderM_PatientAge"];
$d["M_SexName"] = $attr["M_SexName"];
$d["M_CompanyName"] = $r["M_CompanyName"];
$d["M_MouName"] = $r["M_MouName"];
$d["So_ResultEntryFisikUmumType"] = $r["So_ResultEntryFisikUmumType"];
foreach($details as $dx) {
if (isset($dx["details"])) {
$dy_details = $dx["details"];
unset($dx["details"]);
foreach($dy_details as $dy_detail) {
if ($d["title"] == "ANGGOTA GERAK") {
if ($dy_detail["chx"] == "1" ) {
$dy_detail["value"] = $dy_detail["label"];
$new_d[] = array_merge($d,$dx,$dy_detail);
}
}
if ($dy["value"] == "") continue;
if(isset($dy_detail["unit"]) && isset($dy_detail["value"])) {
$dy_detail["value"] = $dy_detail["value"] . " " . $dy_detail["unit"];
}
$new_d[] = array_merge($d,$dx,$dy_detail);
}
} else {
if ($dx["value"] == "") continue;
if(isset($dx["unit"]) && isset($dx["value"])) {
$dx["value"] = $dx["value"] . " " . $dx["unit"];
}
$new_d[] = array_merge($d,$dx);
}
}
//$new_r[] = $new_d;
}
}
$x_d = usort($new_d, array("Fisik01","cmp"));
// echo "<pre>"; print_r($new_d);
echo json_encode($new_d);
}
function cmp($a,$b) {
$a_key = substr($a["title"],1,3) . "-" . $a["label"];
$b_key = substr($b["title"],1,3) . "-" . $b["label"];
return strcmp($a_key, $b_key);
}
function json_single($headerID) {
$sql = "select
fn_global_patient_name(T_OrderHeaderM_PatientID) M_PatientName,
fn_get_patient_atribute(T_OrderHeaderM_PatientID) attr,
T_OrderHeaderDate,T_OrderHeaderLabNumber, T_OrderHeaderLabNumberExt,T_OrderHeaderM_PatientAge,
M_CompanyName, M_MouName,
T_TestName,
So_ResultEntryFisikUmumType,
So_ResultEntryFisikUmumDetails
from t_orderheader
join m_company on T_OrderHeaderM_CompanyID = M_CompanyID
join m_mou on T_OrderHeaderM_MouID = M_MouID
join t_orderdetail on T_OrderDetailT_OrderHeaderID= T_OrderHeaderID and T_OrderDetailIsActive = 'Y'
join t_test ON T_TestID = T_OrderDetailT_TestID and T_TestIsActive = 'Y' and T_TestNat_GroupID = '4'
join so_resultentry on So_ResultEntryT_OrderHeaderID = T_OrderHeaderID and So_ResultEntryT_OrderDetailID = T_OrderDetailID
join so_resultentry_fisik_umum on So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID
where T_OrderHeaderID =?";
$qry = $this->db->query($sql, array($headerID));
if (! $qry) {
//Error Query
$db_err = $this->db->error();
echo json_encode( array( "status" => "ERR",
"message" => $db_err["message"]
));
exit;
}
$rows = $qry->result_array();
$data = array();
$new_d = array();
foreach($rows as $r) {
$attr = json_decode($r["attr"],true);
unset($r["attr"]);
$r_details = json_decode($r["So_ResultEntryFisikUmumDetails"],true);
unset($r["So_ResultEntryFisikUmumDetails"]);
$new_r = array();
foreach($r_details as $idx => $d) {
$details = $d["details"];
unset($d["details"]);
$d["T_TestName"] = $r["T_TestName"];
$d["T_OrderHeaderDate"] = $r["T_OrderHeaderDate"];
$d["T_OrderHeaderLabNumber"] = $r["T_OrderHeaderLabNumber"];
$d["T_OrderHeaderLabNumberExt"] = $r["T_OrderHeaderLabNumberExt"];
$d["M_PatientName"] = $r["M_PatientName"];
$d["M_PatientDOB"] = $attr["M_PatientDOB"];
$d["M_PatientAge"] = $r["T_OrderHeaderM_PatientAge"];
$d["M_SexName"] = $attr["M_SexName"];
$d["M_CompanyName"] = $r["M_CompanyName"];
$d["M_MouName"] = $r["M_MouName"];
$d["So_ResultEntryFisikUmumType"] = $r["So_ResultEntryFisikUmumType"];
foreach($details as $dx) {
if (isset($dx["details"])) {
$dy_details = $dx["details"];
unset($dx["details"]);
foreach($dy_details as $dy_detail) {
if(isset($dy_detail["unit"]) && isset($dy_detail["value"])) {
$dy_detail["value"] = $dy_detail["value"] . " " . $dy_detail["unit"];
}
$new_d[] = array_merge($d,$dx,$dy_detail);
}
} else {
if(isset($dx["unit"]) && isset($dx["value"])) {
$dx["value"] = $dx["value"] . " " . $dx["unit"];
}
$new_d[] = array_merge($d,$dx);
}
}
$new_r[] = $new_d;
}
}
print_r($new_d);
}
}