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

190 lines
7.1 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);
// 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);