267 lines
11 KiB
PHP
267 lines
11 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');
|
|
|
|
|
|
$role_id = $_SESSION['RoleId'];
|
|
$role_code = getTableFieldValue('role_master', 'role_code', 'role_id', $role_id);
|
|
error_log('rolecode..' . $role_code);
|
|
$status = '';
|
|
if ($role_code == 'HPUS') {
|
|
$status .= "indent_id in ( select indent_id from quotation_list where status='SUP_APPROVED')";
|
|
} elseif ($role_code == 'HOD') {
|
|
$status .= "indent_id in ( select indent_id from quotation_list where status='HSUP_APPROVED')";
|
|
} else {
|
|
$status .= "indent_id in ( select indent_id from quotation_list where ( status='DRAFT_VENDOR_RATE' or status='APPROVED_VENDOR_RATE' ))";
|
|
}
|
|
|
|
|
|
$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);
|
|
|
|
/*$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 where $status $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,ohc_type_id from indent_master where $status";
|
|
error_log('sup q pending ' . $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'];
|
|
$ohc_location = getFieldFromTable('ohc_type_name', 'ohc_type', 'ohc_type_id', $row1['ohc_type_id']);
|
|
|
|
//echo $Department_id;
|
|
$view_link = "";
|
|
$edit_link = "";
|
|
$delete_link = "";
|
|
$status_update_link = "";
|
|
$links = "";
|
|
$pdf_link = '';
|
|
if ($row1['status'] == 'APPROVED_VENDOR_RATE' || $row1['status'] == 'SUP_APPROVED') {
|
|
$task = 'R';
|
|
} else $task = 'E';
|
|
|
|
if ($hasExecuteAccess) {
|
|
//echo "shubham";
|
|
$pdf_link = $space . "<a href=\"#\" class=\"red\" title=\"Quotation Comparison Report\" onclick=\"exporttopdf_common('" . $row1['indent_id'] . "');\"><i class=\"fa fa-file-pdf-o\" style=\"font-size: 15px;\"></i></a>";
|
|
$edit_link = "<a href=\"#\"class=\"red\" onclick=\"open_requisition('" . $id . "','" . $task . "');\"><i class=\"ace-icon fa fa-edit bigger-130\"></i></a>";
|
|
}
|
|
|
|
$sup_doc = "";
|
|
$sup_not_approved_item = 0;
|
|
$items_status = array();
|
|
|
|
$sql_sup = "select indent_doc_id,indent_doc_des from indent_doc where indent_id='" . $row1['indent_id'] . "'";
|
|
error_log("indent po_sql" . $sql_sup);
|
|
$result_sup = mysqli_query($conn, $sql_sup);
|
|
while ($row_sup = mysqli_fetch_assoc($result_sup)) {
|
|
$title_doc = $row_sup['indent_doc_des'];
|
|
$sup_doc .= "<a target=\"_blank\" title=\"$title_doc\" href='getSupDocLink.php?id=" . $row_sup['indent_doc_id'] . "' class=\"red\"><i class=\"ace-icon fa fa-file-pdf-o bigger-130\"></i></a>" . $space;
|
|
}
|
|
|
|
|
|
$app_rem = $row1['approval_remarks'];
|
|
$total_price = 0;
|
|
$item_desc = "";
|
|
$item_qty = "";
|
|
$sup_not_approved_item = 0;
|
|
$items_status = array();
|
|
$indent_ref_no = "<a href=\"#\" class=\"blue\" onclick=\"open_indent_items_pdf('" . $id . "');\">" . $row1['indent_ref_no'] . "</a>";
|
|
$sql_q = "select * from indent_items where indent_id='" . $row1['indent_id'] . "'";
|
|
error_log("indent sql" . $sql_q);
|
|
$result = mysqli_query($conn, $sql_q);
|
|
$rfq_arr = array();
|
|
$rfq_no = '';
|
|
|
|
while ($row2 = mysqli_fetch_assoc($result)) {
|
|
|
|
array_push($rfq_arr, $row2['item_rfq_no']);
|
|
|
|
$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);
|
|
}
|
|
|
|
$total_price += ($ratePerUnit * $item_qty);
|
|
}
|
|
|
|
$space = " ";
|
|
|
|
|
|
|
|
$rfq_arr = array_unique($rfq_arr);
|
|
error_log('rrr' . print_r($rfq_arr, true));
|
|
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>  ";
|
|
}
|
|
|
|
|
|
|
|
|
|
$qts = '';
|
|
$sql_qt = "SELECT DISTINCT(`quotation_no`) as quotation_no,a.status,a.`vendor_id`,b.employer_contractor_name FROM `quotation_list` a left join employer_contractor b on a.vendor_id=b.id where a.indent_id='" . $row1['indent_id'] . "' ";
|
|
error_log("indent qt" . $sql_qt);
|
|
$result_qt = mysqli_query($conn, $sql_qt);
|
|
while ($row_qt = mysqli_fetch_assoc($result_qt)) {
|
|
if ($row_qt['quotation_no'] != '' && $row_qt['quotation_no'] != null) {
|
|
array_push($items_status, $row_qt['status']);
|
|
$qts .= "<a href=\"#\" class=\"green\" onclick=\"open_qt_items_pdf('" . $row_qt['quotation_no'] . "','" . $row_qt['vendor_id'] . "');\">" . $row_qt['quotation_no'] . " ( " . $row_qt['employer_contractor_name'] . " )" . '<br>' . "</a>";
|
|
if ($row_qt['status'] == 'APPROVED_VENDOR_RATE') {
|
|
$sup_not_approved_item++;
|
|
}
|
|
}
|
|
}
|
|
|
|
$items_status = array_unique($items_status);
|
|
error_log('nonsup' . $sup_not_approved_item);
|
|
|
|
error_log(' stst ' . print_r($items_status, true));
|
|
$fit = "";
|
|
|
|
if (count($items_status) == 1) {
|
|
if ($items_status[0] == 'APPROVED_LEVEL_2') {
|
|
$fit = "<span class='green'>PENDING </i></span>";
|
|
} else if ($items_status[0] == 'APPROVED_VENDOR_RATE' && $sup_not_approved_item != 0) {
|
|
$fit = "<span class='green'>PENDING QUOTATION APPROVAL </i></span>";
|
|
} else if ($items_status[0] == 'SUP_APPROVED' && $sup_not_approved_item >= 0) {
|
|
if ($role_code == 'HPUS') {
|
|
$fit = "<span class='green'>PENDING QUOTATION APPROVAL </i></span>";
|
|
} else {
|
|
$fit = "<span class='green'>SENT TO HEAD For APPROVAL </i></span>";
|
|
}
|
|
} else if ($items_status[0] == 'HSUP_APPROVED' && $sup_not_approved_item >= 0) {
|
|
if ($role_code == 'HOD') {
|
|
$fit = "<span class='green'>PENDING QUOTATION APPROVAL </i></span>";
|
|
} else {
|
|
$fit = "<span class='green'>SENT TO HEAD For APPROVAL </i></span>";
|
|
}
|
|
} else {
|
|
$fit = "<span class='lighter red'>REJECTED</i></span>";
|
|
}
|
|
} else {
|
|
|
|
for ($s = 0; $s < count($items_status); $s++) {
|
|
if ($items_status[$s] == 'APPROVED_LEVEL_2' || $items_status[$s] == '') {
|
|
$fit .= "<span class='green'>Some ARE PENDING FOR RFQ, </i></span>";
|
|
} else if ($items_status[$s] == 'PENDING_RATE' && $sup_not_approved_item != 0) {
|
|
$fit .= "<span class='green'>Some ARE PENDING On RFQ </i></span>";
|
|
} else if ($items_status[$s] == 'APPROVED_VENDOR_RATE' && $sup_not_approved_item != 0) {
|
|
$fit .= "<span class='green'>Some ARE PENDING QUOTATION APPROVAL </i></span>";
|
|
} else if ($items_status[$s] == 'SUP_APPROVED' && $sup_not_approved_item >= 0) {
|
|
if ($role_code == 'HPUS') {
|
|
$fit .= "<span class='green'>Some Are PENDING QUOTATION APPROVAL </i></span>";
|
|
} else {
|
|
$fit .= "<span class='green'>Some Are SENT TO HEAD For APPROVAL </i></span>";
|
|
}
|
|
} else if ($items_status[$s] == 'HSUP_APPROVED' && $sup_not_approved_item >= 0) {
|
|
if ($role_code == 'HOD') {
|
|
$fit .= "<span class='green'>Some Are PENDING QUOTATION APPROVAL </i></span>";
|
|
} else {
|
|
$fit .= "<span class='green'>Some Are SENT TO HEAD For APPROVAL </i></span>";
|
|
}
|
|
} else {
|
|
$fit .= "<span class='lighter red'>Some Are REJECTED</i></span>";
|
|
}
|
|
$fit .= $space;
|
|
}
|
|
}
|
|
|
|
$links = $edit_link . $space . $pdf_link;
|
|
$status = $fit;
|
|
|
|
$data['rows'][] = array(
|
|
'id' => $row1['indent_id'],
|
|
'cell' => array($count++, $links, $sup_doc, $ohc_location, date_format(date_create($row1['indent_date']), "d-M-Y "), $indent_ref_no, $qts, round($total_price, 2), $row1['remarks'], $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);
|