1279 lines
53 KiB
Plaintext
1279 lines
53 KiB
Plaintext
<?php
|
|
class Test extends CI_Controller
|
|
{
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->db_onedev = $this->load->database("onedev", true);
|
|
$this->db_smartone = $this->load->database("onedev", true);
|
|
}
|
|
|
|
function index() {
|
|
$this->load->library("Resultcalc");
|
|
|
|
$id = 946;
|
|
$rows = $this->resultcalc->auto($id);
|
|
echo "<pre> $rows";
|
|
}
|
|
|
|
function generatessprice($mgmmcuid){
|
|
$this->load->library('SsPriceMou');
|
|
$this->sspricemou->create($mgmmcuid);
|
|
echo "selesai";
|
|
}
|
|
|
|
function genqrcode($nomorlab,$id){
|
|
$this->load->library('ciqrcode'); //pemanggilan library QR CODE
|
|
$home_dir = "/home/one/project/one/";
|
|
$target_dir = $home_dir . "one-media/one-qrcontrolcard/";
|
|
$config['cacheable'] = false; //boolean, the default is true
|
|
//$config['cachedir'] = './assets/'; //string, the default is application/cache/
|
|
//$config['errorlog'] = './assets/'; //string, the default is application/logs/
|
|
$config['imagedir'] = $target_dir; //direktori penyimpanan qr code
|
|
$config['quality'] = true; //boolean, the default is true
|
|
$config['size'] = '1024'; //interger, the default is 1024
|
|
$config['black'] = array(224,255,255); // array, default is array(255,255,255)
|
|
$config['white'] = array(70,130,180); // array, default is array(0,0,0)
|
|
$this->ciqrcode->initialize($config);
|
|
|
|
$image_name="qrcode_".$nomorlab.".png"; //buat name dari qr code sesuai dengan nim
|
|
|
|
$params['data'] = "http://devcpone.aplikasi.web.id/one-ui/test/vuex/cpone-control-card/?noreg=".$nomorlab."&id=".$id; //data yang akan di jadikan QR CODE
|
|
$params['level'] = 'H'; //H=High
|
|
$params['size'] = 10;
|
|
$params['savename'] = $config['imagedir'].$image_name; //simpan image QR CODE ke folder assets/images/
|
|
$this->ciqrcode->generate($params); // fungsi untuk generate QR CODE
|
|
echo "http://devcpone.aplikasi.web.id/one-api/assets/images/".$image_name;
|
|
|
|
|
|
}
|
|
|
|
function gen_kesimpulan_fisik($id){
|
|
$this->load->library('kesimpulanfisik');
|
|
$kesimpulan = $this->kesimpulanfisik->kesimpulan($id);
|
|
echo $kesimpulan;
|
|
|
|
}
|
|
|
|
function generate_kelainan_fisik_bydate($stardate,$endate){
|
|
$sql = "SELECT *
|
|
FROM so_resultentry
|
|
JOIN t_orderheader ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID AND T_OrderHeaderIsActive = 'Y' AND
|
|
( DATE(T_OrderHeaderDate) BETWEEN ? AND ? ) AND T_OrderHeaderIsActive = 'Y'
|
|
WHERE
|
|
So_ResultEntryNonlab_TemplateID = 27 AND So_ResultEntryIsActive = 'Y'
|
|
";
|
|
$query = $this->db_onedev->query($sql,array($stardate,$endate));
|
|
//echo $this->db_onedev->last_query();
|
|
$datas = $query->result_array();
|
|
foreach ($datas as $key => $value) {
|
|
$this->gen_kelainan_fisik($value['So_ResultEntryID']);
|
|
}
|
|
}
|
|
|
|
function generate_kelainan_fisik_all($mgmmcuid,$limit){
|
|
$sql = "SELECT *
|
|
FROM so_resultentry
|
|
JOIN t_orderheader ON So_ResultEntryT_OrderHeaderID = T_OrderHeaderID AND T_OrderHeaderIsActive = 'Y' AND
|
|
T_OrderHeaderMgm_McuID = ?
|
|
WHERE
|
|
So_ResultEntryNonlab_TemplateID = 27 AND So_ResultEntryIsActive = 'Y'
|
|
LIMIT ? ";
|
|
$query = $this->db_onedev->query($sql,array($mgmmcuid,intval($limit)));
|
|
//echo $this->db_onedev->last_query();
|
|
$datas = $query->result_array();
|
|
foreach ($datas as $key => $value) {
|
|
$this->gen_kelainan_fisik($value['So_ResultEntryID']);
|
|
}
|
|
}
|
|
|
|
function gen_kelainan_fisik_all($mgmmcuid,$limit){
|
|
$this->load->library('kesimpulanfisik');
|
|
$kesimpulan = $this->kesimpulanfisik->generate_all_kelainan_fisik($mgmmcuid,$limit);
|
|
echo json_encode($kesimpulan);
|
|
|
|
}
|
|
|
|
function gen_kelainan_fisik($id){
|
|
$this->load->library('kesimpulanfisik');
|
|
$kesimpulan = $this->kesimpulanfisik->generate_kelainan_fisik($id);
|
|
echo json_encode($kesimpulan);
|
|
|
|
}
|
|
|
|
function gen_nonlab_template($id){
|
|
$this->load->library('nonlabtemplate');
|
|
$kesimpulan = $this->nonlabtemplate->generate($id);
|
|
print_r($kesimpulan);
|
|
|
|
}
|
|
|
|
|
|
function genpatientqrcode($nomorlab){
|
|
$this->load->library('ciqrcode'); //pemanggilan library QR CODE
|
|
$home_dir = "/home/one/project/one/";
|
|
$target_dir = $home_dir . "one-media/one-qrpatient/";
|
|
$config['cacheable'] = false; //boolean, the default is true
|
|
//$config['cachedir'] = './assets/'; //string, the default is application/cache/
|
|
//$config['errorlog'] = './assets/'; //string, the default is application/logs/
|
|
$config['imagedir'] = $target_dir; //direktori penyimpanan qr code
|
|
$config['quality'] = true; //boolean, the default is true
|
|
$config['size'] = '1024'; //interger, the default is 1024
|
|
$config['black'] = array(224,255,255); // array, default is array(255,255,255)
|
|
$config['white'] = array(70,130,180); // array, default is array(0,0,0)
|
|
$this->ciqrcode->initialize($config);
|
|
|
|
$image_name="patient_qr_".$nomorlab.".png"; //buat name dari qr code sesuai dengan nim
|
|
|
|
$params['data'] = $nomorlab; //data yang akan di jadikan QR CODE
|
|
$params['level'] = 'H'; //H=High
|
|
$params['size'] = 10;
|
|
$params['savename'] = $config['imagedir'].$image_name; //simpan image QR CODE ke folder assets/images/
|
|
$this->ciqrcode->generate($params); // fungsi untuk generate QR CODE
|
|
echo "https://devcpone.aplikasi.web.id/one-media/one-qrpatient/".$image_name;
|
|
//echo "selesai";
|
|
|
|
|
|
}
|
|
|
|
function truncatextable(){
|
|
$this->db = $this->load->database("onedev",true);
|
|
$xgroup= array('PRICE','ORDER');
|
|
$where_in = "";
|
|
foreach ($xgroup as $key => $value) {
|
|
if($where_in != "") $where_in .= " or ";
|
|
$where_in .= "X_TableTransactionGroupName = '".$value."'";
|
|
}
|
|
|
|
|
|
$sql = "SELECT * FROM x_table_transaction
|
|
WHERE
|
|
X_TableTransactionIsActive = 'Y' AND ( $where_in )";
|
|
//echo $sql;
|
|
$data_tables = $this->db->query($sql)->result_array();
|
|
foreach($data_tables as $k => $v){
|
|
$sql = "TRUNCATE TABLE {$v['X_TableTransactionTableName']}";
|
|
//echo $sql;
|
|
//$this->db->query($sql);
|
|
}
|
|
echo 'selesai';
|
|
}
|
|
|
|
function exporttoxls(){
|
|
$this->db = $this->load->database("onedev",true);
|
|
$sql = "SELECT * FROM xtable";
|
|
$data_asal = $this->db->query($sql)->result_array();
|
|
foreach($data_asal as $k => $v){
|
|
$xplode = explode(' ',$v['TANGGAL_LAHIR']);
|
|
$tgl = sprintf("%02d", $xplode[0]);
|
|
$bln = $this->monthtonumber($xplode[1]);
|
|
$thn = $xplode[2];
|
|
$xdate = $tgl.'-'.$bln.'-'.$thn;
|
|
$sql = "UPDATE xtable SET TANGGAL_LAHIR_INA = '{$xdate}' WHERE id = {$v['id']}";
|
|
$this->db->query($sql);
|
|
}
|
|
echo 'selesai';
|
|
}
|
|
|
|
function monthtonumber($xmonth){
|
|
$rst = 0;
|
|
if($xmonth == 'Januari')
|
|
$rst = '01';
|
|
if($xmonth == 'Februari')
|
|
$rst = '02';
|
|
if($xmonth == 'Maret')
|
|
$rst = '03';
|
|
if($xmonth == 'April')
|
|
$rst = '04';
|
|
if($xmonth == 'Mei')
|
|
$rst = '05';
|
|
if($xmonth == 'Juni')
|
|
$rst = '06';
|
|
if($xmonth == 'Juli')
|
|
$rst = '07';
|
|
if($xmonth == 'Agustus')
|
|
$rst = '08';
|
|
if($xmonth == 'September')
|
|
$rst = '09';
|
|
if($xmonth == 'Oktober')
|
|
$rst = '10';
|
|
if($xmonth == 'November')
|
|
$rst = '11';
|
|
if($xmonth == 'Desember')
|
|
$rst = '12';
|
|
return $rst;
|
|
}
|
|
|
|
function two() {
|
|
$this->db = $this->load->database("onedev",true);
|
|
|
|
$id = 946;
|
|
|
|
$sql = "select
|
|
T_TestCalculationID,T_TestCalculationFormula,
|
|
T_OrderDetailID, T_OrderDetailT_TestID, T_TestNat_TestID,
|
|
T_TestCalculationID,T_OrderDetailResult,
|
|
fn_global_age_count_day(M_PatientDOB, date(T_OrderHeaderDate)) / 365 AgeInYear,
|
|
T_TestCalculationNat_SexID
|
|
from t_orderdetail
|
|
join t_orderheader on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID
|
|
and T_OrderHeaderID = ?
|
|
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
|
join t_test on T_OrderDetailT_TestID = T_TestID
|
|
and T_OrderDetailIsActive = 'Y' and T_TestIsActive = 'Y'
|
|
join t_testcalculation on T_TestNat_TestID = T_TestCalculationNat_TestID
|
|
and T_TestCalculationIsActive = 'Y'
|
|
and (
|
|
T_TestCalculationNat_SexID = M_PatientM_SexID
|
|
or
|
|
T_TestCalculationNat_SexID = 0
|
|
)
|
|
";
|
|
|
|
$sql_det = "select T_TestCalculationDetailCode, T_OrderDetailResult
|
|
from
|
|
t_testcalculation_detail td
|
|
join t_testcalculation on T_TestCalculationID = T_TestCalculationDetailT_TestCalculationID
|
|
and T_TestCalculationID = ?
|
|
join t_test t on td.T_TestCalculationDetailNat_TestID = T_TestNat_TestID
|
|
left join t_orderdetail on T_TestID = T_OrderDetailT_TestID and T_OrderDetailIsActive = 'Y'
|
|
and T_OrderDetailT_OrderHeaderID = ?
|
|
where T_OrderDetailID is not null";
|
|
|
|
|
|
$qry = $this->db->query($sql, array($id));
|
|
$rows = $qry->result_array();
|
|
if ( count($rows) > 0 ) {
|
|
foreach($rows as $r) {
|
|
if (false && $r["T_OrderDetailResult"] != "") continue;
|
|
$tc_id = $r["T_TestCalculationID"];
|
|
$qry_det = $this->db->query($sql_det, array($tc_id, $id));
|
|
$drows = $qry_det->result_array();
|
|
$formula = $r["T_TestCalculationFormula"];
|
|
$have_all = true;
|
|
$have_one = false;
|
|
$formula = str_replace("AGE",$r["AgeInYear"], $formula);
|
|
foreach($drows as $dr) {
|
|
if($dr["T_OrderDetailResult"] == "" ) {
|
|
$have_all = false;
|
|
break;
|
|
}
|
|
$have_one = true;
|
|
$code = $dr["T_TestCalculationDetailCode"];
|
|
$value = $dr["T_OrderDetailResult"];
|
|
$formula = str_replace($code, $value,$formula);
|
|
}
|
|
if ($have_all && $have_one) {
|
|
echo "Formula : $formula <br/>";
|
|
eval("\$f_value = $formula;");
|
|
$od_id = $r["T_OrderDetailID"];
|
|
$sql = "update t_orderdetail set T_OrderDetailResult = ?
|
|
where T_OrderDetailID = ?";
|
|
$this->db->query($sql, array($f_value,$od_id));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function dynamic_comparison($varleft, $op, $varright)
|
|
{
|
|
|
|
switch ($op) {
|
|
case "=":
|
|
return $varleft == $varright;
|
|
case "!=":
|
|
return $varleft != $varright;
|
|
case ">=":
|
|
return $varleft >= $varright;
|
|
case "<=":
|
|
return $varleft <= $varright;
|
|
case ">":
|
|
return $varleft > $varright;
|
|
case "<":
|
|
return $varleft < $varright;
|
|
default:
|
|
return true;
|
|
}
|
|
}
|
|
|
|
function generate_kelainan_lab_all($mgmmcuid,$limit){
|
|
$sql = "SELECT *
|
|
FROM t_orderheader
|
|
WHERE
|
|
T_OrderHeaderMgm_McuID = ? AND T_OrderHeaderIsActive = 'Y' LIMIT ? ";
|
|
$query = $this->db_onedev->query($sql,array($mgmmcuid,intval($limit)));
|
|
//echo $this->db_onedev->last_query();
|
|
$datas = $query->result_array();
|
|
foreach ($datas as $key => $value) {
|
|
$this->generate_kelainan_lab($value['T_OrderHeaderID']);
|
|
}
|
|
}
|
|
|
|
|
|
function generate_kelainan_lab($orderid)
|
|
{
|
|
$sql = "select
|
|
T_OrderHeaderID,T_OrderHeaderLabNumber,
|
|
T_TestName, T_OrderDetailID, T_OrderDetailResult, T_OrderDetailNat_MethodeID,
|
|
T_OrderDetailNat_MethodeID, T_OrderDetailNat_MethodeName,
|
|
T_OrderDetailMinValue, T_OrderDetailMaxValue, T_OrderDetailMinValueInclusive,
|
|
T_OrderDetailMaxValueInclusive,
|
|
Mcu_SummaryLabID,
|
|
Mcu_SummaryLabValue,
|
|
Mcu_SummaryLabNat_MethodeID,
|
|
Mcu_SummaryLabWithMethode,
|
|
Mcu_SummaryLabType,
|
|
Mcu_SummaryLabIsNormalValue,
|
|
Mcu_KelainanID, Mcu_KelainanName, Mcu_KelainanClasification,
|
|
Nat_TestID,
|
|
Nat_TestCode,
|
|
mcu_kelainangroup.*
|
|
from t_orderdetail
|
|
join t_orderheader on T_OrderHeaderID = {$orderid}
|
|
and T_OrderHeaderID = T_OrderDetailT_OrderHeaderID
|
|
and T_OrderDetailIsActive = 'Y'
|
|
join t_test
|
|
on T_OrderDetailT_TestID = T_TestID
|
|
join nat_test ON T_TestNat_TestID = Nat_TestID
|
|
join mcu_summarylab on T_TestNat_TestID = Mcu_SummaryLabNat_TestID AND Mcu_SummaryLabIsActive = 'Y'
|
|
join mcu_kelainan on Mcu_SummaryLabMcu_KelainanID = Mcu_KelainanID
|
|
join mcu_kelainangroup on Mcu_KelainanMcu_KelainanGroupID = Mcu_KelainanGroupID";
|
|
//echo $sql;
|
|
$qry = $this->db_onedev->query($sql);
|
|
if (!$qry) {
|
|
echo $this->db_onedev->last_query();
|
|
echo json_encode([
|
|
"status" => "ERR",
|
|
"message" => "Error get order | " . $this->db_onedev->error()["message"]
|
|
]);
|
|
exit;
|
|
}
|
|
|
|
$rows = $qry->result_array();
|
|
$results = [];
|
|
|
|
|
|
|
|
foreach ($rows as $r) {
|
|
$result_value = $r['T_OrderDetailResult'];
|
|
|
|
$value_comparison = 0;
|
|
//echo $r['Mcu_SummaryLabIsNormalValue'];
|
|
$kelainan = [];
|
|
$notavailable = [];
|
|
if (trim($result_value) == 'NA') {
|
|
$notavailable = $r;
|
|
} elseif ($r['Mcu_SummaryLabIsNormalValue'] == 'Y') {
|
|
if ($r['Mcu_SummaryLabType'] == '<' || $r['Mcu_SummaryLabType'] == '<=') {
|
|
$value_comparison = $r['T_OrderDetailMinValue'];
|
|
}
|
|
if ($r['Mcu_SummaryLabType'] == '>' || $r['Mcu_SummaryLabType'] == '>=') {
|
|
$value_comparison = $r['T_OrderDetailMaxValue'];
|
|
}
|
|
/* $logData = array(
|
|
"result" => $result_value,
|
|
"comparison" => $value_comparison,
|
|
"test_name" => $r['T_TestName'],
|
|
"id" => $r['Mcu_SummaryLabID'],
|
|
"nat_testid" => $r['Nat_TestID'],
|
|
"type" => $r['Mcu_SummaryLabType'],
|
|
"hasil" => $this->dynamic_comparison($result_value, $r['Mcu_SummaryLabType'], $value_comparison)
|
|
);
|
|
echo json_encode($logData); */
|
|
if ($this->dynamic_comparison($result_value, $r['Mcu_SummaryLabType'], $value_comparison)) {
|
|
//echo $r['T_TestName']." : ".$r['Mcu_KelainanName'].", ";
|
|
$kelainan = $r;
|
|
$results[] = array('test' => $r['T_TestName'], 'nat_test' => $r['Nat_TestCode'], 'kelainan' => $r['Mcu_KelainanName'], 'orderdetailID' => $r['T_OrderDetailID'], 'orderheaderID' => $r['T_OrderHeaderID'], 'nat_testID' => $r['Nat_TestID'], 'mcu_summarylabID' => $r['Mcu_SummaryLabID']);
|
|
}
|
|
} else {
|
|
$value_comparison = $r['Mcu_SummaryLabValue'];
|
|
if ($r['Mcu_SummaryLabType'] == '!=' || $r['Mcu_SummaryLabType'] == '==') {
|
|
if ($this->dynamic_comparison($result_value, $r['Mcu_SummaryLabType'], $value_comparison)) {
|
|
//echo $r['T_TestName']." : ".$r['Mcu_KelainanName'].", ";
|
|
$kelainan = $r;
|
|
$results[] = array('test' => $r['T_TestName'], 'nat_test' => $r['Nat_TestCode'], 'kelainan' => $r['Mcu_KelainanName'], 'orderdetailID' => $r['T_OrderDetailID'], 'orderheaderID' => $r['T_OrderHeaderID'], 'nat_testID' => $r['Nat_TestID'], 'mcu_summarylabID' => $r['Mcu_SummaryLabID']);
|
|
}
|
|
} else {
|
|
if (is_numeric($result_value) && $this->dynamic_comparison($result_value, $r['Mcu_SummaryLabType'], $value_comparison)) {
|
|
//echo $r['T_TestName']." : ".$r['Mcu_KelainanName'].", ";
|
|
$kelainan = $r;
|
|
$results[] = array('test' => $r['T_TestName'], 'nat_test' => $r['Nat_TestCode'], 'kelainan' => $r['Mcu_KelainanName'], 'orderdetailID' => $r['T_OrderDetailID'], 'orderheaderID' => $r['T_OrderHeaderID'], 'nat_testID' => $r['Nat_TestID'], 'mcu_summarylabID' => $r['Mcu_SummaryLabID']);
|
|
}
|
|
}
|
|
}
|
|
|
|
// print_r($results);
|
|
$sql = "UPDATE t_kelainan_lab
|
|
SET T_KelainanLabIsActive = 'X'
|
|
WHERE
|
|
T_KelainanLabT_OrderHeaderID = {$orderid}";
|
|
$this->db_onedev->query($sql);
|
|
|
|
if (count($results) > 0) {
|
|
foreach ($results as $v_result) {
|
|
$sql_kel_lab = "SELECT *
|
|
FROM t_kelainan_lab
|
|
WHERE T_KelainanLabT_OrderDetailID = ?
|
|
GROUP BY T_KelainanLabT_OrderDetailID";
|
|
$qry_kel_lab = $this->db_onedev->query($sql_kel_lab, array($v_result['orderdetailID']));
|
|
if ($qry_kel_lab) {
|
|
$rows_kel = $qry_kel_lab->result_array();
|
|
} else {
|
|
$this->sys_error_db("select kelainan lab", $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
if (count($rows_kel) > 0) {
|
|
|
|
// print_r($v_result['orderdetailID']);
|
|
// exit;
|
|
|
|
$sql_update_kel = "UPDATE t_kelainan_lab
|
|
SET T_KelainanLabT_OrderDetailID = {$v_result['orderdetailID']},
|
|
T_KelainanLabT_OrderHeaderID = {$v_result['orderheaderID']},
|
|
T_KelainanLabNat_TestID = {$v_result['nat_testID']},
|
|
T_KelainanLabMcu_SummaryLabID = {$v_result['mcu_summarylabID']},
|
|
T_KelainanLabCreatedUserID = 1,
|
|
T_KelainanLabIsActive = 'Y',
|
|
T_KelainanLabCreated = NOW()
|
|
WHERE T_KelainanLabID = {$rows_kel[0]['T_KelainanLabID']}";
|
|
$qry_update_kel = $this->db_onedev->query($sql_update_kel);
|
|
if (!$qry_update_kel) {
|
|
echo $this->db_onedev->last_query();
|
|
//$this->db_onedev->trans_rollback();
|
|
$this->sys_error_db('error', 'Error update lab: ' . $this->db_onedev);
|
|
exit;
|
|
}
|
|
} else {
|
|
// print_r('insert');
|
|
// exit;
|
|
$sql_insert_lab = "INSERT INTO t_kelainan_lab(
|
|
T_KelainanLabT_OrderDetailID,
|
|
T_KelainanLabT_OrderHeaderID,
|
|
T_KelainanLabNat_TestID,
|
|
T_KelainanLabMcu_SummaryLabID,
|
|
T_KelainanLabCreatedUserID,
|
|
T_KelainanLabCreated)
|
|
VALUES(
|
|
'{$v_result['orderdetailID']}',
|
|
'{$v_result['orderheaderID']}',
|
|
'{$v_result['nat_testID']}',
|
|
'{$v_result['mcu_summarylabID']}',
|
|
1,
|
|
NOW())";
|
|
$qry_insert_lab = $this->db_onedev->query($sql_insert_lab);
|
|
|
|
if (!$qry_insert_lab) {
|
|
//$this->db_onedev->trans_rollback();
|
|
echo $this->db_onedev->last_query();
|
|
$this->sys_error_db('error', 'Error insert kelainan lab: ' . $this->db_onedev);
|
|
exit;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
$sql = "UPDATE t_kelainan_lab
|
|
SET T_KelainanLabIsActive = 'N'
|
|
WHERE
|
|
T_KelainanLabT_OrderHeaderID = {$orderid} AND T_KelainanLabIsActive = 'X'";
|
|
$this->db_onedev->query($sql);
|
|
}
|
|
}
|
|
|
|
|
|
function replace_packet($labnumber,$oldpacket_code,$newpacket_code, $userid){
|
|
|
|
|
|
$sql = " SELECT *
|
|
FROM t_packet
|
|
JOIN mgm_mcupacket ON Mgm_McuPacketT_PacketID = T_PacketID AND Mgm_McuPacketIsActive = 'Y'
|
|
JOIN t_orderheader ON T_OrderHeaderMgm_McuID = Mgm_McuPacketMgm_McuID AND T_OrderHeaderLabNumber = ?
|
|
WHERE
|
|
T_PacketSasCode = ? AND T_PacketIsActive = 'Y' LIMIT 1";
|
|
$query = $this->db_onedev->query($sql,array($labnumber,$newpacket_code));
|
|
|
|
if (!$query) {
|
|
//$this->db_onedev->trans_rollback();
|
|
echo $this->db_onedev->last_query();
|
|
$this->sys_error_db('error', 'Error get order: ' . $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
$data_new_packet = $query->row_array();
|
|
|
|
if($data_new_packet){
|
|
$sql = " SELECT *
|
|
FROM t_orderheader
|
|
JOIN t_orderdetailorder ON T_OrderDetailOrderT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailOrderIsActive = 'Y' AND
|
|
T_OrderDetailOrderIsPacket = 'Y'
|
|
JOIN t_packet ON T_PacketSasCode = ? AND T_OrderDetailOrderT_PacketID = T_PacketID
|
|
WHERE
|
|
T_OrderHeaderLabNumber = ? LIMIT 1";
|
|
$query = $this->db_onedev->query($sql,array($oldpacket_code,$labnumber));
|
|
//echo $this->db_onedev->last_query();
|
|
if (!$query) {
|
|
//$this->db_onedev->trans_rollback();
|
|
echo $this->db_onedev->last_query();
|
|
$this->sys_error_db('error', 'Error get order: ' . $this->db_onedev);
|
|
exit;
|
|
}
|
|
//echo $this->db_onedev->last_query();
|
|
|
|
$order = $query->row_array();
|
|
|
|
if($order){
|
|
$this->db_onedev->trans_begin();
|
|
|
|
$new_packet_id = $data_new_packet['T_PacketID'];
|
|
$old_packet_id = $order['T_PacketID'];
|
|
|
|
//INSERT NEW PACKET INTO ORDER DETAIL ORDER
|
|
$sql = "INSERT INTO t_orderdetailorder (
|
|
T_OrderDetailOrderT_OrderHeaderID,
|
|
T_OrderDetailOrderIsPacket,
|
|
T_OrderDetailOrderPacketType,
|
|
T_OrderDetailOrderT_PacketID,
|
|
T_OrderDetailOrderT_PacketName,
|
|
T_OrderDetailOrderCreated,
|
|
T_OrderDetailOrderCreatedUserID
|
|
)
|
|
VALUES(?,'Y',?,?,?,NOW(),?)";
|
|
|
|
$query = $this->db_onedev->query($sql,array(
|
|
$order['T_OrderHeaderID'],
|
|
$data_new_packet['T_PacketType'],
|
|
$data_new_packet['T_PacketID'],
|
|
$data_new_packet['T_PacketName'],
|
|
$userid
|
|
));
|
|
|
|
if (!$query) {
|
|
$this->db_onedev->trans_rollback();
|
|
echo $this->db_onedev->last_query();
|
|
$this->sys_error_db('error', 'Error insert new packet into orderdetail order: ' . $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
$new_orderdetail_orderid = $this->db_onedev->insert_id();
|
|
|
|
$sql = "SELECT *
|
|
FROM t_packetdetail
|
|
JOIN t_test ON T_PacketDetailT_TestID = T_TestID
|
|
WHERE
|
|
T_PacketDetailT_PacketID = ? AND
|
|
T_PacketDetailIsActive = 'Y'";
|
|
|
|
$query = $this->db_onedev->query($sql,array($new_packet_id));
|
|
|
|
if (!$query) {
|
|
$this->db_onedev->trans_rollback();
|
|
echo $this->db_onedev->last_query();
|
|
$this->sys_error_db('error', 'Error get packet detail: ' . $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
$packet_details = $query->result_array();
|
|
foreach ($packet_details as $key => $value) {
|
|
$data_detail = [];
|
|
$sql = "SELECT *
|
|
FROM t_orderdetail
|
|
WHERE
|
|
T_OrderDetailT_OrderHeaderID = ? AND
|
|
T_OrderDetailT_OrderDetailOrderID = ? AND
|
|
T_OrderDetailT_TestID = ? AND
|
|
T_OrderDetailIsActive = 'Y'";
|
|
$query = $this->db_onedev->query($sql,array($order['T_OrderHeaderID'],$order['T_OrderDetailOrderID'],$value['T_PacketDetailT_TestID']));
|
|
|
|
if (!$query) {
|
|
$this->db_onedev->trans_rollback();
|
|
echo $this->db_onedev->last_query();
|
|
$this->sys_error_db('error', 'Error get packet detail: ' . $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
//echo $this->db_onedev->last_query();
|
|
|
|
$data_detail = $query->result_array();
|
|
$orderdetail_sascode = $value['T_TestSasCode']."%";
|
|
//echo "exist-order-lama-".count($data_detail);
|
|
if(count($data_detail) > 0){
|
|
// UPDATE order detail lama diganti orderdetailt_orderdetailorderid baru
|
|
$detail = $data_detail[0];
|
|
$sql = "UPDATE t_orderdetail SET
|
|
T_OrderDetailT_OrderDetailOrderID = ?,
|
|
T_OrderDetailLastUpdatedUserID = ?
|
|
WHERE
|
|
T_OrderDetailT_OrderDetailOrderID = ? AND
|
|
T_OrderDetailT_TestSasCode LIKE ?
|
|
";
|
|
|
|
$query = $this->db_onedev->query($sql,array(
|
|
$new_orderdetail_orderid,
|
|
$userid,
|
|
$order['T_OrderDetailOrderID'],
|
|
$orderdetail_sascode
|
|
));
|
|
|
|
if (!$query) {
|
|
$this->db_onedev->trans_rollback();
|
|
echo $this->db_onedev->last_query();
|
|
$this->sys_error_db('error', 'Error update order detail: ' . $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
|
|
}else{
|
|
//insert ke orderdetail jika tidak ditemukan
|
|
$sql = "INSERT INTO t_orderdetail (
|
|
T_OrderDetailT_OrderHeaderID,
|
|
T_OrderDetailT_OrderDetailOrderID,
|
|
T_OrderDetailT_TestID,
|
|
T_OrderDetailT_TestCode,
|
|
T_OrderDetailT_TestSasCode,
|
|
T_OrderDetailT_TestName,
|
|
T_OrderDetailT_TestIsResult,
|
|
T_OrderDetailT_TestIsPanel,
|
|
T_OrderDetailT_TestIsPrice,
|
|
T_OrderDetailPrice,
|
|
T_OrderDetailTotal,
|
|
T_OrderDetailCreated,
|
|
T_OrderDetailCreatedUserID
|
|
)
|
|
SELECT ?,
|
|
?,
|
|
T_TestID,
|
|
T_TestCode,
|
|
T_TestSasCode,
|
|
T_TestName,
|
|
T_TestIsResult,
|
|
'N',
|
|
T_TestIsPrice,
|
|
if(T_TestSasCode = ?, ?,0),
|
|
if(T_TestSasCode = ?, ?,0),
|
|
NOW(),
|
|
?
|
|
FROM t_test
|
|
WHERE
|
|
T_TestSasCode LIKE ?
|
|
";
|
|
$query = $this->db_onedev->query($sql,array(
|
|
$order['T_OrderHeaderID'],
|
|
$new_orderdetail_orderid,
|
|
$value['T_TestSasCode'],
|
|
$value['T_PacketDetailPrice'],
|
|
$value['T_TestSasCode'],
|
|
$value['T_PacketDetailPrice'],
|
|
$userid,
|
|
$orderdetail_sascode
|
|
));
|
|
|
|
//echo $this->db_onedev->last_query();
|
|
if (!$query) {
|
|
$this->db_onedev->trans_rollback();
|
|
echo $this->db_onedev->last_query();
|
|
$this->sys_error_db('error', 'Error insert order detail: ' . $this->db_onedev);
|
|
exit;
|
|
}
|
|
}
|
|
}
|
|
|
|
//update isactive = N test lama yg tdk ada di paket baru
|
|
$sql = "UPDATE t_orderdetail SET T_OrderDetailIsActive = 'N', T_OrderDetailDeleted = NOW(), T_OrderDetailDeletedUserID = ?
|
|
WHERE
|
|
T_OrderDetailT_OrderDetailOrderID = ? AND T_OrderDetailIsActive = 'Y'";
|
|
$query = $this->db_onedev->query($sql,array(
|
|
$userid,
|
|
$order['T_OrderDetailOrderID']
|
|
));
|
|
|
|
if (!$query) {
|
|
$this->db_onedev->trans_rollback();
|
|
echo $this->db_onedev->last_query();
|
|
$this->sys_error_db('error', 'Error update isactive N order detail: ' . $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
$sql = "UPDATE t_orderdetailorder SET T_OrderDetailOrderIsActive = 'N', T_OrderDetailOrderDeleted = NOW(), T_OrderDetailOrderDeletedUserID = ?
|
|
WHERE
|
|
T_OrderDetailOrderID = ?";
|
|
$query = $this->db_onedev->query($sql,array(
|
|
$userid,
|
|
$order['T_OrderDetailOrderID']
|
|
));
|
|
|
|
if (!$query) {
|
|
$this->db_onedev->trans_rollback();
|
|
echo $this->db_onedev->last_query();
|
|
$this->sys_error_db('error', 'Error update isactive N order detail order: ' . $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
$sql = "SELECT T_SampleStationID, M_LocationID
|
|
FROM t_orderdetail
|
|
JOIN t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y'
|
|
JOIN t_sampletype ON T_TestT_SampleTypeID = T_SampleTypeID
|
|
JOIN t_bahan ON T_SampleTypeT_BahanID = T_BahanID
|
|
JOIN t_samplestation ON T_BahanT_SampleStationID = T_SampleStationID AND T_SampleStationIsActive = 'Y'
|
|
JOIN m_location ON M_LocationT_SampleStationID = T_SampleStationID AND M_LocationIsActive = 'Y'
|
|
WHERE
|
|
T_OrderDetailT_OrderHeaderID = ? AND T_OrderDetailIsActive = 'Y'
|
|
GROUP BY T_SampleStationID ";
|
|
$query = $this->db_onedev->query($sql,array(
|
|
$order['T_OrderHeaderID']
|
|
));
|
|
|
|
if (!$query) {
|
|
$this->db_onedev->trans_rollback();
|
|
echo $this->db_onedev->last_query();
|
|
$this->sys_error_db('error', 'Error get station: ' . $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
$order_locations = $query->result_array();
|
|
if(count($order_locations) > 0){
|
|
$sql = "UPDATE t_order_location SET T_OrderLocationIsActive = 'X' WHERE T_OrderLocationT_OrderHeaderID = ? AND T_OrderLocationIsActive = 'Y'";
|
|
$query = $this->db_onedev->query($sql,array(
|
|
$order['T_OrderHeaderID']
|
|
));
|
|
|
|
foreach ($order_locations as $k => $v) {
|
|
$exist_order_location = [];
|
|
$sql = " SELECT *
|
|
FROM t_order_location
|
|
WHERE
|
|
T_OrderLocationT_OrderHeaderID = ? AND
|
|
T_OrderLocationT_SampleStationID= ? AND
|
|
T_OrderLocationM_LocationID = ? AND
|
|
T_OrderLocationIsActive = 'X' LIMIT 1";
|
|
$query = $this->db_onedev->query($sql,array(
|
|
$order['T_OrderHeaderID'],
|
|
$v['T_SampleStationID'],
|
|
$v['M_LocationID']
|
|
));
|
|
$dt_exist_order_location = $query->result_array();
|
|
if(count($dt_exist_order_location) > 0){
|
|
$exist_order_location = $dt_exist_order_location[0];
|
|
$sql = "UPDATE t_order_location SET T_OrderLocationIsActive = 'Y' WHERE T_OrderLocationID = ? ";
|
|
$query = $this->db_onedev->query($sql,array(
|
|
$exist_order_location['T_OrderLocationID']
|
|
));
|
|
}else{
|
|
$sql = "INSERT INTO t_order_location (
|
|
T_OrderLocationT_OrderHeaderID,
|
|
T_OrderLocationM_LocationID,
|
|
T_OrderLocationT_SampleStationID,
|
|
T_OrderLocationCreated,
|
|
T_OrderLocationUserID
|
|
)
|
|
VALUES(?,?,?,NOW(),?)";
|
|
$query = $this->db_onedev->query($sql,array(
|
|
$order['T_OrderHeaderID'],
|
|
$v['M_LocationID'],
|
|
$v['T_SampleStationID'],
|
|
$userid
|
|
));
|
|
}
|
|
}
|
|
|
|
$sql = "UPDATE t_order_location SET T_OrderLocationIsActive = 'N', T_OrderLocationUserID = ? WHERE T_OrderLocationT_OrderHeaderID = ? AND T_OrderLocationIsActive = 'X'";
|
|
$query = $this->db_onedev->query($sql,array(
|
|
$userid,
|
|
$order['T_OrderHeaderID']
|
|
));
|
|
}
|
|
|
|
$sql = "SELECT T_OrderHeaderLabNumber, T_TestID, T_SampleTypeID , T_SampleTypeSuffix, T_SampleStationIsNonLab, T_SampleStationID
|
|
FROM t_orderheader
|
|
JOIN t_orderdetail ON t_orderheaderid = t_orderdetailt_orderheaderid AND t_orderdetailIsActive = 'Y'
|
|
JOIN t_test ON t_orderdetailt_testid = t_testid AND T_TestIsResult = 'Y'
|
|
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID AND Group_resultDetailIsActive = 'Y'
|
|
JOIN group_result ON Group_ResultDetailGroup_ResultID = Group_ResultID AND Group_ResultFlagNonLab= 'N'
|
|
JOIN t_sampletype ON T_TestT_SampleTypeID = T_SampleTypeID
|
|
JOIN t_bahan ON T_SampleTypeT_BahanID = T_BahanID
|
|
JOIN t_samplestation ON T_BahanT_SampleStationID = T_SampleStationID
|
|
WHERE T_OrderHeaderID = ?
|
|
GROUP BY T_SampleTypeID";
|
|
$query = $this->db_onedev->query($sql,array(
|
|
$order['T_OrderHeaderID']
|
|
));
|
|
|
|
$order_samples = $query->result_array();
|
|
if($order_samples){
|
|
$sql = "UPDATE t_ordersample SET T_OrderSampleIsActive = 'X'
|
|
WHERE
|
|
T_OrderSampleT_OrderHeaderID = ? AND T_OrderSampleIsActive = 'Y'";
|
|
$this->db_onedev->query($sql,array(
|
|
$order['T_OrderHeaderID']
|
|
));
|
|
|
|
foreach ($order_samples as $sample) {
|
|
$exist_sample = [];
|
|
$sql = "SELECT *
|
|
FROM t_ordersample
|
|
WHERE
|
|
T_OrderSampleT_OrderHeaderID = ? AND
|
|
T_OrderSampleT_SampleTypeID = ? AND
|
|
T_OrderSampleIsActive = 'X'";
|
|
$query = $this->db_onedev->query($sql,array(
|
|
$order['T_OrderHeaderID'],
|
|
$sample['T_SampleTypeID']
|
|
));
|
|
//echo $this->db_onedev->last_query();
|
|
$dt_exist_sample = $query->result_array();
|
|
if(count($dt_exist_sample) > 0){
|
|
$exist_sample = $dt_exist_sample[0];
|
|
$sql = "UPDATE t_ordersample SET T_OrderSampleIsActive = 'Y' WHERE T_OrderSampleID = ?";
|
|
$query = $this->db_onedev->query($sql,array(
|
|
$exist_sample['T_OrderSampleID']
|
|
));
|
|
//echo $this->db_onedev->last_query();
|
|
}else{
|
|
$barcode = $labnumber . $sample['T_SampleTypeSuffix']."1";
|
|
|
|
$sql = "INSERT INTO t_barcodelab(
|
|
T_BarcodeLabT_OrderHeaderID,
|
|
T_BarcodeLabBarcode,
|
|
T_BarcodeLabT_SampleTypeID,
|
|
T_BarcodeLabCounter,
|
|
T_BarcodeLabCreated,
|
|
T_BarcodeLabCreatedUserID)
|
|
VALUES (?,?,?,?,NOW(),?)";
|
|
$query = $this->db_onedev->query($sql,array(
|
|
$order['T_OrderHeaderID'],
|
|
$barcode,
|
|
$sample['T_SampleTypeID'],
|
|
"1",
|
|
$userid
|
|
));
|
|
|
|
$last_id_barcode = $this->db_onedev->insert_id();
|
|
|
|
$sql = "INSERT INTO t_ordersample(
|
|
T_OrderSampleT_OrderHeaderID,
|
|
T_OrderSampleT_SampleTypeID,
|
|
T_OrderSampleT_BarcodeLabID,
|
|
T_OrderSampleBarcode,
|
|
T_OrderSampleT_SampleStationID,
|
|
T_OrderSampleCreated,
|
|
T_OrderSampleCreatedUserID)
|
|
VALUES(
|
|
?,?,?,?,?,NOW(),?
|
|
)";
|
|
$query = $this->db_onedev->query($sql,array(
|
|
$order['T_OrderHeaderID'],
|
|
$sample['T_SampleTypeID'],
|
|
$last_id_barcode,
|
|
$barcode,
|
|
$sample['T_SampleStationID'],
|
|
$userid
|
|
));
|
|
//echo $this->db_onedev->last_query();
|
|
}
|
|
}
|
|
|
|
$sql = "UPDATE t_ordersample SET T_OrderSampleIsActive = 'N'
|
|
WHERE
|
|
T_OrderSampleT_OrderHeaderID = ? AND T_OrderSampleIsActive = 'X'";
|
|
$this->db_onedev->query($sql,array(
|
|
$order['T_OrderHeaderID']
|
|
));
|
|
}
|
|
|
|
$sql = "SELECT *
|
|
FROM t_orderdetail
|
|
JOIN t_test ON T_OrderDetailT_TestID = T_TestID
|
|
JOIN nonlab_template_mapping ON NonlabTemplateMappingNat_TestID = T_TestNat_TestID AND NonlabTemplateMappingIsActive = 'Y'
|
|
JOIN nonlab_template ON NonlabTemplateMappingNonlabTemplateID = NonlabTemplateID AND NonlabTemplateIsActive = 'Y'
|
|
JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID
|
|
JOIN group_result ON Group_ResultDetailGroup_ResultID = Group_ResultID AND Group_ResultFlagNonLab = 'Y'
|
|
WHERE
|
|
T_OrderDetailT_OrderHeaderID = {$order['T_OrderHeaderID']} AND T_OrderDetailIsActive = 'Y'
|
|
GROUP BY T_TestID";
|
|
// echo $sql;
|
|
$query = $this->db_onedev->query($sql);
|
|
|
|
$order_nonlab = $query->result_array();
|
|
if(count($order_nonlab) > 0){
|
|
$sql = "UPDATE so_resultentry SET So_ResultEntryIsActive = 'X'
|
|
WHERE
|
|
So_ResultEntryT_OrderHeaderID = ? AND So_ResultEntryIsActive = 'Y'";
|
|
$this->db_onedev->query($sql,array(
|
|
$order['T_OrderHeaderID']
|
|
));
|
|
|
|
foreach ($order_nonlab as $nonlab) {
|
|
$exist_so = [];
|
|
$sql = "SELECT *
|
|
FROM so_resultentry
|
|
WHERE
|
|
So_ResultEntryT_OrderHeaderID = ? AND
|
|
So_ResultEntryT_OrderDetailID = ? AND
|
|
So_ResultEntryIsActive = 'X'";
|
|
$query = $this->db_onedev->query($sql,array(
|
|
$order['T_OrderHeaderID'],
|
|
$nonlab['T_OrderDetailID']
|
|
));
|
|
|
|
$dt_exist_so = $query->result_array();
|
|
if(count($dt_exist_so) > 0){
|
|
$exist_so = $dt_exist_so[0];
|
|
$sql = "UPDATE so_resultentry SET So_ResultEntryIsActive = 'Y'
|
|
WHERE
|
|
So_ResultEntryID = ? AND So_ResultEntryIsActive = 'X'";
|
|
$this->db_onedev->query($sql,array(
|
|
$exist_so['So_ResultEntryID']
|
|
));
|
|
}
|
|
}
|
|
|
|
$sql = "UPDATE so_resultentry SET So_ResultEntryIsActive = 'N'
|
|
WHERE
|
|
So_ResultEntryT_OrderHeaderID = ? AND So_ResultEntryIsActive = 'X'";
|
|
$this->db_onedev->query($sql,array(
|
|
$order['T_OrderHeaderID']
|
|
));
|
|
|
|
}
|
|
|
|
$results = ["status" => true, "msg" => "Ganti Paket Berhasil"];
|
|
|
|
|
|
}else{
|
|
$results = ["status" => false, "msg" => "Gagal ganti paket, kode paket tidak ditemukan"];
|
|
}
|
|
|
|
$this->db_onedev->trans_commit();
|
|
|
|
}
|
|
|
|
echo json_encode($results);
|
|
}
|
|
|
|
function insert_data_etl($data,$userid){
|
|
if($data){
|
|
$sql = "UPDATE mcu_fisikvalue SET
|
|
Mcu_FisikValueIsActive = 'N',
|
|
Mcu_FisikValueLastUpdated = NOW() ,
|
|
Mcu_FisikValueLastUpdatedUserID = ?
|
|
WHERE
|
|
Mcu_FisikValueT_OrderHeaderID = ? AND
|
|
Mcu_FisikValueCode = ? AND
|
|
Mcu_FisikValueIsActive = 'Y'";
|
|
$qry = $this->db_smartone->query($sql,array($userid,$data['order_id'],$data['code']));
|
|
if (! $qry) {
|
|
echo json_encode($data);
|
|
}
|
|
|
|
$sql = "INSERT INTO mcu_fisikvalue (
|
|
`Mcu_FisikValueT_OrderHeaderID`,
|
|
`Mcu_FisikValueCode`,
|
|
`Mcu_FisikValueNote`,
|
|
`Mcu_FisikValueSegment`,
|
|
`Mcu_FisikValueCategory`,
|
|
`Mcu_FisikValueCreated`,
|
|
`Mcu_FisikValueCreatedUserID`
|
|
) VALUES(?,?,?,?,?,NOW(),?)";
|
|
$qry = $this->db_smartone->query($sql,array(
|
|
$data['order_id'],
|
|
$data['code'],
|
|
$data['note'],
|
|
$data['segment'],
|
|
$data['category'],
|
|
$userid
|
|
));
|
|
if (! $qry) {
|
|
echo json_encode($data);
|
|
}
|
|
}
|
|
}
|
|
|
|
function keluhan($id,$userid){
|
|
$sql = "SELECT *
|
|
FROM fisik_template
|
|
JOIN so_resultentry_fisik_umum ON So_ResultEntryFisikUmumFisikTemplateID = FisikTemplateID AND So_ResultEntryFisikUmumSo_ResultEntryID = ?
|
|
JOIN so_resultentry ON So_ResultEntryFisikUmumSo_ResultEntryID = So_ResultEntryID
|
|
WHERE
|
|
FisikTemplateIsActive = 'Y' AND
|
|
FisikTemplateTableName = 'fisik_keluhan'
|
|
ORDER BY FisikTemplateCode ASC
|
|
LIMIT 1
|
|
";
|
|
$qry = $this->db_smartone->query($sql, array($id));
|
|
// echo $this->db_smartone->last_query();
|
|
$datas = $qry->result_array();
|
|
if($datas && count($datas) > 0){
|
|
$order_header_id = $datas[0]['So_ResultEntryT_OrderHeaderID'];
|
|
$valdata = json_decode($datas[0]['So_ResultEntryFisikUmumDetails'], true);
|
|
$details = $valdata['details'];
|
|
foreach ($details as $key => $value) {
|
|
if($value['chx'] == '1'){
|
|
$data_insert = array(
|
|
'order_id' => $order_header_id,
|
|
'code' => $value['id_code'],
|
|
'note' => $value['value'],
|
|
'segment' => 'fisik_keluhan',
|
|
'category' => ''
|
|
);
|
|
$this->insert_data_etl($data_insert,$userid);
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
function inject_keluhan($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->keluhan($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_riwayat_penyakit($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->riwayat_penyakit($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_penyakit_keluarga($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->penyakit_keluarga($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_kebiasaan_hidup($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->kebiasaan_hidup($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_fisik_konsumsiobatteratur($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->fisik_konsumsiobatteratur($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_imunisasi($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->imunasi($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_vital_sign($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->vital_sign($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_keadaan_umum($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->keadaan_umum($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_kepala_wajah($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->kepala_wajah($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_mata($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->mata($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_lapang_pandang($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->lapang_pandang($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_telinga($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->telinga($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_gigi($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->gigi($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_mulut($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->mulut($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_leher($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->leher($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_thorax($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->thorax($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_paru($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->paru($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_jantung($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->jantung($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_perut($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->perut($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_sistem_integumen($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->sistem_integumen($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_genitourinaria($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->genitourinaria($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_anggota_gerak($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->anggota_gerak($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_sistem_persyarafan($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->sistem_persyarafan($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_smell_test($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->smell_test($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_low_back_pain_screening_test($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->low_back_pain_screening_test($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function inject_loop_k3($id){
|
|
$this->load->library('etlfisik');
|
|
$inject = $this->etlfisik->loop_k3($id,1);
|
|
if(count($inject)> 0)
|
|
echo json_encode($inject);
|
|
else
|
|
echo "Tidak ada data";
|
|
}
|
|
|
|
function addtonometri_telat(){
|
|
$sql = "SELECT So_ResultEntryID, FIsikTemplateID, FisikTemplateJSON, NOW(), 250924
|
|
FROM `t_orderdetail`
|
|
JOIN so_resultentry ON So_ResultEntryT_OrderHeaderID = T_OrderDetailT_OrderHeaderID AND
|
|
So_ResultEntryNonlab_TemplateID = 27
|
|
JOIN fisik_template ON FIsikTemplateID = 41
|
|
WHERE T_OrderDetailT_TestID = 2580 AND `T_OrderDetailIsActive` = 'Y'
|
|
GROUP BY So_ResultEntryID";
|
|
$qry = $this->db_smartone->query($sql);
|
|
// echo $this->db_smartone->last_query();
|
|
$datas = $qry->result_array();
|
|
if($datas && count($datas) > 0){
|
|
|
|
}
|
|
}
|
|
|
|
}
|