csrtechnew.ohctech.in/indent_approval_script_vendor.php
2025-10-16 15:19:10 +05:30

233 lines
9.0 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);
$user_id=$_SESSION['user_id'];
error_log('xxxxxxxxx'.$user_id);
$contractor_id=getTableFieldValue('tbl_users','vendor_id','user_id',$user_id);
// Connect to MySQL database
$page = 1; // The current page
$sortname = 'indent_date'; // 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 != '') ? "AND 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);
// Get total count of records
//$searchSql=preg_replace('/and/', 'where', $searchSql, 1);
$sql = "select count(*) from indent_master where indent_id in (select distinct(indent_id) from quotation_list where FIND_IN_SET($contractor_id,vendor_id) and (status='' or status='PENDING_RATE' or status=null or status='REJECTED' or status='RFQ_RETURNED' or status='DRAFT_VENDOR_RATE' or status='SUP_REJECTED_RATE')) $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 indent_id,indent_ref_no,indent_date,remarks,status,approval_date,approval_remarks from indent_master where indent_id in (select distinct(indent_id) from quotation_list where FIND_IN_SET($contractor_id,vendor_id) and (status='' or status=null or status='REJECTED' or status='PENDING_RATE' or status='DRAFT_VENDOR_RATE' or status='RFQ_RETURNED' or status='SUP_REJECTED_RATE')) ";
error_log('qqq'.$sql1);
$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="";
$status_update_link="";
$links="";
// if($hasWriteAccess)
// {
// $edit_link="<a href=\"#\" class=\"blue\" onclick=\"open_requisition('".$id."','E');\"><i class=\"ace-icon fa fa-pencil bigger-130\"></i></a>";
// }
$app_rem=$row1['approval_remarks'];
$item_desc="";
$item_qty="";
$items_status=array();
// $indent_ref_no = "<a href=\"#\" class=\"blue\" onclick=\"open_indent_items_pdf('" . $id . "','" . $contractor_id . "');\">" . $row1['indent_ref_no'] . "</a>";
$indent_ref_no = $row1['indent_ref_no'];
$ref_no='';
$sql_qt="select distinct(rfq_no) from quotation_list where vendor_id='".$contractor_id."' and indent_id='".$row1['indent_id']."' and status in ('','PENDING_RATE',null,'REJECTED','DRAFT_VENDOR_RATE','SUP_REJECTED_RATE','APPROVED_VENDOR_RATE','COMPLETED')";
error_log(' qqq' .$sql_qt);
$resultqt=mysqli_query($conn,$sql_qt);
$num_rowsqt = @mysqli_num_rows( $resultqt);
while ($row2qt=mysqli_fetch_assoc($resultqt)){
$rfq_no="<a href=\"#\" class=\"green\" onclick=\"open_rfq_items_pdf('" . $id . "','" . $contractor_id . "');\">" . $row2qt['rfq_no'] . "</a>&nbsp;&nbsp;&nbsp;&nbsp";
}
$sql_q="select * from indent_items where vendor_id='".$contractor_id."' and indent_id='".$row1['indent_id']."' and status in ('',null,'REJECTED','DRAFT_VENDOR_RATE','SUP_REJECTED_RATE','APPROVED_VENDOR_RATE','COMPLETED')";
error_log("indent sql".$sql_q);
$result=mysqli_query($conn,$sql_q);
$num_rows = @mysqli_num_rows( $result);
$st=0;
$rej=0;
$rfq_arr=array();
while ($row2=mysqli_fetch_assoc($result)){
array_push($items_status,$row2['status']);
array_push($rfq_arr,$row2['item_rfq_no']);
$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>';
if($row2['status'] == 'DRAFT_VENDOR_RATE')$st++;
if($row2['status'] == 'REJECTED' || $row2['status'] == 'SUP_REJECTED_RATE')$rej++;
}
//
// $rfq_arr=array_unique($rfq_arr);
// for($r=0;$r<count($rfq_arr);$r++){
// $rfq_no.="<a href=\"#\" class=\"green\" onclick=\"open_rfq_items_pdf('" . $rfq_arr[$r] . "','" . $contractor_id . "');\">" . $rfq_arr[$r] . "</a>&nbsp;&nbsp;&nbsp;&nbsp";
// }
//
$space = "&nbsp;&nbsp;&nbsp;";
$items_status=array_unique($items_status);
error_log("item_status".print_r($items_status,true));
$fit = "";
if(count($items_status)==1){
if($items_status[0]=='APPROVED'){$fit = "<span class='green'>READY FOR DISPATCH </i></span>";}
else if($items_status[0]=='' || $items_status[0]='RFQ_RETURNED'){
$fit = "<span class='green'>PENDING RFQ </i></span>";
}
else if($items_status[0]=='DRAFT_VENDOR_RATE'){
$fit = "<span class='green'>DRAFT QUOTATION </i></span>";
}
else if($items_status[0]=="APPROVED_VENDOR_RATE"){
$fit = "<span class='green'>APPROVED QUOTATION /Pending Dispatch </i></span>";
}
else if($items_status[0]=='REJECTED' || $items_status[0] == 'SUP_REJECTED_RATE'){
$fit = "<span class='lighter red'>REJECTED</i></span>";
}else{
$fit = "<span class='green'>".$row1['status']."</i></span>";
}
}else{
for($s=0;$s<count($items_status);$s++){
if($items_status[$s]=='APPROVED'){$fit .= "<span class='green'> Some Are READY FOR DISPATCH </i></span>";}
else if($items_status[$s]=='' ){
$fit .= "<span class='green'> SOME ARE PENDING RFQ </i></span>";
}
else if($items_status[$s]=='DRAFT_VENDOR_RATE'){
$fit .= "<span class='green'> SOME ARE DRAFT QUOTATION </i></span>";
}
else if($items_status[$s]=="APPROVED_VENDOR_RATE"){
$fit .= "<span class='green'> SOME ARE APPROVED QUOTATION /Pending Dispatch </i></span>";
}
else if($items_status[$s]=='REJECTED' || $items_status[0] == 'SUP_REJECTED_RATE'){
$fit .= "<span class='lighter red'> SOME ARE REJECTED</i></span>";
}
else{
$fit .= "<span class='green'>".$row1['status']."</i></span>";
}
}
$fit.=$space;
}
if($row1['status'] == 'APPROVED' && $rej==0){$task='E';}
else $task='R';
if($hasExecuteAccess)
{
//echo "shubham";
$edit_link="<a href=\"#\"class=\"red\" onclick=\"open_requisition('".$id."','".$task."');\"><i class=\"ace-icon fa fa-edit bigger-130\"></i></a>";
}
$space="&nbsp;&nbsp;&nbsp;";
$links =$edit_link.$space;
if($app_rem=='' || $app_rem==null){
$status=$fit;
}
else $status=$fit.$space."(".$app_rem.")";
$data['rows'][] = array(
'id' => $row1['indent_id'],
'cell' => array($links,$count++,date_format(date_create($row1['indent_date']),"d-M-Y "),$indent_ref_no,$rfq_no,$status)
);
}
$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);