<?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  



// Connect to mysqli database

$page = 1; // The current page

$sortname = 'appointment_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

// Setup paging

if(!isSet($rp)){

    $rp=20;

}





$sortSql = "order by $sortname $sortorder";

$pageStart = ($page-1)*$rp;

$limitSql = " limit $pageStart, $rp";



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

// Get total count of records



if ($searchSql != '') {

    

    if ($qtype == 'appointment_date') {

        

       $searchSql = " and date_format(date(appointment_date),'%Y-%m-%d')=str_to_date('$query','%d/%m/%Y') ";

      //  $searchSql = " and date_format(date(appointment_date),'%Y-%m-%d')=str_to_date('$query','%d-%m-%Y') ";

    }





else if($qtype=='appointment_date_between'){

    $dates=explode("-",$query);

    

    //$qtype=" due_date between ";

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

}



}

/* elseif($qtype!=''){

    if($qtype=='ailment_name'){

        $searchSql =" and a.ailment_id in (select 	ailment_id   from  ailment  where upper(ailment_name) like  upper('%".trim($query)."%'))  ";

        $searchSql=preg_replace('/and/', 'where', $searchSql, 1);

    }

    

}

 */





//echo "read access:".$hasReadAccess;

//echo "write access:".$hasWriteAccess;



if($searchSql!=''){

    if($qtype!=''){

        if($qtype=='ailment_name'){

            $searchSql =" and  upper(ailments_new) like upper(trim('%$query%') ) ";

        }

        

    }





        

//echo $searchSql;



}

	

	

$sql = "select count(*) from employee_appointment ep inner join patient_master e on e.id=ep.emp_id  where attended_status='MRP'  and ep.ohc_type_id='".$_SESSION['current_ohcttype']."' $searchSql  ";



//echo $sql;















//echo $sql;

$result = mysqli_query($conn,$sql);

$row = mysqli_fetch_array($result);

$total = $row[0];





// Return JSON data

$data = array();

$data['page'] = $page;

$data['total'] = $total;

$data['rows'] = array();





$sql_employee_appointment = "select  patient_name,emp_code ,e.id,appointment_id, appointment_date,ticket_no, token_no,recommended_tests_new, complaints,examination_remarks,ailment_ids,hospital_treatment, referral,followup,remarks, appointment_type,injury_types,bp_sbp,bp_dbp,blood_sugar_fbs,blood_sugar_rbs,temperature,spo2_percent

,IsEmergency,doctor_attended_flag,ailments_new, injury_types_new from employee_appointment ep inner join  patient_master e on e.id=ep.emp_id and ep.ohc_type_id='".$_SESSION['current_ohcttype']."' where attended_status='MRP' ";

//echo $sql_employee_appointment;









$sql_export = $sql_employee_appointment;



$sql_employee_appointment.=" $searchSql $sortSql $limitSql ";

//echo $sql_employee_appointment;

$sql_export.=" $searchSql $sortSql ";





//echo $sql_employee_appointment;

$results_employee_appointment = mysqli_query($conn,$sql_employee_appointment);



$count=($page-1)*$rp+1;

//echo $sql_ailment;

//echo $access_level;



