Save TANGGAL_MCU to preregister date

This commit is contained in:
sas.fajri
2026-05-19 20:53:59 +07:00
parent da7d744788
commit 4cb8db31dd

View File

@@ -59,8 +59,8 @@ class Preregister extends MY_Controller
}
}
function cekKTP($nik, $tanggal, $bulan, $tahun)
{
function cekKTP($nik, $tanggal, $bulan, $tahun)
{
if (strlen($nik) != 16) {
return false;
}
@@ -88,8 +88,30 @@ class Preregister extends MY_Controller
return false;
}
//setelah berhasil melewati rintangan, berarti nomornya valid (tidak 100% valid)
return true;
}
return true;
}
function normalize_schedule_date($rawDate)
{
$rawDate = trim((string) $rawDate);
if ($rawDate === '') {
return '';
}
$formats = array('d-m-Y', 'Y-m-d', 'd/m/Y', 'Y/m/d');
foreach ($formats as $format) {
$dt = DateTime::createFromFormat($format, $rawDate);
if ($dt && $dt->format($format) === $rawDate) {
return $dt->format('Y-m-d');
}
}
$timestamp = strtotime($rawDate);
if ($timestamp === false) {
return '';
}
return date('Y-m-d', $timestamp);
}
function savecsv()
{
@@ -127,7 +149,7 @@ class Preregister extends MY_Controller
$exist_patients_arr = [];
$exist_pat = [];
foreach ($datas as $k => $v) {
foreach ($datas as $k => $v) {
$timestamp = strtotime($v['TANGGAL_LAHIR']);
$pdob = date('Y-m-d', $timestamp);
$v['NAMA'] = trim(str_replace("'", "\\'", $v['NAMA']));
@@ -280,10 +302,11 @@ class Preregister extends MY_Controller
$this->sys_error("select mcu_preregister_patients : " . $last_qry);
exit;
}
$exist_r = $qry_pre->result_array();
if (count($exist_r) == 0) {
$query = " INSERT INTO mcu_preregister_patients (
$exist_r = $qry_pre->result_array();
$preregister_patient_id = 0;
if (count($exist_r) == 0) {
$query = " INSERT INTO mcu_preregister_patients (
Mcu_PreregisterPatientsMgm_McuID,
Mcu_PreregisterPatientsCompanyNumber,
Mcu_PreregisterPatientsNIP,
@@ -337,10 +360,11 @@ class Preregister extends MY_Controller
$this->sys_error("insert mcu_preregister_patients : " . $last_qry);
exit;
}
if ($rows) {
$last_id_x = $this->db->insert_id();
if ($patient_id == 0) {
if ($rows) {
$last_id_x = $this->db->insert_id();
$preregister_patient_id = intval($last_id_x);
if ($patient_id == 0) {
$sql = "SELECT *
FROM m_patient
WHERE
@@ -519,16 +543,50 @@ class Preregister extends MY_Controller
$sql = "UPDATE mcu_preregister_patients SET Mcu_PreregisterPatientsM_PatientID = {$patient_id}
WHERE Mcu_PreregisterPatientsID = {$last_id_x}";
$query = $this->db->query($sql);
if (!$query) {
$last_qry = $this->db->last_query();
$this->db->trans_rollback();
$this->sys_error("update mcu_preregister_patients : " . $last_qry);
exit;
}
}
}
}
$query = $this->db->query($sql);
if (!$query) {
$last_qry = $this->db->last_query();
$this->db->trans_rollback();
$this->sys_error("update mcu_preregister_patients : " . $last_qry);
exit;
}
}
} else {
$preregister_patient_id = intval($exist_r[0]['Mcu_PreregisterPatientsID']);
}
// Simpan jadwal MCU per preregister patient jika parameter TANGGAL_MCU dikirim
$scheduleDate = isset($v['TANGGAL_MCU']) ? $this->normalize_schedule_date($v['TANGGAL_MCU']) : '';
if ($preregister_patient_id > 0 && $scheduleDate !== '') {
$sqlSchedule = "INSERT INTO mcu_preregister_date (
Mcu_PreregisterDateMcu_PreregisterPatientsID,
Mcu_PreregisterDateCheckinSchedule,
Mcu_PreregisterDateIsActive,
Mcu_PreregisterDateCreated,
Mcu_PreregisterDateCreatedUserID,
Mcu_PreregisterDateLastUpdated,
Mcu_PreregisterDateLastUpdatedUserID
) VALUES (
?, ?, 'Y', NOW(), ?, NOW(), ?
)
ON DUPLICATE KEY UPDATE
Mcu_PreregisterDateIsActive = 'Y',
Mcu_PreregisterDateLastUpdated = NOW(),
Mcu_PreregisterDateLastUpdatedUserID = VALUES(Mcu_PreregisterDateLastUpdatedUserID)";
$qrySchedule = $this->db->query($sqlSchedule, array(
$preregister_patient_id,
$scheduleDate,
$userid,
$userid
));
if (!$qrySchedule) {
$last_qry = $this->db->last_query();
$this->db->trans_rollback();
$this->sys_error("insert mcu_preregister_date : " . $last_qry);
exit;
}
}
}
if ($this->db->trans_status() === FALSE) {
$this->db->trans_rollback();