var Bizgaze; (function (Bizgaze) { let Apps; (function (Apps) { let Transact; (function (Transact) { let Controls; (function (Controls) { class SalesFrequency extends Unibase.Platform.Core.BaseComponent { constructor() { super(...arguments); this.OrganizationId = 0; this.OrgContactId = 0; this.ContainerId = ""; this.PopUpContainerId = ""; this.VisibleContainerId = ""; } init(formpropertyid, prop, callback) { var instance = this; instance.loadControlSettings(prop.ControlJsonText, prop.FormPropertyId); instance.loadPropertySettings(prop.PropertySettings, prop.FormPropertyId); } loadControl(containerid, prop) { var instance = this; instance.ContainerId = containerid; var html = instance.getSalesFrequency_html(); $("#" + containerid).html(html); } getSalesFrequency_html() { let html = '
' + '
' + ' Average Days Between Last Five Invoices
' + ' 0' + ' Days
' + '' + ' Average Days Between Last Five Payments
0' + ' Days
' + ' ' + 'Returned Cheques From Past 6 Months
' + ' 0' + ' Cheques
' + '
' + ' ' + 'Average Amount of Last Five Invoices
' + ' 0' + 'INR
' + '
' + 'Average Amount of Last Five Payments
' + ' 0' + 'INR
' + '
' + '
Average Clearance Days of Invoices
' + '0' + ' Days
'; return html; } loadControlSettings(controlsettingjson, formpropertyid) { return null; } loadPropertySettings(propertysettings, formpropertyid) { return null; } bindEditFormDetails(formpropertyid, propval, DocPropertyName) { return null; } getFrequency(OrgContactId, OrganizationId) { var instance = this; instance.VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1]; let OrderType = $("#" + instance.VisibleContainerId).find("#F_Widget_OrderType").val(); instance.OrganizationId = OrganizationId; instance.OrgContactId = OrgContactId == 0 ? OrganizationId : OrgContactId; instance.bindKPIEvents(); if (OrderType == 0) { OrderType = 1; } instance.getSF_KPIDetails(OrgContactId, OrganizationId); } bindKPIEvents() { let instance = this; instance.fileCacheHelper.loadJsFile("apps/transact/controls/orders/salesfrequency.js", function () { $("#" + instance.ContainerId).find("#div_FiveInvoices,#div_AvgFiveInvoicesAmount").unbind().click(function () { Unibase.Platform.Analytics.Managers.ReportManager.Instance().getReportByUniqueId("Bizgaze_Platform_Analytics_Reports_Last_Five_Invoices_SF_Orders").then(function (res) { if (res.result != null && res.result != "") { var filter = []; filter.push({ "Key": "organizationid", "Value": instance.OrganizationId.toString(), ExpOp: 1 }); Unibase.Platform.Analytics.Components.ReportViewer.Instance().report_ViewAllByUniqueId("Bizgaze_Platform_Analytics_Reports_Last_Five_Invoices_SF_Orders", null, filter, null); } else { instance.getKPIPopUp("Last Five Invoices", "div_Invoices"); instance.getRecentInvoices(); } }); }); $("#" + instance.ContainerId).find("#div_fivePayments,#div_AvgFivePaymentsAmnt").unbind().click(function () { Unibase.Platform.Analytics.Managers.ReportManager.Instance().getReportByUniqueId("Bizgaze_Platform_Analytics_Reports_Last_Five_Payments_SF_Orders").then(function (res) { if (res.result != null && res.result != "") { var filter = []; filter.push({ "Key": "organizationid", "Value": instance.OrganizationId.toString(), ExpOp: 1 }); Unibase.Platform.Analytics.Components.ReportViewer.Instance().report_ViewAllByUniqueId("Bizgaze_Platform_Analytics_Reports_Last_Five_Payments_SF_Orders", null, filter, null); } else { instance.getKPIPopUp("Payment Details", "div_payments"); instance.getRecentPayments(); } }); }); $("#" + instance.ContainerId).find("#div_ReturnedCheques").unbind().click(function () { Unibase.Platform.Analytics.Managers.ReportManager.Instance().getReportByUniqueId("Bizgaze_Platform_Analytics_Reports_Last_Five_ReturnedCheques_SF_Orders").then(function (res) { if (res.result != null && res.result != "") { var filter = []; filter.push({ "Key": "organizationid", "Value": instance.OrganizationId.toString(), ExpOp: 1 }); Unibase.Platform.Analytics.Components.ReportViewer.Instance().report_ViewAllByUniqueId("Bizgaze_Platform_Analytics_Reports_Last_Five_ReturnedCheques_SF_Orders", null, filter, null); } else { instance.getKPIPopUp("Returned Cheque Details", "div_payments"); instance.getReturnedCheques(); } }); }); }); } getKPIPopUp(WidgetTitle, CurrentDiv) { let instance = this; instance.PopUpContainerId = '_modal_bizgaze_popup_' + moment().unix(); instance.navigationHelper.popup(0, instance.PopUpContainerId, Bizgaze.Apps.Transact.Orders.SalesFrequency.Instance(), null, Unibase.Platform.Helpers.Size.ExtraLarge); $("#" + instance.PopUpContainerId).find("." + CurrentDiv).removeClass("hidden"); $("#" + instance.PopUpContainerId).find(".title_widget").text(WidgetTitle); $("#" + instance.PopUpContainerId).find("#widget_list_container").empty(); } noData() { let instance = this; $("#" + instance.PopUpContainerId).find(".header_list").html('
There is no Data
'); $("#" + instance.PopUpContainerId).find(".span_Listsearch_count").text("0"); $("#" + instance.PopUpContainerId).find(".header_list").removeClass("d-none"); } getKPIData(ReportName, OrganizationId, ResultColName, elem) { let instance = this; let resultData = 0; let ReportUniqueId = "Bizgaze_Platform_Analytics_Reports_" + ReportName; let _numberHelper = Unibase.Core.Helpers.NumberHelper.Instance(); Unibase.Platform.Analytics.Managers.ReportManager.Instance().getReportByUniqueId(ReportUniqueId).then(function (res) { if (res.result != null && res.result != "") { var postData = { "ReportId": res.result.ReportId, "page": 1, "pageSize": 20, "Filter": [], "FilterId": 0, "InputParameters": [ { "Key": "organizationid", "Value": OrganizationId.toString(), "ExpOp": 1 } ], "SearchTerm": null, "DateFilter": null, "DisplayModeTypeId": 1, "FromDate": "", "ToDate": "", "IsPortletWidget": false, "IsShowAll": false, "SortColumn": "" }; Unibase.Platform.Analytics.Managers.ReportManager.Instance().getReportInfo(postData).then(function (report_res) { if (report_res.result != null) { if (report_res.result.ReportJsonData.Result.Data != null && report_res.result.ReportJsonData.Result.Data != "") { let val = JSON.parse(report_res.result.ReportJsonData.Result.Data); resultData = _numberHelper.roundNumber(val[0][ResultColName].toString().replace(/,/g, ''), 2); if (resultData != null && resultData != undefined) { resultData = resultData.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,"); } $("#" + instance.ContainerId).find("#" + elem).text(resultData); } } if (resultData == 0) { $("#" + instance.ContainerId).find("#" + elem).text("0.00"); } }); } }); } getSF_KPIDetails(OrgContactId, OrganizationId) { let instance = this; let AvgInvoiceDays = 0; let AvgPaymentDays = 0; let AvgPaidAmount = 0; let AvgInvoiceAmount = 0; let ReturnedCheques = 0; let AvgClearanceDays = 0; Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getSalesFrequency(OrgContactId, OrganizationId).then(function (response) { let data = response.result; let _numberHelper = Unibase.Core.Helpers.NumberHelper.Instance(); if (data != "" && data != null) { AvgInvoiceDays = _numberHelper.roundNumber(data.AveInvoiceDays, 2); AvgPaymentDays = _numberHelper.roundNumber(data.AvePaymentsDays, 2); AvgPaidAmount = _numberHelper.DelimiterNumber(_numberHelper.roundNumber(data.AvePaidAmount, 2)); AvgInvoiceAmount = _numberHelper.DelimiterNumber(_numberHelper.roundNumber(data.AveInvoiceAmount, 2)); ReturnedCheques = _numberHelper.roundNumber(data.ReturnedCheques, 2); AvgClearanceDays = _numberHelper.roundNumber(data.AveClearanceDays, 2); $("#" + instance.ContainerId).find("#span_FiveInvoices").text(AvgInvoiceDays); $("#" + instance.ContainerId).find("#span_fivePayments").text(AvgPaymentDays); $("#" + instance.ContainerId).find("#span_div_AvgFivePaymentsAmnt").text(AvgPaidAmount); $("#" + instance.ContainerId).find("#span_AvgFiveInvoicesAmount").text(AvgInvoiceAmount); $("#" + instance.ContainerId).find("#span_ReturnedCheques").text(ReturnedCheques); $("#" + instance.ContainerId).find("#span_AvgClearenceDays").text(AvgClearanceDays); } instance.getKPIData("InvoiceDays_SF_OrdersKPIWidget", OrganizationId, "invoicedays", "span_FiveInvoices"); instance.getKPIData("PaymentDays_SF_OrdersKPIWidget", OrganizationId, "paymentsdays", "span_fivePayments"); instance.getKPIData("PaidAmount_SF_OrdersKPIWidget", OrganizationId, "paidamount", "span_div_AvgFivePaymentsAmnt"); instance.getKPIData("InvoiceAmount_SF_OrdersKPIWidget", OrganizationId, "invoiceamount", "span_AvgFiveInvoicesAmount"); instance.getKPIData("ReturnedCheques_SF_OrdersKPIWidget", OrganizationId, "returnedcheques", "span_ReturnedCheques"); instance.getKPIData("ClearanceDays_SF_OrdersKPIWidget", OrganizationId, "clearancedays", "span_AvgClearenceDays"); }); } getRecentInvoices() { var instance = this; let OrderType = $("#" + instance.VisibleContainerId).find("#F_Widget_OrderType").val(); Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getRecentFiveInvoicesBySpocId(instance.OrganizationId).then(function (response) { var RecentInvoices = response.result; if (RecentInvoices == "") { instance.noData(); } else { $("#" + instance.PopUpContainerId).find("#widget_list_container").html(''); var html = ''; for (var i = 0; i < RecentInvoices.length; i++) { var InvoiceItem = RecentInvoices[i]; html += '
  • ' + InvoiceItem.InvoiceNo + '' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDate(InvoiceItem.InvoiceDate) + '' + InvoiceItem.RefNo + '' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDate(InvoiceItem.RefDate) + '' + InvoiceItem.LobShortCode + '' + InvoiceItem.TotalAmount + '
  • '; } $("#" + instance.PopUpContainerId).find(".list-Report-RecentInvoices:last").after(html); $("#" + instance.PopUpContainerId).find(".span_List_count").text(RecentInvoices.length); } }); } getRecentPayments() { var instance = this; Bizgaze.Apps.Transact.Managers.PaymentManager.Instance().getLastFivePaymentsByContactId(instance.OrganizationId).then(function (response) { var PendingPayments = response.result; if (PendingPayments == "") { instance.noData(); } else { $("#" + instance.PopUpContainerId).find("#widget_list_container").html(''); var html = ''; for (var i = 0; i < response.result.length; i++) { var PaymentItem = PendingPayments[i]; var ContactName = PaymentItem.OrganizationName != null ? PaymentItem.OrganizationName : PaymentItem.OrgContactName; html += '
  • ' + PaymentItem.PaymentNo + '
    ' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDate(PaymentItem.PaymentDate) + '
    ' + PaymentItem.RefNo + '
    ' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(PaymentItem.RefDate, 'DD MMM YYYY') + '
    ' + PaymentItem.PaymentModeName + '' + ContactName + '' + PaymentItem.TotalAmount + '
  • '; } $("#" + instance.PopUpContainerId).find(".list-Report-RecentPayments:last").after(html); $("#" + instance.PopUpContainerId).find(".span_List_count").text(PendingPayments.length); } }); } getReturnedCheques() { var instance = this; Bizgaze.Apps.Transact.Managers.PaymentManager.Instance().getReturnedChequesBySpocId(instance.OrganizationId).then(function (response) { var RejectedCheques = response.result; if (RejectedCheques == "") { instance.noData(); } else { $("#" + instance.PopUpContainerId).find("#widget_list_container").html(''); var html = ''; for (var i = 0; i < response.result.length; i++) { var PaymentItem = RejectedCheques[i]; var ContactName = PaymentItem.OrganizationName != null ? PaymentItem.OrganizationName : PaymentItem.OrgContactName; html += '
  • ' + PaymentItem.PaymentNo + '
    ' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDate(PaymentItem.PaymentDate) + '
    ' + PaymentItem.RefNo + '
    ' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(PaymentItem.RefDate, 'DD MMM YYYY') + '
    ' + PaymentItem.PaymentModeName + '' + ContactName + '' + PaymentItem.TotalAmount + '
  • '; } $("#" + instance.PopUpContainerId).find(".list-Report-returnedpayments:last").after(html); $("#" + instance.PopUpContainerId).find(".span_List_count").text(RejectedCheques.length); } }); } static Instance() { if (this.instance === undefined) { this.instance = new SalesFrequency(); } return this.instance; } } Controls.SalesFrequency = SalesFrequency; })(Controls = Transact.Controls || (Transact.Controls = {})); })(Transact = Apps.Transact || (Apps.Transact = {})); })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {})); })(Bizgaze || (Bizgaze = {}));