1076 lines
46 KiB
Plaintext
1076 lines
46 KiB
Plaintext
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
|
|
pageEncoding="ISO-8859-1"%>
|
|
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
|
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
|
<link href="/matrix/css/bootstrap.css" rel="stylesheet" type="text/css" />
|
|
<link href="/matrix/css/menu.css" rel="stylesheet" type="text/css" />
|
|
<link href="/matrix/css/div.css" rel="stylesheet" type="text/css" />
|
|
<link href="/matrix/css/open-iconic-bootstrap.css" rel="stylesheet" type="text/css" />
|
|
<link href="/matrix/css/dataTables.bootstrap4.min.css" rel="stylesheet" type="text/css" />
|
|
<link href="/matrix/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
|
|
<script language="javascript" src="/matrix/js/jquery.min.js" type="text/javascript"></script>
|
|
<script language="javascript" src="/matrix/js/lib/jsfuncs.js" type="text/javascript"></script>
|
|
<script language="javascript" src="/matrix/js/ui/uifuncs.js" type="text/javascript"></script>
|
|
<script language="javascript" src="/matrix/js/bootstrap.js" type="text/javascript"></script>
|
|
<script language="javascript" src="/matrix/js/jquery.dataTables.min.js" type="text/javascript"></script>
|
|
<script language="javascript" src="/matrix/js/dataTables.bootstrap4.min.js" type="text/javascript"></script>
|
|
<script language="javascript" src="/matrix/js/Chart.js" type="text/javascript"></script>
|
|
<script language="javascript" src="/matrix/js/appjs/dashageing.js?ver=8" type="text/javascript"></script>
|
|
<title>Nimble 1.0</title>
|
|
<style>
|
|
table.dataTable thead .sorting:before, table.dataTable thead .sorting_asc:before, table.dataTable thead .sorting_desc:before, table.dataTable thead .sorting_asc_disabled:before, table.dataTable thead .sorting_desc_disabled:before {
|
|
right: 1em;
|
|
content: "\02C6" !important;
|
|
}
|
|
|
|
table.dataTable thead .sorting:after, table.dataTable thead .sorting_asc:after, table.dataTable thead .sorting_desc:after, table.dataTable thead .sorting_asc_disabled:after, table.dataTable thead .sorting_desc_disabled:after {
|
|
right: 0.5em;
|
|
content: "\02C7" !important;
|
|
}
|
|
</style>
|
|
<script>
|
|
|
|
scanning_hours = [9,10,11,12,13,14,15,16,17,18,19,20,21];
|
|
hourlyDetails = {};
|
|
oprHourly = {};
|
|
edpHourly = {};
|
|
scanHourly = {};
|
|
tosHourly = {};
|
|
tosHourlyRih = {};
|
|
totalLoad = {};
|
|
hourlymode = 'radioscannerhourly';
|
|
|
|
function getLast3Months() {
|
|
var monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
|
|
"Jul", "Aug", "Sept", "Oct", "Nov", "Dec"
|
|
];
|
|
var today = new Date();
|
|
for (i = 5; i > 2; i--) {
|
|
let mon = (today.getMonth() - i);
|
|
let yr = today.getFullYear();
|
|
|
|
if(mon < 0){
|
|
mon = mon + 12;
|
|
yr = yr - 1;
|
|
}
|
|
$("#selectmonth").append('<option value="'+(i)+'">'+(monthNames[mon] + '-' + yr)+'</option>');
|
|
}
|
|
$("#selectmonth").on('change',function(){
|
|
if(this.value){
|
|
partialDash('3monthsfigures',null);
|
|
}
|
|
});
|
|
}
|
|
|
|
$( document ).ready(function() {
|
|
var usgid = $('#usgid').val();
|
|
var usid = $('#usid').val();
|
|
$('.hourly_user_mis').hide();
|
|
|
|
if(usgid !=7 && usgid !=13 && usgid !=9 && usgid !=17 && usgid !=18){
|
|
$(".ajax-loading").hide();
|
|
getVisits("visits");
|
|
if(usgid == 11 || usgid ==10 || usgid ==12){
|
|
$('.hourly_user_mis').show();
|
|
}
|
|
if(usid == 488 || usid == 21 || usid == 84 || usid == 81 || usid == 59 || usid == 17){
|
|
getLast3Months();
|
|
$('.hourly_user_mis').show();
|
|
setInterval(function(){
|
|
getVisits("visits");
|
|
}, 240000);
|
|
}
|
|
|
|
$(".risklevelcount").on('click',function(e){
|
|
getRiskCaseDetails(this);
|
|
});
|
|
|
|
$(".agecount").on('click',function(e){
|
|
getAgeingCaseDetails(this);
|
|
});
|
|
|
|
$('input[type=radio][name=radiodocageing]').change(function() {
|
|
$('label[id^="lbl-radio"]').each(function(){
|
|
$(this).removeClass('text-white');
|
|
});
|
|
$('#lbl-'+$(this).attr('id')).addClass('text-white');
|
|
docageingmode = $(this).attr('id');
|
|
populateDocAgeingTable();
|
|
});
|
|
|
|
$('input[type=radio][name=radiohourly]').change(function() {
|
|
$('label[id^="lbl-radio"]').each(function(){
|
|
$(this).removeClass('text-white');
|
|
});
|
|
$('#lbl-'+$(this).attr('id')).addClass('text-white');
|
|
hourlymode = $(this).attr('id');
|
|
PopulateHourlyTable();
|
|
});
|
|
|
|
if($("#usid").val()==21 || $("#usid").val()==488 || $("#usid").val()==84 || $("#usid").val()==81)
|
|
initChart([0, 0, 0],[0, 0, 0],['M1', 'M2','M3'],[0, 0, 0],[0, 0, 0]);
|
|
}
|
|
});
|
|
function PopulateHourlyTable(){
|
|
if(hourlymode == 'radioscannerhourly'){
|
|
hourlyUserFigures(scanHourly);
|
|
hourlyTosFigures(tosHourly);
|
|
}
|
|
|
|
else if(hourlymode == 'radiooprhourly'){
|
|
hourlyUserFigures(oprHourly);
|
|
hourlyTosFigures(tosHourlyRih);
|
|
}
|
|
|
|
else if(hourlymode == 'radioedphourly'){
|
|
hourlyUserFigures(edpHourly);
|
|
hourlyTosFigures(null);
|
|
}
|
|
}
|
|
function initChart(visits,docs,months,totvisits,totdocs){
|
|
|
|
var multipleBarChart = document.getElementById('multipleBarChart').getContext('2d');
|
|
|
|
var myMultipleBarChart = new Chart(multipleBarChart, {
|
|
type: 'bar',
|
|
data: {
|
|
labels: months,
|
|
datasets : [
|
|
{
|
|
label: "Tot.Visits",
|
|
backgroundColor: '#d4fcd5',
|
|
borderColor: '#59d05d',
|
|
borderWidth:0.5,
|
|
stack:'month',
|
|
data: totvisits,
|
|
},
|
|
{
|
|
label: "Tot.Docs",
|
|
backgroundColor: '#ffe6c7',
|
|
borderColor: '#fdaf4b',
|
|
borderWidth:0.5,
|
|
stack:'month',
|
|
data: totdocs,
|
|
},
|
|
{
|
|
label: "Visits (Inc. * Reports)",
|
|
backgroundColor: '#59d05d',
|
|
borderColor: '#59d05d',
|
|
stack:'datewise',
|
|
data: visits,
|
|
},{
|
|
label: "Billable Documents",
|
|
backgroundColor: '#fdaf4b',
|
|
borderColor: '#fdaf4b',
|
|
stack:'datewise',
|
|
data: docs,
|
|
}
|
|
],
|
|
},
|
|
options: {
|
|
responsive: true,
|
|
maintainAspectRatio: false,
|
|
hover: {mode: null},
|
|
legend: {
|
|
position : 'bottom'
|
|
},
|
|
title: {
|
|
display: true,
|
|
text: 'Last 3 Months Comparison Chart',
|
|
padding: 20
|
|
},
|
|
tooltips: {
|
|
enabled:false
|
|
},
|
|
scales: {
|
|
xAxes: [{
|
|
stacked: true,
|
|
}],
|
|
yAxes: [{
|
|
stacked: true
|
|
}]
|
|
},
|
|
animation: {
|
|
duration: 0,
|
|
onComplete: function () {
|
|
var chartInstance = this.chart,
|
|
ctx = chartInstance.ctx;
|
|
ctx.textBaseline = 'middle';
|
|
ctx.textAlign = 'center';
|
|
var stack = 1;
|
|
var dset = [];
|
|
this.data.datasets.forEach(function (dataset, i) {
|
|
var meta = chartInstance.controller.getDatasetMeta(i);
|
|
meta.data.forEach(function (bar, index) {
|
|
var data = dataset.data[index];
|
|
if(data > 0){
|
|
ctx.fillStyle = "rgba(55, 55, 55, 1)";
|
|
ctx.font = "bold 0.7em Tahoma";
|
|
ctx.fillText(data, bar._model.x, bar._model.y + 20);
|
|
}
|
|
if(stack == 2 || stack == 4){
|
|
|
|
|
|
if(data+dset[index] > 0){
|
|
ctx.fillStyle = "rgba(21, 142, 161, 1)";
|
|
ctx.font = "bold 0.9em Tahoma";
|
|
if(stack==2){
|
|
ctx.fillStyle = "rgba(84, 84, 84, 1)";
|
|
ctx.font = "bold 0.9em Tahoma";
|
|
}
|
|
ctx.fillText(data+dset[index], bar._model.x, bar._model.y - 10);
|
|
}
|
|
}
|
|
else{
|
|
dset[index]=data;
|
|
}
|
|
});
|
|
stack++;
|
|
});
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
function showDetail(ev,elm) {
|
|
ev.preventDefault();
|
|
var target;
|
|
if (elm.hasAttribute('data-target')) {
|
|
target = $($(elm).attr('data-target'));
|
|
} else {
|
|
target = $(elm.getAttribute('href'));
|
|
};
|
|
$(target).toggleClass("collapse");
|
|
};
|
|
|
|
function partialDash(widget,params){
|
|
$("."+widget).hide();
|
|
$(".ajax-"+widget).show();
|
|
querystr ="widget="+widget+"¶ms=";
|
|
if(widget == '3monthsfigures'){
|
|
if($("#selectmonth").val()==''){
|
|
return;
|
|
}
|
|
querystr = querystr + $("#selectmonth").val();
|
|
}
|
|
$.ajax({
|
|
type: "GET",
|
|
url: "dashpartial",
|
|
data: querystr,
|
|
success: function(response){
|
|
$("."+widget).show();
|
|
$(".ajax-"+widget).hide();
|
|
jsonObj = JSON.parse(response);
|
|
prepareAndInitChartData(jsonObj);
|
|
},
|
|
error: function(e){
|
|
$("."+widget).show();
|
|
$(".ajax-"+widget).hide();
|
|
}
|
|
});
|
|
}
|
|
function getVisits(){
|
|
|
|
$(".refresh-button").hide();
|
|
$(".ajax-loading").show();
|
|
|
|
$.ajax({
|
|
type: "GET",
|
|
url: "dashgetvisits",
|
|
data: "usid="+$("#usid").val(),
|
|
success: function(response){
|
|
|
|
jsonObj = JSON.parse(response);
|
|
visits = jsonObj.visits;
|
|
$("#visit-bk-total").html(visits.backlog.total);
|
|
$("#visit-bk-done").html(visits.backlog.done);
|
|
$("#visit-bk-pending").html(visits.backlog.pending);
|
|
$("#visit-bk-rih").html(visits.backlog.rih);
|
|
$("#visit-bk-tos").html(visits.backlog.tos);
|
|
$("#visit-bk-sol").html(visits.backlog.solved);
|
|
|
|
$("#visit-am-total").html(visits.am.total);
|
|
$("#visit-am-done").html(visits.am.done);
|
|
|
|
$("#visit-am-pending").html(visits.am.pending);
|
|
$("#visit-am-rih").html(visits.am.rih);
|
|
$("#visit-am-tos").html(visits.am.tos);
|
|
$("#visit-am-sol").html(visits.am.solved);
|
|
|
|
$("#visit-pm-total").html(visits.pm.total);
|
|
$("#visit-pm-done").html(visits.pm.done);
|
|
$("#visit-pm-pending").html(visits.pm.pending);
|
|
$("#visit-pm-rih").html(visits.pm.rih);
|
|
$("#visit-pm-tos").html(visits.pm.tos);
|
|
$("#visit-pm-sol").html(visits.pm.solved);
|
|
|
|
total = visits.backlog.total + visits.am.total + visits.pm.total;
|
|
done = visits.backlog.done + visits.am.done + visits.pm.done;
|
|
pending = visits.backlog.pending + visits.am.pending + visits.pm.pending;
|
|
rih = visits.backlog.rih + visits.am.rih + visits.pm.rih;
|
|
tos = visits.backlog.tos + visits.am.tos + visits.pm.tos;
|
|
sol = visits.backlog.solved + visits.am.solved + visits.pm.solved;
|
|
|
|
$("#visit-total").html(total);
|
|
$("#visit-done").html(done);
|
|
|
|
//Update total reports taken in below photograph section also
|
|
$("#photo-reports-taken").html(done);
|
|
|
|
$("#visit-pending").html(pending);
|
|
$("#visit-rih").html(rih);
|
|
$("#visit-tos").html(tos);
|
|
$("#visit-sol").html(sol);
|
|
|
|
$(".generated-on").html(visits.generatedon);
|
|
|
|
oprHourly = jsonObj.opr_hourly;
|
|
edpHourly = jsonObj.edp_hourly;
|
|
scanHourly = jsonObj.scanner_hourly;
|
|
tosHourly = jsonObj.hourly_tos;
|
|
tosHourlyRih = jsonObj.opr_hourly_rih;
|
|
|
|
var usgid = $('#usgid').val();
|
|
if(usgid == 11 || usgid ==10 || usgid ==12){
|
|
PopulateHourlyTable();
|
|
}
|
|
|
|
riskalertsfigures(jsonObj.riskalerts_n_photo);
|
|
ageingFigures(jsonObj.ageing_mis);
|
|
totalLoad = jsonObj.total;
|
|
|
|
$(".ajax-loading").hide();
|
|
$(".refresh-button").show();
|
|
if($("#usid").val()==21 || $("#usid").val()==488 || $("#usid").val()==84 || $("#usid").val()==81){
|
|
prepareAndInitChartData(jsonObj);
|
|
}
|
|
},
|
|
error: function(e){
|
|
$(".ajax-loading").hide();
|
|
}
|
|
});
|
|
|
|
}
|
|
function prepareAndInitChartData(jsonObj){
|
|
var combinedmonths = jsonObj.load.monthv.concat(jsonObj.load.monthd);
|
|
var months = combinedmonths.filter((item, pos) => combinedmonths.indexOf(item) === pos)
|
|
var totvisits = jsonObj.total.visits;
|
|
var totdocs = jsonObj.total.docs;
|
|
totvisits[2] = 0;
|
|
totdocs[2] = 0;
|
|
initChart(jsonObj.load.visits,jsonObj.load.docs,months,totvisits,totdocs);
|
|
}
|
|
function hourlyTosFigures(jsonArray){
|
|
scanning_hours.forEach((item)=>{
|
|
$('#hour-'+item).html("0");
|
|
});
|
|
if(jsonArray && jsonArray.length > 0){
|
|
jsonArray.forEach((item)=>{
|
|
$('#'+item.id).html(item.cases+item.unsolved);
|
|
});
|
|
}
|
|
}
|
|
|
|
function hourlyUserFigures(jsonArray){
|
|
|
|
if(jsonArray && jsonArray.length > 0){
|
|
|
|
let hourlymis_tablehtml = '';
|
|
let prev_scanner = '';
|
|
let rowid = 0;
|
|
let col_values = [];
|
|
|
|
jsonArray.forEach((item)=>{
|
|
|
|
if(prev_scanner != item.name)
|
|
{
|
|
|
|
prev_scanner = item.name;
|
|
rowid = rowid + 1;
|
|
hourlymis_tablehtml = hourlymis_tablehtml + '<tr class="hourlymis_data">';
|
|
hourlymis_tablehtml = hourlymis_tablehtml + '<td scope="row" style="text-align:left;padding-left:0.5rem" >'+item.name+'</td>';
|
|
|
|
scanning_hours.forEach((hour,cindex)=>{
|
|
hourlymis_tablehtml = hourlymis_tablehtml + '<td scope="row" class="reporting-data" data-usid="'+item.usid+'" data-hour="'+hour+'" data-name="'+item.name+'" id="'+rowid+ '-' + hour +'" style="text-decoration:underline;cursor:pointer" onclick="detailedHourlyMis(this)">0</td>';
|
|
});
|
|
|
|
hourlymis_tablehtml = hourlymis_tablehtml + '<td scope="row" id="'+rowid+'-total" data-usid="'+item.usid+'" data-hour="0" data-name="'+item.name+'" style="font-weight:bold;text-decoration:underline;cursor:pointer" onclick="detailedHourlyMis(this)">0</td>';
|
|
hourlymis_tablehtml = hourlymis_tablehtml + '<td scope="row" class="reporting-data" id="'+rowid+'-weightage" data-usid="'+item.usid+'" data-hour="0" data-name="'+item.name+'" style="font-weight:bold">0</td>';
|
|
hourlymis_tablehtml = hourlymis_tablehtml + '</tr>';
|
|
|
|
}
|
|
|
|
cases_count = {};
|
|
|
|
cases_count ["id"] = rowid+'-'+item.time;
|
|
cases_count ["count"] = item.count;
|
|
cases_count ["rowid"] = rowid;
|
|
cases_count ["hour"] = item.time;
|
|
cases_count ["weightage"] = item.weightage;
|
|
|
|
col_values.push(cases_count);
|
|
|
|
});
|
|
|
|
$('#hourlymis_scanning').html(hourlymis_tablehtml);
|
|
|
|
let row_total = 0;
|
|
|
|
col_values.forEach((item)=>{
|
|
let col_footer = $('#total-'+item.hour).html("0");
|
|
$('#total-total').html("0");
|
|
});
|
|
var totalscanned = 0;
|
|
col_values.forEach((item)=>{
|
|
|
|
$('#'+item.id).html(item.count);
|
|
let total_col = $('#'+item.rowid+'-total');
|
|
$(total_col).html(parseInt($(total_col).html()) + parseInt(item.count));
|
|
|
|
let total_weight = $('#'+item.rowid+'-weightage');
|
|
$(total_weight).html((parseFloat($(total_weight).html()) + parseFloat(item.weightage)));
|
|
|
|
let col_footer = $('#total-'+item.hour);
|
|
$(col_footer).html(parseInt($(col_footer).html()) + parseInt(item.count));
|
|
|
|
let footer_total = $('#total-total');
|
|
totalscanned = totalscanned + parseInt(item.count);
|
|
$(footer_total).html(parseInt($(footer_total).html()) + parseInt(item.count));
|
|
});
|
|
|
|
var totalscanners = $("#hourlymis_scanning tr").length;
|
|
var average = totalscanned/totalscanners;
|
|
var usertype = hourlymode == 'radioscannerhourly' ? 'Scanners: ' : 'Operators: ';
|
|
$("#total-scanner").html(usertype+totalscanners);
|
|
$("#scanner-average").html("Average: "+(average.toFixed(2)));
|
|
|
|
}
|
|
}
|
|
|
|
function riskalertsfigures(jsonObj){
|
|
var level1 = jsonObj.hasOwnProperty('level1') ? jsonObj.level1 : 0;
|
|
var level2 = jsonObj.hasOwnProperty('level2') ? jsonObj.level2 : 0;
|
|
var level3 = jsonObj.hasOwnProperty('level3') ? jsonObj.level3 : 0;
|
|
var level4 = jsonObj.hasOwnProperty('level4') ? jsonObj.level4 : 0;
|
|
var level11 = jsonObj.hasOwnProperty('level11') ? jsonObj.level11 : 0;
|
|
$("#risk-1").html(level1);
|
|
$("#risk-2").html(level2);
|
|
$("#risk-3").html(level3);
|
|
$("#risk-4").html(level4);
|
|
$("#risk-11").html(level11);
|
|
$("#risk-total").html(level1+level2+level3+level4+level11);
|
|
$("#photo-with-photo").html(jsonObj.hasOwnProperty('photograph') ? jsonObj.photograph : 0);
|
|
|
|
}
|
|
|
|
|
|
|
|
function detailedHourlyMis(el){
|
|
var usid = $(el).attr('data-usid');
|
|
var hour = $(el).attr('data-hour');
|
|
var name = $(el).attr('data-name');
|
|
$("#modalTitle").html(name);
|
|
$.ajax({
|
|
type: "GET",
|
|
url: "dashdethourlymis",
|
|
data: "usid="+usid+"&hour="+hour,
|
|
success: function(response){
|
|
hourlyDetails = JSON.parse(response);
|
|
openModalForDetailHourlyMis(hourlyDetails.data);
|
|
},
|
|
error: function(e){
|
|
alert(e);
|
|
}
|
|
});
|
|
}
|
|
function openModalForDetailHourlyMis(jsonArr){
|
|
const map = jsonArr.reduce((acc, e) => acc.set(e.portname, (acc.get(e.portname) || 0) + 1), new Map());
|
|
var portfolios = [...map.entries()];
|
|
portfolios.sort(function (a,b) {
|
|
if (a[1] < b[1]) return 1;
|
|
if (a[1] > b[1]) return -1;
|
|
return 0;
|
|
});
|
|
var modalContent = '<div class="container"><table class="table table-striped table-md border small">';
|
|
modalContent = modalContent + '<thead><tr><th class="col-md-9" style="text-align:left">Portfolio</th>';
|
|
modalContent = modalContent + '<th class="col-md-9" style="text-align:left">Count</th></tr></thead><tbody>';
|
|
for (var portfolio of portfolios){
|
|
modalContent = modalContent + '<tr><td class="col-md-9 " style="text-align:left">'+portfolio[0]+'</td>';
|
|
modalContent = modalContent + '<td class="col-md-3" style="font-size:0.9rem">'+portfolio[1]+'</td></tr>';
|
|
}
|
|
modalContent = modalContent + '</tbody></table></div>';
|
|
$(".modal-body").html(modalContent);
|
|
$("#helperModal").modal();
|
|
$(".modal-dialog").removeClass('modal-xl');
|
|
}
|
|
|
|
function getRiskCaseDetails(elm){
|
|
var risklevel = $(elm).attr('code');
|
|
var cases = $(elm).html();
|
|
var desc = $(elm).attr('value');
|
|
|
|
$("#modalTitle").html(cases+" "+(desc+" Cases").trim());
|
|
$.ajax({
|
|
type: "GET",
|
|
url: "dashdetriskmis",
|
|
data: "risklevel="+risklevel,
|
|
success: function(response){
|
|
caseDetails = JSON.parse(response);
|
|
openModalForDetailRiskMis(caseDetails.data);
|
|
},
|
|
error: function(e){
|
|
alert(e);
|
|
}
|
|
});
|
|
}
|
|
|
|
function getAgeingCaseDetails(elm){
|
|
var age = $(elm).attr('code');
|
|
var cases = $(elm).html();
|
|
var desc = $(elm).attr('value');
|
|
var portid = $(elm).attr('data-port');
|
|
$("#modalTitle").html(cases+" "+(desc+" Cases").trim());
|
|
$.ajax({
|
|
type: "GET",
|
|
url: "dashdetageingmis",
|
|
data: "age="+age+"&portfolioid="+portid,
|
|
success: function(response){
|
|
caseDetails = JSON.parse(response);
|
|
openModalForAgeingDetailMis(caseDetails.data);
|
|
},
|
|
error: function(e){
|
|
alert(e);
|
|
}
|
|
});
|
|
}
|
|
|
|
function openModalForAgeingDetailMis(jsonArr){
|
|
|
|
var modalContent = '<div class="container"><table class="table table-striped table-md border small">';
|
|
modalContent = modalContent + '<thead><tr>';
|
|
modalContent = modalContent + '<th style="text-align:left">Portfolio</th>';
|
|
modalContent = modalContent + '<th style="text-align:left">MV Code</th>';
|
|
modalContent = modalContent + '<th style="text-align:left">File No</th>';
|
|
modalContent = modalContent + '<th style="text-align:left">Customer Name</th>';
|
|
modalContent = modalContent + '<th style="text-align:left">Rec. Date</th>';
|
|
modalContent = modalContent + '<th style="text-align:left">RV</th>';
|
|
modalContent = modalContent + '<th style="text-align:left">OV</th>';
|
|
modalContent = modalContent + '<th style="text-align:left">PV</th>';
|
|
modalContent = modalContent + '<th style="text-align:left">Verifier</th>';
|
|
modalContent = modalContent + '</tr></thead><tbody>';
|
|
var i = 0;
|
|
for (var jsonRow of jsonArr){
|
|
i = i + 1;
|
|
modalContent = modalContent + '<tr style="cursor:pointer" onclick="showDetail(event,this)" data-target="#child-'+i+'" data-toggle="collapseDetail">';
|
|
modalContent = modalContent + '<td style="text-align:left">'+jsonRow.portname+'</td>';
|
|
modalContent = modalContent + '<td style="text-align:left">'+jsonRow.mvcode+'</td>';
|
|
modalContent = modalContent + '<td style="text-align:left">'+jsonRow.applno+'</td>';
|
|
modalContent = modalContent + '<td style="text-align:left">'+jsonRow.customername+'</td>';
|
|
modalContent = modalContent + '<td style="text-align:left">'+jsonRow.receivedon+'</td>';
|
|
modalContent = modalContent + '<td style="text-align:left">'+(jsonRow.rv==1 ? 'Y':'N')+'</td>';
|
|
modalContent = modalContent + '<td style="text-align:left">'+(jsonRow.ov==1 ? 'Y':'N')+'</td>';
|
|
modalContent = modalContent + '<td style="text-align:left">'+(jsonRow.pv==1 ? 'Y':'N')+'</td>';
|
|
modalContent = modalContent + '<td style="text-align:left">'+jsonRow.verifier+'</td>';
|
|
modalContent = modalContent + '</tr>';
|
|
|
|
modalContent = modalContent + '<tr id="child-'+i+'" class="collapse collapseDetail">';
|
|
modalContent = modalContent + '<td style="text-align:left" colspan="9">';
|
|
modalContent = modalContent + '<span class="detailsheading">Pending Remarks:</span>'+ jsonRow.pendingremarks;
|
|
modalContent = modalContent + '</td>';
|
|
modalContent = modalContent + '</tr>';
|
|
}
|
|
modalContent = modalContent + '</tbody></table></div>';
|
|
$(".modal-body").html(modalContent);
|
|
$("#helperModal").modal();
|
|
$(".modal-dialog").removeClass('modal-xl').addClass('modal-xl');
|
|
}
|
|
|
|
function openModalForDetailRiskMis(jsonArr){
|
|
|
|
var modalContent = '<div class="container"><table class="table table-striped table-md border small">';
|
|
modalContent = modalContent + '<thead><tr>';
|
|
modalContent = modalContent + '<th style="text-align:left">Code</th>';
|
|
modalContent = modalContent + '<th style="text-align:left">Portfolio</th>';
|
|
modalContent = modalContent + '<th style="text-align:left">Name</th>';
|
|
modalContent = modalContent + '<th style="text-align:left">Visit</th>';
|
|
modalContent = modalContent + '<th style="text-align:left">Address</th>';
|
|
modalContent = modalContent + '<th style="text-align:left">Rec. Date</th>';
|
|
modalContent = modalContent + '</tr></thead><tbody>';
|
|
var i = 0;
|
|
for (var jsonRow of jsonArr){
|
|
i = i + 1;
|
|
modalContent = modalContent + '<tr style="cursor:pointer" onclick="showDetail(event,this)" data-target="#child-'+i+'" data-toggle="collapseDetail">';
|
|
modalContent = modalContent + '<td style="text-align:left">'+jsonRow.verifiercode+'</td>';
|
|
modalContent = modalContent + '<td style="text-align:left">'+jsonRow.portname+'</td>';
|
|
modalContent = modalContent + '<td style="text-align:left">'+jsonRow.customername+'</td>';
|
|
modalContent = modalContent + '<td style="text-align:left">'+jsonRow.visit+'</td>';
|
|
modalContent = modalContent + '<td style="text-align:left">'+jsonRow.addr+'</td>';
|
|
modalContent = modalContent + '<td style="text-align:left">'+jsonRow.recdate+'</td>';
|
|
modalContent = modalContent + '</tr>';
|
|
|
|
modalContent = modalContent + '<tr id="child-'+i+'" class="collapse collapseDetail">';
|
|
modalContent = modalContent + '<td style="text-align:left" colspan="6">';
|
|
modalContent = modalContent + '<span class="detailsheading">File No:</span>'+ jsonRow.applno;
|
|
modalContent = modalContent + '<span class="detailsheading">Batch:</span>'+ jsonRow.batch;
|
|
modalContent = modalContent + '<span class="detailsheading">Operator:</span>'+ jsonRow.oprname;
|
|
modalContent = modalContent + '<span class="detailsheading">Photograph:</span>'+ (jsonRow.downloaded==1 ? 'Yes':'No');
|
|
modalContent = modalContent + '</td>';
|
|
modalContent = modalContent + '</tr>';
|
|
}
|
|
modalContent = modalContent + '</tbody></table></div>';
|
|
$(".modal-body").html(modalContent);
|
|
$("#helperModal").modal();
|
|
$(".modal-dialog").removeClass('modal-xl').addClass('modal-xl');
|
|
}
|
|
|
|
</script>
|
|
<style type="text/css">
|
|
.widget-container{
|
|
margin:1em;
|
|
padding:3em 1em 3em 1em;
|
|
border: 1px solid #BFBFBF;
|
|
background-color: white;
|
|
box-shadow: 5px 5px 2px #aaaaaa;
|
|
border-radius: 10px;
|
|
background:#f9f9f9;
|
|
}
|
|
table > thead > tr > *,
|
|
table > tbody > tr > td,
|
|
table > tfoot > tr > *
|
|
{
|
|
text-align:center;
|
|
}
|
|
table > thead > tr > *{
|
|
font-weight: bold;
|
|
}
|
|
.td-orange{
|
|
background: #eb7134;
|
|
color: #fff;
|
|
}
|
|
.td-orange-light{
|
|
background: #eb8934;
|
|
color: #fff;
|
|
}
|
|
|
|
.td-darkpink{
|
|
background: #eb3465;
|
|
color: #fff;
|
|
}
|
|
.td-lightpink{
|
|
background: #eb3471;
|
|
color: #fff;
|
|
}
|
|
.td-purple{
|
|
background: #a561ff;
|
|
color : #fff;
|
|
}
|
|
.reporting-data{
|
|
background:#ffe1c7;
|
|
}
|
|
.scanning-data{
|
|
background:#ffedf3;
|
|
}
|
|
.other-data{
|
|
background:#e8f8fa;
|
|
}
|
|
.hourlymis_data{
|
|
background:#fff7de;
|
|
}
|
|
.risklevelcount, .agecount{
|
|
text-decoration:underline;
|
|
cursor:pointer;
|
|
}
|
|
.collapseDeatil {
|
|
display: none;
|
|
}
|
|
.collapseDeatil.in {
|
|
display: table-row;
|
|
}
|
|
.detailsheading{
|
|
margin-left:30px;
|
|
margin-right:5px;
|
|
font-weight:bold;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body style="font-family:Tahoma;background-color:#fff">
|
|
<input type="hidden" value=${Sessvals.getUserGroupID()} id="usgid"/>
|
|
<div id='titlebar' class="title">
|
|
<img id="icon" src="/matrix/images/optmale.png" />
|
|
<img id="close" src="/matrix/images/close.jpg" onclick="javascript:closewindow();" />
|
|
<span id="title">Nimble 1.0 ${Sessvals.getCompanyCode() } (${Sessvals.getBranchLocation() }) ${Sessvals.getUserDisplayName()} (${Sessvals.getUserGroupName()}) </span>
|
|
</div>
|
|
<jsp:include page='usermenu/menu_${Sessvals.getUserID()}.html' />
|
|
<input type="hidden" value="${Sessvals.getUserID()}" id="usid" />
|
|
<c:if test="${Sessvals.getUserGroupID() ne 7 && Sessvals.getUserGroupID() ne 13 && Sessvals.getUserGroupID() ne 9 && Sessvals.getUserGroupID() ne 17 && Sessvals.getUserGroupID() ne 18}">
|
|
<div class="widget-container">
|
|
<div class="container-fluid position-relative" style="z-index:1">
|
|
<div class="row">
|
|
<div class="col-md-5">
|
|
<!-- CARD VISITS -->
|
|
<div class="card">
|
|
<div class="card-header p-1 bg-primary">
|
|
<span class="text-white ml-1 font-weight-bold">Visits</span>
|
|
<img src ="/matrix/images/loading_circle.gif" class="btn btn-light float-right ajax-loading" />
|
|
<button title="automatically refreshes in every 1 minute" type="button" class="btn btn-light oi oi-reload oi-xs float-right refresh-button" onclick="getVisits()"></button>
|
|
</div>
|
|
<div class="card-body p-1">
|
|
<table class="table table-sm border small">
|
|
<thead>
|
|
<tr>
|
|
<th class="td-orange" scope="col" colspan="5">Reporting</th>
|
|
<th class="td-darkpink" scope="col" colspan="2">Scanning</th>
|
|
</tr>
|
|
<tr>
|
|
<th class="td-orange-light" scope="col">#</th>
|
|
<th class="td-orange-light" scope="col">Total</th>
|
|
<th class="td-orange-light" scope="col">Reported</th>
|
|
<th class="td-orange-light" scope="col">Pending</th>
|
|
<th class="td-orange-light" scope="col"><abbr title="Reports In Hand (visit done, report yet to be taken)" class="initialism">RIH</abbr></th>
|
|
<th class="td-lightpink" scope="col"><abbr title="To Be Solved (cases which can be sent to bank)" class="initialism">TBS</abbr></th>
|
|
<th class="td-lightpink" scope="col">Solved</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<th class="reporting-data" scope="row">BK</th>
|
|
<td class="reporting-data" id="visit-bk-total">0</td>
|
|
<td class="reporting-data" id="visit-bk-done">0</td>
|
|
<td class="reporting-data" id="visit-bk-pending">0</td>
|
|
<td class="reporting-data" id="visit-bk-rih">0</td>
|
|
<td class="scanning-data" id="visit-bk-tos">0</td>
|
|
<td class="scanning-data" id="visit-bk-sol">0</td>
|
|
</tr>
|
|
<tr>
|
|
<th class="reporting-data" scope="row">AM</th>
|
|
<td class="reporting-data" id="visit-am-total">0</td>
|
|
<td class="reporting-data" id="visit-am-done">0</td>
|
|
<td class="reporting-data" id="visit-am-pending">0</td>
|
|
<td class="reporting-data" id="visit-am-rih">0</td>
|
|
<td class="scanning-data" id="visit-am-tos">0</td>
|
|
<td class="scanning-data" id="visit-am-sol">0</td>
|
|
</tr>
|
|
<tr>
|
|
<th class="reporting-data" scope="row">PM</th>
|
|
<td class="reporting-data" id="visit-pm-total">0</td>
|
|
<td class="reporting-data" id="visit-pm-done">0</td>
|
|
<td class="reporting-data" id="visit-pm-pending">0</td>
|
|
<td class="reporting-data" id="visit-pm-rih">0</td>
|
|
<td class="scanning-data" id="visit-pm-tos">0</td>
|
|
<td class="scanning-data" id="visit-pm-sol">0</td>
|
|
</tr>
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<th class="td-orange-light" style="vertical-align:middle" scope="col">Total</th>
|
|
<th class="td-orange-light" style="vertical-align:middle" scope="col" id="visit-total">0</th>
|
|
<th class="td-orange-light" scope="col" id="visit-done">0</th>
|
|
<th class="td-orange-light" scope="col" id="visit-pending">0</th>
|
|
<th class="td-orange-light" style="vertical-align:middle" scope="col" id="visit-rih">0</th>
|
|
<th class="td-lightpink" scope="col" id="visit-tos">0</th>
|
|
<th class="td-lightpink" scope="col" id="visit-sol">0</th>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
</div>
|
|
<div class="card-footer bg-secondary p-1">
|
|
<span class="badge badge-light float-left generated-on" >17-02-2020 17:28:30</span>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="card mt-2">
|
|
<div class="card-header p-1 bg-primary">
|
|
<span class="text-white ml-1 font-weight-bold"></span>
|
|
<img src ="/matrix/images/loading_circle.gif" class="btn btn-light float-right ajax-loading" />
|
|
<button title="automatically refreshes in every 1 minute" type="button" class="btn btn-light oi oi-reload oi-xs float-right refresh-button" onclick="getVisits()"></button>
|
|
</div>
|
|
<div class="card-body p-1">
|
|
<table class="table table-sm border small">
|
|
<tbody>
|
|
<!-- Risk Level Figures -->
|
|
<tr>
|
|
<th class="td-darkpink" style="vertical-align:middle;text-align:center" scope="row" rowspan="6">Risk Alert</th>
|
|
<th class="td-orange" style="vertical-align:middle;text-align:center" scope="row">Risk Level</th>
|
|
<th class="td-orange" style="vertical-align:middle;text-align:center" scope="row">Total Reports</th>
|
|
</tr>
|
|
<tr>
|
|
<td class="reporting-data" style="text-align:left;padding-left:2rem">1. OCL</td>
|
|
<td class="reporting-data risklevelcount" value="OCL" code="1" id="risk-1">0</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="reporting-data" style="text-align:left;padding-left:2rem">2. Incomplete Address</td>
|
|
<td class="reporting-data risklevelcount" value="Incomplete Address" code="2" id="risk-2">0</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="reporting-data" style="text-align:left;padding-left:2rem">3. Wrong Address</td>
|
|
<td class="reporting-data risklevelcount" value="Wrong Address" code="3" id="risk-3">0</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="reporting-data" style="text-align:left;padding-left:2rem">4. Not Traced</td>
|
|
<td class="reporting-data risklevelcount" value="Not Traced" code="4" id="risk-4">0</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="reporting-data" style="text-align:left;padding-left:2rem">11. Not Contactable</td>
|
|
<td class="reporting-data risklevelcount" value="Not Contactable" code="11" id="risk-11">0</td>
|
|
</tr>
|
|
<tr>
|
|
<th class="td-orange" colspan="2" style="vertical-align:middle" scope="col">Total</th>
|
|
<th class="td-orange risklevelcount" style="vertical-align:middle;text-align:center" scope="col" id="risk-total" value="" code="">0</th>
|
|
</tr>
|
|
<tr>
|
|
<th colspan="3"></th>
|
|
</tr>
|
|
<!-- Photograph Figures -->
|
|
<tr>
|
|
<th class="td-darkpink" style="vertical-align:middle;text-align:center" scope="row" rowspan="2">Photograph</th>
|
|
<th class="td-orange" style="vertical-align:middle;text-align:center" scope="row">Reports Taken</th>
|
|
<th class="td-orange" style="vertical-align:middle;text-align:center" scope="row">With Photo</th>
|
|
</tr>
|
|
<tr>
|
|
<td class="reporting-data" id="photo-reports-taken">0</td>
|
|
<td class="reporting-data" id="photo-with-photo">0</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="card-footer bg-secondary p-1">
|
|
<span class="badge badge-light float-left generated-on" >17-02-2020 17:28:30</span>
|
|
</div>
|
|
</div>
|
|
<c:if test="${Sessvals.getUserID()==21 || Sessvals.getUserID()==488 || Sessvals.getUserID()==84 || Sessvals.getUserID()==81}">
|
|
<div class="card">
|
|
<div class="card-header p-1 bg-info">
|
|
<span class="text-white ml-1 font-weight-bold">Comparision</span>
|
|
<label id="lbl-radioscannerhourly" class="radio-inline ml-2 text-white pull-right" style="font-size:12px">
|
|
<select name="selectmonth" id="selectmonth" class="mr-2" style="padding:3px;width:120px">
|
|
<option value="">Select</option>
|
|
</select>
|
|
<img src ="/matrix/images/loading_circle.gif" class="btn btn-light float-right ajax-loading ajax-3monthsfigures" />
|
|
<button title="automatically refreshes in every 1 minute" type="button" class="btn btn-light oi oi-reload oi-xs float-right refresh-button 3monthsfigures" onclick="partialDash('3monthsfigures',null)"></button>
|
|
</label>
|
|
|
|
</div>
|
|
<div class="card-body p-1">
|
|
<canvas id="multipleBarChart" style="width:100%;max-width:700px;height:400px"></canvas>
|
|
</div>
|
|
<div class="card-footer bg-secondary p-1">
|
|
<span class="badge badge-light float-left generated-on">17-02-2020 17:28:30</span>
|
|
</div>
|
|
</div>
|
|
</c:if>
|
|
</div>
|
|
<div class=" col-md-7">
|
|
<div class="card hourly_user_mis">
|
|
<div class="card-header p-1 bg-info">
|
|
<!-- <span class="text-white ml-1 font-weight-bold">Scanner Hourly MIS <span class="badge badge-pill badge-warning ml-2 pl-3 pr-3" id="total-scanner">-</span><span class="badge badge-pill badge-warning ml-2 pl-3 pr-3" id="scanner-average">-</span></span>
|
|
<img src ="/matrix/images/loading_circle.gif" class="btn btn-light float-right ajax-loading" />
|
|
<button title="automatically refreshes in every 1 minute" type="button" class="btn btn-light oi oi-reload oi-xs float-right refresh-button" onclick="getVisits()"></button> !-->
|
|
|
|
<div class="form-inline">
|
|
<span class="text-white ml-1 font-weight-bold">Hourly MIS <span class="badge badge-pill badge-warning ml-2 pl-3 pr-3" id="total-scanner">-</span><span class="badge badge-pill badge-warning ml-2 pl-3 pr-3" id="scanner-average">-</span></span>
|
|
<label id="lbl-radioscannerhourly" class="radio-inline ml-2 text-white" style="font-size:12px">
|
|
<input type="radio" class=".radiobutton" name="radiohourly" id="radioscannerhourly" checked><strong> Scanner</strong>
|
|
</label>
|
|
<label id="lbl-radiooprhourly" class="radio-inline ml-2" style="font-size:12px">
|
|
<input type="radio" class=".radiobutton" name="radiohourly" id="radiooprhourly"><strong> Operator</strong>
|
|
</label>
|
|
<label id="lbl-radioedpoprhourly" class="radio-inline ml-2" style="font-size:12px">
|
|
<input type="radio" class=".radiobutton" name="radiohourly" id="radioedphourly"><strong> EDP Opr</strong>
|
|
</label>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="card-body p-1">
|
|
<table class="table table-sm border small">
|
|
<thead>
|
|
<tr>
|
|
<th scope="col" class="bg-warning" style="vertical-align:middle" rowspan ="2">Name</th>
|
|
<th scope="col" class="td-orange" colspan ="13">Hours</th>
|
|
<th scope="col" class="bg-warning" style="vertical-align:middle" rowspan ="2">Total</th>
|
|
<th scope="col" class="td-orange" style="vertical-align:middle" rowspan ="2">Wght.</th>
|
|
</tr>
|
|
<tr class="td-orange-light">
|
|
<th scope="col">9</th>
|
|
<th scope="col">10</th>
|
|
<th scope="col">11</th>
|
|
<th scope="col">12</th>
|
|
<th scope="col">1</th>
|
|
<th scope="col">2</th>
|
|
<th scope="col">3</th>
|
|
<th scope="col">4</th>
|
|
<th scope="col">5</th>
|
|
<th scope="col">6</th>
|
|
<th scope="col">7</th>
|
|
<th scope="col">8</th>
|
|
<th scope="col">9</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="hourlymis_scanning">
|
|
|
|
</tbody>
|
|
<tfoot>
|
|
<tr class="td-orange-light">
|
|
<th scope="col" class="bg-warning" style="color:#000">Total</th>
|
|
<th scope="col" id="total-9" data-usid="0" data-hour="9" data-name="Cases Scanned During 9-10" style="font-weight:bold;text-decoration:underline;cursor:pointer" onclick="detailedHourlyMis(this)">0</th>
|
|
<th scope="col" id="total-10" data-usid="0" data-hour="10" data-name="Cases Scanned During 10-11" style="font-weight:bold;text-decoration:underline;cursor:pointer" onclick="detailedHourlyMis(this)">0</th>
|
|
<th scope="col" id="total-11" data-usid="0" data-hour="11" data-name="Cases Scanned During 11-12" style="font-weight:bold;text-decoration:underline;cursor:pointer" onclick="detailedHourlyMis(this)">0</th>
|
|
<th scope="col" id="total-12" data-usid="0" data-hour="12" data-name="Cases Scanned During 12-1" style="font-weight:bold;text-decoration:underline;cursor:pointer" onclick="detailedHourlyMis(this)">0</th>
|
|
<th scope="col" id="total-13" data-usid="0" data-hour="13" data-name="Cases Scanned During 1-2" style="font-weight:bold;text-decoration:underline;cursor:pointer" onclick="detailedHourlyMis(this)">0</th>
|
|
<th scope="col" id="total-14" data-usid="0" data-hour="14" data-name="Cases Scanned During 2-3" style="font-weight:bold;text-decoration:underline;cursor:pointer" onclick="detailedHourlyMis(this)">0</th>
|
|
<th scope="col" id="total-15" data-usid="0" data-hour="15" data-name="Cases Scanned During 3-4" style="font-weight:bold;text-decoration:underline;cursor:pointer" onclick="detailedHourlyMis(this)">0</th>
|
|
<th scope="col" id="total-16" data-usid="0" data-hour="16" data-name="Cases Scanned During 4-5" style="font-weight:bold;text-decoration:underline;cursor:pointer" onclick="detailedHourlyMis(this)">0</th>
|
|
<th scope="col" id="total-17" data-usid="0" data-hour="17" data-name="Cases Scanned During 5-6" style="font-weight:bold;text-decoration:underline;cursor:pointer" onclick="detailedHourlyMis(this)">0</th>
|
|
<th scope="col" id="total-18" data-usid="0" data-hour="18" data-name="Cases Scanned During 6-7" style="font-weight:bold;text-decoration:underline;cursor:pointer" onclick="detailedHourlyMis(this)">0</th>
|
|
<th scope="col" id="total-19" data-usid="0" data-hour="19" data-name="Cases Scanned During 7-8" style="font-weight:bold;text-decoration:underline;cursor:pointer" onclick="detailedHourlyMis(this)">0</th>
|
|
<th scope="col" id="total-20" data-usid="0" data-hour="20" data-name="Cases Scanned During 8-9" style="font-weight:bold;text-decoration:underline;cursor:pointer" onclick="detailedHourlyMis(this)">0</th>
|
|
<th scope="col" id="total-21" data-usid="0" data-hour="21" data-name="Cases Scanned During 9-10" style="font-weight:bold;text-decoration:underline;cursor:pointer" onclick="detailedHourlyMis(this)">0</th>
|
|
<th scope="col" id="total-total" class="bg-warning" data-usid="0" data-hour="0" data-name="Total Cases Scanned" style="color:#000;font-weight:bold;text-decoration:underline;cursor:pointer" onclick="detailedHourlyMis(this)">0</th>
|
|
<th scope="col" id="total-weightage" class="bg-secondary" data-usid="0" data-hour="0" data-name="Total Scanning Weightage" style="color:#000;font-weight:bold" rowspan="2"></th>
|
|
</tr>
|
|
<tr class="td-orange">
|
|
<th scope="col" class="bg-warning" style="color:#000"><abbr title="To Be Solved (cases which can be sent to bank)" class="initialism">TBS</abbr></th>
|
|
<th scope="col" id="hour-9">0</th>
|
|
<th scope="col" id="hour-10">0</th>
|
|
<th scope="col" id="hour-11">0</th>
|
|
<th scope="col" id="hour-12">0</th>
|
|
<th scope="col" id="hour-13">0</th>
|
|
<th scope="col" id="hour-14">0</th>
|
|
<th scope="col" id="hour-15">0</th>
|
|
<th scope="col" id="hour-16">0</th>
|
|
<th scope="col" id="hour-17">0</th>
|
|
<th scope="col" id="hour-18">0</th>
|
|
<th scope="col" id="hour-19">0</th>
|
|
<th scope="col" id="hour-20">0</th>
|
|
<th scope="col" id="hour-21">0</th>
|
|
<th scope="col" id="hourly-tos-total" class="bg-warning" style="color:#000">0</th>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
</div>
|
|
<div class="card-footer bg-secondary p-1">
|
|
<span class="badge badge-light float-left generated-on">17-02-2020 17:28:30</span>
|
|
</div>
|
|
</div>
|
|
<div class="card">
|
|
<div class="card-header p-1 bg-info">
|
|
<div class="form-inline">
|
|
<span class="text-white ml-1 font-weight-bold">Doc Ageing MIS</span>
|
|
<label id="lbl-radioport" class="radio-inline ml-2 text-white" style="font-size:12px">
|
|
<input type="radio" class=".radiobutton" name="radiodocageing" id="radioport" checked><strong> Portfolio</strong>
|
|
</label>
|
|
<label id="lbl-radiodoc" class="radio-inline ml-2" style="font-size:12px">
|
|
<input type="radio" class=".radiobutton" name="radiodocageing" id="radiodoc"><strong> Document</strong>
|
|
</label>
|
|
<label id="lbl-radiovendor" class="radio-inline ml-2" style="font-size:12px">
|
|
<input type="radio" class=".radiobutton" name="radiodocageing" id="radiovendor"><strong> Vendor</strong>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="card-body p-1">
|
|
<table class="table table-sm border small">
|
|
<thead>
|
|
<tr>
|
|
<th scope="col" class="bg-warning" style="vertical-align:middle;text-align:center" colspan="2" rowspan="2">Ageing</th>
|
|
<th class="td-orange" style="vertical-align:middle;text-align:center" scope="col">D-0</th>
|
|
<th class="td-orange" style="vertical-align:middle;text-align:center" scope="col">D-1</th>
|
|
<th class="td-orange" style="vertical-align:middle;text-align:center" scope="col">D-2</th>
|
|
<th class="td-orange" style="vertical-align:middle;text-align:center" scope="col">D-3</th>
|
|
<th class="td-orange" style="vertical-align:middle;text-align:center" scope="col">D-4</th>
|
|
<th class="td-orange" style="vertical-align:middle;text-align:center" scope="col">D>4</th>
|
|
<th class="td-orange" style="vertical-align:middle;text-align:center" scope="col">Total</th>
|
|
</tr>
|
|
<tr class="td-orange-light">
|
|
<td scope="col" class="dagecount" data-port="0" value="Ageing 0" code="0" id="d-age-0">0</td>
|
|
<td scope="col" class="dagecount" data-port="0" value="Ageing 1" code="1" id="d-age-1">0</td>
|
|
<td scope="col" class="dagecount" data-port="0" value="Ageing 2" code="2" id="d-age-2">0</td>
|
|
<td scope="col" class="dagecount" data-port="0" value="Ageing 3" code="3" id="d-age-3">0</td>
|
|
<td scope="col" class="dagecount" data-port="0" value="Ageing 4" code="4" id="d-age-4">0</td>
|
|
<td scope="col" class="dagecount" data-port="0" value="Ageing > 4" code="5" id="d-age-5">0</td>
|
|
<td scope="col" class="dagecount" data-port="0" value="All" code="-1" id="d-age-all">0</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="docwise_ageing">
|
|
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="card-footer bg-secondary p-1">
|
|
<span class="badge badge-light float-left generated-on">17-02-2020 17:28:30</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-12">
|
|
<div class="card">
|
|
<div class="card-header p-1 bg-info">
|
|
<span class="text-white ml-1 font-weight-bold">Ageing MIS</span>
|
|
<img src ="/matrix/images/loading_circle.gif" class="btn btn-light float-right ajax-loading" />
|
|
<button title="automatically refreshes in every 1 minute" type="button" class="btn btn-light oi oi-reload oi-xs float-right refresh-button" onclick="getVisits()"></button>
|
|
</div>
|
|
<div class="card-body p-1">
|
|
<table class="table table-sm border small">
|
|
<thead>
|
|
<tr>
|
|
<th scope="col" class="bg-warning" style="vertical-align:middle;text-align:center" colspan="2" rowspan="2">Ageing</th>
|
|
<th class="td-orange" style="vertical-align:middle;text-align:center" scope="col">Age 0</th>
|
|
<th class="td-orange" style="vertical-align:middle;text-align:center" scope="col">Age 1</th>
|
|
<th class="td-orange" style="vertical-align:middle;text-align:center" scope="col">Age 2</th>
|
|
<th class="td-orange" style="vertical-align:middle;text-align:center" scope="col">Age 3</th>
|
|
<th class="td-orange" style="vertical-align:middle;text-align:center" scope="col">Age 4</th>
|
|
<th class="td-orange" style="vertical-align:middle;text-align:center" scope="col">Age >4</th>
|
|
<th class="td-orange" style="vertical-align:middle;text-align:center" scope="col">Total</th>
|
|
<th class="bg-warning" style="vertical-align:middle;text-align:center" scope="col" rowspan=2>Tot.Rec</th>
|
|
<th class="td-darkpink" style="vertical-align:middle;text-align:center" scope="col" colspan=4>Non Contactable</th>
|
|
</tr>
|
|
<tr class="td-orange-light">
|
|
<td scope="col" class="agecount" data-port="0" value="Ageing 0" code="0" id="age-0">0</td>
|
|
<td scope="col" class="agecount" data-port="0" value="Ageing 1" code="1" id="age-1">0</td>
|
|
<td scope="col" class="agecount" data-port="0" value="Ageing 2" code="2" id="age-2">0</td>
|
|
<td scope="col" class="agecount" data-port="0" value="Ageing 3" code="3" id="age-3">0</td>
|
|
<td scope="col" class="agecount" data-port="0" value="Ageing 4" code="4" id="age-4">0</td>
|
|
<td scope="col" class="agecount" data-port="0" value="Ageing > 4" code="5" id="age-5">0</td>
|
|
<td scope="col" class="agecount" data-port="0" value="All" code="-1" id="age-all">0</td>
|
|
<td scope="col">Total</td>
|
|
<td scope="col">2</td>
|
|
<td scope="col">3</td>
|
|
<td scope="col">4</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="portwise_ageing">
|
|
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="card-footer bg-secondary p-1">
|
|
<span class="badge badge-light float-left generated-on">17-02-2020 17:28:30</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Modal Dialog -->
|
|
<div class="modal fade" id="helperModal" tabindex="-1" role="dialog" aria-labelledby="helperModalLabel" aria-hidden="true">
|
|
<div class="modal-dialog modal-dialog modal-dialog-centered modal-dialog-scrollable">
|
|
<div class="modal-content">
|
|
<div class="modal-header bg-info">
|
|
<h5 class="modal-title text-white" id="modalTitle">Modal title</h5>
|
|
<button type="button" class="btn-close" data-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body">
|
|
Hello
|
|
</div>
|
|
<div class="modal-footer bg-secondary">
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</c:if>
|
|
</body>
|
|
</html> |