csrtechnew.ohctech.in/vendor_ap_quotation_master_script.php
2025-04-14 13:28:09 +05:30

167 lines
6.6 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 mysqli database
if (!$conn) {
error_log('Database connection failed.');
exit('Database connection failed.');
}
$user_id=$_SESSION['user_id'];
error_log('xxxxxxxxx'.$user_id);
$contractor_id=getTableFieldValue('tbl_users','vendor_id','user_id',$user_id);
// Default values
$page = 1;
$sortname = 'quotation_id';
$sortorder = 'asc';
$qtype = '';
$query = '';
$rp = 10; // Default records per page
$page = isset($_POST['page']) ? intval($_POST['page']) : $page;
$sortname = isset($_POST['sortname']) ? mysqli_real_escape_string($conn, $_POST['sortname']) : $sortname;
$sortorder = isset($_POST['sortorder']) ? mysqli_real_escape_string($conn, $_POST['sortorder']) : $sortorder;
$qtype = isset($_POST['qtype']) ? mysqli_real_escape_string($conn, $_POST['qtype']) : $qtype;
$query = isset($_POST['query']) ? mysqli_real_escape_string($conn, $_POST['query']) : $query;
$rp = isset($_POST['rp']) ? intval($_POST['rp']) : $rp;
$hasReadAccess = isAccessible($_SESSION['RoleId'], $menu_key, 'R');
$hasWriteAccess = isAccessible($_SESSION['RoleId'], $menu_key, 'W');
$hasExecuteAccess = isAccessible($_SESSION['RoleId'], $menu_key, 'E');
// Get total count of records
$total_sql = "select count(distinct(quotation_no)) from quotation_list where indent_id in (SELECT indent_id from indent_master where ohc_type_id in ('" .getTableFieldValue('tbl_users','ohc_type','user_id',$_SESSION['user_id']) . "' )) $searchSql $sortSql";
error_log($total_sql);
$result = mysqli_query($conn, $total_sql);
if (!$result) {
error_log('Query failed: ' . mysqli_error($conn));
exit('Query failed.');
}
$row = mysqli_fetch_array($result);
$total = $row[0];
// Setup paging SQL
$pageStart = ($page - 1) * $rp;
$limitSql = "LIMIT $pageStart, $rp";
$sql1 = "select distinct(quotation_no) from quotation_list where indent_id in (SELECT indent_id from indent_master where ohc_type_id in ('" .getTableFieldValue('tbl_users','ohc_type','user_id',$_SESSION['user_id']) . "' )) $searchSql $sortSql $limitSql";
error_log($sql1);
$results_section = mysqli_query($conn, $sql1);
if (!$results_section) {
error_log('Query failed: ' . mysqli_error($conn));
exit('Query failed.');
}
$data = array();
$data['page'] = $page;
$data['total'] = $total;
$data['rows'] = array();
$count = ($page - 1) * $rp + 1;
while ($row1 = mysqli_fetch_assoc($results_section)) {
$id = $row1['quotation_no'];
$sql2 = "select * from quotation_list where FIND_IN_SET($contractor_id,vendor_id) and quotation_no='".$row1['quotation_no']."' limit 1";
error_log($sql2);
$results_section2 = mysqli_query($conn, $sql2);
if (!$results_section2) {
error_log('Query failed: ' . mysqli_error($conn));
exit('Query failed.');
}
$items_status=array();
$rfq_no='';
while ($row2 = mysqli_fetch_assoc($results_section2)) {
$indent_no = getTableFieldValue('indent_master', 'indent_ref_no', 'indent_id', $row2['indent_id']);
$rfq_no.="<a href=\"#\" class=\"red\" onclick=\"open_rfq_items_pdf('" . $row2['indent_id'] . "','" . $contractor_id . "');\">" . $row2['rfq_no'] . "</a>&nbsp;&nbsp;&nbsp;&nbsp";
$vendor_remarks=$row2['vendor_remarks'];
$qt_date=$row2['quotation_date'];
array_push($items_status,$row2['status']);
}
$quotation_no = "<a href=\"#\" class=\"green\" onclick=\"open_qt_items_pdf('" . $id . "','".$contractor_id."');\">" . $row1['quotation_no'] . "</a>";
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>";
}
$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]=="APPROVED_VENDOR_RATE"){
$fit = "<span class='green'>Quotation Sent /Pending Approval </i></span>";
}
else if($items_status[0]=='DRAFT_VENDOR_RATE'){
$fit = "<span class='green'>DRAFT QUOTATION </i></span>";
}
else if( $items_status[0]='RFQ_RETURNED'){
$fit = "<span class='green'>PENDING RFQ </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;
}
$links =$edit_link.$space;
$data['rows'][] = array(
'id' => $row1['quotation_id'],
'cell' => array($count++,
// $links ,
$rfq_no, $quotation_no,$indent_no, $vendor_remarks,$qt_date ,$fit)
);
}
// Output JSON data
header('Content-Type: application/json');
echo json_encode($data);
// Close the connection
mysqli_close($conn);
?>