<?php
include('includes/config/config.php');
include('includes/auth/auth.php');
include('includes/functions.php');
include('access.php');
error_reporting(E_ERROR | E_PARSE);


// Connect to MySQL database
$page = 1; // The current page
$sortname = 'indent_id'; // Sort column
$sortorder = 'asc'; // 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
//echo $menu_key=$_REQUEST['pagekey'];

$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";
$searchSql = ($qtype != '' && $query != '') ? "where upper($qtype) like upper('%$query%')" : '';
if ($searchSql != '') {

    if ($qtype == 'indent_date') {

        $searchSql = " and date_format(date(indent_date),'%Y-%m-%d')=str_to_date('$query','%d/%m/%Y') ";
        //echo $searchSql;
    }
}
// Get total count of records
$searchSql = preg_replace('/and/', 'where', $searchSql, 1);

/*$user_id=$_SESSION['user_id'];
$ohc_type=getTableFieldValue('tbl_users','ohc_type','user_id',$user_id);*/
// Get total count of records
//$searchSql=preg_replace('/and/', 'where', $searchSql, 1);

$sql = "select count(*) from indent_master  $searchSql $sortSql";
//echo $sql;
$result = mysqli_query($conn, $sql);
//echo $result;
$row = mysqli_fetch_array($result);
$total = $row[0];
if (!isset($rp)) {
    $rp = 10;
}
// Setup paging SQL
//$rp=1;
$pageStart = ($page - 1) * $rp;
$limitSql = "limit $pageStart, $rp";
// Return JSON data
$data = array();
$data['page'] = $page;
$data['total'] = $total;
$data['rows'] = array();

$sql1 = "select * from indent_master where indent_id in (select DISTINCT(indent_id) from indent_items where  status in ('APPROVED' ,'REJECTED' ,'PENDING_DISPATCH' ,'DRAFT_DISPATCH' ,'GRN_APPROVED','COMPLETED')) ";

$sql_export = $sql1;

$sql1 .= " $searchSql $sortSql $limitSql ";
$sql_export .= " $searchSql $sortSql ";


//echo $sql1;
$results = mysqli_query($conn, $sql1);
//echo $results;
//echo mysqli_error($results);
$count = ($page - 1) * $rp + 1;
//echo $sql_ailment;
//echo $access_level;

while ($row1 = mysqli_fetch_assoc($results)) {

    $id = $row1['indent_id'];

    //echo $Department_id;
    $view_link = "";
    $edit_link = "";
    $delete_link = "";
    $pdf_link='';
    $status_update_link = "";
    $links = "";

    if ($hasExecuteAccess) {
        //echo "shubham";
        $pdf_link="<a  href=\"#\" class=\"blue\" onclick=\"open_indent_items_pdf('" . $id . "');\">" . $row1['indent_ref_no'] . "</a>";
        $email_link = $space . "<a id='appointment_id_" . $id . "' href=\"#\" class=\"blue\" onclick=\"open_item('" . $id . "','" . $appointment_type . "','" . $dept_email . "',this);\"><i class=\"fa fa-envelope\" style=\"font-size: 15px;\"></i></a>";
        // $delete_link = "<a  href=\"#\"class=\"red\"  onclick=\"delete_indent('" . $id . "','E');\"><i class=\"ace-icon fa fa-trash bigger-130\"></i></a>";
    }

    $app_rem = $row1['approval_remarks'];
    $indent_ref_no = "<a  href=\"#\" class=\"blue\" onclick=\"open_indent_items_pdf('" . $id . "');\">" . $row1['indent_ref_no'] . "</a>";
    $total_price=0;
    $item_desc = "";
    $item_qty = "";
    $pos='';
    $po_nos=array();
    $space = "&nbsp;&nbsp;&nbsp;";
    $sup_not_approved_item=0;
    $sql_q = "select * from indent_items where indent_id='" . $row1['indent_id'] . "' and status in ('APPROVED' ,'REJECTED' ,'PENDING_DISPATCH' ,'DRAFT_DISPATCH' ,'GRN_APPROVED','COMPLETED')";
    error_log("indent sql" . $sql_q);
    $result = mysqli_query($conn, $sql_q);
    while ($row2 = mysqli_fetch_assoc($result)) {
        // $item_desc = $item_desc . ' <p> ' . getItemWithFormName($row2['item_id']) . '</p>';
        // $item_unit_id = getTableFieldValue('tbl_items', 'unit_id', 'item_id', $row2['item_id']);
        // $item_unit = getTableFieldValue(' unit_master', 'unit_name', 'unit_id', $item_unit_id);
        // $item_qty = $item_qty . ' <p> ' . $row2['indent_qty'] . ' ' . $item_unit . '</p>';
        $item_qty=$row2['indent_qty'];
        $item_id=$row2['item_id'];
        $rate=getTableFieldValue('item_rate','item_rate','item_id',$item_id);
        $unit=getTableFieldValue('item_rate','unit','item_id',$item_id);
     if($unit==0 || $unit==''){
         $ratePerUnit=0;
     }

      else{  $ratePerUnit=round($rate/$unit,2);}
     //error_log($ratePerUnit);
      $total_price+=($ratePerUnit*$item_qty);

      if($row2['status']=='APPROVED_VENDOR_RATE'){
        $sup_not_approved_item++;
             }
        array_push($po_nos,$row2["item_po_no"]);
          
    }
$po_nos= array_unique($po_nos);
error_log("pooos".print_r($po_nos,true));
for($i=0;$i<count($po_nos);$i++){
    $po_report= "<a   class=\"green\" onclick=\"open_po_items_pdf('" . $po_nos[$i] . "');\">" . $po_nos[$i] . "</a>";
    $pos.=$po_report . $space ;
}



    $fit = "";
    if ($row1['status'] == 'REJECTED') {
        $fit = "<span class='lighter red'>REJECTED</i></span>";
        
    } else if($row1['status'] == 'APPROVED_LEVEL_1') {
        $fit = "<span class='green'>CMO APPROVED</i></span>";
    }else if($row1['status'] == 'APPROVED_LEVEL_2') {
        $fit = "<span class='green'>HR/IR APPROVED</i></span>";
    }else if($row1['status'] == 'PENDING_RATE') {
        $fit = "<span class='green'> PENDING RFQ </i></span>";
    }else if($row1['status'] == 'APPROVED_VENDOR_RATE') {
        $fit = "<span class='green'>RFQ CREATED By VENDOR</i></span>";
    }else if($row1['status'] == 'APPROVED_VENDOR_RATE' && $sup_not_approved_item!=0){
            $fit = "<span class='green'>QUOTATION CREATED </i></span>";
    }else if($row1['status'] == 'SUP_APPROVED' && $sup_not_approved_item==0){
            $fit = "<span class='green'> SENT TO HEAD SUPERVISOR </i></span>";
    }else{
        $fit = "<span class='green'>".$row1['status']."</i></span>";
    }

    
    $links = $delete_link . $space .$email_link . $space;
    $status = $fit;

    $data['rows'][] = array(
        'id' => $row1['indent_id'],
        'cell' => array($links, $count++, $indent_ref_no,$pos,  date_format(date_create($row1['indent_date']), "d-M-Y "), round($total_price,2), $row1['remarks'], $status, $app_rem)
    );
}
$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);