var Bizgaze; (function (Bizgaze) { let Apps; (function (Apps) { let Transact; (function (Transact) { let Components; (function (Components) { let Invoices; (function (Invoices) { class PrintInvoice extends Unibase.Platform.Core.BaseComponent { constructor() { super(...arguments); this.sampleInvoiceNo = ""; } jsFiles() { return ["platform/bundle/index.purchases.details.js"]; } cssFiles() { return []; } html() { var html = `
`; return html; } load(item) { Unibase.Platform.Helpers.FileCacheHelper.Instance().addCacheFiles(["platform/series/managers/seriesmanager.js", "apps/transact/managers/invoicemanager.js"]); let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; let invoiceno = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_invoiceno").Value; if (invoiceno != undefined) { var invoiceNo = invoiceno; var date = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_invoicedate").Value; var LobId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_lobid").Value; var JournalTypeId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_journaltypeid").Value; var InvoiceDate = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_invoicedate").Value; var invidate = Bizgaze.Apps.Transact.Components.Invoices.PrintInvoice.Instance().formatDate(InvoiceDate); invoiceNo = invoiceNo.toString().replace('#', ''); var templateid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_templateid").Value; $('#ddl_InvoiceSeries').change(function () { Bizgaze.Apps.Transact.Components.Invoices.PrintInvoice.Instance().changeSeries($(this).val()); }); $('.btnConfirmShipment_SaveAndPrint').click(function () { $('.btnConfirmShipment_SaveAndPrint').addClass('disabled', "true"); $('#hfinvoice_no').replaceWith(PrintInvoice.Instance().sampleInvoiceNo); Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_invoiceno").Value = "0"; PrintInvoice.Instance().confirmPrint(); }); $("#btn_ClosePrintInvoice").click(function () { PrintInvoice.Instance().navigationHelper.closePopUp(); }); $('#btnConfirmShipment_PrintPreview').click(function () { PrintInvoice.Instance().printPreview(Unibase.Themes.Providers.DetailHelper.recordId); }); if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_invoicetypeid").Value == "1" || templateid == "0") { $('#btnConfirmShipment_PrintPreview').hide(); } var seriesid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_seriesid").Value; if (invoiceno.indexOf('#') >= 0) { Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().GetSampleInvoiceNo(invoiceNo, invidate, seriesid).then(function (response) { PrintInvoice.Instance().sampleInvoiceNo = response.result; $('#spnNextInvoiceNo').text(PrintInvoice.Instance().sampleInvoiceNo); }); } else { PrintInvoice.Instance().sampleInvoiceNo = invoiceno; $('#spnNextInvoiceNo').text(invoiceno); } $(".confirm_print").change(function () { $(".preview_card").removeClass("d-none"); let templateid = $(this).val(); Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('platform/templates/components/templateprint.js', function () { Unibase.Platform.Templates.Components.TemplatePrint.Instance().loadtemplatehtmldata(templateid); }); }); $("#ddl_TemplateId").change(function () { if ($('#ddl_TemplateId').val() == 0) { $('.btnConfirmShipment_SaveAndPrint').addClass('disabled'); } else { $('.btnConfirmShipment_SaveAndPrint').removeClass('disabled'); } }); PrintInvoice.Instance().loadSeries(); PrintInvoice.Instance().loadTemplates(); } } init() { let instance = this; let jsfiles = ["platform/bundle/index.purchases.details.js"]; PrintInvoice.Instance().fileCacheHelper.addCacheFiles(["platform/series/managers/seriesmanager.js", "apps/transact/managers/invoicemanager.js"]); PrintInvoice.Instance().fileCacheHelper.loadJsFiles(jsfiles, null); let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; let invoiceno = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_invoiceno").Value; let InvoiceId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_invoiceid").Value; var invoicetypeid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_invoicetypeid").Value; let SystemLock = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_issystemlock"); let IsSystemLock = "false"; if ((invoiceno.indexOf('#') >= 0) && Number(invoicetypeid) == 1) { $(".DetailSetting_" + InstalledAppId + "_Print").text("Confirm & Print"); $(".DetailSetting_" + InstalledAppId + "_Print").addClass("hidden"); if (SystemLock == undefined) { instance.fileCacheHelper.loadJsFile("apps/transact/managers/invoicemanager.js", function () { Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getInvoiceDetails(InvoiceId).then(function (invres) { IsSystemLock = invres.result.IssystemLock.toString(); if (IsSystemLock == "false") { $(".DetailSetting_" + InstalledAppId + "_Print").removeClass("hidden"); } }); }); } else { IsSystemLock = SystemLock.Value; if (IsSystemLock == "true") { $(".DetailSetting_" + InstalledAppId + "_Print").addClass("hidden"); } } } $(".DetailSetting_" + InstalledAppId + "_Print").click(function () { var templateid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_templateid").Value; if ((invoiceno.indexOf('#') >= 0 || templateid == "0") && Number(invoicetypeid) == 1) { Unibase.Platform.Helpers.NavigationHelper.Instance().popup(0, '', Bizgaze.Apps.Transact.Components.Invoices.PrintInvoice.Instance(), null, Unibase.Platform.Helpers.Size.Large); } else { if (!Boolean(templateid)) { Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("/platform/core/helpers/printhelper/printhelper.js", function () { Unibase.Platform.Helpers.PrintHelper.Instance().showPrintErrorModal(); return; }); } else { PrintInvoice.Instance().sampleInvoiceNo = invoiceno; var invoiceid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_invoiceid").Value; PrintInvoice.Instance().printPreview(invoiceid); } } }); } loadSeries() { let InstallAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; var seriesid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstallAppId + "_seriesid").Value); Unibase.Platform.Series.Managers.SeriesManager.Instance().getSeries(0, InstallAppId).then(function (response) { $('#ddl_InvoiceSeries').empty(); var data = response.result; var cmbSeries = document.getElementById('ddl_InvoiceSeries'); $('#ddl_InvoiceSeries').empty(); for (var i = 0; i < data.length; i++) { if (data[i].StatusId == 1) { var option = new Option(data[i].SeriesName, data[i].SeriesId.toString()); $("#ddl_InvoiceSeries").append(option); } } if (seriesid != 0) { $('#ddl_InvoiceSeries option[value=' + seriesid + ']').attr('selected', 'selected'); Bizgaze.Apps.Transact.Components.Invoices.PrintInvoice.Instance().changeSeries(seriesid); } else Bizgaze.Apps.Transact.Components.Invoices.PrintInvoice.Instance().changeSeries(data[0].SeriesId); }); } loadTemplates() { let InstallAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; var templateid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstallAppId + "_templateid").Value); Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().gettemplates(InstallAppId).then(function (response) { if (response.result.length > 0) { var ddlTemplate = document.getElementById('ddl_TemplateId'); $('#ddl_TemplateId').empty(); $("#ddl_TemplateId").append(''); for (var i = 0; i < response.result.length; i++) { var option = new Option(response.result[i].TemplateName, response.result[i].TemplateId); $("#ddl_TemplateId").append(option); } } if (templateid != 0) { $('#ddl_TemplateId option[value=' + templateid + ']').attr('selected', 'selected'); } else { var branchid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstallAppId + "_branchid").Value); var lobid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstallAppId + "_lobid").Value); Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().GetTemplateSetting(InstallAppId, branchid, lobid).then(function (res) { if (res.result != null) { $('#ddl_TemplateId option[value=' + res.result.TemplateId + ']').attr('selected', 'selected'); } }); } if (response.result.length <= 0) { $(".div_TemplateId").addClass('hidden'); MessageHelper.Instance().showError("Please Create Template", "bizgaze_CreateErrorMessages"); } let seletedTemplate = $(".confirm_print option:selected").val(); if (seletedTemplate != 0) { $(".preview_card").removeClass("d-none"); Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('platform/templates/components/templateprint.js', function () { Unibase.Platform.Templates.Components.TemplatePrint.Instance().loadtemplatehtmldata(seletedTemplate); }); } }); } changeSeries(seriesId) { let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; var InvoiceDate = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_invoicedate").Value; var invidate = Bizgaze.Apps.Transact.Components.Invoices.PrintInvoice.Instance().formatDate(InvoiceDate); Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getTempNextNumber(seriesId, invidate).then(function (data) { if (data.status == 2) { MessageHelper.Instance().showError(data.message, "bizgaze_CreateErrorMessages"); $('#spnNextInvoiceNo').text(""); } else { $('#spnNextInvoiceNo').text(data.result.SeriesName); PrintInvoice.Instance().sampleInvoiceNo = data.result.SeriesName; $('#bizgaze_CreateErrorMessages').empty(); } }, function (response) { MessageHelper.Instance().showError(response.message, "bizgaze_CreateErrorMessages"); }); } printPreview(InvoiceId) { var instance = this; instance.navigationHelper.showLoading(); let InstallAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; PrintInvoice.Instance().fileCacheHelper.loadJsFile("apps/transact/managers/invoicemanager.js", function () { Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getprintinvoice(InvoiceId, true, false).then(function (data) { instance.navigationHelper.hideLoading(); var resp = data.result; if (isMobileApp()) { Unibase.Platform.Helpers.MobileHelper.Instance().previewHtml(data.result.PrintHTML); } else { if (resp.FilePath != "" && resp.FilePath != null) { var path = resp.FilePath.replace("~", ""); instance.download(_appsettings.asset_url() + path, resp.FileName + ".pdf"); } else { PrintInvoice.Instance().printPopup(resp); } } }, function (response) { MessageHelper.Instance().showError(response.responseText, ""); }); }); } download(url, fileName) { var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.responseType = 'blob'; xhr.onload = function (event) { if (this.status == 200) { PrintInvoice.Instance()._saveBlob(this.response, fileName); } }; xhr.send(); } _saveBlob(response, fileName) { if (navigator.msSaveBlob) { navigator.msSaveBlob(response, fileName); } else { this._html5Saver(response, fileName); } } _html5Saver(blob, fileName) { var a = document.createElement("a"); document.body.appendChild(a); var url = window.URL.createObjectURL(blob); a.href = url; a.download = fileName; a.click(); document.body.removeChild(a); } printPopup(data) { var mywindow = window.open('', 'my Print', 'height=400,width=850'); var content = 'Print'; content += data.PrintHTML; content += ""; content += ''; mywindow.document.write(content); return true; } confirmPrint() { let InstallAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; var seriesid = Number($('#ddl_InvoiceSeries').val()); let invoiceno = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstallAppId + "_invoiceno").Value; invoiceno = invoiceno.toString().replace(/\//g, '.'); if (seriesid == undefined) { seriesid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstallAppId + "_seriesid").Value); } if ($('#ddl_TemplateId option').length == 0) { MessageHelper.Instance().showError("Please Create Template", "bizgaze_CreateErrorMessages"); $('.btnConfirmShipment_SaveAndPrint').removeClass('disabled'); return false; } if ($('#ddl_TemplateId').val() == '' || $('#ddl_TemplateId').val() == "0") { Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("/platform/core/helpers/printhelper/printhelper.js", function () { Unibase.Platform.Helpers.PrintHelper.Instance().showPrintErrorModal(); return; }); $('.btnConfirmShipment_SaveAndPrint').removeClass('disabled'); return false; } var invoiceId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstallAppId + "_invoiceid").Value); var templateid = Number($('#ddl_TemplateId').val()); Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().updateinvoiceseries(invoiceId, seriesid, invoiceno, templateid).then(function (data) { if (data.status == 2) { MessageHelper.Instance().showError(data.message, 'bizgaze_CreateErrorMessages'); return false; } PrintInvoice.Instance().navigationHelper.closePopUp(); var detailobj = Unibase.Themes.Providers.DetailHelper.DetailInstance(); detailobj._recordId = Unibase.Themes.Providers.DetailHelper.recordId; detailobj._installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; detailobj._containerId = detailobj._containerId; detailobj.loadPortlets(detailobj); var invoiceId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstallAppId + "_invoiceid").Value); if (invoiceId == undefined || invoiceId == 0) invoiceId = Unibase.Themes.Providers.DetailHelper.recordId; PrintInvoice.Instance().printPreview(detailobj._recordId); }); } formatDate(date) { var datearray = date.split("/"); var newdate = datearray[1] + '/' + datearray[0] + '/' + datearray[2]; var d = new Date(newdate), month = '' + (d.getMonth() + 1), day = '' + d.getDate(), year = d.getFullYear(); if (month.length < 2) month = '0' + month; if (day.length < 2) day = '0' + day; return [year, month, day].join('-'); } print() { let InstallAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; var invoiceNo = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstallAppId + "_invoioceno").Value; if (invoiceNo.indexOf("#") >= 0) { invoiceNo = invoiceNo.replace('#', ''); Unibase.Platform.Helpers.NavigationHelper.Instance().popup(0, "", Bizgaze.Apps.Transact.Components.Invoices.PrintInvoice.Instance(), null, Unibase.Platform.Helpers.Size.Large); } else { var invoiceId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstallAppId + "_invoioceid").Value); var TemplateId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstallAppId + "_templateid").Value); if (TemplateId == 0) { } else { Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getprintinvoice(invoiceId, true, false).then(function (data) { var resp = data.result; var printhtml = '
' + resp.Html + '
'; }, function (response) { MessageHelper.Instance().showError(response.responseText, ""); }); } } } downloadPrint(InvoiceId) { Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(["platform/templates/managers/templatemanager.js", "platform/files/managers/filemanager.js", "platform/core/helpers/mobile/mobilehelper.js", "platform/core/helpers/mobile/interfaces/imobilehelper.js", "platform/core/helpers/mobile/android/androidhelper.js"], function () { Unibase.Platform.Templates.Managers.TemplateManager.Instance().getTemplatePdfFile("Bizgaze_Extension_Transact_Transact_PrintProvider_InvoicePrint", InvoiceId).then(function (responce) { if (responce.errors == null) { if (isMobileApp) { var filePath = responce.result.FilePath; if (filePath != null && filePath != undefined && filePath != "") { filePath = filePath.replace("file://" + '/', ''); filePath = filePath.replace(window.location.origin + '/', ''); Unibase.Platform.Helpers.MobileHelper.Instance().getMobileFilePath(responce, filePath, Bizgaze.Apps.Transact.Components.Invoices.PrintInvoice.Instance().MobileFilePathCallBack); } } else { var Filepath = responce.result.FilePath; Filepath = Filepath.substring(8) + ".pdf"; var a = document.createElement("a"); a.href = Filepath; a.download = responce.result.FileName; a.click(); } } }); }); } MobileFilePathCallBack(responce, filePath, mobileFilePath) { mobileFilePath.replace(/^\//, ''); filePath = filePath.replace(mobileFilePath + '/', ''); var tempPath = filePath.split("~/"); var checkPath = tempPath[tempPath.length - 1]; filePath = checkPath; var server_url = _appsettings.server_url(); if (!filePath.includes(server_url)) { filePath = server_url + "/" + filePath; } var a = document.createElement("a"); a.href = filePath; a.download = responce.result.FileName; a.click(); } downloadGstrReport(gstno) { Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(["libs/xlsx/xlsx.core.min.js", "libs/alasql/alasql.min.js", "apps/transact/managers/invoicemanager.js"], function () { if (gstno == "" || gstno == "Select") gstno = 0; Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getGSTRReport(gstno).then(function (result) { var GstSummary = JSON.parse(result.result[0]); var B2BData = JSON.parse(result.result[1]); var B2CSData = JSON.parse(result.result[2]); var B2CLdata = [""]; if (result.result[3] != '[]') B2CLdata = JSON.parse(result.result[3]); var CDNRdata = [""]; if (result.result[4] != '[]') CDNRdata = JSON.parse(result.result[4]); var CDNUdata = [""]; if (result.result[5] != '[]') CDNUdata = JSON.parse(result.result[5]); var HSNSdata = [""]; if (result.result[6] != '[]') HSNSdata = JSON.parse(result.result[6]); var PurchaseHSNSdata = [""]; if (result.result[7] != '[]') PurchaseHSNSdata = JSON.parse(result.result[7]); var PurchaseB2B = [""]; if (result.result[8] != '[]') PurchaseB2B = JSON.parse(result.result[8]); var Seriesdata = [""]; if (result.result[9] != '[]') Seriesdata = JSON.parse(result.result[9]); var opts = [{ sheetid: 'GstSummary', header: true }, { sheetid: 'B2BDetails', header: true }, { sheetid: 'B2CSDetails', header: false }, { sheetid: 'B2CLDetails', header: false }, { sheetid: 'CDNR', header: false }, { sheetid: 'CDNU', header: false }, { sheetid: 'HSN', header: false }, { sheetid: 'PurchaseHSN', header: false }, { sheetid: 'PurchaseB2B', header: false }, { sheetid: 'DOCS', header: false }]; let _alexcelclient = window['alasql']; var res = _alexcelclient('SELECT INTO XLSX("GSTRReturnsDetails.xlsx",?) FROM ?', [opts, [GstSummary, B2BData, B2CSData, B2CLdata, CDNRdata, CDNUdata, HSNSdata, PurchaseHSNSdata, PurchaseB2B, Seriesdata]]); }, function (response) { MessageHelper.Instance().showError(response.responseText, ""); }); }); } refreshTaxclassifications() { Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(["apps/transact/managers/invoicemanager.js"], function () { Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().refreshTaxclassifications().then(function (result) { MessageHelper.Instance().showSuccess(result.message, "Invoice TaxClassifications refreshed successfully"); }); }); } static Instance() { if (this.instance === undefined) { this.instance = new PrintInvoice(); } return this.instance; } } Invoices.PrintInvoice = PrintInvoice; })(Invoices = Components.Invoices || (Components.Invoices = {})); })(Components = Transact.Components || (Transact.Components = {})); })(Transact = Apps.Transact || (Apps.Transact = {})); })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {})); })(Bizgaze || (Bizgaze = {}));