/*================================================================================================================\ + + Project : GoData-Eicher + Filename : reportTicketOpen.js + Module Name : OpenTicketReport + Purpose : For reporting + Coded By : Parul Gupta + +================================================================================================================*/ /** * For reporting * @module ReportModule */ /** * This class contains functionality of Ticket report(Open) * @class OpenTicketReport * @constructor */ //Global variables var slaMetImagePath = "../../Content/css/images/icons/green_circle.png"; var slaNotMetImagePath = "../../Content/css/images/icons/red_circle.png"; var xhr_exportExport; var temp_dataItemId, temp_dataItemRowIndex; /** * Function to display open ticket details * @method showOpenTicketDetails * @for OpenTicketReport */ function showOpenTicketDetails(e) { temp_dataItemId = ""; temp_dataItemRowIndex = ''; //console.log($(e.currentTarget).closest("tr"), $(e.currentTarget).closest("tr").index()); var dataItem = this.dataItem($(e.currentTarget).closest("tr")); //console.log(dataItem); temp_dataItemId = dataItem.Id; temp_dataItemRowIndex = parseInt($(e.currentTarget).closest("tr").index(), 10); $.ajax({ type: "POST", url: "/Report/Ticket_GetOpencloseTicketFullDetails/", data: { ticketId: dataItem.Id, ticketStatus: "open" }, success: function (data) { $("#divTicketDetails").html(data); //open window in new dialog box $("#divTicketDetails").data("kendoWindow").open(); openKendoWindowInCenter("#divTicketDetails"); }, error: function (data) { console.log(data); } }); } /** * Function to get open tickets history * @method getOpenTicketHistory * @for OpenTicketReport */ function getOpenTicketHistory() { var startDate, endDate; var userID = userId; //console.log(userID); //console.log(startDateParam, endDateParam); //alert('aa'); if (startDateParam) { startDate = startDateParam; } else { startDate = "01 dec 2022"; } var monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ]; var date = new Date(); var day = date.getDate(); var month = monthNames[date.getMonth()] var year = date.getFullYear(); var d = new Date(); if (endDateParam) { endDate = endDateParam; } else { endDate = day + " " + month + " " + year; } var params = new URL(document.location.toString()).searchParams; var name = params.get("modeltickets"); if (name == "yes") { ; var apiUrl = url + "Api/Admin?getopen=yes&tickets=test&modelwise=test&option=yes"; //alert(apiUrl); $.ajax({ url: apiUrl, type: 'POST', data: { Token: securityToken, UserId: userID, FromDate: startDate, ToDate: endDate }, success: function (data) { $('#dvtitle').html('Report - HD Buses Ticket'); // $('#dvExcel').hide(); modelwisereport(data); //applyFiltersBasedOnParametersToKendoGrid(); $('.excelIcon').hide(); } }); } //console.log(startDate, endDate); //send ajax request else { var strtype = "Open"; // alert(isepsFlag); if(isepsFlag.toLowerCase() == 'yes'){ strtype = "Open,EPS"; } //alert(strtype); $.ajax({ type: "POST", url: "/Report/Ticket_Open_Grid/", data: { userId: userID, startDate: startDate, endDate: endDate, ticketStatus: "open" , ticketStatus: strtype }, success: function (data) { $("#divGrid").html(data); if (document.getElementById('OpenTicket') !== null) { applyFiltersBasedOnParametersToKendoGrid(); setTimeout(function () { if ($("#OpenTicket .k-grid-content table tbody tr").length > 0) { $('.excelIcon').show(); } else { $('.excelIcon').hide(); } }, 1000); } else { $('.excelIcon').hide(); } }, complete: function () { startDateParam = ""; endDateParam = ""; }, error: function (data) { console.log(data); } }); } } /** * Function to apply filters on kendo grid based on parameters * @method applyFiltersBasedOnParametersToKendoGrid * @for OpenTicketReport */ function applyFiltersBasedOnParametersToKendoGrid() { if (assignedTo) { //applyFilterToKendoGrid('OpenTicket', 'AssignedTo', 'or', 'eq', [assignedTo]); applyFilterToKendoGrid('OpenTicket', 'AssignedTo', 'eq', assignedTo); } } /** * Function call on row bound of close tickets table * @method onRowBound * @for OpenTicketReport */ function onRowBound(e) { console.log(_userRole.toLowerCase().trim()); if (_userRole.toLowerCase().trim() == 'cce' || _userRole.toLowerCase().trim() == 'cce_admin') { $('.k-grid-EditTicketActivity').text("").removeClass("k-button k-button-icontext").html("").show(); $('.k-grid-TicketDetails').hide(); } else { $('.k-grid-TicketDetails').text("").removeClass("k-button k-button-icontext").html("").show(); $('.k-grid-EditTicketActivity').hide(); } //$('.k-grid-Performance').text("").removeClass("k-button k-button-icontext").html(""); // called common file function to show title on mouse hover. addTitleAttribute(); // sla met or not met functionality var data = this.dataSource.view(); //console.log(data); for (var i = 0; i < data.length; i++) { //get uid of row var uid = data[i].uid; // get default sla time of row var defaultSla = data[i].DefaultSlaTime; // get total ticket life cycle sla value var totalLifeCycleSla = data[i].TotalTicketLifeCycleTimeSlab; //get gps status of van var gps_status = data[i].gps_status; var row = this.table.find("tr[data-uid='" + uid + "']"); //console.log(defaultSla, totalLifeCycleSla); if (defaultSla > totalLifeCycleSla) { row.find('.k-grid-resolutionSla').text("").removeClass("k-button k-button-icontext").html(""); } else { row.find('.k-grid-resolutionSla').text("").removeClass("k-button k-button-icontext").html(""); } if (gps_status != null) { if (gps_status.toLowerCase().trim() == "true") row.find('.k-grid-gps_status').text("").removeClass("k-button k-button-icontext").html(""); else row.find('.k-grid-gps_status').text("").removeClass("k-button k-button-icontext").html(""); } else { row.find('.k-grid-gps_status').text("").removeClass("k-button k-button-icontext").html(""); } } var grid = $("#OpenTicket").data("kendoGrid"); var gridData = grid.dataSource.view(); for (var i = 0; i < gridData.length; i++) { if (gridData[i].CreationTimeMorethan24Hrs === true) { grid.table.find("tr[data-uid='" + gridData[i].uid + "']").addClass("highlighted-row"); } } } /** * To get filter parameters and export report. * @method exportReport * @for OpenTicketReport */ // function exportReport() { // var userID = userId; // // 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/Ticket_Close_Open_ExportToExcel/", // data: { UserId: userID, startDate: "", endDate: "", ticketStatus: "open" }, // success: function (data) { // // making the generated Excel available for downloading. // window.location.href = data; // }, // complete: function () { // }, // error: function (data) { // console.log("Error in Export to Excel"); // } // }); // } /*function exportReport() { var userID = userId; // 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/Ticket_Close_Open_NewExportToExcel/", data: { UserId: userID, startDate: "", endDate: "", ticketStatus: "open" }, success: function (data) { // making the generated Excel available for downloading. window.location.href = data; }, complete: function () { }, error: function (data) { console.log("Error in Export to Excel"); } }); }*/ function exportReport() { var userID = userId; // var apiUrl = url + "Api/Ticket?tickettype=count&openData=hh&isOpenclose=true&iscount=true&isajax=t&isajaxcount=true"; // alert(apiUrl); /// var apiUrl = WCFRESTURL.GetConsolidateCount; var startDate = "01 jan 1900"; //$("#startDate").val(); var endDate = $("#endtDate").val(); var apiurldata = WCFRESTURL.GetopenDataList; var strtype = "Open"; var ddlval=$('#ddFilterType').val(); if(ddlval == "Open"){ } else{ strtype = "Open,"+ddlval; } console.log(strtype); // 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: apiUrl, url: apiurldata, data: { UserId: userID, StartDate: startDate, EndDate: endDate, ticketStatus: "open", FromDate: startDate, ToDate: endDate, UtcMinute: UtcMinutes, Token: securityToken, Limit: "1000", OffSet: "0", _timeOffSetMinutes: "330", TicketType: strtype }, dataType: "json", success: function (data) { // alert(data); // making the generated Excel available for downloading. window.location.href = data; }, complete: function () { }, error: function (data) { alert(data); console.log("Error in Export to Excel"); } }); } /** * To apply filters to the Kendo-Grid-Columns. * @method applyFilterToKendoGrid * @param {String} gridId Target-Grid * @param {String} columnName Target-Column-Name * @param {String} logic Filtering-Logic (eg: for Equals-to = eq) * @param {String} operator Filtering-Operator (eg: AND, OR) * @param {Array} filterValues Values to be filtered in the Target column * @for OpenTicketReport */ function applyFilterToKendoGrid(gridId, columnName, operator, filterValues) { var filter = { "field": columnName, "operator": operator, "value": filterValues } $("#" + gridId).data('kendoGrid').dataSource.filter(filter); } var assignedTo, startDateParam, endDateParam; /** * To get refresh reports on close of ticket details. * @method getRefresh * @for OpenTicketReport */ function getRefresh() { $(".k-i-close").click(function () { //console.log(temp_dataItemId, temp_dataItemRowIndex); var openTicketId = temp_dataItemId; var openTicketRowIndex = temp_dataItemRowIndex; $.ajax({ type: "POST", url: "/Report/CheckIfTicketExistInOpen/", data: { ticketId: openTicketId, ticketStatus: "open" }, success: function (data) { if (data.success == true) { } else { $('#OpenTicket').data('kendoGrid').removeRow($('#OpenTicket').data('kendoGrid').tbody.find("tr")[parseInt(openTicketRowIndex, 10)]); } }, error: function (data) { console.log(data); } }); }); } /** * Function call on edit button and redirect to ticket activity page to edit ticket activity * @method editTicketActivity * @for Report */ function editActivity(e) { var dataItem = this.dataItem($(e.currentTarget).closest("tr")); var ticketid = dataItem.Id; //window.location.href = "/Ticket/TicketAdministration?complaintNo=" + ticketid; window.open("/Ticket/TicketAdministration?complaintNo=" + ticketid); } //============================= document ready function ===============================// $(document).ready(function () { $('.excelIcon').hide(); /** * Global References: Getting parameters from query string. * @for OpenTicketRepor */ setTimeout(function () { console.log(isepsFlag.toLowerCase()); if(isepsFlag.toLowerCase() == 'yes'){ $("#ddFilterType option").not("[value='EPS']").remove(); //$("#ddReasonForDealerTicket option[value='EPS']").remove(); } else{ if (_userRole.toLowerCase().trim() == 'cce'){ if(isepsFlag.toLowerCase() == 'both'){ } else{ $("#ddFilterType option[value='EPS']").remove(); } } } getOpenTicketHistory(); },500); assignedTo = getParameterByName('assignedTo'); startDateParam = getParameterByName('startDate'); endDateParam = getParameterByName('endDate'); addKendoWindow("#divTicketDetails", "Ticket Details", "1000px", 150, 120); $("#divTicketDetails").parent().addClass("TicketReportDetails_Window"); });