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 Amount of Last Five Invoices'
+ '
'
+ 'Average Amount of Last Five Payments '
+ '
'
+ '
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 = {}));