<?php
include('includes/config/config.php');
include('includes/auth/auth.php');
include('includes/functions.php');
include('access.php');
include('log_entry.php');
?>
<?php

// Connect to mysqli database
$page = 1; // The current page
$sortname = 'checkup_date'; // Sort column
$sortorder = 'desc'; // Sort order
$qtype = ''; // Search column
$query = ''; // Search string
// Get posted data
if (isset($_POST['page'])) {
    $page = mysqli_real_escape_string($conn, $_POST['page']);
}
if (isset($_POST['sortname'])) {
    $sortname = mysqli_real_escape_string($conn, $_POST['sortname']);
}
if (isset($_POST['sortorder'])) {
    $sortorder = mysqli_real_escape_string($conn, $_POST['sortorder']);
}
if (isset($_POST['qtype'])) {
    $qtype = mysqli_real_escape_string($conn, $_POST['qtype']);
}

if (isset($_POST['query'])) {
    $query = mysqli_real_escape_string($conn, $_POST['query']);
}
if (isset($_POST['rp'])) {
    $rp = mysqli_real_escape_string($conn, $_POST['rp']);
}
// Setup sort and search SQL using posted data
$hasReadAccess = isAccessible($_SESSION['RoleId'], $menu_key, 'R');
$hasWriteAccess = isAccessible($_SESSION['RoleId'], $menu_key, 'W');
$hasExecuteAccess = isAccessible($_SESSION['RoleId'], $menu_key, 'E');

$sortSql = "order by $sortname $sortorder";
// if (isset($_SESSION['allowed_clients']) && isset($_SESSION['current_ohcttype'])) {

//     $ohc_type = $_SESSION['current_ohcttype'];

//     $client_ids = $_SESSION['allowed_clients'];

//     $searchSql = "where a.current_status='Approved' and a.ohc_type_id=$ohc_type";
// }

//$searchSql= ($qtype != '' && $query != '') ? "and upper($qtype) like upper('%" . trim($query) . "%')" : '';

// if ($searchSql != '') {

if ($qtype == 'checkup_date') {
    $searchSql .= ($qtype != '' && $query != '') ? " and date_format(date(checkup_date),'%Y-%m-%d')=str_to_date('$query','%d/%m/%Y')" : '';
}
if ($qtype == 'patient_name') {
    $patient_id = getFieldFromTable('id', 'patient_master', 'patient_name', trim($query));
    $searchSql .= ($qtype != '' && $query != '') ?  " and emp_id  = '" . trim($patient_id) . "'" : '';
}
if ($qtype == 'emp_id') {
    $patient_id = getFieldFromTable('id', 'patient_master', 'emp_code', trim($query));
    $searchSql .= ($qtype != '' && $query != '') ?  " and $qtype  = '" . trim($patient_id) . "'" : '';
}
if ($qtype == 'medical_entry_date_between') {
    $dates = explode("-", $query);

    $searchSql .= " and date_format(date(checkup_date),'%Y-%m-%d') between str_to_date('" . trim($dates[0]) . "','%d/%m/%Y') and  str_to_date('" . trim($dates[1]) . "','%d/%m/%Y') ";
}
if ($qtype == 'approval_date_between') {
    $dates = explode("-", $query);

    $searchSql .= " and date_format(date(approve_date),'%Y-%m-%d') between str_to_date('" . trim($dates[0]) . "','%d/%m/%Y') and  str_to_date('" . trim($dates[1]) . "','%d/%m/%Y') ";
}


if ($qtype == 'approval_date') {
    $searchSql .= ($qtype != '' && $query != '') ? " and date_format(date(approve_date),'%Y-%m-%d')=str_to_date('$query','%d/%m/%Y')" : '';
}
// }


// if ($searchSql != '') {
//   //  ECHO RAM;
//     if ($qtype == 'checkup_date') {

//         $searchSql = " where a.current_status='Approved' and date_format(date(checkup_date),'%Y-%m-%d')=str_to_date('$query','%d/%m/%Y') ";
//     }
//     else if($qtype=='checkup_date_between'){
/*$dates=explode("-",$query);
        
        //$qtype=" due_date between ";
        $searchSql=" where a.current_status='Approved' and checkup_date  between str_to_date('".trim($dates[0])."','%d/%m/%Y') and  str_to_date('".trim($dates[1])."','%d/%m/%Y') ";
//     }*/


