/*================================================================================================================\
+
+ Project : GoData-Eicher
+ Filename : consolidatedReport.jsjs
+ Module Name : ReportModule
+ Purpose : For reporting
+ Coded By : Parul Gupta
+ Updated By : Preeti Burad (28 mar 2018)
+================================================================================================================*/
/**
* For reporting
* @module ReportModule
*/
/**
* This class contains functionality of Consolidated report
* @class ConsolidatedReport
* @constructor
*/
var xhr_exportExport, xhr_exportExportCsv;
/**
* Function to get consolidated data and chart based on selected tab.
* @method getReport
* @for ConsolidatedReport
*/
function getReport() {
var selectedTab = $(".tabs").find('li.selected')[0].id;
//$("#divLoadingElement").hide();
// get selected tab
if (selectedTab == "tab_eosCallContribution") {
getConsolidatedReport();
}
else {
getConsolidatedReport_Chart()
}
}
//Added by mayuri on 23/07/25
function enableSubmit() {
if (document.getElementById('fileSelector').value != '') {
$("#btnUpload").removeAttr("disabled");
}
}
function hideLoader() {
// alert('');
$("#divLoadingElement").hide();
}
function uploadDelayReason() {
var fileUpload = $("#fileSelector").get(0);
var files = fileUpload.files;
if (files.length === 0) {
jAlert("Please select a file first.");
return;
}
var extension = files[0].name.split('.').pop().toLowerCase();
if (extension !== "xlsx") {
jAlert("Only .xlsx files are supported!");
return;
}
if (!files[0].name.toLowerCase().includes("kam")) {
jAlert("Invalid file! ");
return;
}
var formData = new FormData();
for (var i = 0; i < files.length; i++) {
formData.append(files[i].name, files[i]);
}
var loaderTimeout = setTimeout(function () {
hideLoader(); // Your function to hide loader
jAlert('File ploaded Successfully');
}, 30000); // 30 seconds
$.ajax({
url: '/Ticket/BulkUploadPreClosure',
type: 'POST',
contentType: false,
processData: false,
data: formData,
success: function (response) {
alert(response);
clearTimeout(loaderTimeout); // Stop fallback timeout
hideLoader(); // Hide loader normally
if (response.Status === "1") {
jAlert('KAM File uploaded successfully!', '', function () { window.location.reload(); });
} else {
jAlert('Upload failed.', '', function () { window.location.reload(); });
}
},
error: function () {
jAlert('An error occurred while uploading the file.');
}
});
}
/**
* Function to get consolidated data
* @method getConsolidatedReport
* @for ConsolidatedReport
*/
function getConsolidatedReport() {
$("#overlay").show();
var startDate, endDate, organization, vehicleTagging;
var userID = userId;
startDate = $("#startDate").val();
endDate = $("#endtDate").val();
organization = (($("#OrganizationName").data('kendoComboBox').text() == "All") || ($("#OrganizationName").data('kendoComboBox').value() == "7")) ? "" : $("#OrganizationName").data('kendoComboBox').text();
vehicleTagging = $("#ddVehicleType").val();
//alert($("#ddFilterType").val());
var strFilterType = "data," + $("#ddFilterType").val();
//alert(strFilterType);
var date1 = new Date(startDate);
var date2 = new Date(endDate);
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
if (diffDays <= 90) {
//send ajax request
$.ajax({
type: "POST",
url: "/Report/ConsolidatedReport_Grid/",
data: { userId: userID, startDate: startDate, endDate: endDate, organization: organization, vehicleTagging: vehicleTagging, filterType: strFilterType ,consolidate_type: "new"},
success: function (data) {
$('#divGrid').show();
$("#divGrid").html(data);
$("#overlay").hide(); $('#divGrid_Chart').hide();
if (document.getElementById('ConsolidatedGrid') !== null) {
setTimeout(function () {
if ($("#ConsolidatedGrid .k-grid-content table tbody tr").length > 0) {
$('.excelIcon').show();
} else {
$('.excelIcon').hide();
}
}, 1000);
} else {
$('.excelIcon').hide();
}
},
complete: function () {
},
error: function (data) {
$("#overlay").hide();
console.log(data);
}
});
}
else {
$("#overlay").hide();
jAlert("Please select 3 months data only.", 'message');
}
}
/**
* Function to get consolidated data in chart form.
* @method getConsolidatedReport_Chart
* @for ConsolidatedReport
*/
function getConsolidatedReport_Chart() {
$("#overlay").show();
var startDate, endDate, organization, vehicleTagging;
var userID = userId;
startDate = $("#startDate").val();
endDate = $("#endtDate").val();
organization = (($("#OrganizationName").data('kendoComboBox').text() == "All") || ($("#OrganizationName").data('kendoComboBox').value() == "7")) ? "" : $("#OrganizationName").data('kendoComboBox').text();
vehicleTagging = $("#ddVehicleType").val();
var date1 = new Date(startDate);
var date2 = new Date(endDate);
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
if (diffDays <= 90) {
//send ajax request
$.ajax({
type: "POST",
url: "/Report/ConsolidatedReport_Chart/",
data: { userId: userID, startDate: startDate, endDate: endDate, organization: organization, vehicleTagging: vehicleTagging },
success: function (data) {
$('#divGrid_Chart').show();
$("#divGrid_Chart").html(data);
$("#overlay").hide(); $('#divGrid').hide();
if (document.getElementById('ConsolidatedGrid') !== null) {
setTimeout(function () {
if ($("#ConsolidatedGrid .k-grid-content table tbody tr").length > 0) {
$('.excelIcon').show();
} else {
$('.excelIcon').hide();
}
}, 1000);
} else {
$('.excelIcon').hide();
}
},
complete: function () {
},
error: function (data) {
$("#overlay").hide();
console.log(data);
}
});
}
else {
$("#overlay").hide();
jAlert("Please select 3 months data only.", 'message');
}
}
/**
* Function call on row bound of close tickets table
* @method onRowBound
* @for ConsolidatedReport
*/
function onRowBound(e) {
$('.k-grid-TimeSlot').text("").removeClass("k-button k-button-icontext");
// called common file function to show title on mouse hover.
addTitleAttribute();
// time slot functionality
var data = this.dataSource.view();
console.log(this.dataSource.view());
for (var i = 0; i < data.length; i++) {
//get uid of row
var uid = data[i].uid;
//get creation time of ticket
var ticketCreationDateTime = data[i].creation_time;
var split_ticketCreationDateTime = ticketCreationDateTime.split(" ");
var ticketCreationTime = split_ticketCreationDateTime[3];
var row = this.table.find("tr[data-uid='" + uid + "']");
for (var count = 0; count < 12; count++) {
if ((Date.parse('01/01/0001 ' + ticketCreationTime) >= Date.parse('01/01/0001 ' + (2 * count) + ':00:00')) && (Date.parse('01/01/0001 ' + ticketCreationTime) <= Date.parse('01/01/0001 ' + ((2 * count) + 1) + ':59:59'))) {
row.find('.k-grid-TimeSlot').text("").removeClass("k-button k-button-icontext").html("" + (2 * count) + ":00 - " + ((2 * count) + 2) + ":00 ");
break;
}
console.log(count);
}
}
//var grid = $("#ConsolidatedGrid").data("kendoGrid");
//var gridData = grid.dataSource.view();
//for (var i = 0; i < gridData.length; i++) {
// if (gridData[i].call_closure_status == "Yes") {
// grid.table.find("tr[data-uid='" + gridData[i].uid + "']").addClass("highlighted-row");
// }
//}
// Date.parse('01/01/0001 10:20:45') < Date.parse('01/01/0001 5:10:10')
}
/**
* To get filter parameters and export report.
* @method exportReport
* @for ConsolidatedReport
*/
function exportReport() {
var userID = userId;
var startDate = $("#startDate").val();
var endDate = $("#endtDate").val();
organization = (($("#OrganizationName").data('kendoComboBox').text() == "All") || ($("#OrganizationName").data('kendoComboBox').value() == "7")) ? "" : $("#OrganizationName").data('kendoComboBox').text();
vehicleTagging = $("#ddVehicleType").val();
var strFilterType = "data," + $("#ddFilterType").val();
// sending ajax request to export ICR Unique Users and Data Usage to Excel, and hadling its completion
if (xhr_exportExport && xhr_exportExport.readystate != 4) {
xhr_exportExport.abort();
}
xhr_exportExport = $.ajax({
type: "POST",
url: "/Report/ConsolidatedReport_ExportToExcel/",
data: { UserId: userID, startDate: startDate, endDate: endDate, organization: organization, vehicleTagging: vehicleTagging, filterType: strFilterType },
success: function (data) {
console.log(data)
// making the generated Excel available for downloading.
window.location.href = data;
},
complete: function () {
},
error: function (data) {
console.log(data)
console.log("Error in Export to Excel");
}
});
}
/**
* To get filter parameters and export report.
* @method exportReportCSV
* @for ConsolidatedReport
*/
//function exportReportCSV() {
// $("#overlay").show();
// var userID = userId;
// var startDate = $("#startDate").val();
// var endDate = $("#endtDate").val();
// organization = (($("#OrganizationName").data('kendoComboBox').text() == "All") || ($("#OrganizationName").data('kendoComboBox').value() == "7")) ? "" : $("#OrganizationName").data('kendoComboBox').text();
// vehicleTagging = $("#ddVehicleType").val();
// // sending ajax request to export ICR Unique Users and Data Usage to Excel, and hadling its completion
// if (xhr_exportExportCsv && xhr_exportExportCsv.readystate != 4) {
// xhr_exportExportCsv.abort();
// }
// xhr_exportExportCsv = $.ajax({
// type: "POST",
// url: "/Report/ConsolidatedReport_ExportToCSV/",
// data: { UserId: userID, startDate: startDate, endDate: endDate, organization: organization, vehicleTagging: vehicleTagging },
// success: function (data) {
// $("#overlay").hide();
// // making the generated Excel available for downloading.
// window.location.href = data;
// },
// complete: function () {
// },
// error: function (data) {
// $("#overlay").hide();
// console.log("Error in Export to Excel");
// }
// });
//}
//-------------------------*** consolidate report download modified function ***--------------------------------//
//added on 07-10-2020
// function exportReportCSV() {
// $("#overlay").show();
// var userID = userId;
// var startDate = $("#startDate").val();
// var endDate = $("#endtDate").val();
// organization = (($("#OrganizationName").data('kendoComboBox').text() == "All") || ($("#OrganizationName").data('kendoComboBox').value() == "7")) ? "" : $("#OrganizationName").data('kendoComboBox').text();
// vehicleTagging = $("#ddVehicleType").val();
// // sending ajax request to export ICR Unique Users and Data Usage to Excel, and hadling its completion
// if (xhr_exportExportCsv && xhr_exportExportCsv.readystate != 4) {
// xhr_exportExportCsv.abort();
// }
// xhr_exportExportCsv = $.ajax({
// type: "POST",
// url: "/Report/ConsolidatedReport_ExportToCSV_New/",
// data: { UserId: userID, startDate: startDate, endDate: endDate, organization: organization, vehicleTagging: vehicleTagging },
// success: function (data) {
// $("#overlay").hide();
// // making the generated Excel available for downloading.
// window.location.href = data;
// },
// complete: function () {
// },
// error: function (data) {
// $("#overlay").hide();
// console.log("Error in Export to Excel");
// }
// });
// }
// new
function exportReportCSV() {
$("#overlay").show();
var userID = userId;
console.log(userID);
var apiUrl = WCFRESTURL.GetConsolidateCount;
var apiurldata = WCFRESTURL.GetConsolidateDataList;
//SecurityToken = securityToken;
//utcMinutes = parseInt(UtcMinutes, 10);
//SecurityToken = securityToken;
console.log(apiUrl);
console.log(apiurldata);
var startDate = $("#startDate").val();
var endDate = $("#endtDate").val();
console.log(startDate + "endDate" + endDate);
organization = (($("#OrganizationName").data('kendoComboBox').text() == "All") || ($("#OrganizationName").data('kendoComboBox').value() == "7")) ? "" : $("#OrganizationName").data('kendoComboBox').text();
vehicleTagging = $("#ddVehicleType").val();
// sending ajax request to export ICR Unique Users and Data Usage to Excel, and hadling its completion
var params = new URL(document.location.toString()).searchParams;
var name = params.get("reassigntickets");
var dtcname = params.get("DTCReport");
var rep = 't';
console.log(rep);
console.log(name);
console.log(dtcname);
var queryString = window.location.search;
var strFilterType = "data," + $("#ddFilterType").val();
// Use the URLSearchParams object to handle query parameters
var params = new URLSearchParams(queryString);
// Get the number of query parameters
var paramCount = Array.from(params).length;
console.log(paramCount);
if (paramCount == 2) {
if (name == "yes") {
console.log('dtcname');
rep = 'f';
// alert('if 123');
ReassignReportDownload(startDate, endDate);
}
if (dtcname == "Download") {
rep = 'f';
// alert('if 123');
DTCReportDownloadBYDate(startDate, endDate);
}
}
else {
if (xhr_exportExportCsv && xhr_exportExportCsv.readystate != 4) {
xhr_exportExportCsv.abort();
}
xhr_exportExportCsv = $.ajax({
type: "Post",
// url: "/Report/ConsolidatedReport_ExportToCSV_New/",
url: apiUrl,
data: { UserId: userID, StartDate: startDate, EndDate: endDate, FromDate: startDate, UtcMinute: UtcMinutes, ToDate: endDate, Organization: organization, VehicleType: vehicleTagging, Token: securityToken, Limit: "20", OffSet: "0", _timeOffSetMinutes: "330", TicketType: strFilterType, consolidaetype:"new" },
dataType: "json",
success: function (result) {
// console.log(result);
//$("#overlay").hide();
if (xhr_exportExportCsv && xhr_exportExportCsv.readystate != 4) {
xhr_exportExportCsv.abort();
}
xhr_exportExportCsv = $.ajax({
type: "Post",
// url: "http://eos.eicher.in:8181/Api/Ticket?tickettype=data&Download=yes&consolidateddata=hh&iscount=false&isajax=t&isajaxcount=true&isajaxdatacount=yes",
url: apiurldata,
data: { UserId: userID, StartDate: startDate, EndDate: endDate, FromDate: startDate, ToDate: endDate, UtcMinute: UtcMinutes, Organization: organization, VehicleType: vehicleTagging, Token: securityToken, Limit: "100000", OffSet: "0", _timeOffSetMinutes: "330", TicketType: strFilterType, consolidaetype:"new" },
dataType: "json",
//timeout: 50000,
success: function (result) {
console.log('hi1');
console.log(result);
//alert = (data);
// making the generated Excel available for downloading.
//if (xhr_exportExportCsv.status == 200) {
window.location.href = result;
$("#overlay").hide();
//}
},
complete: function () {
// alert = ('hi');
console.log('hi2');
},
error: function (data) {
console.log('hi3');
console.log(data);
$("#overlay").hide();
console.log("Error in Export to Excel");
}
});
},
complete: function () {
// alert = ('hi');
},
error: function (data) {
console.log(data);
$("#overlay").hide();
console.log("Error in Export to Excel");
}
});
}
}
function DTCReportDownloadBYDate(startDate, endDate) {
$("#overlay").show();
var apiUrl = url + "Api/Admin?DTCReport=yes&DTCFlag=yes&ReassignReport=yes&TechnicianReport=yes&techReport=yes&VanReport=yes&isdealer=user&van=check&dealer=check&isajaxcount=check&Download=check";
// var apiUrl = url + "Report/ConsolidatedReport?currtime=638539904591341514&reassigntickets=yes";
$.ajax({
url: apiUrl,
type: 'Post',
dataType: 'json',
data: { StartDate: startDate, EndDate: endDate, UtcMinute: UtcMinutes, _timeOffSetMinutes: "330" },
success: function (data, textStatus, xhr) {
window.location.href = data;
$("#overlay").hide();
},
error: function (xhr, textStatus, errorThrown) {
}
});
}
function ReassignReportDownload(startdate, enddate) {
$("#overlay").show();
var apiUrl = url + "Api/Admin?ReassignReportNew=yes&ReassignReport=yes&TechnicianReport=yes&techReport=yes&VanReport=yes&isdealer=user&van=check&dealer=check&isajaxcount=check&Download=check";
// var apiUrl = url + "Report/ConsolidatedReport?currtime=638539904591341514&reassigntickets=yes";
// console.log('ReassignReportDownload');
$.ajax({
url: apiUrl,
type: 'Post',
dataType: 'json',
data: { StartDate: startdate, EndDate: enddate, UtcMinute: UtcMinutes, _timeOffSetMinutes: "330" },
success: function (data, textStatus, xhr) {
window.location.href = data;
$("#overlay").hide();
//return false;
},
error: function (xhr, textStatus, errorThrown) {
}
});
}
/**
* Function To bind vehicle product variant list
* @method bindVehicleProductVariant
* @for ManageEscalation
*/
function bindVehicleProductVariant() {
// empty data source dropdown.
$("#ddVehicleType").text("");
// by default add select text.
$("#ddVehicleType").append($('').val("").html("All"));
$("#ddVehicleType").append($('').val("HD").html("HD"));
$("#ddVehicleType").append($('').val("LMD").html("LMD"));
$("#ddVehicleType").append($('').val("BUS").html("BUS"));
$("#ddVehicleType").append($('').val("EPS").html("EPS"));
$("#ddVehicleType").append($('').val("SCV").html("SCV"));
// add data to dropdown.
//if (vehicleProductVariantList) {
// //console.log('v p v');
// for (var counter = 0; counter < vehicleProductVariantList.length; counter++) {
// $("#ddVehicleType").append($('').val(vehicleProductVariantList[counter].Value).html(vehicleProductVariantList[counter].Text));
// }
//}
}
//============================= document ready function ===============================//
$(document).ready(function () {
$('.excelIcon').hide();
// getConsolidatedReport();
//Tab functionality
$("#tab_eosCallContribution").click(function () {
$(this).addClass('selected');
$('#tab_Chart').removeClass('selected');
$('#divGrid').show();
$('#divGrid_Chart').hide();
getConsolidatedReport();
});
$("#tab_Chart").click(function () {
$(this).addClass('selected');
$('#tab_eosCallContribution').removeClass('selected');
$('#divGrid').hide();
$('#divGrid_Chart').show();
getConsolidatedReport_Chart();
});
$("#overlay").hide();
});
//==================================== Not in Use ====================================//
/**
* Add 1 month in endDate based on the startDate.
* @method onChangeDateSelection
* @for ConsolidatedReport
*/
function onChangeDateSelection() {
'use strict';
var selectedDate;
// get selected date
selectedDate = new Date($("#startDate").val());
//Add 7 days to selected date
selectedDate.setMonth(selectedDate.getMonth() + 1);
$("#endtDate").data("kendoDatePicker").value(selectedDate);
}
function onDataBoundChart() {
}
//===================================================================================//