while ($row_employee_appointment = mysqli_fetch_assoc($results_employee_appointment)) {



extract($row_employee_appointment);

$diagnosis ="";

$appointment_type =$row_employee_appointment['appointment_type'];



$appointment_id=$row_employee_appointment['appointment_id'];

$emp_id=$row_employee_appointment['id'];

if($appointment_type=='O'){

	//$diagnosis =$row_employee_appointment['ailments_new'];
	$diagnosis =getCommaSeperatedValuesForInClause("select ailment_name from ailment ","ailment_id",$row_employee_appointment['ailments_new']);

}else if($appointment_type=='I'){

	//$diagnosis=$row_employee_appointment['injury_types_new'];
	$diagnosis=getCommaSeperatedValuesForInClause("select injury_type_name from injury_type","injury_type_id",$row_employee_appointment['injury_types_new']);

}



$view_link="";

$edit_link="";

$pdf_link="";

$links="";

$delete_link="";

$space="&nbsp;&nbsp;&nbsp;";



$treatment_text =getTreatmentText($row_employee_appointment['appointment_id']);

if(isAccessible($_SESSION['RoleId'],$menu_key,'R'))

{

    $pdf_link=$space."<a href=\"#\" class=\"blue\" onclick=\"exporttopdf_common('".$appointment_type."','".$appointment_id."');\"><i class=\"fa fa-file-pdf-o\"></i></a>";

    

    $view_link=$space."<a id='appointment_id_".$appointment_id."' href=\"#\"class=\"green\"  onclick=\"open_employee_appointment('".$appointment_id."','".$appointment_type."','".$emp_id."','V');\"><i class=\"ace-icon fa fa-search-plus bigger-130\"></i></a>";

}



if(isAccessible($_SESSION['RoleId'],$menu_key,'W'))

{

    $edit_link=$space."<a href=\"#\" class=\"blue\" onclick=\"open_employee_appointment('".$appointment_id."','".$appointment_type."','".$emp_id."','E');\"><i class=\"glyphicon glyphicon-share\"></i></a>";

}

if(isAccessible($_SESSION['RoleId'],$menu_key,'E') && $treatment_text=='' && $row_employee_appointment['doctor_attended_flag'] != 'Y')

{

    $delete_link=$space."<a href=\"#\" class=\"blue\" onclick=\"delete_employee_appointment_history('".$appointment_id."');\"><i class=\"ace-icon fa fa-trash-o bigger-130\"></i></a>";

}



$links = $view_link.$edit_link.$delete_link.$pdf_link;



$isEmergency ="";

$isInjury="";

if ($appointment_type == 'I') {

    $isInjury = "<span class='red'>Yes</i></span>";

}else{

    $isInjury = "<span class='green'>No</i></span>";

}

if ($row_employee_appointment['IsEmergency'] == 1) {

    $isEmergency = "<span class=' lighter red'>Yes</i></span>";

}else{

    $isEmergency = "<span class='green'>No</i></span>";

    

}



$doctor_attended_flag="No";

if ($row_employee_appointment['doctor_attended_flag'] == 'Y') {

    $doctor_attended_flag = "<span class=' lighter red'>Yes</i></span>";

}else{

    $doctor_attended_flag = "<span class='green'>No</i></span>";

    

}

 

 

$check_results = "SBP:".$row_employee_appointment['bp_sbp'].", DBP:".$row_employee_appointment['bp_dbp'].", FBS:".$row_employee_appointment['blood_sugar_fbs'].", RBS:".$row_employee_appointment['blood_sugar_rbs'].",Temp:".$row_employee_appointment['temperature'].",SPOC2%:".$row_employee_appointment['spo2_percent'];


$complaint_ids = $row_employee_appointment['complaints'];
    $complaint_ids_array = array();
    $complaint_ids_array = explode(",", $complaint_ids);
    $complaints = "";
    for ($i = 0; $i < count($complaint_ids_array); $i++) {
        if ($i == 0) {
            if (is_numeric($complaint_ids_array[$i])) {
                $complaints = getTableFieldValue('complaints', 'complaint', 'complaint_id', $complaint_ids_array[$i]);
            } else {
                $complaints = $complaint_ids_array[$i];
            }
        } else {
            if (is_numeric($complaint_ids_array[$i])) {
                $complaints = $complaints . "," . getTableFieldValue('complaints', 'complaint', 'complaint_id', $complaint_ids_array[$i]);
            } else {
                $complaints = $complaints . "," . $complaint_ids_array[$i];
            }
        }
    }
    






$data['rows'][] = array(

'id' => $row_employee_appointment['appointment_id'],

    'cell' => array($count++,$links,date_format(date_create($row_employee_appointment['appointment_date']),"d-M-Y H:i A"),$row_employee_appointment['ticket_no'],$row_employee_appointment['emp_code'],$row_employee_appointment['patient_name'],  $isEmergency, $isInjury,$doctor_attended_flag, $row_employee_appointment['recommended_tests_new'],$complaints,$row_employee_appointment['examination_remarks'],$diagnosis,$treatment_text,$row_employee_appointment['referral'],$row_employee_appointment['followup'],$check_results)

);

}

$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)."\">", '',  '','', '', '', '', '',  '', '', '','', '', '','', '', '','')

	);



echo json_encode($data);

?>