ESH/move_upload_table_data_new.php
2024-10-23 18:28:06 +05:30

418 lines
20 KiB
PHP

<?php
include('includes/config/config.php');
include('includes/auth/auth.php');
include('includes/functions.php');
include('access.php');
error_reporting(E_ERROR | E_PARSE);
?>
<?php
$selectedValues = $_POST['selectedID'];
error_log("RECIEVED ARRAY -> " . print_r($selectedValues, true));
$map_patient_id = array();
$map_checkup_id = array();
//Counter Variable
$patient_insert_counter = 0;
$form_insert_counter = 0;
$form_update_counter = 0;
$form_key_insert_counter = 0;
$form_key_update_counter = 0;
//Patient Source table
$SourceTable = ["patient_master_temp", "checkup_form_temp"];
$DestinationTable = ["patient_master", "checkup_form"];
for ($i = 0; $i < count($SourceTable); $i++) {
// $got_header = false;
// $ColumnString = "";
for ($j = 0; $j < count($selectedValues); $j++) {
$initquery = "";
$endquery = "";
$columnValuePairs = "";
//FIRST IS PATIENT ID AND SECOND IS CHECKUP ID
$values = explode(',', $selectedValues[$j]);
$patient_temp_id = $values[0];
$checkup_id = $values[1];
error_log("TEMP PATIENT ID " . $patient_temp_id . " TEMP CHECKUP ID " . $checkup_id);
//PATIENT SECTION
if ($SourceTable[$i] == 'patient_master_temp') {
$get_column = "SELECT * FROM $SourceTable[$i] WHERE id = '$patient_temp_id';";
error_log("SELEC PATIENT -> " . $get_column);
$get_column_row = mysqli_query($conn, $get_column);
$get_column_res = $get_column_row->fetch_assoc();
error_log(print_r($get_column_res, true));
$empCode = $get_column_res['emp_code'];
$aadharCode = $get_column_res['aadhar_no'];
array_shift($get_column_res);
$keys = array_keys($get_column_res);
$values = array_values($get_column_res);
for ($k = 0; $k < count($keys); $k++) {
$columnValuePairs .= $keys[$k] . " = " . " '" . $values[$k] . "' ";
// Add a comma and space if it's not the last element
if ($k < count($keys) - 1) {
$columnValuePairs .= ", ";
}
}
error_log("COL-VAL STRING FOR PATIENT MASTER " . $columnValuePairs);
$check_duplicate = "SELECT COUNT(*) AS data_exists FROM $DestinationTable[$i] WHERE emp_code = '$empCode';";
$check_duplicate_row = mysqli_query($conn, $check_duplicate);
$check_duplicate_res = $check_duplicate_row->fetch_assoc();
if ($check_duplicate_res['data_exists'] > 0) { // update case
$patient_main_id = "";
if (!empty($empCode)) {
$patient_main_id = getTableFieldValue('patient_master', 'id', 'emp_code', "'" . $empCode . "'");
}
if (!empty($aadharCode) && empty($empCode)) {
$patient_main_id = getTableFieldValue('patient_master', 'id', 'aadhar_no', "'" . $aadharCode . "'");
}
error_log("MAIN PATIENT ID FROM TABLE-> " . $patient_main_id);
// MAP NEW ID OF PATIENT TO TEMPRORY
if (isset($map_patient_id[$patient_temp_id])) {
error_log("KEY ALREADY EXISTS SO DONT ADD");
} else {
$map_patient_id[$patient_temp_id] = $patient_main_id;
}
error_log("MAPPPPP-> " . print_r($map_patient_id, true));
$queryDeleteData = "DELETE FROM $SourceTable[$i] WHERE emp_code = '$empCode';";
$resultDeleteData = mysqli_query($conn, $queryDeleteData);
// Check if the data deletion was successful
if ($resultDeleteData) {
$move_status['patient_response'] = "MOVED PATIENT DATA";
} else {
$move_status['patient_response'] = "ERROR DELETING PATIENT DATA FROM SOURCE TABLE";
rollback();
exit(mysqli_error($conn));
}
// Do not Insert As value is already there
} else { // insert case
$initquery = "insert into $DestinationTable[$i] set ";
$endquery = "";
$query_patient = $initquery . $columnValuePairs . $endquery;
error_log("patient master query " . $query_patient);
if (!$result = @mysqli_query($conn, $query_patient)) {
error_log("Exception:" . mysqli_error($conn));
error_log("Failed to Execute Patient Insert/Update Query::: " . $query_patient);
// $response_array['responseText']=mysqli_error($conn);
$move_status['patient_response'] = mysqli_error($conn);
rollback();
exit(mysqli_error($conn));
} else {
$patient_main_id = "";
if (!empty($empCode)) {
$patient_main_id = getTableFieldValue('patient_master', 'id', 'emp_code', "'" . $empCode . "'");
}
if (!empty($aadharCode) && empty($empCode)) {
$patient_main_id = getTableFieldValue('patient_master', 'id', 'aadhar_no', "'" . $aadharCode . "'");
}
// MAP NEW ID OF PATIENT TO TEMPRORY
$map_patient_id[$patient_temp_id] = $patient_main_id;
$queryDeleteData = "DELETE FROM $SourceTable[$i] WHERE emp_code = '$empCode';";
$resultDeleteData = mysqli_query($conn, $queryDeleteData);
// Check if the data deletion was successful
if ($resultDeleteData) {
$move_status['patient_response'] = "MOVED PATIENT DATA";
$patient_insert_counter++;
} else {
$move_status['patient_response'] = "ERROR DELETING PATIENT DATA FROM SOURCE TABLE";
rollback();
exit(mysqli_error($conn));
}
}
}
} else if ($SourceTable[$i] == "checkup_form_temp") {
// $patient_temp_id HAS THE OLD PATIENT ID & $checkup_id has old checkup_forn id
$empId = $patient_temp_id;
$get_form_column = "SELECT * FROM $SourceTable[$i] WHERE checkup_id = '$checkup_id';";
error_log("SELECTT SAB FROM CHECKUP FORM-> " . $get_form_column);
$get_form_row = mysqli_query($conn, $get_form_column);
$get_form_res = $get_form_row->fetch_assoc();
$checkupTypeId = $get_form_res['checkup_type_id'];
$checkupDate = $get_form_res['checkup_date'];
array_shift($get_form_res);
$keys1 = array_keys($get_form_res);
$values1 = array_values($get_form_res);
error_log("CHECKUP FORM KEY->" . print_r($keys1, true));
error_log("CHECKUP FORM VALUES->" . print_r($values1, true));
$patient_new_id = "";
$patient_old_id = "";
$patient_ticket = "";
for ($k = 0; $k < count($keys1); $k++) {
if ($SourceTable[$i] == "checkup_form_temp" && ($keys1[$k] == 'emp_id')) {
$columnValuePairs .= $keys1[$k] . " = " . " '" . $map_patient_id[$values1[$k]] . "' ";
$patient_new_id = $map_patient_id[$values1[$k]];
$patient_old_id = $values1[$k];
} else {
$columnValuePairs .= $keys1[$k] . " = " . " '" . $values1[$k] . "' ";
if ($SourceTable[$i] == "checkup_form_temp" && ($keys1[$k] == 'ticket_no')) {
$patient_ticket = $values1[$k];
}
}
// Add a comma and space if it's not the last element
if ($k < count($keys1) - 1) {
$columnValuePairs .= ", ";
}
}
error_log("COLUMN VALUE PAIR FOR FORM TEMP -> " . $columnValuePairs);
$check_duplicate = "SELECT COUNT(*) AS data_exists FROM $DestinationTable[$i] WHERE emp_id = '$map_patient_id[$patient_temp_id]' AND checkup_type_id ='$checkupTypeId' AND checkup_date =' $checkupDate';";
error_log("DUPLICATE CHECK FOR CHECK FORM " . $check_duplicate);
$check_duplicate_row = mysqli_query($conn, $check_duplicate);
$check_duplicate_res = $check_duplicate_row->fetch_assoc();
if ($check_duplicate_res['data_exists'] > 0) {
// UPDATE DATA
$initquery = "update $DestinationTable[$i] set ";
$endquery = " where emp_id = '" . $map_patient_id[$empId] . "' and checkup_type_id = '" . $checkupTypeId . "' and checkup_date = '" . $checkupDate . "' ";
error_log("UPDATES CHECKUP FORM");
$form_update_counter++;
} else {
//INSERT ROW IN CHCECKUP FORM
$initquery = "insert into $DestinationTable[$i] set ";
$endquery = "";
error_log("INSERTS CHECKUP FORM");
$form_insert_counter++;
}
$medical_query = $initquery . $columnValuePairs . $endquery;
error_log("MEDICAL QUERY-> " . $medical_query);
if (!$result = @mysqli_query($conn, $medical_query)) {
error_log("Exception:" . mysqli_error($conn));
error_log("Failed to Execute the Medical Examination Query::: " . $medical_query);
$move_status['form_response'] = mysqli_error($conn);
rollback();
exit(mysqli_error($conn));
} else {
//SELECT NEW CEHCKUP ID
$new_checkup_id = "SELECT `checkup_id` FROM `checkup_form` WHERE `emp_id` = '$map_patient_id[$empId]' AND checkup_type_id ='$checkupTypeId' AND checkup_date = '$checkupDate';";
error_log("MAIN TABLE CHECKUP ID-> " . $new_checkup_id);
$new_checkup_row = mysqli_query($conn, $new_checkup_id);
//SELECT OLD CHECKUP ID i.e($checkup_id)
//IF GET ID THEN CONTINUE PART (ALL KEY VALUES PART IN THIS)
if (($new_checkup_row->num_rows > 0) && (!empty($checkup_id))) {
$new_checkup_res = $new_checkup_row->fetch_assoc();
error_log("OLD CHECKUP ID " . $checkup_id);
error_log("NEW CHECKUP ID " . $new_checkup_res['checkup_id']);
$checkup_key_value_query = "SELECT * FROM `checkup_form_key_value_temp` WHERE `checkup_form_id` = '$checkup_id';";
error_log("GET KEY VALUE-> " . $checkup_key_value_query);
$checkup_key_temp_row = mysqli_query($conn, $checkup_key_value_query);
if ($checkup_key_temp_row->num_rows > 0) {
while ($checkup_key_temp_res = $checkup_key_temp_row->fetch_assoc()) {
$checkupFromKey = $checkup_key_temp_res['checkup_form_key'];
$checkupFormValue = $checkup_key_temp_res['checkup_form_value'];
$check_duplicate = "SELECT COUNT(*) AS data_exists FROM `checkup_form_key_value` WHERE checkup_form_id = '$new_checkup_res[checkup_id]' AND checkup_form_key ='$checkupFromKey';";
error_log("CHECK KEY VALUE " . $check_duplicate);
$check_duplicate_row = mysqli_query($conn, $check_duplicate);
$check_duplicate_res = $check_duplicate_row->fetch_assoc();
if ($check_duplicate_res['data_exists'] > 0) {
// UPDATE DATA
$initquery = "update checkup_form_key_value set ";
$endquery = " where checkup_form_key = '" . $checkupFromKey . "' and checkup_form_id = '" . $new_checkup_res['checkup_id'] . "' ";
$form_key_update_counter++;
} else {
//INSERT ROW IN CHCECKUP FORM
$initquery = "insert into checkup_form_key_value set ";
$endquery = "";
$form_key_insert_counter++;
}
$sql_checkup_form_key_value = $initquery . "checkup_form_id ='" . $new_checkup_res['checkup_id'] . "', checkup_form_key ='" . $checkupFromKey . "', checkup_form_value ='" . $checkupFormValue . "'" . $endquery;
error_log("KEY VALUE INSERT/UPDATE-> " . $sql_checkup_form_key_value);
if (!$result = @mysqli_query($conn, $sql_checkup_form_key_value)) {
error_log("Exception:" . mysqli_error($conn));
error_log("Failed to Execute the sql_checkup_form_key_value Query::: " . $sql_checkup_form_key_value);
$move_status['key_form_response'] = mysqli_error($conn);
rollback();
exit(mysqli_error($conn));
} else {
$queryDeleteData = "DELETE FROM `checkup_form_key_value_temp` WHERE checkup_form_id = '$checkup_key_temp_res[checkup_form_id]' AND checkup_form_key ='$checkupFromKey'; ";
error_log("DELETEE CHECKUP KEY VALUE-> " . $queryDeleteData);
$resultDeleteData = mysqli_query($conn, $queryDeleteData);
// Check if the data deletion was successful
if ($resultDeleteData) {
$move_status['key_form_response'] = "MOVED CHECKUP KEY FORM DATA";
} else {
$move_status['key_form_response'] = "ERROR DELETING DATA FROM KEY VALUE SOURCE TABLE";
rollback();
exit(mysqli_error($conn));
}
}
} //END FOR WHILE LOOP
}
}
//HERE GET CHECKUP ID AND TICKET NO AND CHECK FOR KEY VALUE USING LOOP
error_log("AMIN TBL EMP ID-> " . $map_patient_id[$empId]);
// $emp_ticket = getFieldFromTable('ticket_no', 'checkup_form', 'emp_id', $map_patient_id[$formID]);
error_log("FORM DELETE MAI AAGAYE");
$queryDeleteData = "DELETE FROM $SourceTable[$i] WHERE emp_id = '$empId' AND checkup_type_id ='$checkupTypeId' AND checkup_date = '$checkupDate'; ";
error_log("DELETEE CHECKUP FORM-> " . $queryDeleteData);
$resultDeleteData = mysqli_query($conn, $queryDeleteData);
// Check if the data deletion was successful
if ($resultDeleteData) {
$move_status['form_response'] = "MOVED CHECKUP FORM DATA";
error_log("FORM DELETE HO GAYA");
} else {
$move_status['form_response'] = "ERROR DELETING DATA FROM FORM SOURCE TABLE";
error_log("FORM DELETE NAHI HO PAYE " . mysqli_error($conn));
rollback();
exit(mysqli_error($conn));
}
}
}
}
error_log("ALL colums Header FOR " . $SourceTable[$i] . " -> " . $ColumnString);
error_log("MAPPING -> " . print_r($map_patient_id, true));
}
// for ($i=0; $i < count($selectedValues) ; $i++) {
// //FIRST IS PATIENT ID AND SECOND IS CHECKUP ID
// $values = explode(',', $selectedValues[$i]);
// $patient_temp_id = $values[0];
// $checkup_id = $values[1];
// //PATIENT TEMP TO MAIN TRANSFER
// $get_patient_data = "SELECT * FROM `patient_master_temp` WHERE `id` = '$patient_temp_id';";
// $patient_data_row = mysqli_query($conn, $get_patient_data);
// $patient_data_res = $patient_data_row->fetch_assoc();
// $empCode = $patient_data_res['emp_code'];
// $aadharCode = $patient_data_res['aadhar_no'];
// //MAKE COLUMN KEY VALUE PAIR
// array_shift($patient_data_res);
// //CHECK IF PATIENT AVAILABLE IN MAIN TABLE
// $check_duplicate = "SELECT COUNT(*) AS data_exists FROM patient_master WHERE emp_code = '$empCode';";
// $check_duplicate_row = mysqli_query($conn, $check_duplicate);
// $check_duplicate_res = $check_duplicate_row->fetch_assoc();
// if ($check_duplicate_res['data_exists'] > 0) { // update case
// $patient_main_id = "";
// if (!empty($empCode)) {
// $patient_main_id = getTableFieldValue('patient_master', 'id', 'emp_code', "'" . $empCode . "'");
// }
// if (!empty($aadharCode) && empty($empCode)) {
// $patient_main_id = getTableFieldValue('patient_master', 'id', 'aadhar_no', "'" . $aadharCode . "'");
// }
// // MAP NEW ID OF PATIENT TO TEMPRORY
// $map_patient_id[$patient_temp_id] = $patient_main_id;
// $queryDeleteData = "DELETE FROM $SourceTable[$i] WHERE emp_code = '$empCode';";
// $resultDeleteData = mysqli_query($conn, $queryDeleteData);
// // Check if the data deletion was successful
// if ($resultDeleteData) {
// $move_status['patient_response'] = "MOVED PATIENT DATA";
// } else {
// $move_status['patient_response'] = "ERROR DELETING PATIENT DATA FROM SOURCE TABLE";
// rollback();
// exit(mysqli_error($conn));
// }
// }else{
// //INSERT ROW IN PATIENT_MASTER
// $initquery = "insert into patient_master set ";
// $endquery = "";
// // error_log("INITIAL " . $initquery);
// $query_patient = $initquery . $columnValuePairs . $endquery;
// // error_log("FINAL " . $query_patient);
// error_log("patient master query " . $query_patient);
// if (!$result = @mysqli_query($conn, $query_patient)) {
// error_log("Exception:" . mysqli_error($conn));
// error_log("Failed to Execute Patient Insert/Update Query::: " . $query_patient);
// // $response_array['responseText']=mysqli_error($conn);
// $move_status['patient_response'] = mysqli_error($conn);
// rollback();
// exit(mysqli_error($conn));
// }else{
// $patient_main_id = "";
// if (!empty($empCode)) {
// $patient_main_id = getTableFieldValue('patient_master', 'id', 'emp_code', "'" . $empCode . "'");
// }
// if (!empty($aadharCode) && empty($empCode)) {
// $patient_main_id = getTableFieldValue('patient_master', 'id', 'aadhar_no', "'" . $aadharCode . "'");
// }
// // MAP NEW ID OF PATIENT TO TEMPRORY
// $map_patient_id[$patient_temp_id] = $patient_main_id;
// $queryDeleteData = "DELETE FROM $SourceTable[$i] WHERE emp_code = '$empCode';";
// $resultDeleteData = mysqli_query($conn, $queryDeleteData);
// // Check if the data deletion was successful
// if ($resultDeleteData) {
// $move_status['patient_response'] = "MOVED PATIENT DATA";
// $patient_insert_counter++;
// } else {
// $move_status['patient_response'] = "ERROR DELETING PATIENT DATA FROM SOURCE TABLE";
// rollback();
// exit(mysqli_error($conn));
// }
// }
// }
// }
$data = array(
"patient_counter" => $patient_insert_counter,
"form_insert" => $form_insert_counter,
"form_update" => $form_update_counter,
"form_key_insert" => $form_key_insert_counter,
"form_key_update" => $form_key_update_counter,
"response" => $move_status
);
echo json_encode($data);
?>