var SPRL;
(function (SPRL) {
let Apps;
(function (Apps) {
let Sap;
(function (Sap) {
let Components;
(function (Components) {
class SapReports extends Unibase.Platform.Core.BaseComponent {
cssFiles() {
return ['libs/tabulator/css/tabulator.min.css', 'libs/tabulator-tables/css/bootstrap/tabulator_bootstrap4.min.css'];
}
jsFiles() {
return ["apps/sprl/managers/sap/sapreportmanager.js", "platform/forms/components/formviewer/formviewer.js", 'libs/parsley/parsley.min.js', 'apps/sprl/components/sap/sapreports.widget.js', 'platform/core/infos/status.js', 'libs/jquery/ui/jquery-ui.min.js', "libs/tabulator-tables/js/tabulator.min.js"];
}
html(id, containerid) {
return `
`;
}
loadUsers() {
var url = _appsettings.server_url() + '/apis/v4/bizgaze/sprl/contacts/getmappingcontacts';
AutoCompleteHelper.getHelper().Create($("#txtAutocomplete_User"), "#hfAutocomplete_User", url, function (response) {
var data = response;
});
}
load(id, containerid, callback) {
var instance = this;
if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length == 0) {
$("#div_ConnectedUsers").removeClass("hidden");
instance.loadUsers();
}
else {
$("#div_ConnectedUsers").addClass("hidden");
}
$("#txt_fromdate").val(moment().format('YYYY-MM-DD'));
$("#txt_todate").val(moment().format('YYYY-MM-DD'));
instance.loadSapReports();
}
init(containerid) {
var instance = this;
instance.fileCacheHelper.loadJsFiles(["apps/sprl/components/sap/sapreports.js"], function () {
instance.navigationHelper.loadSection(0, containerid, SPRL.Apps.Sap.Components.SapReports.Instance(), null, null);
if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length == 0) {
$("#div_ConnectedUsers").removeClass("hidden");
instance.loadUsers();
}
else {
$("#div_ConnectedUsers").addClass("hidden");
}
instance.loadSapReports();
});
}
loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) { }
loadSapReports() {
var html = "";
var setting = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings.find(x => x.settingName == "sapcin");
var sapcin = setting != undefined ? setting.settingValue : "";
var contactName = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().name;
var isAdmin = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().isAdmin;
if (sapcin != "") {
var option = new Option(contactName + "(" + sapcin + ")", sapcin, true);
$("#txtAutocomplete_User").append(option);
}
if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length > 0)
sapcin = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_sapcin").Value.toString();
else
sapcin = $("#txtAutocomplete_User").val() != null ? $("#txtAutocomplete_User").val().toString() : "0";
if ((sapcin == "" || sapcin == "0") && !isAdmin) {
$("#div_todate").addClass("hidden");
$("#div_fromdate").addClass("hidden");
$("#div_sapreportbody").removeClass("pa-0");
html = `
Please Assign SAPCIN
`;
}
else {
$("#div_todate").removeClass("hidden");
$("#div_fromdate").removeClass("hidden");
$("#div_sapreportbody").addClass("pa-0");
html = `
Customer LimitGet Report DataCustomer OverDueGet Report DataDebit NoteGet Report DataCredit NoteGet Report DataSales ReportGet Report DataStock ApiGet Report DataCustomer OutStandingGet Report DataAccount StatementGet Report Data`;
}
$("#div_sapReports").html(html);
}
showErrorMessage(message) {
$(".divsapReports").html(message);
}
executeSapSalesReport(sapcin, fromdate, todate) {
var fromDate = $("#txt_fromdate").val();
var toDate = $("#txt_todate").val();
var instance = this;
if (fromdate == undefined) {
fromdate = fromDate != "" ? fromDate : new Date();
}
if (todate == undefined) {
todate = toDate != "" ? toDate : new Date();
}
var fdate = moment.utc(fromdate).format("YYYYMMDD");
var tdate = moment.utc(todate).format("YYYYMMDD");
instance.fileCacheHelper.loadJsFiles(["apps/sprl/managers/sap/sapreportmanager.js", 'apps/sprl/components/sap/sapreports.widget.js'], null);
if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length == 0)
sapcin = $("#txtAutocomplete_User").val() != null ? $("#txtAutocomplete_User").val() : "0";
else
sapcin = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_sapcin").Value.toString();
if (sapcin == "0") {
MessageHelper.Instance().showError("Please Assign Sap Cin", "div_validationSummary");
return false;
}
else {
$("#a_salesReport").text("Getting...");
SPRL.Apps.Sap.Managers.SapReportManager.Instance().getSalesReport(sapcin, fdate, tdate).then(function (response) {
instance.navigationHelper.popup(0, '', SPRL.Apps.Sap.Components.SapReportWidget.Instance(), null, Unibase.Platform.Helpers.Size.Large);
$("#formName").text("Sales Report");
if (response.status == Unibase.Data.Status.Success) {
response.result = JSON.parse(response.result);
var table = new Tabulator(".divsapReports", {
columns: [
{ title: "Invoice No.", field: "VBELN", visible: true, headerSort: false, },
{ title: "Invoice date (creation of inv)", field: "FKDAT", visible: true, headerSort: false, },
{ title: "Login ID", field: "KUNRG", visible: true, headerSort: false, },
{ title: "Customer name", field: "NAME1", visible: true, headerSort: false, },
{ title: "Material Code", field: "MATNR", visible: true, headerSort: false, },
{ title: "Material description", field: "MAKTX", visible: true, headerSort: false, },
{ title: "Quantity (in sets)", field: "FKIMG", visible: true, headerSort: false, },
{ title: "Net Value", field: "BASICVALUE", visible: true, headerSort: false, },
{ title: "Tax", field: "ST", visible: true, headerSort: false, },
{ title: "Total Value", field: "TOTALVAL", visible: true, headerSort: false, }
],
layout: "fitColumns",
columnMinWidth: 100,
movableColumns: true,
}).setData(response.result);
}
else {
$("#downloadDoc").hide();
if (response.code.toString() == "NotFound")
instance.showErrorMessage("Data not found in selected period");
else
instance.showErrorMessage(response.message);
}
$("#a_salesReport").text("Get Report Data");
});
}
}
executeSapCustomerOverDue(sapcin, date) {
var instance = this;
var fromDate = $("#txt_fromdate").val();
if (date == undefined) {
date = fromDate != "" ? fromDate : new Date();
}
date = moment.utc(date).format("YYYYMMDD");
instance.fileCacheHelper.loadJsFiles(["apps/sprl/managers/sap/sapreportmanager.js", 'apps/sprl/components/sap/sapreports.widget.js'], null);
if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length == 0)
sapcin = $("#txtAutocomplete_User").val() != null ? $("#txtAutocomplete_User").val() : "0";
else
sapcin = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_sapcin").Value.toString();
if (sapcin == "0") {
MessageHelper.Instance().showError("Please Assign Sap Cin", "div_validationSummary");
return false;
}
else {
$("#a_customerOverDue").text("Getting...");
SPRL.Apps.Sap.Managers.SapReportManager.Instance().getCustomerOverDue(sapcin, date).then(function (response) {
instance.navigationHelper.popup(0, '', SPRL.Apps.Sap.Components.SapReportWidget.Instance(), null, Unibase.Platform.Helpers.Size.Large);
$("#formName").text("Customer Over Due");
if (response.status == Unibase.Data.Status.Success) {
var json = JSON.parse(response.result);
var html = `
Login ID` + json.KUNNR + `
Name of Customer` + json.NAME1 + `
Town` + json.CITY + `
Country` + json.LANDX + `
Payment not Due` + json.NOT_DUE + `
01-30 Days` + json.FOR_1_30 + `
31-60 Days` + json.FOR_31_60 + `
61-90 Days` + json.FOR_61_90 + `
91-180 Days` + json.FOR_91_180 + `
181-365 Days` + json.FOR_181_365 + `
Over 365 Days` + json.OVER_365 + `
Advances` + json.ADVANCES + `
Net Over Due` + json.NET + `
`;
$(".divsapReports").html(html);
}
else {
$("#downloadDoc").hide();
if (response.code.toString() == "NotFound")
instance.showErrorMessage("Data not found in selected period");
else
instance.showErrorMessage(response.message);
}
$("#a_customerOverDue").text("Get Report Data");
});
}
}
executeSapCustomerLimit(sapcin) {
var instance = this;
instance.fileCacheHelper.loadJsFiles(["apps/sprl/managers/sap/sapreportmanager.js", 'apps/sprl/components/sap/sapreports.widget.js'], null);
if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length == 0)
sapcin = $("#txtAutocomplete_User").val() != null ? $("#txtAutocomplete_User").val() : "0";
else
sapcin = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_sapcin").Value.toString();
if (sapcin == "0") {
MessageHelper.Instance().showError("Please Assign Sap Cin", "div_validationSummary");
return false;
}
else {
$("#a_customerLimit").text("Getting...");
SPRL.Apps.Sap.Managers.SapReportManager.Instance().getCustomerLimit(sapcin).then(function (response) {
instance.navigationHelper.popup(0, '', SPRL.Apps.Sap.Components.SapReportWidget.Instance(), null, Unibase.Platform.Helpers.Size.Large);
$("#formName").text("Credit limit");
if (response.status == Unibase.Data.Status.Success) {
var json = JSON.parse(response.result);
var usedCreditLimit = 0;
usedCreditLimit = Number(json.SKFOR) * 100 / json.KLIMK;
var html = `
Login ID` + json.KUNNR + `
Credit limit (Rs.)` + json.KLIMK + `
Credit limit used %` + usedCreditLimit.toFixed(2) + `(%)
Credit Limit used (Rs.)` + json.SKFOR + `
`;
$(".divsapReports").html(html);
}
else {
$("#downloadDoc").hide();
if (response.code.toString() == "NotFound")
instance.showErrorMessage("Data not found in selected period");
else
instance.showErrorMessage(response.message);
}
$("#a_customerLimit").text("Get Report Data");
});
}
}
executeSapDebitCreditNote(blart) {
var instance = this;
var fromDate = $("#txt_fromdate").val();
var toDate = $("#txt_todate").val();
var fromdate = fromDate != "" ? fromDate : new Date();
var todate = toDate != "" ? toDate : new Date();
var sapcin = "";
var fdate = moment.utc(fromdate).format("YYYYMMDD");
var tdate = moment.utc(todate).format("YYYYMMDD");
instance.fileCacheHelper.loadJsFiles(["apps/sprl/managers/sap/sapreportmanager.js", 'apps/sprl/components/sap/sapreports.widget.js'], null);
if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length == 0)
sapcin = $("#txtAutocomplete_User").val() != null ? $("#txtAutocomplete_User").val().toString() : "0";
else
sapcin = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_sapcin").Value.toString();
blart = blart == undefined ? "DR" : blart;
if (sapcin == "0") {
MessageHelper.Instance().showError("Please Assign Sap Cin", "div_validationSummary");
return false;
}
else {
var formName = "Debit Note";
if (blart == "DG") {
formName = "Credit Note";
$("#a_creditNote").text("Getting...");
}
else
$("#a_debitNote").text("Getting...");
SPRL.Apps.Sap.Managers.SapReportManager.Instance().getDebitCreditNote(sapcin, fdate, tdate, blart).then(function (response) {
instance.navigationHelper.popup(0, '', SPRL.Apps.Sap.Components.SapReportWidget.Instance(), null, Unibase.Platform.Helpers.Size.Large);
$("#formName").text(formName);
if (response.status == Unibase.Data.Status.Success) {
var json = JSON.parse(response.result);
var html = `
Login ID` + json.KUNNR + `
Document No.` + json.BELNR + `
Date` + json.AUGDT + `
Reference Doc No.` + json.ZUONR + `
Amount` + json.WRBTR + `
`;
$(".divsapReports").html(html);
}
else {
$("#downloadDoc").hide();
if (response.code.toString() == "NotFound")
instance.showErrorMessage("Data not found in selected period");
else
instance.showErrorMessage(response.message);
}
$("#a_creditNote").text("Get Report Data");
$("#a_debitNote").text("Get Report Data");
});
}
}
executeCustomerOutStanding(sapcin) {
var instance = this;
instance.fileCacheHelper.loadJsFiles(["apps/sprl/managers/sap/sapreportmanager.js", 'apps/sprl/components/sap/sapreports.widget.js'], null);
if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length == 0)
sapcin = $("#txtAutocomplete_User").val() != null ? $("#txtAutocomplete_User").val() : "0";
else
sapcin = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_sapcin").Value.toString();
if (sapcin == "0") {
MessageHelper.Instance().showError("Please Assign Sap Cin", "div_validationSummary");
return false;
}
else {
$("#a_customerOutStanding").text("Getting...");
SPRL.Apps.Sap.Managers.SapReportManager.Instance().getCustomerOutStanding(sapcin).then(function (response) {
instance.navigationHelper.popup(0, '', SPRL.Apps.Sap.Components.SapReportWidget.Instance(), null, Unibase.Platform.Helpers.Size.Large);
$("#formName").text("Outstanding Statement");
if (response.status == Unibase.Data.Status.Success) {
response.result = JSON.parse(response.result);
var table = new Tabulator(".divsapReports", {
columns: [
{ title: "Login ID", field: "ZLOGINID", visible: true },
{ title: "Document Date", field: "ZDOCDATE", visible: true },
{ title: "Invoice No.", field: "ZEXINVNO", visible: true },
{ title: "Document Type", field: "ZTYPE", visible: true },
{ title: "SAP Invoice No.", field: "BELNR", visible: true },
{ title: "Voucher No.", field: "", visible: true },
{ title: "Due Date", field: "ZNETDUEDATE", visible: true },
{ title: "Amount", field: "ZAMOUNT", visible: true },
{ title: "Remarks", field: "ZTEXT", visible: true }
],
layout: "fitColumns",
columnMinWidth: 100,
movableColumns: true,
}).setData(response.result);
}
else {
$("#downloadDoc").hide();
if (response.code.toString() == "NotFound")
instance.showErrorMessage("Data not found in selected period");
else
instance.showErrorMessage(response.message);
}
$("#a_customerOutStanding").text("Get Report Data");
});
}
}
executeAccountStatement(sapcin, fromdate, todate) {
var instance = this;
instance.fileCacheHelper.loadJsFiles(["apps/sprl/managers/sap/sapreportmanager.js", 'apps/sprl/components/sap/sapreports.widget.js'], null);
if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length == 0)
sapcin = $("#txtAutocomplete_User").val() != null ? $("#txtAutocomplete_User").val() : "0";
else
sapcin = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_sapcin").Value.toString();
var fromDate = $("#txt_fromdate").val();
var toDate = $("#txt_todate").val();
if (fromdate == undefined) {
fromdate = fromDate != "" ? fromDate : new Date();
}
if (todate == undefined) {
todate = toDate != "" ? toDate : new Date();
}
var fdate = moment.utc(fromdate).format("YYYYMMDD");
var tdate = moment.utc(todate).format("YYYYMMDD");
if (sapcin == "0") {
MessageHelper.Instance().showError("Please Assign Sap Cin", "div_validationSummary");
return false;
}
else {
$("#a_accountStatement").text("Getting...");
SPRL.Apps.Sap.Managers.SapReportManager.Instance().getAccountStatement(sapcin, fdate, tdate).then(function (response) {
instance.navigationHelper.popup(0, '', SPRL.Apps.Sap.Components.SapReportWidget.Instance(), null, Unibase.Platform.Helpers.Size.Large);
$("#formName").text("Account Statement");
if (response.status == Unibase.Data.Status.Success) {
response.result = JSON.parse(response.result);
var table = new Tabulator(".divsapReports", {
columns: [
{ title: "Voucher No.", field: "BELNR", visible: true },
{ title: "Voucher Date", field: "BUDAT", visible: true },
{ title: "Voucher Type", field: "BLART", visible: true },
{ title: "Debit Amount", field: "DMBTR", visible: true },
{ title: "Credit Amount", field: "WRBTR", visible: true },
{ title: "Cheque No.", field: "ZUONR", visible: true },
{ title: "Invoice No.", field: "XBLNR", visible: true },
{ title: "Remarks", field: "SGTEXT", visible: true },
],
layout: "fitColumns",
columnMinWidth: 100,
movableColumns: true,
}).setData(response.result);
}
else {
$("#downloadDoc").hide();
if (response.code.toString() == "NotFound")
instance.showErrorMessage("Data not found in selected period");
else
instance.showErrorMessage(response.message);
}
$("#a_accountStatement").text("Get Report Data");
});
}
}
static Instance() {
if (this.instance === undefined) {
this.instance = new SapReports();
}
return this.instance;
}
}
Components.SapReports = SapReports;
})(Components = Sap.Components || (Sap.Components = {}));
})(Sap = Apps.Sap || (Apps.Sap = {}));
})(Apps = SPRL.Apps || (SPRL.Apps = {}));
})(SPRL || (SPRL = {}));