123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287 |
- 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 = '<div class="row"><div class="col-sm-4" id="div_FiveInvoices">'
- + '<div class="card card-sm shadow-hover " id = "kpi_card" style = "height:auto;" ><div class="card-body"><span class="d-block font-15 font-weight-500 text-dark">'
- + ' Average Days Between Last Five Invoices </span><div class="mt-10"><span class="h4 mb-10 block text-underline">'
- + ' <a id="lnk_FiveInvoices"><span id="span_FiveInvoices" class="display-5 font-weight-400 text-dark">0</span></a>'
- + '</span><span class="text-muted font-bold block m-b"> Days</span></div></div></div ></div ><div class=" col-sm-4" id="div_fivePayments"><div class="card card-sm shadow-hover " id="kpi_card" style="height:auto;"><div class="card-body">'
- + '<span class="d-block font-15 font-weight-500 text-dark">'
- + ' Average Days Between Last Five Payments </span><div class="mt-10"><span class="h4 mb-10 block"><a id="lnk_fivePayments" class="text-underline"><span id="span_fivePayments" class="display-5 font-weight-400 text-dark">0</span></a>'
- + ' </span><span class="text-muted font-bold block m-b"> Days</span></div></div></div></div><div class=" col-sm-4" id="div_ReturnedCheques"><div class="card card-sm shadow-hover " id="kpi_card" style="height:auto;"><div class="card-body">'
- + ' <span class="d-block font-15 font-weight-500 text-dark">'
- + 'Returned Cheques From Past 6 Months </span><div class="mt-10"><span class="h4 mb-10 block">'
- + ' <a id="lnk_ReturnedCheques" class="text-underline"><span id="span_ReturnedCheques" class="display-5 font-weight-400 text-dark">0</span></a>'
- + ' </span><span class="text-muted font-bold block m-b">Cheques</span></div></div></div></div></div ><div class="row">'
- + ' <div class=" col-sm-4" id="div_AvgFiveInvoicesAmount"><div class="card card-sm shadow-hover " id="kpi_card" style="height:auto;"><div class="card-body">'
- + ' <span class="d-block font-15 font-weight-500 text-dark">'
- + 'Average Amount of Last Five Invoices</span><div class="mt-10"><span class="h4 mb-10 block text-underline">'
- + ' <a id="lnk_AvgFiveInvoicesAmount"><span id="span_AvgFiveInvoicesAmount" class="display-5 font-weight-400 text-dark">0</span></a>'
- + '</span><span class="text-muted font-bold block m-b">INR</span></div></div></div></div><div class=" col-sm-4" id="div_AvgFivePaymentsAmnt">'
- + ' <div class="card card-sm shadow-hover " id="kpi_card" style="height:auto;"><div class="card-body"><span class="d-block font-15 font-weight-500 text-dark">'
- + 'Average Amount of Last Five Payments </span><div class="mt-10"><span class="h4 mb-10 block text-underline">'
- + ' <a id="lnk_div_AvgFivePaymentsAmnt"><span id="span_div_AvgFivePaymentsAmnt" class="display-5 font-weight-400 text-dark">0</span></a>'
- + '</span><span class="text-muted font-bold block m-b">INR</span></div></div></div></div><div class=" col-sm-4" id="div_AvgClearenceDays">'
- + '<div class="card card-sm shadow-hover " id="kpi_card" style="height:auto;">'
- + '<div class="card-body"><span class="d-block font-15 font-weight-500 text-dark"> Average Clearance Days of Invoices </span><div class="mt-10">'
- + '<span class="h4 mb-10 block"><span id="lnk_AvgClearenceDays"><span id="span_AvgClearenceDays" class="display-5 font-weight-400 text-dark">0</span></span>'
- + '</span><span class="text-muted font-bold block m-b"> Days</span></div></div></div></div>';
- 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('<div class="alert alert-info">There is no Data</div>');
- $("#" + 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('<li class="list-group-item list-Report-RecentInvoices hidden"></li>');
- var html = '';
- for (var i = 0; i < RecentInvoices.length; i++) {
- var InvoiceItem = RecentInvoices[i];
- html += '<li class="list-group-item"><div class="row ml-2"><span class="col-sm-2">' + InvoiceItem.InvoiceNo + '</span><span class="col-sm-2">' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDate(InvoiceItem.InvoiceDate) + '</span><span class="col-sm-2">' + InvoiceItem.RefNo + '</span><span class="col-sm-2">' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDate(InvoiceItem.RefDate) + '</span><span class="col-sm-2">' + InvoiceItem.LobShortCode + '</span><span class="col-sm-2">' + InvoiceItem.TotalAmount + '</span></div></li>';
- }
- $("#" + 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('<li class="list-group-item list-Report-RecentPayments hidden"></li>');
- 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 += '<li class="list-group-item"><div class="row "><span class="col-sm-3"><span>' + PaymentItem.PaymentNo + '</span><br /><span>' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDate(PaymentItem.PaymentDate) + '</span></span><span class="col-sm-2"><span>' + PaymentItem.RefNo + '</span><br /><span>' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(PaymentItem.RefDate, 'DD MMM YYYY') + '</span></span><span class="col-sm-2">' + PaymentItem.PaymentModeName + '</span><span class="col-sm-3">' + ContactName + '</span><span class="col-sm-2">' + PaymentItem.TotalAmount + '</span></div></li>';
- }
- $("#" + 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('<li class="list-group-item list-Report-returnedpayments hidden"></li>');
- 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 += '<li class="list-group-item"><div class="row "><span class="col-sm-3"><span>' + PaymentItem.PaymentNo + '</span><br /><span>' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDate(PaymentItem.PaymentDate) + '</span></span><span class="col-sm-2"><span>' + PaymentItem.RefNo + '</span><br /><span>' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(PaymentItem.RefDate, 'DD MMM YYYY') + '</span></span><span class="col-sm-2">' + PaymentItem.PaymentModeName + '</span><span class="col-sm-3">' + ContactName + '</span><span class="col-sm-2">' + PaymentItem.TotalAmount + '</span></div></li>';
- }
- $("#" + 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 = {}));
|