// }



// Get total count of records
$checkup_ids_color = $_GET['colors_ids'];
error_log("colors ids: " . $checkup_ids_color);
if (!empty($checkup_ids_color)) {
    
    // $checkup_ids_color = explode(' , ' , $checkup_ids_color);
    
    // array_pop($checkup_ids_color);
    
    // $checkup_ids_color = implode(' , ' , $checkup_ids_color);

    $searchSql .= " and checkup_id IN (" . $checkup_ids_color . ")";
}


$sql = "select count(*) from checkup_form where (current_status='DRA' or current_status='MRA') and ohc_type_id= '" . $_SESSION['current_ohcttype'] . "' $searchSql";

//echo $sql;
error_log("query for medical count: " . $sql);
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($result);
$total = $row[0];
// Setup paging
if (!isset($rp)) {
    $rp = 10;
}
$pageStart = ($page - 1) * $rp;
$limitSql = "limit $pageStart, $rp";
// Return JSON data
$data = array();
$data['page'] = $page;
$data['total'] = $total;
$data['rows'] = array();


$sql_checkup = "select * from checkup_form  where (current_status='DRA' or current_status='MRA' ) and ohc_type_id= '" . $_SESSION['current_ohcttype'] . "' $searchSql $sortSql ";
error_log("sql for medical approved " . $sql_checkup);
//echo $sql_checkup;
//echo $sql_checkup;
$sql_export = $sql_checkup;
$sql_checkup .= $limitSql;
error_log("sql checkup: " . $sql_checkup);
$results_checkup = mysqli_query($conn, $sql_checkup);
$count = ($page - 1) * $rp + 1;

//echo $sql_checkup;
//echo $access_level;
error_log("sql query" . $sql_checkup);

