Files
BE_IBL/application/controllers/etl/Tat.php
2026-04-15 15:23:57 +07:00

2925 lines
86 KiB
PHP

<?php
class Tat extends MY_Controller
{
function __construct()
{
parent::__construct();
}
// proses_etl
function proses_etl($code, $date, $ptarget)
{
$this->db->query("use one");
if ($code == "000") {
// sp_rpt_r_052
$this->proses_call_sp_rpt_r_052($date, $ptarget);
} elseif ($code == "001") {
// sp_rpt_r_052i
$this->proses_call_sp_rpt_r_052_001($date, $ptarget);
} elseif ($code == "002") {
// sp_rpt_r_052ii
$this->proses_call_sp_rpt_r_052_002($date, $ptarget);
} elseif ($code == "003") {
// sp_rpt_r_052iii
$this->proses_call_sp_rpt_r_052_003($date, $ptarget);
} elseif ($code == "004") {
// sp_rpt_r_052iiii
$this->proses_call_sp_rpt_r_052_004($date, $ptarget);
} elseif ($code == "005") {
// sp_rpt_r_052iiiii
$this->proses_call_sp_rpt_r_052_005($date, $ptarget);
} elseif ($code == "006") {
// sp_rpt_r_052iiiiii
$this->proses_call_sp_rpt_r_052_006($date, $ptarget);
} elseif ($code == "007") {
// sp_rpt_r_052iiiiiii
$this->proses_call_sp_rpt_r_052_007($date, $ptarget);
} elseif ($code == "008") {
// sp_rpt_r_052iiiiiiii
$this->proses_call_sp_rpt_r_052_008($date, $ptarget);
} elseif ($code == "009") {
// sp_rpt_r_052iiiiiiiii
$this->proses_call_sp_rpt_r_052_009($date, $ptarget);
} elseif ($code == "n006") {
// sp_rpt_r_052_Niiiiii
$this->proses_call_sp_rpt_r_052_N_006($date, $ptarget);
} elseif ($code == "n006_unique") {
// sp_rpt_r_052_Niiiiii
$this->proses_call_sp_rpt_r_052_N_006_unique($date, $ptarget);
} elseif ($code == "n007") {
// sp_rpt_r_052_Niiiiiii
$this->proses_call_sp_rpt_r_052_N_007($date, $ptarget);
} elseif ($code == "n008") {
// sp_rpt_r_052_Niiiiiiii
$this->proses_call_sp_rpt_r_052_N_008($date, $ptarget);
} elseif ($code == "n009") {
// sp_rpt_r_052_Niiiiiiiii
$this->proses_call_sp_rpt_r_052_N_009($date, $ptarget);
} elseif ($code == "online") {
// sp_rpt_r_052_Niiiiiiiii
$this->proses_call_sp_rpt_r_052_online($date, $ptarget);
} else {
$this->sys_error("Invalid parameter");
}
}
// etl sp_rpt_r_052
function proses_call_sp_rpt_r_052($date)
{
$sql = "CALL one.sp_rpt_r_052(?, ?, ?, 'admin')";
$qry = $this->db->query(
$sql,
array(
$date,
$date,
0
)
);
$this->clean_mysqli_connection($this->db->conn_id);
// mysqli_next_result($this->db->conn_id);
// $qry->free_result();
// mysqli_next_result($this->db->conn_id);
// $qry->free_result();
if (!$qry) {
$this->sys_error_db("error: call one.sp_rpt_r_052", $this->db);
exit;
}
//
// if ($qry !== false) {
// $qry->free_result();
// }
$rows_data_sp = $qry->result_array();
// print_r($rows_data_sp);
// exit;
$count = 0;
if (count($rows_data_sp) > 0) {
foreach ($rows_data_sp as $key => $vx) {
$T_OrderHeaderID = $vx['T_OrderHeaderID'];
$sql_xdata_temp = "SELECT *
FROM one_etl.xtmp_052
WHERE DATE(T_OrderHeaderDate) BETWEEN '$date' AND '$date'
AND T_OrderHeaderID = $T_OrderHeaderID";
$qry_xdata_temp = $this->db->query($sql_xdata_temp);
if (!$qry_xdata_temp) {
$this->sys_error_db("error: select one_etl.xtmp_052", $this->db);
exit;
}
$rows_xdata_temp = $qry_xdata_temp->result_array();
if (count($rows_xdata_temp) > 0) {
// UPDATE PROSES
$update_sql = "UPDATE one_etl.xtmp_052
SET
M_PatientName = ?,
start = ?,
endd = ?,
target = ?,
hasil = ?,
invalid = ?,
user = ?,
jml = ?
WHERE T_OrderHeaderID = ?
AND DATE(T_OrderHeaderDate) BETWEEN ? AND ?";
$update_result = $this->db->query(
$update_sql,
array(
$vx['M_PatientName'],
$vx['start'],
$vx['endd'],
$vx['target'],
$vx['hasil'],
$vx['invalid'],
$vx['user'],
$vx['jml'],
$T_OrderHeaderID,
$date,
$date
)
);
if (!$update_result) {
$error = $this->db->error();
$this->sys_error_db("error: update one_etl.xtmp_052 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
} else {
// INSERT
$insert_sql = "INSERT INTO one_etl.xtmp_052 (
T_OrderHeaderID,
T_OrderHeaderDate,
T_OrderHeaderLabNumber,
M_PatientName,
start,
endd,
target,
hasil,
invalid,
user,
jml
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
)";
$insert_result = $this->db->query(
$insert_sql,
array(
$vx['T_OrderHeaderID'],
$vx['T_OrderHeaderDate'],
$vx['T_OrderHeaderLabNumber'],
$vx['M_PatientName'],
$vx['start'],
$vx['endd'],
$vx['target'],
$vx['hasil'],
$vx['invalid'],
$vx['user'],
$vx['jml']
)
);
if (!$insert_result) {
$error = $this->db->error();
$this->sys_error_db("error: insert one_etl.xtmp_052 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
}
}
if ($count > 0) {
$this->sys_ok("Sukses Update or Insert data sp_rpt_r_052");
}
} else {
$this->sys_ok("Data Tidak Ada");
}
}
// etl sp_rpt_r_052i
function proses_call_sp_rpt_r_052_001($date, $ptarget)
{
$sql = "CALL one.sp_rpt_r_052i(?, ?, ?, 'admin')";
$qry = $this->db->query(
$sql,
array(
$date,
$date,
0
)
);
$this->clean_mysqli_connection($this->db->conn_id);
if (!$qry) {
$this->sys_error_db("error: call one.sp_rpt_r_052i", $this->db);
exit;
}
$rows_data_sp = $qry->result_array();
$count = 0;
if (count($rows_data_sp) > 0) {
foreach ($rows_data_sp as $key => $vx) {
$T_OrderHeaderID = $vx['T_OrderHeaderID'];
$sql_xdata_temp = "SELECT *
FROM one_etl.xtmp_052_001
WHERE DATE(T_OrderHeaderDate) BETWEEN ? AND ?
AND T_OrderHeaderID = ?";
$qry_xdata_temp = $this->db->query($sql_xdata_temp, array($date, $date, $T_OrderHeaderID));
if (!$qry_xdata_temp) {
$this->sys_error_db("error: select one_etl.xtmp_052_001", $this->db);
exit;
}
$rows_xdata_temp = $qry_xdata_temp->result_array();
if (count($rows_xdata_temp) > 0) {
// UPDATE PROSES
$update_sql = "UPDATE one_etl.xtmp_052_001
SET
M_PatientName = ?,
endd = ?,
confirm = ?,
target = ?,
hasil = ?,
invalid = ?,
user = ?,
alias = ?
WHERE T_OrderHeaderID = ?
AND DATE(T_OrderHeaderDate) BETWEEN ? AND ?";
$update_result = $this->db->query(
$update_sql,
array(
$vx['M_PatientName'],
$vx['endd'],
$vx['confirm'],
$vx['target'],
$vx['hasil'],
$vx['invalid'],
$vx['user'],
$vx['alias'],
$T_OrderHeaderID,
$date,
$date
)
);
if (!$update_result) {
$error = $this->db->error();
$this->sys_error_db("error: update one_etl.xtmp_052_001 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
} else {
// INSERT
$insert_sql = "INSERT INTO one_etl.xtmp_052_001 (
T_OrderHeaderID,
T_OrderHeaderDate,
T_OrderHeaderLabNumber,
M_PatientName,
endd,
confirm,
target,
hasil,
invalid,
user,
alias
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
)";
$insert_result = $this->db->query(
$insert_sql,
array(
$vx['T_OrderHeaderID'],
$vx['T_OrderHeaderDate'],
$vx['T_OrderHeaderLabNumber'],
$vx['M_PatientName'],
$vx['endd'],
$vx['confirm'],
$vx['target'],
$vx['hasil'],
$vx['invalid'],
$vx['user'],
$vx['alias']
)
);
if (!$insert_result) {
$error = $this->db->error();
$this->sys_error_db("error: insert one_etl.xtmp_052_001 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
}
}
if ($count > 0) {
$this->sys_ok("Sukses Update atau Insert data sp_rpt_r_052i");
}
} else {
$this->sys_ok("Data Tidak Ada");
}
}
// etl sp_rpt_r_052ii
function proses_call_sp_rpt_r_052_002($date, $ptarget)
{
$sql = "CALL one.sp_rpt_r_052ii(?, ?, ?, 'admin')";
$qry = $this->db->query(
$sql,
array(
$date,
$date,
0
)
);
$this->clean_mysqli_connection($this->db->conn_id);
if (!$qry) {
$this->sys_error_db("error: call one.sp_rpt_r_052i", $this->db);
exit;
}
$rows_data_sp = $qry->result_array();
$count = 0;
if (count($rows_data_sp) > 0) {
foreach ($rows_data_sp as $key => $vx) {
$T_OrderHeaderID = $vx['T_OrderHeaderID'];
$sql_xdata_temp = "SELECT *
FROM one_etl.xtmp_052_002
WHERE DATE(T_OrderHeaderDate) BETWEEN ? AND ?
AND T_OrderHeaderID = ?";
$qry_xdata_temp = $this->db->query($sql_xdata_temp, array($date, $date, $T_OrderHeaderID));
if (!$qry_xdata_temp) {
$this->sys_error_db("error: select one_etl.xtmp_052_002", $this->db);
exit;
}
$rows_xdata_temp = $qry_xdata_temp->result_array();
if (count($rows_xdata_temp) > 0) {
// UPDATE PROSES
$update_sql = "UPDATE one_etl.xtmp_052_002
SET
M_PatientName = ?,
T_SampleStationName = ?,
T_SampleTypeName = ?,
endd = ?,
callsampling = ?,
target = ?,
hasil = ?,
invalid = ?,
user = ?,
M_CompanyName = ?
WHERE T_OrderHeaderID = ?
AND DATE(T_OrderHeaderDate) BETWEEN ? AND ?";
$update_result = $this->db->query(
$update_sql,
array(
$vx['M_PatientName'],
$vx['T_SampleStationName'],
$vx['T_SampleTypeName'],
$vx['endd'],
$vx['callsampling'],
$vx['target'],
$vx['hasil'],
$vx['invalid'],
$vx['user'],
$vx['M_CompanyName'],
$T_OrderHeaderID,
$date,
$date
)
);
if (!$update_result) {
$error = $this->db->error();
$this->sys_error_db("error: update one_etl.xtmp_052_002 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
} else {
// INSERT
$insert_sql = "INSERT INTO one_etl.xtmp_052_002 (
T_OrderHeaderID,
T_OrderHeaderDate,
T_OrderHeaderLabNumber,
M_PatientName,
T_SampleStationName,
T_SampleTypeName,
endd,
callsampling,
target,
hasil,
invalid,
user,
M_CompanyName
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
)";
$insert_result = $this->db->query(
$insert_sql,
array(
$vx['T_OrderHeaderID'],
$vx['T_OrderHeaderDate'],
$vx['T_OrderHeaderLabNumber'],
$vx['M_PatientName'],
$vx['T_SampleStationName'],
$vx['T_SampleTypeName'],
$vx['endd'],
$vx['callsampling'],
$vx['target'],
$vx['hasil'],
$vx['invalid'],
$vx['user'],
$vx['M_CompanyName']
)
);
if (!$insert_result) {
$error = $this->db->error();
$this->sys_error_db("error: insert one_etl.xtmp_052_002 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
}
}
if ($count > 0) {
$this->sys_ok("Sukses Update atau Insert data sp_rpt_r_052ii");
}
} else {
$this->sys_ok("Data Tidak Ada");
}
}
// etl sp_rpt_r_052iii
function proses_call_sp_rpt_r_052_003($date, $ptarget)
{
$sql = "CALL one.sp_rpt_r_052iii(?, ?, ?, 'admin')";
$qry = $this->db->query(
$sql,
array(
$date,
$date,
0
)
);
$this->clean_mysqli_connection($this->db->conn_id);
if (!$qry) {
$this->sys_error_db("error: call one.sp_rpt_r_052iii", $this->db);
exit;
}
$rows_data_sp = $qry->result_array();
$count = 0;
if (count($rows_data_sp) > 0) {
foreach ($rows_data_sp as $key => $vx) {
$T_OrderHeaderID = $vx['T_OrderHeaderID'];
$sql_xdata_temp = "SELECT *
FROM one_etl.xtmp_052_003
WHERE DATE(T_OrderHeaderDate) BETWEEN ? AND ?
AND T_OrderHeaderID = ?";
$qry_xdata_temp = $this->db->query($sql_xdata_temp, array($date, $date, $T_OrderHeaderID));
if (!$qry_xdata_temp) {
$this->sys_error_db("error: select one_etl.xtmp_052_003", $this->db);
exit;
}
$rows_xdata_temp = $qry_xdata_temp->result_array();
if (count($rows_xdata_temp) > 0) {
// UPDATE PROSES
$update_sql = "UPDATE one_etl.xtmp_052_003
SET
M_PatientName = ?,
T_SampleTypeName = ?,
samplingproses = ?,
sampling = ?,
target = ?,
done = ?,
hasil = ?,
invalid = ?,
samplingdone = ?
WHERE T_OrderHeaderID = ?
AND DATE(T_OrderHeaderDate) BETWEEN ? AND ?";
$update_result = $this->db->query(
$update_sql,
array(
$vx['M_PatientName'],
$vx['T_SampleTypeName'],
$vx['samplingproses'],
$vx['sampling'],
$vx['target'],
$vx['done'],
$vx['hasil'],
$vx['invalid'],
$vx['samplingdone'],
$T_OrderHeaderID,
$date,
$date
)
);
if (!$update_result) {
$error = $this->db->error();
$this->sys_error_db("error: update one_etl.xtmp_052_003 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
} else {
// INSERT
$insert_sql = "INSERT INTO one_etl.xtmp_052_003 (
T_OrderHeaderID,
T_OrderHeaderDate,
T_OrderHeaderLabNumber,
M_PatientName,
T_SampleTypeName,
samplingproses,
sampling,
target,
done,
hasil,
invalid,
samplingdone
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
)";
$insert_result = $this->db->query(
$insert_sql,
array(
$vx['T_OrderHeaderID'],
$vx['T_OrderHeaderDate'],
$vx['T_OrderHeaderLabNumber'],
$vx['M_PatientName'],
$vx['T_SampleTypeName'],
$vx['samplingproses'],
$vx['sampling'],
$vx['target'],
$vx['done'],
$vx['hasil'],
$vx['invalid'],
$vx['samplingdone']
)
);
if (!$insert_result) {
$error = $this->db->error();
$this->sys_error_db("error: insert one_etl.xtmp_052_003 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
}
}
if ($count > 0) {
$this->sys_ok("Sukses Update atau Insert data sp_rpt_r_052iii");
}
} else {
$this->sys_ok("Data Tidak Ada");
}
}
// etl sp_rpt_r_052iiii
function proses_call_sp_rpt_r_052_004($date, $ptarget)
{
$sql = "CALL one.sp_rpt_r_052iiii(?, ?, ?, 'admin')";
$qry = $this->db->query(
$sql,
array(
$date,
$date,
0
)
);
$this->clean_mysqli_connection($this->db->conn_id);
if (!$qry) {
$this->sys_error_db("error: call one.sp_rpt_r_052iiii", $this->db);
exit;
}
$rows_data_sp = $qry->result_array();
$count = 0;
if (count($rows_data_sp) > 0) {
foreach ($rows_data_sp as $key => $vx) {
$T_OrderHeaderID = $vx['T_OrderHeaderID'];
$sql_xdata_temp = "SELECT *
FROM one_etl.xtmp_052_004
WHERE DATE(T_OrderHeaderDate) BETWEEN ? AND ?
AND T_OrderHeaderID = ?";
$qry_xdata_temp = $this->db->query($sql_xdata_temp, array($date, $date, $T_OrderHeaderID));
if (!$qry_xdata_temp) {
$this->sys_error_db("error: select one_etl.xtmp_052_004", $this->db);
exit;
}
$rows_xdata_temp = $qry_xdata_temp->result_array();
if (count($rows_xdata_temp) > 0) {
// UPDATE PROSES
$update_sql = "UPDATE one_etl.xtmp_052_004
SET
M_PatientName = ?,
T_SampleTypeName = ?,
VerificationTime = ?,
Verification = ?,
HandlingReceive = ?,
Handling = ?,
target = ?,
invalid = ?,
hasil = ?
WHERE T_OrderHeaderID = ?
AND DATE(T_OrderHeaderDate) BETWEEN ? AND ?";
$update_result = $this->db->query(
$update_sql,
array(
$vx['M_PatientName'],
$vx['T_SampleTypeName'],
$vx['VerificationTime'],
$vx['Verification'],
$vx['HandlingReceive'],
$vx['Handling'],
$vx['target'],
$vx['invalid'],
$vx['hasil'],
$T_OrderHeaderID,
$date,
$date
)
);
if (!$update_result) {
$error = $this->db->error();
$this->sys_error_db("error: update one_etl.xtmp_052_004 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
} else {
// INSERT
$insert_sql = "INSERT INTO one_etl.xtmp_052_004 (
T_OrderHeaderID,
T_OrderHeaderDate,
T_OrderHeaderLabNumber,
M_PatientName,
T_SampleTypeName,
VerificationTime,
Verification,
HandlingReceive,
Handling,
target,
invalid,
hasil
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
)";
$insert_result = $this->db->query(
$insert_sql,
array(
$vx['T_OrderHeaderID'],
$vx['T_OrderHeaderDate'],
$vx['T_OrderHeaderLabNumber'],
$vx['M_PatientName'],
$vx['T_SampleTypeName'],
$vx['VerificationTime'],
$vx['Verification'],
$vx['HandlingReceive'],
$vx['Handling'],
$vx['target'],
$vx['invalid'],
$vx['hasil']
)
);
if (!$insert_result) {
$error = $this->db->error();
$this->sys_error_db("error: insert one_etl.xtmp_052_004 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
}
}
if ($count > 0) {
$this->sys_ok("Sukses Update atau Insert data sp_rpt_r_052iiii");
}
} else {
$this->sys_ok("Data Tidak Ada");
}
}
// etl sp_rpt_r_052iiiii
function proses_call_sp_rpt_r_052_005($date, $ptarget)
{
$sql = "CALL one.sp_rpt_r_052iiiii(?, ?, ?, 'admin')";
$qry = $this->db->query(
$sql,
array(
$date,
$date,
0
)
);
$this->clean_mysqli_connection($this->db->conn_id);
if (!$qry) {
$this->sys_error_db("error: call one.sp_rpt_r_052iiiii", $this->db);
exit;
}
$rows_data_sp = $qry->result_array();
$count = 0;
if (count($rows_data_sp) > 0) {
foreach ($rows_data_sp as $key => $vx) {
$T_OrderHeaderID = $vx['T_OrderHeaderID'];
$sql_xdata_temp = "SELECT *
FROM one_etl.xtmp_052_005
WHERE DATE(T_OrderHeaderDate) BETWEEN ? AND ?
AND T_OrderHeaderID = ?";
$qry_xdata_temp = $this->db->query($sql_xdata_temp, array($date, $date, $T_OrderHeaderID));
if (!$qry_xdata_temp) {
$this->sys_error_db("error: select one_etl.xtmp_052_005", $this->db);
exit;
}
$rows_xdata_temp = $qry_xdata_temp->result_array();
if (count($rows_xdata_temp) > 0) {
// UPDATE PROSES
$update_sql = "UPDATE one_etl.xtmp_052_005
SET
T_OrderHeaderLabNumberExt = ?,
M_PatientName = ?,
T_SampleTypeName = ?,
tohandling = ?,
handling = ?,
toprocess = ?,
process = ?,
target = ?,
hasil = ?,
invalid = ?
WHERE T_OrderHeaderID = ?
AND DATE(T_OrderHeaderDate) BETWEEN ? AND ?";
$update_result = $this->db->query(
$update_sql,
array(
$vx['T_OrderHeaderLabNumberExt'],
$vx['M_PatientName'],
$vx['T_SampleTypeName'],
$vx['tohandling'],
$vx['handling'],
$vx['toprocess'],
$vx['process'],
$vx['target'],
$vx['hasil'],
$vx['invalid'],
$T_OrderHeaderID,
$date,
$date
)
);
if (!$update_result) {
$error = $this->db->error();
$this->sys_error_db("error: update one_etl.xtmp_052_005 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
} else {
// INSERT
$insert_sql = "INSERT INTO one_etl.xtmp_052_005 (
T_OrderHeaderID,
T_OrderHeaderDate,
T_OrderHeaderLabNumberExt,
M_PatientName,
T_SampleTypeName,
tohandling,
handling,
toprocess,
process,
target,
hasil,
invalid
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
)";
$insert_result = $this->db->query(
$insert_sql,
array(
$vx['T_OrderHeaderID'],
$vx['T_OrderHeaderDate'],
$vx['T_OrderHeaderLabNumberExt'],
$vx['M_PatientName'],
$vx['T_SampleTypeName'],
$vx['tohandling'],
$vx['handling'],
$vx['toprocess'],
$vx['process'],
$vx['target'],
$vx['hasil'],
$vx['invalid']
)
);
if (!$insert_result) {
$error = $this->db->error();
$this->sys_error_db("error: insert one_etl.xtmp_052_005 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
}
}
if ($count > 0) {
$this->sys_ok("Sukses Update atau Insert data sp_rpt_r_052iiiii");
}
} else {
$this->sys_ok("Data Tidak Ada");
}
}
// etl sp_rpt_r_052iiiiii
function proses_call_sp_rpt_r_052_006($date, $ptarget)
{
$sql = "CALL one.sp_rpt_r_052iiiiii(?, ?, ?, 'admin')";
$qry = $this->db->query(
$sql,
array(
$date,
$date,
0
)
);
$this->clean_mysqli_connection($this->db->conn_id);
if (!$qry) {
$this->sys_error_db("error: call one.sp_rpt_r_052iiiiii", $this->db);
exit;
}
$rows_data_sp = $qry->result_array();
$count = 0;
if (count($rows_data_sp) > 0) {
foreach ($rows_data_sp as $key => $vx) {
$T_OrderHeaderID = $vx['T_OrderHeaderID'];
$T_TestName = $vx['T_TestName'];
$T_OrderHeaderM_PatientID = 0;
$patient_name = "";
$qry_patient_id = $this->db->query(
"SELECT *
FROM one.t_orderheader WHERE T_OrderHeaderID = ?",
array($T_OrderHeaderID)
);
if (!$qry_patient_id) {
$this->sys_error_db("error: select one.t_orderheader", $this->db);
exit;
}
$T_OrderHeaderM_PatientID = $qry_patient_id->row()->T_OrderHeaderM_PatientID;
$qry_nama = $this->db->query(
"SELECT one.fn_get_name(?) AS name",
array($T_OrderHeaderM_PatientID)
);
if (!$qry_nama) {
$this->sys_error_db("error: select one.fn_get_name", $this->db);
exit;
}
$patient_name = $qry_nama->row()->name;
$sql_xdata_temp = "SELECT *
FROM one_etl.xtmp_052_006
WHERE DATE(T_OrderHeaderDate) BETWEEN ? AND ?
AND T_OrderHeaderID = ?
AND T_TestName = ?";
$qry_xdata_temp = $this->db->query(
$sql_xdata_temp,
array($date, $date, $T_OrderHeaderID, $T_TestName)
);
if (!$qry_xdata_temp) {
$this->sys_error_db("error: select one_etl.xtmp_052_006", $this->db);
exit;
}
$rows_xdata_temp = $qry_xdata_temp->result_array();
if (count($rows_xdata_temp) > 0) {
// UPDATE PROSES
$update_sql = "UPDATE one_etl.xtmp_052_006
SET
T_OrderHeaderLabNumberExt = ?,
M_PatientName = ?,
T_TestName = ?,
janjihasil = ?,
toprocess = ?,
process = ?,
T_OrderDetailVerDate = ?,
varifikasi = ?,
target = ?,
hasil = ?,
invalid = ?,
hasiljanji = ?,
Nat_SubgroupID = ?,
Nat_SubgroupName = ?
WHERE T_OrderHeaderID = ?
AND T_TestName = ?
AND DATE(T_OrderHeaderDate) BETWEEN ? AND ?";
$update_result = $this->db->query(
$update_sql,
array(
$vx['T_OrderHeaderLabNumberExt'],
$patient_name,
$vx['T_TestName'],
$vx['janjihasil'],
$vx['toprocess'],
$vx['process'],
$vx['T_OrderDetailVerDate'],
$vx['varifikasi'],
$vx['target'],
$vx['hasil'],
$vx['invalid'],
$vx['hasiljanji'],
$vx['Nat_SubgroupID'],
$vx['Nat_SubgroupName'],
$T_OrderHeaderID,
$T_TestName,
$date,
$date
)
);
if (!$update_result) {
$error = $this->db->error();
$this->sys_error_db("error: update one_etl.xtmp_052_006 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
} else {
// INSERT
$insert_sql = "INSERT INTO one_etl.xtmp_052_006 (
T_OrderHeaderID,
T_OrderHeaderDate,
T_OrderHeaderLabNumberExt,
M_PatientName,
T_TestName,
janjihasil,
toprocess,
process,
T_OrderDetailVerDate,
varifikasi,
target,
hasil,
invalid,
hasiljanji,
Nat_SubgroupID,
Nat_SubgroupName
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
)";
$insert_result = $this->db->query(
$insert_sql,
array(
$vx['T_OrderHeaderID'],
$vx['T_OrderHeaderDate'],
$vx['T_OrderHeaderLabNumberExt'],
$patient_name,
$vx['T_TestName'],
$vx['janjihasil'],
$vx['toprocess'],
$vx['process'],
$vx['T_OrderDetailVerDate'],
$vx['varifikasi'],
$vx['target'],
$vx['hasil'],
$vx['invalid'],
$vx['hasiljanji'],
$vx['Nat_SubgroupID'],
$vx['Nat_SubgroupName']
)
);
if (!$insert_result) {
$error = $this->db->error();
$this->sys_error_db("error: insert one_etl.xtmp_052_006 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
}
}
if ($count > 0) {
$this->sys_ok("Sukses Update atau Insert data sp_rpt_r_052iiiiii");
}
} else {
$this->sys_ok("Data Tidak Ada");
}
}
// etl sp_rpt_r_052iiiiiii
function proses_call_sp_rpt_r_052_007($date, $ptarget)
{
$sql = "CALL one.sp_rpt_r_052iiiiiii(?, ?, ?, 'admin')";
$qry = $this->db->query(
$sql,
array(
$date,
$date,
0
)
);
$this->clean_mysqli_connection($this->db->conn_id);
if (!$qry) {
$this->sys_error_db("error: call one.sp_rpt_r_052iiiiiii", $this->db);
exit;
}
$rows_data_sp = $qry->result_array();
$count = 0;
if (count($rows_data_sp) > 0) {
foreach ($rows_data_sp as $key => $vx) {
$T_OrderHeaderID = $vx['T_OrderHeaderID'];
$T_TestName = $vx['T_TestName'];
$T_OrderHeaderM_PatientID = 0;
$patient_name = "";
$qry_patient_id = $this->db->query(
"SELECT *
FROM one.t_orderheader WHERE T_OrderHeaderID = ?",
array($T_OrderHeaderID)
);
if (!$qry_patient_id) {
$this->sys_error_db("error: select one.t_orderheader", $this->db);
exit;
}
$T_OrderHeaderM_PatientID = $qry_patient_id->row()->T_OrderHeaderM_PatientID;
$qry_nama = $this->db->query(
"SELECT one.fn_get_name(?) AS name",
array($T_OrderHeaderM_PatientID)
);
if (!$qry_nama) {
$this->sys_error_db("error: select one.fn_get_name", $this->db);
exit;
}
$patient_name = $qry_nama->row()->name;
$sql_xdata_temp = "SELECT *
FROM one_etl.xtmp_052_007
WHERE DATE(T_OrderHeaderDate) BETWEEN ? AND ?
AND T_OrderHeaderID = ?
AND T_TestName = ?";
$qry_xdata_temp = $this->db->query(
$sql_xdata_temp,
array($date, $date, $T_OrderHeaderID, $T_TestName)
);
if (!$qry_xdata_temp) {
$this->sys_error_db("error: select one_etl.xtmp_052_007", $this->db);
exit;
}
$rows_xdata_temp = $qry_xdata_temp->result_array();
if (count($rows_xdata_temp) > 0) {
// UPDATE PROSES
$update_sql = "UPDATE one_etl.xtmp_052_007
SET
T_OrderHeaderLabNumberExt = ?,
M_PatientName = ?,
T_TestName = ?,
T_OrderPromiseDateTime = ?,
T_OrderDetailVerDate = ?,
Verifikasi = ?,
T_OrderDetailValDate = ?,
validasi = ?,
target = ?,
hasil = ?,
invalid = ?,
hasiljanji = ?
WHERE T_OrderHeaderID = ?
AND T_TestName = ?
AND DATE(T_OrderHeaderDate) BETWEEN ? AND ?";
$update_result = $this->db->query(
$update_sql,
array(
$vx['T_OrderHeaderLabNumberExt'],
$patient_name,
$vx['T_TestName'],
$vx['T_OrderPromiseDateTime'],
$vx['T_OrderDetailVerDate'],
$vx['Verifikasi'],
$vx['T_OrderDetailValDate'],
$vx['validasi'],
$vx['target'],
$vx['hasil'],
$vx['invalid'],
$vx['hasiljanji'],
$T_OrderHeaderID,
$T_TestName,
$date,
$date
)
);
if (!$update_result) {
$error = $this->db->error();
$this->sys_error_db("error: update one_etl.xtmp_052_007 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
} else {
// INSERT
$insert_sql = "INSERT INTO one_etl.xtmp_052_007 (
T_OrderHeaderID,
T_OrderHeaderDate,
T_OrderHeaderLabNumberExt,
M_PatientName,
T_TestName,
T_OrderPromiseDateTime,
T_OrderDetailVerDate,
Verifikasi,
T_OrderDetailValDate,
validasi,
target,
hasil,
invalid,
hasiljanji
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
)";
$insert_result = $this->db->query(
$insert_sql,
array(
$vx['T_OrderHeaderID'],
$vx['T_OrderHeaderDate'],
$vx['T_OrderHeaderLabNumberExt'],
$patient_name,
$vx['T_TestName'],
$vx['T_OrderPromiseDateTime'],
$vx['T_OrderDetailVerDate'],
$vx['Verifikasi'],
$vx['T_OrderDetailValDate'],
$vx['validasi'],
$vx['target'],
$vx['hasil'],
$vx['invalid'],
$vx['hasiljanji']
)
);
if (!$insert_result) {
$error = $this->db->error();
$this->sys_error_db("error: insert one_etl.xtmp_052_007 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
}
}
if ($count > 0) {
$this->sys_ok("Sukses Update atau Insert data sp_rpt_r_052iiiiiii");
}
} else {
$this->sys_ok("Data Tidak Ada");
}
}
// etl sp_rpt_r_052iiiiiiii
function proses_call_sp_rpt_r_052_008($date, $ptarget)
{
$sql = "CALL one.sp_rpt_r_052iiiiiiii(?, ?, ?, 'admin')";
$qry = $this->db->query(
$sql,
array(
$date,
$date,
0
)
);
$this->clean_mysqli_connection($this->db->conn_id);
if (!$qry) {
$this->sys_error_db("error: call one.sp_rpt_r_052iiiiiiii", $this->db);
exit;
}
$rows_data_sp = $qry->result_array();
$count = 0;
if (count($rows_data_sp) > 0) {
foreach ($rows_data_sp as $key => $vx) {
$T_OrderHeaderID = $vx['T_OrderHeaderID'];
$T_TestName = $vx['T_TestName'];
$T_OrderHeaderM_PatientID = 0;
$patient_name = "";
$qry_patient_id = $this->db->query(
"SELECT *
FROM one.t_orderheader WHERE T_OrderHeaderID = ?",
array($T_OrderHeaderID)
);
if (!$qry_patient_id) {
$this->sys_error_db("error: select one.t_orderheader", $this->db);
exit;
}
$T_OrderHeaderM_PatientID = $qry_patient_id->row()->T_OrderHeaderM_PatientID;
$qry_nama = $this->db->query(
"SELECT one.fn_get_name(?) AS name",
array($T_OrderHeaderM_PatientID)
);
if (!$qry_nama) {
$this->sys_error_db("error: select one.fn_get_name", $this->db);
exit;
}
$patient_name = $qry_nama->row()->name;
$sql_xdata_temp = "SELECT *
FROM one_etl.xtmp_052_008
WHERE DATE(T_OrderHeaderDate) BETWEEN ? AND ?
AND T_OrderHeaderID = ?
AND T_TestName = ?";
$qry_xdata_temp = $this->db->query(
$sql_xdata_temp,
array($date, $date, $T_OrderHeaderID, $T_TestName)
);
if (!$qry_xdata_temp) {
$this->sys_error_db("error: select one_etl.xtmp_052_008", $this->db);
exit;
}
$rows_xdata_temp = $qry_xdata_temp->result_array();
if (count($rows_xdata_temp) > 0) {
// UPDATE PROSES
$update_sql = "UPDATE one_etl.xtmp_052_008
SET
T_OrderHeaderLabNumber = ?,
M_PatientName = ?,
T_TestName = ?,
janjihasil = ?,
Log_PrintLabDatetime = ?,
logsend = ?,
Result_ProcessToOfficeSendTime = ?,
SendAdm = ?,
target = ?,
hasil = ?,
invalid = ?,
hasiljanji = ?
WHERE T_OrderHeaderID = ?
AND T_TestName = ?
AND DATE(T_OrderHeaderDate) BETWEEN ? AND ?";
$update_result = $this->db->query(
$update_sql,
array(
$vx['T_OrderHeaderLabNumber'],
$patient_name,
$vx['T_TestName'],
$vx['janjihasil'],
$vx['Log_PrintLabDatetime'],
$vx['logsend'],
$vx['Result_ProcessToOfficeSendTime'],
$vx['SendAdm'],
$vx['target'],
$vx['hasil'],
$vx['invalid'],
$vx['hasiljanji'],
$T_OrderHeaderID,
$T_TestName,
$date,
$date
)
);
if (!$update_result) {
$error = $this->db->error();
$this->sys_error_db("error: update one_etl.xtmp_052_008 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
} else {
// INSERT
$insert_sql = "INSERT INTO one_etl.xtmp_052_008 (
T_OrderHeaderID,
T_OrderHeaderDate,
T_OrderHeaderLabNumber,
M_PatientName,
T_TestName,
janjihasil,
Log_PrintLabDatetime,
logsend,
Result_ProcessToOfficeSendTime,
SendAdm,
target,
hasil,
invalid,
hasiljanji
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
)";
$insert_result = $this->db->query(
$insert_sql,
array(
$vx['T_OrderHeaderID'],
$vx['T_OrderHeaderDate'],
$vx['T_OrderHeaderLabNumber'],
$patient_name,
$vx['T_TestName'],
$vx['janjihasil'],
$vx['Log_PrintLabDatetime'],
$vx['logsend'],
$vx['Result_ProcessToOfficeSendTime'],
$vx['SendAdm'],
$vx['target'],
$vx['hasil'],
$vx['invalid'],
$vx['hasiljanji']
)
);
if (!$insert_result) {
$error = $this->db->error();
$this->sys_error_db("error: insert one_etl.xtmp_052_008 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
}
}
if ($count > 0) {
$this->sys_ok("Sukses Update atau Insert data sp_rpt_r_052iiiiiiii");
}
} else {
$this->sys_ok("Data Tidak Ada");
}
}
// etl sp_rpt_r_052iiiiiiiii
function proses_call_sp_rpt_r_052_009($date, $ptarget)
{
$sql = "CALL one.sp_rpt_r_052iiiiiiiii(?, ?, ?, 'admin')";
$qry = $this->db->query(
$sql,
array(
$date,
$date,
0
)
);
$this->clean_mysqli_connection($this->db->conn_id);
if (!$qry) {
$this->sys_error_db("error: call one.sp_rpt_r_052iiiiiiiii", $this->db);
exit;
}
$rows_data_sp = $qry->result_array();
$count = 0;
if (count($rows_data_sp) > 0) {
foreach ($rows_data_sp as $key => $vx) {
$T_OrderHeaderID = $vx['T_OrderHeaderID'];
$T_TestName = $vx['T_TestName'];
$T_OrderHeaderM_PatientID = 0;
$patient_name = "";
$qry_patient_id = $this->db->query(
"SELECT *
FROM one.t_orderheader WHERE T_OrderHeaderID = ?",
array($T_OrderHeaderID)
);
if (!$qry_patient_id) {
$this->sys_error_db("error: select one.t_orderheader", $this->db);
exit;
}
$T_OrderHeaderM_PatientID = $qry_patient_id->row()->T_OrderHeaderM_PatientID;
$qry_nama = $this->db->query(
"SELECT one.fn_get_name(?) AS name",
array($T_OrderHeaderM_PatientID)
);
if (!$qry_nama) {
$this->sys_error_db("error: select one.fn_get_name", $this->db);
exit;
}
$patient_name = $qry_nama->row()->name;
$sql_xdata_temp = "SELECT *
FROM one_etl.xtmp_052_009
WHERE DATE(T_OrderHeaderDate) BETWEEN ? AND ?
AND T_OrderHeaderID = ?
AND T_TestName = ?";
$qry_xdata_temp = $this->db->query(
$sql_xdata_temp,
array($date, $date, $T_OrderHeaderID, $T_TestName)
);
if (!$qry_xdata_temp) {
$this->sys_error_db("error: select one_etl.xtmp_052_009", $this->db);
exit;
}
$rows_xdata_temp = $qry_xdata_temp->result_array();
if (count($rows_xdata_temp) > 0) {
// UPDATE PROSES
$update_sql = "UPDATE one_etl.xtmp_052_009
SET
T_OrderHeaderLabNumber = ?,
M_PatientName = ?,
T_TestName = ?,
janjihasil = ?,
T_OrderHeaderAddonFoTimeStart = ?,
Result_ProcessToOfficeReceiveTime = ?,
target = ?,
hasil = ?,
hasiljanji = ?,
invalid = ?,
ReceiveAdm = ?,
M_CompanyName = ?
WHERE T_OrderHeaderID = ?
AND T_TestName = ?
AND DATE(T_OrderHeaderDate) BETWEEN ? AND ?";
$update_result = $this->db->query(
$update_sql,
array(
$vx['T_OrderHeaderLabNumber'],
$patient_name,
$vx['T_TestName'],
$vx['janjihasil'],
$vx['T_OrderHeaderAddonFoTimeStart'],
$vx['Result_ProcessToOfficeReceiveTime'],
$vx['target'],
$vx['hasil'],
$vx['hasiljanji'],
$vx['invalid'],
$vx['ReceiveAdm'],
$vx['M_CompanyName'],
$T_OrderHeaderID,
$T_TestName,
$date,
$date
)
);
if (!$update_result) {
$error = $this->db->error();
$this->sys_error_db("error: update one_etl.xtmp_052_009 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
} else {
// INSERT
$insert_sql = "INSERT INTO one_etl.xtmp_052_009 (
T_OrderHeaderID,
T_OrderHeaderDate,
T_OrderHeaderLabNumber,
M_PatientName,
T_TestName,
janjihasil,
T_OrderHeaderAddonFoTimeStart,
Result_ProcessToOfficeReceiveTime,
target,
hasil,
hasiljanji,
invalid,
ReceiveAdm,
M_CompanyName
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
)";
$insert_result = $this->db->query(
$insert_sql,
array(
$vx['T_OrderHeaderID'],
$vx['T_OrderHeaderDate'],
$vx['T_OrderHeaderLabNumber'],
$patient_name,
$vx['T_TestName'],
$vx['janjihasil'],
$vx['T_OrderHeaderAddonFoTimeStart'],
$vx['Result_ProcessToOfficeReceiveTime'],
$vx['target'],
$vx['hasil'],
$vx['hasiljanji'],
$vx['invalid'],
$vx['ReceiveAdm'],
$vx['M_CompanyName']
)
);
if (!$insert_result) {
$error = $this->db->error();
$this->sys_error_db("error: insert one_etl.xtmp_052_009 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
}
}
if ($count > 0) {
$this->sys_ok("Sukses Update atau Insert data sp_rpt_r_052iiiiiiiii");
}
} else {
$this->sys_ok("Data Tidak Ada");
}
}
// etl sp_rpt_r_052_Niiiiii (masih gagal update karena data kembar)
function proses_call_sp_rpt_r_052_N_006($date, $ptarget)
{
$sql = "CALL one.sp_rpt_r_052_Niiiiii(?, ?, ?, 'admin')";
$qry = $this->db->query(
$sql,
array(
$date,
$date,
0
)
);
$this->clean_mysqli_connection($this->db->conn_id);
if (!$qry) {
$this->sys_error_db("error: call one.sp_rpt_r_052_Niiiiii", $this->db);
exit;
}
$rows_data_sp = $qry->result_array();
$count = 0;
if (count($rows_data_sp) > 0) {
foreach ($rows_data_sp as $key => $vx) {
$janjihasil = $vx['janjihasil'];
$T_OrderHeaderID = $vx['T_OrderHeaderID'];
$T_TestName = $vx['T_TestName'];
$T_OrderHeaderM_PatientID = 0;
$patient_name = "";
$qry_patient_id = $this->db->query(
"SELECT *
FROM one.t_orderheader WHERE T_OrderHeaderID = ?",
array($T_OrderHeaderID)
);
if (!$qry_patient_id) {
$this->sys_error_db("error: select one.t_orderheader", $this->db);
exit;
}
$T_OrderHeaderM_PatientID = $qry_patient_id->row()->T_OrderHeaderM_PatientID;
$qry_nama = $this->db->query(
"SELECT one.fn_get_name(?) AS name",
array($T_OrderHeaderM_PatientID)
);
if (!$qry_nama) {
$this->sys_error_db("error: select one.fn_get_name", $this->db);
exit;
}
$patient_name = $qry_nama->row()->name;
$sql_xdata_temp = "SELECT *
FROM one_etl.xtmp_052_N_006
WHERE janjihasil BETWEEN ? AND ?
AND T_OrderHeaderID = ?
AND toprocess = ?
AND T_OrderDetailVerDate = ?
AND T_TestName = ?";
$qry_xdata_temp = $this->db->query(
$sql_xdata_temp,
array(
$janjihasil,
$janjihasil,
$T_OrderHeaderID,
$vx['toprocess'],
$vx['T_OrderDetailVerDate'],
$T_TestName
)
);
if (!$qry_xdata_temp) {
$this->sys_error_db("error: select one_etl.xtmp_052_N_006", $this->db);
exit;
}
$rows_xdata_temp = $qry_xdata_temp->result_array();
if (count($rows_xdata_temp) > 0) {
// UPDATE PROSES
$update_sql = "UPDATE one_etl.xtmp_052_N_006
SET
T_OrderHeaderLabNumberExt = ?,
M_PatientName = ?,
T_TestName = ?,
janjihasil = ?,
toprocess = ?,
process = ?,
T_OrderDetailVerDate = ?,
varifikasi = ?,
target = ?,
hasil = ?,
invalid = ?,
hasiljanji = ?,
Nat_SubgroupID = ?,
Nat_SubgroupName = ?
WHERE T_OrderHeaderID = ?
AND T_TestName = ?
AND T_OrderDetailVerDate = ?
AND toprocess = ?
AND janjihasil BETWEEN ? AND ?";
$update_result = $this->db->query(
$update_sql,
array(
$vx['T_OrderHeaderLabNumberExt'],
$patient_name,
$vx['T_TestName'],
$vx['janjihasil'],
$vx['toprocess'],
$vx['process'],
$vx['T_OrderDetailVerDate'],
$vx['varifikasi'],
$vx['target'],
$vx['hasil'],
$vx['invalid'],
$vx['hasiljanji'],
$vx['Nat_SubgroupID'],
$vx['Nat_SubgroupName'],
$T_OrderHeaderID,
$T_TestName,
$vx['T_OrderDetailVerDate'],
$vx['toprocess'],
$janjihasil,
$janjihasil
)
);
if (!$update_result) {
$error = $this->db->error();
$this->sys_error_db("error: update one_etl.xtmp_052_N_006 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
} else {
// INSERT
$insert_sql = "INSERT INTO one_etl.xtmp_052_N_006 (
T_OrderHeaderID,
T_OrderHeaderDate,
T_OrderHeaderLabNumberExt,
M_PatientName,
T_TestName,
janjihasil,
toprocess,
process,
T_OrderDetailVerDate,
varifikasi,
target,
hasil,
invalid,
hasiljanji,
Nat_SubgroupID,
Nat_SubgroupName
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
)";
$insert_result = $this->db->query(
$insert_sql,
array(
$vx['T_OrderHeaderID'],
$vx['T_OrderHeaderDate'],
$vx['T_OrderHeaderLabNumberExt'],
$patient_name,
$vx['T_TestName'],
$vx['janjihasil'],
$vx['toprocess'],
$vx['process'],
$vx['T_OrderDetailVerDate'],
$vx['varifikasi'],
$vx['target'],
$vx['hasil'],
$vx['invalid'],
$vx['hasiljanji'],
$vx['Nat_SubgroupID'],
$vx['Nat_SubgroupName']
)
);
if (!$insert_result) {
$error = $this->db->error();
$this->sys_error_db("error: insert one_etl.xtmp_052_N_006 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
}
}
if ($count > 0) {
$this->sys_ok("Sukses Update atau Insert data sp_rpt_r_052_Niiiiii");
}
} else {
$this->sys_ok("Data Tidak Ada");
}
}
// unique
function proses_call_sp_rpt_r_052_N_006_unique($date, $ptarget)
{
$sql = "CALL one.sp_rpt_r_052_Niiiiii(?, ?, ?, 'admin')";
$qry = $this->db->query(
$sql,
array(
$date,
$date,
0
)
);
$this->clean_mysqli_connection($this->db->conn_id);
if (!$qry) {
$this->sys_error_db("error: call one.sp_rpt_r_052_Niiiiii", $this->db);
exit;
}
$rows_data_sp = $qry->result_array();
$count = 0;
if (count($rows_data_sp) > 0) {
foreach ($rows_data_sp as $key => $vx) {
$janjihasil = $vx['janjihasil'];
$T_OrderHeaderID = $vx['T_OrderHeaderID'];
$T_TestName = $vx['T_TestName'];
$T_OrderHeaderM_PatientID = 0;
$patient_name = "";
$qry_patient_id = $this->db->query(
"SELECT *
FROM one.t_orderheader WHERE T_OrderHeaderID = ?",
array($T_OrderHeaderID)
);
if (!$qry_patient_id) {
$this->sys_error_db("error: select one.t_orderheader", $this->db);
exit;
}
$T_OrderHeaderM_PatientID = $qry_patient_id->row()->T_OrderHeaderM_PatientID;
$qry_nama = $this->db->query(
"SELECT one.fn_get_name(?) AS name",
array($T_OrderHeaderM_PatientID)
);
if (!$qry_nama) {
$this->sys_error_db("error: select one.fn_get_name", $this->db);
exit;
}
$patient_name = $qry_nama->row()->name;
$sql_xdata_temp = "SELECT *
FROM one_etl.xtmp_052_N_006
WHERE janjihasil BETWEEN ? AND ?
AND T_OrderHeaderID = ?
AND toprocess = ?
AND T_OrderDetailVerDate = ?
AND T_TestName = ?";
$qry_xdata_temp = $this->db->query(
$sql_xdata_temp,
array(
$janjihasil,
$janjihasil,
$T_OrderHeaderID,
$vx['toprocess'],
$vx['T_OrderDetailVerDate'],
$T_TestName
)
);
if (!$qry_xdata_temp) {
$this->sys_error_db("error: select one_etl.xtmp_052_N_006", $this->db);
exit;
}
// $rows_xdata_temp = $qry_xdata_temp->result_array();
// INSERT
$insert_sql = "INSERT INTO one_etl.xtmp_052_N_006 (
T_OrderHeaderID,
T_OrderHeaderDate,
T_OrderHeaderLabNumberExt,
M_PatientName,
T_TestName,
janjihasil,
toprocess,
process,
T_OrderDetailVerDate,
varifikasi,
target,
hasil,
invalid,
hasiljanji,
Nat_SubgroupID,
Nat_SubgroupName
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
) ON DUPLICATE KEY UPDATE
T_OrderHeaderID = VALUES(T_OrderHeaderID),
T_TestName = VALUES(T_TestName),
janjihasil = VALUES(janjihasil)";
$insert_result = $this->db->query(
$insert_sql,
array(
$vx['T_OrderHeaderID'],
$vx['T_OrderHeaderDate'],
$vx['T_OrderHeaderLabNumberExt'],
$patient_name,
$vx['T_TestName'],
$vx['janjihasil'],
$vx['toprocess'],
$vx['process'],
$vx['T_OrderDetailVerDate'],
$vx['varifikasi'],
$vx['target'],
$vx['hasil'],
$vx['invalid'],
$vx['hasiljanji'],
$vx['Nat_SubgroupID'],
$vx['Nat_SubgroupName']
)
);
if (!$insert_result) {
$error = $this->db->error();
$this->sys_error_db("error: insert one_etl.xtmp_052_N_006 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
}
if ($count > 0) {
$this->sys_ok("Sukses Update atau Insert data sp_rpt_r_052_Niiiiii");
}
} else {
$this->sys_ok("Data Tidak Ada");
}
}
// etl sp_rpt_r_052_Niiiiiii
function proses_call_sp_rpt_r_052_N_007($date, $ptarget)
{
$sql = "CALL one.sp_rpt_r_052_Niiiiiii(?, ?, ?, 'admin')";
$qry = $this->db->query(
$sql,
array(
$date,
$date,
0
)
);
$this->clean_mysqli_connection($this->db->conn_id);
if (!$qry) {
$this->sys_error_db("error: call one.sp_rpt_r_052_Niiiiiii", $this->db);
exit;
}
$rows_data_sp = $qry->result_array();
$count = 0;
if (count($rows_data_sp) > 0) {
foreach ($rows_data_sp as $key => $vx) {
$T_OrderPromiseDateTime = $vx['T_OrderPromiseDateTime'];
$T_OrderHeaderID = $vx['T_OrderHeaderID'];
$T_TestName = $vx['T_TestName'];
$T_OrderHeaderM_PatientID = 0;
$patient_name = "";
$qry_patient_id = $this->db->query(
"SELECT *
FROM one.t_orderheader WHERE T_OrderHeaderID = ?",
array($T_OrderHeaderID)
);
if (!$qry_patient_id) {
$this->sys_error_db("error: select one.t_orderheader", $this->db);
exit;
}
$T_OrderHeaderM_PatientID = $qry_patient_id->row()->T_OrderHeaderM_PatientID;
$qry_nama = $this->db->query(
"SELECT one.fn_get_name(?) AS name",
array($T_OrderHeaderM_PatientID)
);
if (!$qry_nama) {
$this->sys_error_db("error: select one.fn_get_name", $this->db);
exit;
}
$patient_name = $qry_nama->row()->name;
$sql_xdata_temp = "SELECT *
FROM one_etl.xtmp_052_N_007
WHERE T_OrderPromiseDateTime BETWEEN ? AND ?
AND T_OrderHeaderID = ?
AND T_TestName = ?
AND T_OrderDetailVerDate = ?
AND T_OrderDetailValDate = ?";
$qry_xdata_temp = $this->db->query(
$sql_xdata_temp,
array(
$T_OrderPromiseDateTime,
$T_OrderPromiseDateTime,
$T_OrderHeaderID,
$T_TestName,
$vx['T_OrderDetailVerDate'],
$vx['T_OrderDetailValDate']
)
);
// echo $this->db->last_query();
// exit;
if (!$qry_xdata_temp) {
$this->sys_error_db("error: select one_etl.xtmp_052_N_007", $this->db);
exit;
}
$rows_xdata_temp = $qry_xdata_temp->result_array();
if (count($rows_xdata_temp) > 0) {
// UPDATE PROSES
$update_sql = "UPDATE one_etl.xtmp_052_N_007
SET
T_OrderHeaderDate = ?,
T_OrderHeaderLabNumberExt = ?,
M_PatientName = ?,
T_TestName = ?,
T_OrderPromiseDateTime = ?,
T_OrderDetailVerDate = ?,
Verifikasi = ?,
T_OrderDetailValDate = ?,
validasi = ?,
target = ?,
hasil = ?,
invalid = ?,
hasiljanji = ?
WHERE T_OrderHeaderID = ?
AND T_TestName = ?
AND T_OrderDetailValDate = ?
AND T_OrderDetailVerDate = ?
AND T_OrderPromiseDateTime BETWEEN ? AND ?";
$update_result = $this->db->query(
$update_sql,
array(
$vx['T_OrderHeaderDate'],
$vx['T_OrderHeaderLabNumberExt'],
$patient_name,
$vx['T_TestName'],
$vx['T_OrderPromiseDateTime'],
$vx['T_OrderDetailVerDate'],
$vx['Verifikasi'],
$vx['T_OrderDetailValDate'],
$vx['validasi'],
$vx['target'],
$vx['hasil'],
$vx['invalid'],
$vx['hasiljanji'],
$T_OrderHeaderID,
$T_TestName,
$vx['T_OrderDetailValDate'],
$vx['T_OrderDetailVerDate'],
$T_OrderPromiseDateTime,
$T_OrderPromiseDateTime
)
);
// echo $this->db->last_query();
// exit;
if (!$update_result) {
$error = $this->db->error();
$this->sys_error_db("error: update one_etl.xtmp_052_N_007 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
} else {
// INSERT
$insert_sql = "INSERT INTO one_etl.xtmp_052_N_007 (
T_OrderHeaderID,
T_OrderHeaderDate,
T_OrderHeaderLabNumberExt,
M_PatientName,
T_TestName,
T_OrderPromiseDateTime,
T_OrderDetailVerDate,
Verifikasi,
T_OrderDetailValDate,
validasi,
target,
hasil,
invalid,
hasiljanji
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
)";
$insert_result = $this->db->query(
$insert_sql,
array(
$vx['T_OrderHeaderID'],
$vx['T_OrderHeaderDate'],
$vx['T_OrderHeaderLabNumberExt'],
$patient_name,
$vx['T_TestName'],
$vx['T_OrderPromiseDateTime'],
$vx['T_OrderDetailVerDate'],
$vx['Verifikasi'],
$vx['T_OrderDetailValDate'],
$vx['validasi'],
$vx['target'],
$vx['hasil'],
$vx['invalid'],
$vx['hasiljanji']
)
);
if (!$insert_result) {
$error = $this->db->error();
$this->sys_error_db("error: insert one_etl.xtmp_052_N_007 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
}
}
if ($count > 0) {
$this->sys_ok("Sukses Update atau Insert data sp_rpt_r_052_Niiiiiii");
}
} else {
$this->sys_ok("Data Tidak Ada");
}
}
// etl sp_rpt_r_052_Niiiiiiii
function proses_call_sp_rpt_r_052_N_008($date, $ptarget)
{
$sql = "CALL one.sp_rpt_r_052_Niiiiiiii(?, ?, ?, 'admin')";
$qry = $this->db->query(
$sql,
array(
$date,
$date,
0
)
);
$this->clean_mysqli_connection($this->db->conn_id);
if (!$qry) {
$this->sys_error_db("error: call one.sp_rpt_r_052_Niiiiiiii", $this->db);
exit;
}
$rows_data_sp = $qry->result_array();
$count = 0;
if (count($rows_data_sp) > 0) {
foreach ($rows_data_sp as $key => $vx) {
$T_OrderHeaderDate = $vx['T_OrderHeaderDate'];
$T_OrderHeaderID = $vx['T_OrderHeaderID'];
$T_TestName = $vx['T_TestName'];
$T_OrderHeaderM_PatientID = 0;
$patient_name = "";
$qry_patient_id = $this->db->query(
"SELECT *
FROM one.t_orderheader WHERE T_OrderHeaderID = ?",
array($T_OrderHeaderID)
);
if (!$qry_patient_id) {
$this->sys_error_db("error: select one.t_orderheader", $this->db);
exit;
}
$T_OrderHeaderM_PatientID = $qry_patient_id->row()->T_OrderHeaderM_PatientID;
$qry_nama = $this->db->query(
"SELECT one.fn_get_name(?) AS name",
array($T_OrderHeaderM_PatientID)
);
if (!$qry_nama) {
$this->sys_error_db("error: select one.fn_get_name", $this->db);
exit;
}
$patient_name = $qry_nama->row()->name;
$sql_xdata_temp = "SELECT *
FROM one_etl.xtmp_052_N_008
WHERE T_OrderHeaderDate BETWEEN ? AND ?
AND T_OrderHeaderID = ?
AND T_TestName = ?";
$qry_xdata_temp = $this->db->query(
$sql_xdata_temp,
array(
$T_OrderHeaderDate,
$T_OrderHeaderDate,
$T_OrderHeaderID,
$T_TestName
)
);
if (!$qry_xdata_temp) {
$this->sys_error_db("error: select one_etl.xtmp_052_N_008", $this->db);
exit;
}
$rows_xdata_temp = $qry_xdata_temp->result_array();
if (count($rows_xdata_temp) > 0) {
// UPDATE PROSES
$update_sql = "UPDATE one_etl.xtmp_052_N_008
SET
T_OrderHeaderLabNumber = ?,
M_PatientName = ?,
T_TestName = ?,
janjihasil = ?,
Log_PrintLabDatetime = ?,
logsend = ?,
Result_ProcessToOfficeSendTime = ?,
SendAdm = ?,
target = ?,
hasil = ?,
invalid = ?,
hasiljanji = ?
WHERE T_OrderHeaderID = ?
AND T_TestName = ?
AND T_OrderHeaderDate BETWEEN ? AND ?";
$update_result = $this->db->query(
$update_sql,
array(
$vx['T_OrderHeaderLabNumber'],
$patient_name,
$vx['T_TestName'],
$vx['janjihasil'],
$vx['Log_PrintLabDatetime'],
$vx['logsend'],
$vx['Result_ProcessToOfficeSendTime'],
$vx['SendAdm'],
$vx['target'],
$vx['hasil'],
$vx['invalid'],
$vx['hasiljanji'],
$T_OrderHeaderID,
$T_TestName,
$T_OrderHeaderDate,
$T_OrderHeaderDate
)
);
if (!$update_result) {
$error = $this->db->error();
$this->sys_error_db("error: update one_etl.xtmp_052_N_008 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
} else {
// INSERT
$insert_sql = "INSERT INTO one_etl.xtmp_052_N_008 (
T_OrderHeaderID,
T_OrderHeaderDate,
T_OrderHeaderLabNumber,
M_PatientName,
T_TestName,
janjihasil,
Log_PrintLabDatetime,
logsend,
Result_ProcessToOfficeSendTime,
SendAdm,
target,
hasil,
invalid,
hasiljanji
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
)";
$insert_result = $this->db->query(
$insert_sql,
array(
$vx['T_OrderHeaderID'],
$vx['T_OrderHeaderDate'],
$vx['T_OrderHeaderLabNumber'],
$patient_name,
$vx['T_TestName'],
$vx['janjihasil'],
$vx['Log_PrintLabDatetime'],
$vx['logsend'],
$vx['Result_ProcessToOfficeSendTime'],
$vx['SendAdm'],
$vx['target'],
$vx['hasil'],
$vx['invalid'],
$vx['hasiljanji']
)
);
if (!$insert_result) {
$error = $this->db->error();
$this->sys_error_db("error: insert one_etl.xtmp_052_N_008 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
}
}
if ($count > 0) {
$this->sys_ok("Sukses Update atau Insert data sp_rpt_r_052_Niiiiiiii");
}
} else {
$this->sys_ok("Data Tidak Ada");
}
}
// etl sp_rpt_r_052_Niiiiiiiii
function proses_call_sp_rpt_r_052_N_009($date, $ptarget)
{
$sql = "CALL one.sp_rpt_r_052_Niiiiiiiii(?, ?, ?, 'admin')";
$qry = $this->db->query(
$sql,
array(
$date,
$date,
0
)
);
$this->clean_mysqli_connection($this->db->conn_id);
if (!$qry) {
$this->sys_error_db("error: call one.sp_rpt_r_052_Niiiiiiiii", $this->db);
exit;
}
$rows_data_sp = $qry->result_array();
$count = 0;
if (count($rows_data_sp) > 0) {
foreach ($rows_data_sp as $key => $vx) {
$janjihasil = $vx['janjihasil'];
$T_OrderHeaderDate = $vx['T_OrderHeaderDate'];
$T_OrderHeaderID = $vx['T_OrderHeaderID'];
$T_TestName = $vx['T_TestName'];
$T_OrderHeaderM_PatientID = 0;
$patient_name = "";
$qry_patient_id = $this->db->query(
"SELECT *
FROM one.t_orderheader WHERE T_OrderHeaderID = ?",
array($T_OrderHeaderID)
);
if (!$qry_patient_id) {
$this->sys_error_db("error: select one.t_orderheader", $this->db);
exit;
}
$T_OrderHeaderM_PatientID = $qry_patient_id->row()->T_OrderHeaderM_PatientID;
$qry_nama = $this->db->query(
"SELECT one.fn_get_name(?) AS name",
array($T_OrderHeaderM_PatientID)
);
if (!$qry_nama) {
$this->sys_error_db("error: select one.fn_get_name", $this->db);
exit;
}
$patient_name = $qry_nama->row()->name;
$sql_xdata_temp = "SELECT *
FROM one_etl.xtmp_052_N_009
WHERE janjihasil BETWEEN ? AND ?
AND T_OrderHeaderID = ?
AND T_OrderHeaderDate = ?
AND T_TestName = ?";
$qry_xdata_temp = $this->db->query(
$sql_xdata_temp,
array(
$janjihasil,
$janjihasil,
$T_OrderHeaderID,
$T_OrderHeaderDate,
$T_TestName
)
);
if (!$qry_xdata_temp) {
$this->sys_error_db("error: select one_etl.xtmp_052_N_009", $this->db);
exit;
}
$rows_xdata_temp = $qry_xdata_temp->result_array();
if (count($rows_xdata_temp) > 0) {
// UPDATE PROSES
$update_sql = "UPDATE one_etl.xtmp_052_N_009
SET
T_OrderHeaderLabNumber = ?,
M_PatientName = ?,
T_TestName = ?,
janjihasil = ?,
T_OrderHeaderAddonFoTimeStart = ?,
Result_ProcessToOfficeReceiveTime = ?,
target = ?,
hasil = ?,
hasiljanji = ?,
invalid = ?,
ReceiveAdm = ?,
M_CompanyName = ?
WHERE T_OrderHeaderID = ?
AND T_TestName = ?
AND T_OrderHeaderDate = ?
AND janjihasil BETWEEN ? AND ?";
$update_result = $this->db->query(
$update_sql,
array(
$vx['T_OrderHeaderLabNumber'],
$patient_name,
$vx['T_TestName'],
$vx['janjihasil'],
$vx['T_OrderHeaderAddonFoTimeStart'],
$vx['Result_ProcessToOfficeReceiveTime'],
$vx['target'],
$vx['hasil'],
$vx['hasiljanji'],
$vx['invalid'],
$vx['ReceiveAdm'],
$vx['M_CompanyName'],
$T_OrderHeaderID,
$T_TestName,
$T_OrderHeaderDate,
$janjihasil,
$janjihasil
)
);
if (!$update_result) {
$error = $this->db->error();
$this->sys_error_db("error: update one_etl.xtmp_052_N_009 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
} else {
// INSERT
$insert_sql = "INSERT INTO one_etl.xtmp_052_N_009 (
T_OrderHeaderID,
T_OrderHeaderDate,
T_OrderHeaderLabNumber,
M_PatientName,
T_TestName,
janjihasil,
T_OrderHeaderAddonFoTimeStart,
Result_ProcessToOfficeReceiveTime,
target,
hasil,
hasiljanji,
invalid,
ReceiveAdm,
M_CompanyName
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
)";
$insert_result = $this->db->query(
$insert_sql,
array(
$vx['T_OrderHeaderID'],
$vx['T_OrderHeaderDate'],
$vx['T_OrderHeaderLabNumber'],
$patient_name,
$vx['T_TestName'],
$vx['janjihasil'],
$vx['T_OrderHeaderAddonFoTimeStart'],
$vx['Result_ProcessToOfficeReceiveTime'],
$vx['target'],
$vx['hasil'],
$vx['hasiljanji'],
$vx['invalid'],
$vx['ReceiveAdm'],
$vx['M_CompanyName']
)
);
if (!$insert_result) {
$error = $this->db->error();
$this->sys_error_db("error: insert one_etl.xtmp_052_N_009 - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
}
}
if ($count > 0) {
$this->sys_ok("Sukses Update atau Insert data sp_rpt_r_052_Niiiiiiiii");
}
} else {
$this->sys_ok("Data Tidak Ada");
}
}
// etl sp_rpt_r_052_online
function proses_call_sp_rpt_r_052_online($date, $ptarget)
{
$sql = "CALL one.sp_rpt_r_052_online(?, ?, ?, 'admin')";
$qry = $this->db->query(
$sql,
array(
$date,
$date,
0
)
);
$this->clean_mysqli_connection($this->db->conn_id);
if (!$qry) {
$this->sys_error_db("error: call one.sp_rpt_r_052_online", $this->db);
exit;
}
$rows_data_sp = $qry->result_array();
$count = 0;
if (count($rows_data_sp) > 0) {
foreach ($rows_data_sp as $key => $vx) {
$T_OrderHeaderDate = $vx['T_OrderHeaderDate'];
$T_OrderHeaderID = $vx['T_OrderHeaderID'];
$T_OrderHeaderM_PatientID = 0;
$patient_name = "";
$qry_patient_id = $this->db->query(
"SELECT *
FROM one.t_orderheader WHERE T_OrderHeaderID = ?",
array($T_OrderHeaderID)
);
if (!$qry_patient_id) {
$this->sys_error_db("error: select one.t_orderheader", $this->db);
exit;
}
$T_OrderHeaderM_PatientID = $qry_patient_id->row()->T_OrderHeaderM_PatientID;
$qry_nama = $this->db->query(
"SELECT one.fn_get_name(?) AS name",
array($T_OrderHeaderM_PatientID)
);
if (!$qry_nama) {
$this->sys_error_db("error: select one.fn_get_name", $this->db);
exit;
}
$patient_name = $qry_nama->row()->name;
$sql_xdata_temp = "SELECT *
FROM one_etl.xtmp_052_online
WHERE T_OrderHeaderDate BETWEEN ? AND ?
AND start = ?
AND endd = ?
AND T_OrderHeaderID = ?
AND M_PatientName = ?";
$qry_xdata_temp = $this->db->query(
$sql_xdata_temp,
array(
$T_OrderHeaderDate,
$T_OrderHeaderDate,
$vx['start'],
$vx['endd'],
$T_OrderHeaderID,
$patient_name,
)
);
if (!$qry_xdata_temp) {
$this->sys_error_db("error: select one_etl.xtmp_052_online", $this->db);
exit;
}
$rows_xdata_temp = $qry_xdata_temp->result_array();
if (count($rows_xdata_temp) > 0) {
// UPDATE PROSES
$update_sql = "UPDATE one_etl.xtmp_052_online
SET
T_OrderHeaderLabNumber = ?,
M_PatientName = ?,
start = ?,
endd = ?,
target = ?,
hasil = ?,
invalid = ?,
user = ?
WHERE T_OrderHeaderID = ?
AND M_PatientName = ?
AND start = ?
AND endd = ?
AND T_OrderHeaderDate BETWEEN ? AND ?";
$update_result = $this->db->query(
$update_sql,
array(
$vx['T_OrderHeaderLabNumber'],
$patient_name,
$vx['start'],
$vx['endd'],
$vx['target'],
$vx['hasil'],
$vx['invalid'],
$vx['user'],
$T_OrderHeaderID,
$patient_name,
$vx['start'],
$vx['endd'],
$T_OrderHeaderDate,
$T_OrderHeaderDate
)
);
if (!$update_result) {
$error = $this->db->error();
$this->sys_error_db("error: update one_etl.xtmp_052_online - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
} else {
// INSERT
$insert_sql = "INSERT INTO one_etl.xtmp_052_online (
T_OrderHeaderID,
T_OrderHeaderDate,
T_OrderHeaderLabNumber,
M_PatientName,
start,
endd,
target,
hasil,
invalid,
user
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
)";
$insert_result = $this->db->query(
$insert_sql,
array(
$vx['T_OrderHeaderID'],
$vx['T_OrderHeaderDate'],
$vx['T_OrderHeaderLabNumber'],
$patient_name,
$vx['start'],
$vx['endd'],
$vx['target'],
$vx['hasil'],
$vx['invalid'],
$vx['user']
)
);
if (!$insert_result) {
$error = $this->db->error();
$this->sys_error_db("error: insert one_etl.xtmp_052_online - " . $error['message'], $this->db);
exit;
} else {
$count++;
}
}
}
if ($count > 0) {
$this->sys_ok("Sukses Update atau Insert data sp_rpt_r_052_online");
}
} else {
$this->sys_ok("Data Tidak Ada");
}
}
}