while ($row_checkup = mysqli_fetch_assoc($results_checkup)) {
    $approve_date = '';

    $checkup_id = $row_checkup['checkup_id'];
    //echo $checkup_id;
    $view_link = "";
    $print_link = "";

    $edit_link = "";
    $delete_link = "";
    $links = "";
    $open_form_link = "";
    $open_link = "";
    $form32_link = "";
    $cirtificate = '';
    $suppoting_doc1 = '';
    $space = "&nbsp;&nbsp;&nbsp;";
    $dept_id = getFieldFromTable('dept_id' , 'patient_master' , 'id' , $row_checkup['emp_id']);
    $dept_email = getTableFieldValue('department', 'dept_email', 'dept_id', $dept_id);

    $sql_medical_doc1 = "SELECT * from checkup_section_medical_document where checkup_id='" . $checkup_id . "'";
    error_log($sql_medical_doc1 . " DOC DM");
    $result_medical_doc1 = mysqli_query($conn, $sql_medical_doc1);

    $count1 = mysqli_num_rows($result_medical_doc1);
    error_log($count1 . " COUNT1");

    if ($count1 == 0) {
        $suppoting_doc1 = "";
    } else {
        error_log($count1 . " CHECK");

        while ($row_medical_dock = mysqli_fetch_array($result_medical_doc1)) {
            $title_doc = $row_medical_dock['medical_doc_name'];
            $suppoting_doc1 .= $space . "<a target=\"_blank\" title=\"$title_doc\" href='getSupDocLink.php?id=" . $row_medical_dock['id'] . "' class=\"red\"><i class=\"ace-icon fa fa-file-pdf-o bigger-130\"></i></a>";
        }
    }


    if ($hasReadAccess) {
        // $view_link = $space . "<a  href=\"#\"class=\"green\"  onclick=\"open_checkup('" . $checkup_id . "','" . $row_checkup['emp_id'] . "','V','" . $row_checkup['checkup_type_id'] . "');\"><i class=\"ace-icon fa fa-search-plus bigger-130\"></i></a>";
        $print_link = $space . "<a target=\"_blank\" href=\"checkup_form_pdf.php?checkup_id=" . $checkup_id . "\"class=\"red\" ><i class=\"ace-icon fa fa-file-pdf-o bigger-130\"></i></a>";

        // $view_link = $space . "<a  href=\"#\"class=\"green\"  onclick=\"open_checkup_full_view('" . $checkup_id . "','" . $row_checkup['emp_id'] . "','V','" . $row_checkup['checkup_type_id'] . "');\"><i class=\"ace-icon fa fa-search-plus bigger-130\"></i></a>";

        // if ($row_checkup['checkup_type_id'] == 40 || $row_checkup['checkup_type_id'] == '40') {
        //     $cirtificate = $space . "<a target=\"_blank\" title=\"food handler cirtificate\" href=\"food_handler_cirtificate.php?checkup_id=" . $checkup_id . "\"class=\"green\" ><i class=\"ace-icon fa fa-file-pdf-o bigger-130\"></i></a>";
        // }
        // if ($row_checkup['checkup_type_id'] == 23 || $row_checkup['checkup_type_id'] == '23' || $row_checkup['checkup_type_id'] == 35 || $row_checkup['checkup_type_id'] == '35') {
            // $cirtificate = $space . "<a target=\"_blank\" title=\"Health Card\" href=\"health_card.php?checkup_id=" . $checkup_id . "\"class=\"orange\" ><i class=\"ace-icon fa fa-file-pdf-o bigger-130\"></i></a>";
        $email_link = $space . "<a id='appointment_id_" . $checkup_id . "' href=\"#\" class=\"blue\" onclick=\"send_mail('" . $checkup_id . "','" . $dept_email . "');\"><i class=\"fa fa-envelope\" style=\"font-size: 15px;\"></i></a>";

        // }
    }

    $GIVE_EDIT_OPTION_AFTER_THIS_DATE = getFieldFromTable('value', 'config', 'key_name', 'GIVE_EDIT_OPTION_AFTER_THIS_DATE');

    if (isAccessibleForSameDoc($_SESSION['RoleId'], $menu_key, 'W', 0, $row_checkup['doc_attend'])) {
        if (date("Y-m-d", strtotime($row_checkup['checkup_date'])) >  date("Y-m-d", strtotime($GIVE_EDIT_OPTION_AFTER_THIS_DATE))) {
            $edit_link = $space . "<a href=\"#\" class=\"blue\" onclick=\"open_checkup('" . $checkup_id . "','" . $row_checkup['emp_id'] . "','E','" . $row_checkup['checkup_type_id'] . "');\"><i class=\"ace-icon fa fa-pencil bigger-130\"></i></a>";
        }
    }

    $time_difference_seconds = time() - strtotime($row_checkup['checkup_date']);
    $time_difference_hours = $time_difference_seconds / (60 * 60);
    $deletion_config = getFieldFromTable('value', 'config', 'key_name', 'ALLOWED_DELETION_FOR_FIXED_HOURS');

    if (isAccessibleForSameDoc($_SESSION['RoleId'], $menu_key, 'E', 0, $row_checkup['doc_attend']) && $time_difference_hours < $deletion_config) {
        if (date("Y-m-d", strtotime($row_checkup['checkup_date'])) > date("Y-m-d", strtotime("-1 month"))) {
            $delete_link = $space . "<a href=\"#\" class=\"blue\" onclick=\"delete_checkup('" . $checkup_id . "','" . $row_checkup['emp_id'] . "','E','" . $row_checkup['checkup_type_id'] . "');\"><i class=\"ace-icon fa fa-trash-o bigger-130\"></i></a>";
        }
    }


    $ohc_state_code = getFieldFromTable('state', 'ohc_type', 'ohc_type_id', $_SESSION['current_ohcttype']);
    // $form_names = getFieldFromTable('form_names', 'state_form_master', 'state_code', $ohc_state_code);

    // error_log("form names " . $form_names);

    // $forms = explode(',', $form_names);
    // error_log("form array " . print_r($forms, true));

    if ($ohc_state_code == 'KA') {
        if ($_SESSION['RoleCode'] == 'DOC' || $_SESSION['RoleCode'] == 'LAB') {
            $open_form_link = "<a href=\"#\" class=\"blue\" onclick=\"form_generation('" . $checkup_id . "','" . $row_checkup['emp_id'] . "','null','E');\" title=\"Generate Form/20\"><span style=\"font-size: 20px;\" class=\"glyphicon glyphicon-edit\"></span></a>";
        } else {

            $open_form_link = "";
        }

        $form_type = getTableFieldValue('form_data', 'form_type', 'checkup_id', $checkup_id);
        $doc_down_type = "";
        $form_type_32 = getTableFieldValue('form_32', 'id', 'checkup_id', $checkup_id);
        error_log("form type 32 query " . $form_type_32);

        if ($form_type != null && $form_type != "") {
            if ($form_type == 'form_33') {
                $open_link = "<a target=\"_blank\"   class=\"brown\"  href=\"form_33_pdf.php?checkup_id=" . $checkup_id . "\" data-toggle=\"tooltip\" data-placement=\"top\"  title=\"Form 33\" ><i  class=\"fa fa-file-pdf-o\" style=\"font-size: 20px;\"></i></a> (Form 33)";
                $doc_down_type = 'Form33';
            } else if ($form_type == 'form_O') {
                $doc_down_type = 'FormO';
                $open_link = "<a target=\"_blank\"   class=\"brown\" href=\"form_o_pdf.php?checkup_id=" . $checkup_id . "\" data-placement=\"top\"   title=\"Form O\"><i  class=\"fa fa-file-pdf-o\" style=\"font-size: 20px;\"></i></a> (Form O)";
            }
        } else {
            $doc_down_type = "";
        }
        if ($form_type_32 != null && $form_type_32 != '') {
            $form32pdf_link = "<a target=\"_blank\"   class=\"brown\"  href=\"form_32_pdf.php?checkup_id=" . $checkup_id . "\" data-toggle=\"tooltip\" data-placement=\"top\"  title=\"Form 16\" ><i  class=\"fa fa-file-pdf-o\" style=\"font-size: 20px;\"></i></a> (Form 16)";

            $form32CombinePdf_link = "<a target=\"_blank\"   class=\"brown\"  href=\"form_32_combined_pdf.php?checkup_id=" . $checkup_id . "\" data-toggle=\"tooltip\" data-placement=\"top\"  title=\"Form 16\" ><i  class=\"fa fa-file-pdf-o\" style=\"font-size: 20px;\"></i></a> (Form 16 Combined)";
        } else {
            $form32pdf_link = "";
            $form32CombinePdf_link = "";
        }
    }

    $checkupSections = getCommaSeperatedValuesForInClause("select section_name from  checkup_form_section", "section_id", $row_checkup['checkup_section_ids']);


    $links = $assign_link . $view_link . $edit_link . $delete_link . $print_link . $cirtificate . $email_link  ;
    if ($row_checkup['approve_date'] != '') {
        $approve_date = date_format(date_create($row_checkup['approve_date']), "d-M-Y H:i A");
        if ($approve_date == '30-Nov--0001 00:00 AM') $approve_date = "Pending Approval";
    }


    $checkup_name = getFieldFromTable('checkup_type_name', 'checkup_type', 'checkup_type_id', $row_checkup['checkup_type_id']);

    $patient_name = getFieldFromTable('patient_name', 'patient_master', 'id', $row_checkup['emp_id']);
    $emp_code = getFieldFromTable('emp_code', 'patient_master', 'id', $row_checkup['emp_id']);

    $created_by = getFieldFromTable('patient_name', 'patient_master', 'id', $row_checkup['medical_attend']);


    $data['rows'][] = array(
        'id' => $row_checkup['checkup_id'],

        'cell' => array(
            $count++,
            $links,
            $suppoting_doc1,
            date_format(date_create($row_checkup['checkup_date']), "d-M-Y H:i A"),
            $row_checkup['ticket_no'],
            $patient_name,
            $emp_code,
            $checkup_name,
            $checkupSections,
            $open_form_link,
            $open_link . "  " . $form32pdf_link . "    " . $form32CombinePdf_link,
            // $row_checkup['remarks'],
            $created_by,
            $approve_date
        )
    );
}
$data['rows'][] = array(
    'id' => $row['filterkey'],
    'cell' => array('', "<input type=hidden name='filterkey' id='filterkey' value=\"" . base64_encode($sql_export) . "\">", "<input type=hidden name=paramlist id=paramlist value=\"" . base64_encode($paramlist) . "\">", '',  '', '', '', '', '', '',  '', '', '', '', '', '', '', '', '', '')
);
// error_log("data: ".print_r($data, true));
echo json_encode($data);
?>