var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var Bizgaze; (function (Bizgaze) { let Apps; (function (Apps) { let Transact; (function (Transact) { let Controls; (function (Controls) { class Pos extends Unibase.Platform.Core.BaseComponent { constructor() { super(...arguments); this.userCart = []; this.userCartDiscount = []; this.userCartTax = []; this.selectedItemsArray = []; this.offerItemsArray = []; this.itemImage = []; this.isBootBoxRendered = false; this.allEventsExecuted = false; this.IswalkinCustomer = false; this.EnableTenantTcs = false; this.TurnOver = 0; this.TaxRate = 0; this.ContactTcsEnable = false; this.PanAvailable = false; this.totalDiscountValue = 0; this.totalTaxAmount = 0; this.selectedPlanArray = []; this.cartInst = Bizgaze.Apps.Transact.Controls.CartItem.Instance(); this.isKeyboard = false; this.offerPriceList = []; this.offerItemPriceAdded = false; this.isCheckoutMode = false; } init(formpropertyid, prop, callback) { var instance = this; Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(['platform/core/helpers/numberhelper/numberhelper.js', 'apps/transact/managers/invoicemanager.js', 'apps/transact/managers/paymentterms/paymenttermmanager.js', 'apps/transact/managers/offers/offermanager.js', 'tenants/themes/compact/components/details/details.js', 'platform/forms/components/formviewer/formviewer.js', 'libs/parsley/parsley.min.js', 'apps/transact/components/invoices/itemofferselection.js', 'apps/transact/controls/orders/orderitems.component.js', 'apps/transact/controls/orders/order.component.js', 'apps/transact/controls/payments/wallet.component.js', 'apps/transact/controls/invoices/cartitem.component.js', 'libs/kioskboard/kioskboard.min.js'], function () { instance.isdraft = false; instance.invoiceid = $(".hdn_invoiceid").val(); if (instance.invoiceid != "0") { instance.bindEditInvoiceDetails(instance.invoiceid); } }); } loadControl(containerid, prop) { this.fileCacheHelper.loadJsFile("apps/transact/managers/invoicemanager.js", () => { this.containerId = containerid; }); this.fileCacheHelper.loadCssFiles(["apps/transact/controls/invoices/pos-styles.css", "libs/kioskboard/kioskboard.min.css"], () => { }); } setProductDetails(html, containerid) { var accountId = 0; var branchId = Unibase.Platform.Membership.Infos.Identity.currentUser.settings.find(x => x.settingName == 'branchid').settingValue; $(".hdn_branchid").val(branchId); this.contactId = $(".hdn_organizationid").val(); const formParentEl = $('.simple-scroll-bar.formviewer_id'); const modalHeaderHeight = formParentEl.siblings('.modal-header').outerHeight(true); const modalFooterHeight = formParentEl.siblings('.modal-footer').outerHeight(true); formParentEl.addClass('pos-modal-body').css('height', `calc(100% - ${modalHeaderHeight + modalFooterHeight}px)`); this.lobId = $(".txtAutoComplete_lobid").val(); if (this.lobId != undefined && this.lobId != 0) { Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getproductsbyLobid(this.lobId).then((responce) => { var taxInclusive = true; if (responce.result.length > 0) { Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getItemsUnitPriceByProductId(responce.result[0].ProductId, this.contactId, null).then((res) => { if (res.result.length > 0) { Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/ledgers/ledgermanager.js", () => { Bizgaze.Apps.Transact.Managers.LedgerManager.Instance().getLobLedgerSetting(this.lobId, branchId).then((response) => { accountId = response.result.SettingValue1; this.updateDataArray(res.result, accountId); this.dataBeforeSearch = res.result; this.resBeforeSearch = res; Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getpricebyProductId("a", this.lobId, responce.result[0].ProductId).then((data) => { html = `
${this.createProductsGroup(responce.result)}`; $("#" + containerid).html(html); this.allEventsExecuted = false; this.itemInfoElement = null; this.productContainerElement = null; this.productInfoElement = null; this.cartInfoElement = null; $(".products-container .products-container-body").append(this.createItemsList(res.result, false, false)); !this.allEventsExecuted && this.eventListeners(); this.initializeCarousel(); this.initializeKeyBoard(); this.applyCartBodyHeight(); }); }); }); } else { html = `
${this.createProductsGroup(responce.result)}
`; $("#" + containerid).html(html); this.allEventsExecuted = false; this.itemInfoElement = null; this.productContainerElement = null; this.productInfoElement = null; this.cartInfoElement = null; $(".products-container .products-container-body").append(this.createItemsList(res.result, false, true)); $('#poscart_details').find('.Section').first().find(".card-body").first().append(Bizgaze.Apps.Transact.Controls.CartItem.Instance().getCartHtml()); !this.allEventsExecuted && this.eventListeners(); this.initializeCarousel(); this.initializeKeyBoard(); this.applyCartBodyHeight(); $(".btn_Save_Form").hide(); $(".btnSection_CardPayment").removeClass("btn-primary"); $(".btnSection_CardPayment").addClass("btn-dark"); } }); } else { html = `
${this.createProductsGroup(responce.result)}
`; $("#" + containerid).html(html); this.allEventsExecuted = false; this.itemInfoElement = null; this.productContainerElement = null; this.productInfoElement = null; this.cartInfoElement = null; $(".products-container .products-container-body").append(this.createItemsList(responce.result, false, true)); $('#poscart_details').find('.Section').first().find(".card-body").first().append(Bizgaze.Apps.Transact.Controls.CartItem.Instance().getCartHtml()); this.initializeKeyBoard(); this.applyCartBodyHeight(); !this.allEventsExecuted && this.eventListeners(); } }); } else { this.renderSampleTemplate(); } } initializeCarousel() { Unibase.Platform.Helpers.FileCacheHelper.Instance().loadFile({ FileName: 'libs/owl.carousel/owl.carousel.min.js', FileType: Unibase.Platform.Helpers.FileType.Js }, function () { $('.products-container-data').owlCarousel({ items: 5, margin: 10, autoplay: false, nav: true, }); }); } initializeKeyBoard() { let kioskboard = `KioskBoard.Init({ keysArrayOfObjects: null, keysJsonUrl: 'libs/kioskboard/kioskboard-keys-english.json', specialCharactersObject: null, language: 'en', theme: 'Material', capsLockActive: true, allowRealKeyboard: false, allowMobileKeyboard: false, cssAnimations: false, cssAnimationsStyle: 'slide', keysAllowSpacebar: true, keysSpacebarText: 'Space', keysFontFamily: 'sans-serif', keysFontSize: '22px', keysFontWeight: 'normal', keysIconSize: '25px', autoScroll: true, }); KioskBoard.Run('.virtual-keyboard'); `; eval(kioskboard); } runVirtualKeyboard() { let kioskboardRun = `KioskBoard.Run('.virtual-keyboard');`; eval(kioskboardRun); } applyCartBodyHeight() { let cartParentEl = $('#poscart_details .cart-container'); let cartHeaderHeight = cartParentEl.find('.card-header').outerHeight(true); let cartFooterHeight = cartParentEl.find('.cart-footer').outerHeight(true); let deductHeight = cartHeaderHeight + cartFooterHeight; cartParentEl.find('.cart-body').css('height', `calc(100% - ${deductHeight}px)`); } renderSampleTemplate() { let html = `
Item Details

Please select the LOB to show info...

`; $("#" + this.containerId).html(html); !this.allEventsExecuted && this.eventListeners(); } totalDiscount() { this.totalDiscount; for (var i = 0; i < this.userCart.length; i++) { let itemId = this.userCart[i].itemId; let itemPrice = this.userCart[i].itemPrice; let itemDiscount = this.userCart[i].discountValue * this.userCart[i].quantity; if (itemPrice > 0) { this.totalDiscountValue = this.totalDiscountValue + itemDiscount; } } } getOfferDetails(itemDetails, focItemId) { var price = (itemDetails.quantity * itemDetails.itemPrice).toFixed(2); var orderItems = []; var instance = this; var result; orderItems.push({ ItemId: Number(itemDetails.itemId), Quantity: Number(parseFloat(itemDetails.quantity).toFixed(2)), RowTotal: Number(price), }); var data = { OrderItems: orderItems, ContactId: Number(instance.contactId), ApplyType: 1, }; Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getOffersByItemIdWithPrice(data).then((response) => { if (response.result != null && response.result != "") { for (var i = 0; i < response.result.length; i++) { var result = response.result[i]; var offer = response.result[i].Offer; var index = this.userCart.findIndex(x => x.itemId == itemDetails.itemId); var discount = ""; if (offer.DiscountType == 1) { if (index != -1) { discount = offer.PayoutValue; this.userCart[index].discountValue = offer.PayoutValue; this.userCart[index].discountRate = parseFloat(((offer.PayoutValue / (itemDetails.itemPrice * itemDetails.quantity)) * 100).toString()).toFixed(0); } } else if (offer.DiscountType == 2) { var discountPercentage = offer.PayoutPercent; discount = parseFloat(((itemDetails.itemPrice) * (discountPercentage / 100)).toString()).toFixed(2); if (index != -1) { this.userCart[index].discountValue = discount; this.userCart[index].discountRate = offer.PayoutPercent; } } else if (offer.DiscountType == 3) { if (index != -1) { this.userCart[index].discountValue = offer.OPayoutValue; discount = offer.OPayoutValue; } } let cartContainerItemElement = document.querySelector(".cart-container [data-itemId='" + itemDetails.itemId + "'][data-productId='" + itemDetails.productId + "']"); if (cartContainerItemElement) { $(cartContainerItemElement).find('.item-discount').removeClass("d-none"); $(cartContainerItemElement).find('.item-discount').text(" - (" + this.userCart[index].discountRate + "%)"); $(cartContainerItemElement).find(".total-accessible-price").text((((itemDetails.quantity * itemDetails.itemPrice) - Number(discount)).toFixed(2)).toString()); } this.userCart[index].accessibleAmount = parseFloat((itemDetails.itemPrice - Number(discount)).toString()).toFixed(2); if (offer.ItemVolumePayouts.length > 0) { for (var j = 0; j < offer.ItemVolumePayouts.length; j++) { var offerItem = offer.ItemVolumePayouts[j]; if (itemDetails.quantity >= offerItem.Recur) { var imageurl = offerItem.ImageUrl; if (imageurl != null && imageurl != undefined && imageurl != "") { var image = imageurl.split("~"); var imageIndex = this.itemImage.findIndex(x => x.itemId == offerItem.ItemId); if (imageIndex == -1) { this.itemImage.push({ "itemId": offerItem.ItemId, "image": image[1] }); } } var _itemDetails = result.ItemDetails; var unitprice = _itemDetails.find(x => x.ItemId == offerItem.ItemId); var price = unitprice.UnitPrice; var tax = unitprice.TaxRate; var focValue = ((offerItem.Discount / 100) * price).toString(); var discountItemPrice = Number(parseFloat(focValue).toFixed(2)); var effectivePrice = price - discountItemPrice; var index = this.userCart.findIndex(x => x.offerrefid == itemDetails.itemId && x.itemId == offerItem.ItemId && x.productId == 0); if (index == -1) { if (focItemId != null && focItemId != undefined && focItemId != 0) { if (offerItem.ItemId == focItemId) { this.userCart.push({ lobId: this.lobId, productId: 0, itemId: offerItem.ItemId, quantity: offerItem.Quantity, itemPrice: price, itemName: offerItem.ItemName, totalPrice: 0, offerrefid: itemDetails.itemId, isFOC: true, taxAmmount: 0, discountValue: discountItemPrice, discountRate: offerItem.Discount, accessibleAmount: effectivePrice, incentiveName: offer.IncentiveName }); } } else { var offerItems = this.userCart.filter(x => x.offerrefid == itemDetails.itemId); if (offerItems.length > 0) { for (var k = 0; k < offerItems.length; k++) { if (offerItems[k].itemId == offerItem.ItemId) { this.userCart.push({ lobId: this.lobId, productId: 0, itemId: offerItem.ItemId, quantity: offerItem.Quantity, itemPrice: price, itemName: offerItem.ItemName, totalPrice: 0, offerrefid: itemDetails.itemId, isFOC: true, taxAmmount: 0, discountValue: discountItemPrice, discountRate: offerItem.Discount, accessibleAmount: effectivePrice, incentiveName: offer.IncentiveName }); } } } else { if (!offerItem.IsFoC) { this.userCart.push({ lobId: this.lobId, productId: 0, itemId: offerItem.ItemId, quantity: offerItem.Quantity, itemPrice: price, itemName: offerItem.ItemName, totalPrice: 0, offerrefid: itemDetails.itemId, isFOC: true, taxAmmount: 0, discountValue: discountItemPrice, discountRate: offerItem.Discount, accessibleAmount: effectivePrice, incentiveName: offer.IncentiveName }); } } } } else { this.userCart[index].quantity = parseInt(offerItem.Quantity); } this.cartInst.updateCartContainerHtml(offerItem.ItemId, 0); } } } else { var offerItemIndex = this.userCart.findIndex(x => x.offerrefid == itemDetails.itemId && x.incentiveName != offer.IncentiveName); if (offerItemIndex != -1) { this.removeItemFromItemCartAndUsercart(this.userCart[offerItemIndex].productId, this.userCart[offerItemIndex].itemId); } } } } }); return result; } totalPrice(cartArrayList) { var total; var grandTotal = 0; for (var i = 0; i < cartArrayList.length; i++) { if (cartArrayList[i].isFOC) { total = cartArrayList[i].accessibleAmount * cartArrayList[i].quantity; } else { total = cartArrayList[i].itemPrice * cartArrayList[i].quantity; } grandTotal = grandTotal + total; } return grandTotal; } updateDataArray(itemsArray, accountId) { return __awaiter(this, void 0, void 0, function* () { var instance = this; for (var i = 0; i < itemsArray.length; i++) { var index = instance.selectedItemsArray.find(x => x.itemId == itemsArray[i].ItemId); if (index == undefined) { itemsArray[i].AccountId = 0; itemsArray[i].TaxGroupId = 0; instance.selectedItemsArray.push({ "UnitPrice": itemsArray[i].UnitPrice, "UnitName": itemsArray[i].UnitName, "UnitId": itemsArray[i].UnitId, "TaxAmount": itemsArray[i].TaxRate, "StatusId": itemsArray[i].StatusId, "SKU": itemsArray[i].SKU, "ProductName": itemsArray[i].ProductName, "productId": itemsArray[i].ProductId, "LobId": itemsArray[i].LobId, "itemId": itemsArray[i].ItemId, "actualPrice": itemsArray[i].UnitPrice - itemsArray[i].TaxRate, "taxGroupId": itemsArray[i].TaxGroupId, "accountId": itemsArray[i].AccountId, "accountName": itemsArray[i].AccountName, "isOfferAvailable": itemsArray[i].IsOfferAvailable, "isFocAvailable": itemsArray[i].IsFocAvailable, "itemName": itemsArray[i].ItemName }); } } }); } getLobAccountId(branchId) { return __awaiter(this, void 0, void 0, function* () { var accountId = 0; Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/ledgers/ledgermanager.js", () => { Bizgaze.Apps.Transact.Managers.LedgerManager.Instance().getLobLedgerSetting(this.lobId, branchId).then((response) => { accountId = response.result.SettingValue1; }); }); return accountId; }); } eventListeners() { if (!this.productContainerElement) { var timer; $("#txtSearchItem").unbind().on('change', () => { var delay = 1500; window.clearTimeout(timer); timer = window.setTimeout(() => { var searchtext = $("#txtSearchItem").val(); if (searchtext != "") { Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getItemsUnitPriceByProductId(0, this.contactId, searchtext).then((response) => { this.refreshItems(response, ""); this.allEventsExecuted = false; this.eventListeners(); }); } else { this.refreshItems(this.resBeforeSearch, this.dataBeforeSearch); this.allEventsExecuted = false; this.eventListeners(); } }, delay); }); $(".txtAutoComplete_lobid").change(() => { }); $("[id^=btn_CloseForm_]").click(() => { $(".section-products-items").remove(); $("body").off("mousedown", "body", this.eventListeners); this.userCart = []; this.productContainerElement = null; this.itemInfoElement = null; this.productInfoElement = null; this.allEventsExecuted = false; this.isCheckoutMode = false; }); $("#btnDynamicSave").prop('disabled', true); $(".txt_cashamount").change(() => { var totalstring = $("#grand_total_checkout").text(); var total = parseFloat(totalstring); var ammountstring = $(".txt_cashamount").val(); var ammount = parseFloat(ammountstring); if (ammount > total) { $("#btnDynamicSave").prop('disabled', false); } }); $(".txt_cashamount").on('click', () => { this.isKeyboard = true; }); var cash = $(".txt_cashamount").val(); if (cash == "") { $("#btnDynamicSave").prop('disabled', true); } else { $("#btnDynamicSave").prop('disabled', false); } $(".btnSection_AddItems").click(() => { this.isCheckoutMode = false; $(".section_ContactInformation").hide(); $(".section_PaymentInformation").hide(); $(".section_CompanyDetails ").hide(); $(".section_Items").show(); $("#btn_SaveAsDraft").hide(); $(".btn_Save_Form").hide(); $('#billDetailsWrap').addClass('d-none'); $('.cart-checkout-btn').removeClass('d-none'); var lengnth = Bizgaze.Apps.Transact.Controls.Pos.Instance().userCart.length; if (lengnth == 0) { $('.cart-checkout-btn').addClass('d-none'); } else { $('.cart-checkout-btn').removeClass('d-none'); } this.applyCartBodyHeight(); $(".txt_cashamount").val(""); $(".txt_change").val(""); }); $(".btn_Save_Form").hide(); $(".btn_SaveAsDraft").hide(); var ammountstring = $(".txt_cashamount").val(); var ammount = parseInt(ammountstring.toString()); if (ammount > 0) { $(".div_cashamount").show(); $(".div_change").show(); } else { $(".div_cashamount").hide(); $(".div_change").hide(); } $(".divCustomProperties_upitypeid").removeClass('col-sm-12').hide(); $(".divCustomProperties_voucherno").hide(); $(".btnSection_CashPayment").click(() => { $(".div_cashamount").toggle(); $(".div_change").toggle(); $(".divCustomProperties_upitypeid").hide(); $(".hdn_iscash").val("true"); $(".hdn_iscard").val("false"); $(".hdn_isupi").val("false"); $("#btnDynamicSave").prop('disabled', true); }); $(".btnSection_CardPayment").click(() => { $(".div_cashamount").hide(); $(".div_change").hide(); $(".txt_cashamount").val("0"); $(".txt_change").val("0"); $(".divCustomProperties_upitypeid").hide(); $(".hdn_iscash").val("false"); $(".hdn_iscard").val("true"); $(".hdn_isupi").val("false"); $("#btnDynamicSave").prop('disabled', false); }); $(".btnSection_UpiPayment").click(() => { $(".div_cashamount").hide(); $(".div_change").hide(); $(".txt_cashamount").val("0"); $(".txt_change").val("0"); $(".divCustomProperties_upitypeid").toggle(); $(".hdn_iscash").val("false"); $(".hdn_iscard").val("false"); $(".hdn_isupi").val("true"); }); $(".chk_isvoucher").click(() => { $(".divCustomProperties_voucherno").toggle(); }); if ($('.products-container-body').is(':visible')) { $(".section_ContactInformation").hide(); $(".section_PaymentInformation").addClass('mb-0').hide(); } this.productContainerElement = document.querySelector(".products-container .products-container-data"); $('.products-container').on('click', '.group-name,.item-name', function () { let element = this; if (element.offsetWidth < element.scrollWidth) { $(this).popover('toggle'); } }); $('#pos_details').on('click', 'input:visible', function () { setTimeout(function () { if ($('#KioskBoard-VirtualKeyboard').is(':visible')) { let keyboardHeight = $('#KioskBoard-VirtualKeyboard').outerHeight(true); let posHeight = $('#pos_details').outerHeight(true); $('#pos_details').css('height', `${posHeight - (keyboardHeight - 70)}px`); } }, 100); }); let parentEl = $('.pos_container'); parentEl.find('#txtPhn_phonenumber,.txt_cashamount,.txt_change').addClass('virtual-keyboard').attr('data-kioskboard-type', 'numpad'); parentEl.find('.txt_contactname').addClass('virtual-keyboard').attr({ 'data-kioskboard-type': 'keyboard', 'data-kioskboard-specialcharacters': 'false' }); parentEl.find('.txt_contactemail').addClass('virtual-keyboard').attr({ 'data-kioskboard-type': 'all', 'data-kioskboard-specialcharacters': 'true' }); const paymentSectionEl = $('.section_PaymentInformation'); const paymentCardBodyRow = paymentSectionEl.find('.card-body .row').first(); paymentCardBodyRow.addClass('mx-0').prepend('
'); paymentSectionEl.find('#divSectionProperties_CashPayment,#divSectionProperties_CardPayment,#divSectionProperties_UpiPayment').removeClass('col-sm-4').detach().appendTo('#posPaymentModes'); paymentCardBodyRow.find('.divCustomProperties').removeClass('col-sm-6').detach().appendTo('#posPaymentDetails'); $('#posPaymentModes').find('.divSectionProperties').removeClass('mt-10').addClass('my-1').find('.btn').removeClass('btn-primary mt-20 text-white').addClass('w-100'); $('#posPaymentModes').find('.btn.type-control').click(function () { $('#posPaymentModes').find('.btn.type-control').removeClass('active'); $(this).addClass('active'); }); $('.btnSection_CashPayment').trigger('click'); $(".btnSection_AddItems").removeClass('mt-20'); } if (!this.productInfoElement) { this.productInfoElement = document.querySelector(".products-container .product-info"); if (true) { $(".pos_container").mousedown((e) => { let virtualkeybord = e.target.closest(".kioskboard-row-numpad"); let currentProductCard = e.target.closest(".product-info"); let itemCard_clst = e.target.closest(".item-data"); let btn_decrement_clst = e.target.closest(".item-decrement-btn"); let btn_increment_clst = e.target.closest(".item-increment-btn"); let btn_decrement = e.target.classList.contains(".item-decrement-btn"); let btn_increment = e.target.classList.contains(".item-increment-btn"); let cartInfo_clst = e.target.closest(".cart-item-info"); let offerInfo = e.target.classList.contains(".item-offer-msg"); if ($('#KioskBoard-VirtualKeyboard').is(':visible')) { $('#pos_details').css('height', `auto`); } if (currentProductCard) { let taxInclusive = true; var branchId = Unibase.Platform.Membership.Infos.Identity.currentUser.settings.find(x => x.settingName == 'branchid').settingValue; Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getItemsUnitPriceByProductId(currentProductCard.id, this.contactId, null).then((res) => { Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/ledgers/ledgermanager.js", () => { Bizgaze.Apps.Transact.Managers.LedgerManager.Instance().getLobLedgerSetting(this.lobId, branchId).then((response) => { var accountId = response.result.SettingValue1; this.updateDataArray(res.result, accountId); Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getpricebyProductId("a", this.lobId, currentProductCard.id).then((data) => { this.refreshItems(res, data.result); this.dataBeforeSearch = data.result; $(".products-container").find(".border-primary")[0].classList.remove("border-primary"); currentProductCard.classList.add("border-2"); currentProductCard.classList.add("border-primary"); }); }); }); }); } else if ((itemCard_clst && (btn_decrement_clst || btn_increment_clst)) || (btn_decrement || btn_increment)) { this.setCart_ItemsContainers(itemCard_clst, e); } else if ((cartInfo_clst && (btn_decrement_clst || btn_increment_clst)) || (btn_decrement || btn_increment)) { let productId = parseInt(cartInfo_clst.dataset.productid); let itemId = parseInt(cartInfo_clst.dataset.itemid); let itemContainerCardElement = document.querySelector(".items-container [id='" + itemId + "']"); let cartItem = document.querySelector(".cart-container [data-itemId='" + itemId + "'][data-productId='" + productId + "']"); this.updateItemContainerSpinnerOnMDown(cartInfo_clst, e, false); (itemContainerCardElement) && this.updateItemContainerSpinnerOnMDown(itemContainerCardElement, e, true); !this.isBootBoxRendered && this.updateUserCart(cartItem, true); !this.isBootBoxRendered && this.cartInst.updateCartContainerHtml(itemId, productId); } else if (cartInfo_clst) { if (e.target.classList.contains("item-remove-btn") || e.target.closest(".item-remove-btn")) { let itemId = cartInfo_clst.dataset.itemid; let productId = cartInfo_clst.dataset.productid; this.renderDeleteItemDialog(productId, itemId); } } if (virtualkeybord == null && this.isKeyboard == true) { this.isKeyboard = false; var totalstring = $("#grand_total_checkout").text(); var total = parseFloat(totalstring); var ammountstring = $(".txt_cashamount").val(); var ammount = 0; if (ammountstring != "") { var ammount = parseFloat(ammountstring); } if (ammount < total) { $("#btnDynamicSave").prop('disabled', true); var diffAmt = Math.abs(ammount - total); setTimeout(() => { Unibase.Platform.Forms.Components.FormViewer.Instance().showError(" Rs " + parseFloat(diffAmt).toFixed(2) + " is Shortfall for Completion of the Payment"); }, 200); $("#Bizgaze-messageInfo").fadeOut('fast'); $(".txt_change").val(""); } else if (ammount >= total) { $("#btnDynamicSave").prop('disabled', false); var changeAmt = ammount - total; $(".txt_change").val(parseFloat(changeAmt).toFixed(2)); } } !this.allEventsExecuted && this.eventListeners(); }); } } if (!this.itemInfoElement) { this.itemInfoElement = document.querySelector(".products-container .item-info"); if (this.itemInfoElement) { $(".item-quantity").change((e) => { let cartInfo_clst = e.target.closest(".item-info"); this.setCart_ItemsContainers(cartInfo_clst, e); }); } } if (!this.cartInfoElement) { this.cartInfoElement = document.querySelector(".cart-container .cart-item-info"); if (this.cartInfoElement) { $(".cart-checkout-btn").click(() => { this.isCheckoutMode = true; var totalstring = $("#grand_total_checkout").text(); ; var total = parseInt(totalstring); if (total > 0) { $(".section_ContactInformation").show(); $(".section_PaymentInformation").show(); $(".section_CompanyDetails ").hide(); $(".section_Items").hide(); $(".btn_Save_Form").show(); $("#btn_SaveAsDraft").show(); $('#billDetailsWrap').removeClass('d-none'); $('.cart-checkout-btn').addClass('d-none'); this.applyCartBodyHeight(); } }); } } $("#btnDynamicSave").click(() => { var instance = this; Bizgaze.Apps.Transact.Controls.Pos.Instance().userCart = []; Bizgaze.Apps.Transact.Controls.Pos.Instance().productContainerElement = null; Bizgaze.Apps.Transact.Controls.Pos.Instance().itemInfoElement = null; Bizgaze.Apps.Transact.Controls.Pos.Instance().productInfoElement = null; Bizgaze.Apps.Transact.Controls.Pos.Instance().allEventsExecuted = false; this.isCheckoutMode = false; }); if (this.productContainerElement && this.productInfoElement && this.itemInfoElement && this.cartInfoElement) this.allEventsExecuted = true; } saveASDraft() { Bizgaze.Apps.Transact.Controls.Pos.Instance().isdraft = true; let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1]; $(".hdn_isdraft").val("true"); var isDraft = $(".hdn_isdraft").val(); if (isDraft == "true") { Bizgaze.Apps.Transact.Controls.Pos.Instance().isdraft = true; } else { Bizgaze.Apps.Transact.Controls.Pos.Instance().isdraft = false; } var cash = $(".txt_cashamount").val(); if (cash == "") { $(".txt_cashamount").val("0"); $(".txt_change").val("0"); } $(detailContainer).find("#btnDynamicSave").click(); } ; setCart_ItemsContainers(itemCard_clst, e) { let itemPriceElement = itemCard_clst.querySelector(".prodPrice"); let itemPriceValue = parseInt(itemPriceElement.innerText); if (itemPriceValue > 0) { let productElement = document.querySelector(".products-container .border-primary").closest(".product-info"); this.updateItemContainerSpinnerOnMDown(itemCard_clst, e, true); this.updateUserCart(itemCard_clst, false); let offeritem = this.userCart.filter(x => x.itemId == parseInt(itemCard_clst.id)); offeritem.find(x => x.offerId != 0); this.cartInst.updateCartContainerHtml(parseInt(itemCard_clst.id), parseInt(productElement.id)); } } updateCheckoutPrice() { if (this.invoiceid == 0) { this.totalTaxAmount = 0; } this.totalDiscountAmount = 0; this.totalAdjustmentAmmount = 0; for (var i = 0; i < this.userCart.length; i++) { let tax = parseFloat(this.userCart[i].taxAmmount); let actualAmount = (parseFloat(this.userCart[i].itemPrice)) * this.userCart[i].quantity; this.totalTaxAmount += (actualAmount) * (tax / 100); this.totalDiscountAmount += parseFloat(this.userCart[i].discountValue) * this.userCart[i].quantity; } $("#total_taxprice").text(parseFloat(this.totalTaxAmount).toFixed(2)); $("#total_discountprice").text(parseFloat(this.totalDiscountAmount).toFixed(2)); let totalVal = 0; var totalSum = this.totalPrice(this.userCart); let adjustmentprice = (Number(totalSum) - (Number(this.totalTaxAmount))).toFixed(2); $("#total_adjustmentprice").text(parseFloat(adjustmentprice).toFixed(2)); $('.cart-checkout-btn .total-price').text(parseFloat(totalSum.toString()).toFixed(2)); if (totalSum == 0) { $('.cart-checkout-btn').addClass('d-none'); } else { if (!this.isCheckoutMode) { $('.cart-checkout-btn').removeClass('d-none'); } } } updateItemContainerSpinnerOnMDown(itemCard_clst, e, isItemContainer, quantity) { let itemQantityElement; if (!isItemContainer) { itemQantityElement = $(itemCard_clst).find(".item-quantity"); } else { itemQantityElement = $(itemCard_clst).find(".item-quantity"); } let itemQantityValue = parseInt(itemQantityElement.val() || itemQantityElement.text()); if (e != null) { if (e.target.closest(".item-decrement-btn")) { if (itemQantityValue == 1 && !isItemContainer) { this.renderDeleteItemDialog(parseInt(itemCard_clst.dataset.productid), parseInt(itemCard_clst.dataset.itemid)); this.isBootBoxRendered = true; } else if (itemQantityValue == 1) { !this.isBootBoxRendered && this.renderDeleteItemDialog(parseInt(document.querySelector(".products-container .border-primary").id), parseInt(itemCard_clst.id)); this.totalPrice(this.userCart); } else { if (itemQantityValue) { itemQantityElement.val((itemQantityValue - 1).toString()); itemQantityElement.text((itemQantityValue - 1).toString()); } else itemQantityElement.val("0"); this.totalPrice(this.userCart); } } else if (e.target.closest(".item-increment-btn")) { if (itemQantityValue) { itemQantityElement.val((itemQantityValue + 1).toString()); itemQantityElement.text((itemQantityValue + 1).toString()); } else itemQantityElement.val("1"); this.totalPrice(this.userCart); } } else if (quantity > 0) { itemQantityElement.val((quantity).toString()); } } renderDeleteItemDialog(productId, itemId) { bootbox.confirm("Are you sure you want delete this Item ?", (result) => { let cartItem = document.querySelector(".cart-container [data-itemId='" + itemId + "'][data-productId='" + productId + "']"); if (result) { this.removeItemFromItemCartAndUsercart(productId, itemId); var offeritems = this.userCart.filter(x => x.offerrefid == itemId); if (offeritems != null) { for (var i = 0; i < offeritems.length; i++) { this.removeItemFromItemCartAndUsercart(offeritems[i].productId, offeritems[i].itemId); } } } this.isBootBoxRendered = false; }); } removeItemFromItemCartAndUsercart(productId, itemId) { this.removeCartItemFromCartContainer(productId, itemId); this.removeItemFromCart(parseInt(productId), parseInt(itemId)); let itemhtml = document.getElementById(itemId); (itemhtml) && (itemhtml.querySelector(".item-quantity").value = "0"); } removeItemFromCart(productId, itemId) { var ins = Bizgaze.Apps.Transact.Controls.Pos.Instance(); let index = ins.userCart.findIndex(x => x.productId == productId && x.itemId == itemId); if (index != -1) { ins.userCart.splice(index, 1); this.updateCartItemsOnDelete(); this.updateCheckoutPrice(); } if (index == 0) { $(".total-pay-price-wrap").remove(); $(".bill-details").remove(); } } updateUserCart(itemCard, isCartItem) { let itemId; let productId; let productElement = document.querySelector(".products-container .border-primary").closest(".product-info"); let itemPrice = parseFloat(itemCard.querySelector(".item-price").textContent).toFixed(2); let itemName = itemCard.querySelector(".item-name").textContent; let itemQantityElement = itemCard.querySelector(".item-quantity"); var totalPrice = this.totalPrice(this.userCart); let discount = parseFloat(itemCard.querySelector(".discount_amount").value); let taxAmount = parseFloat(itemCard.querySelector(".item-tax-amount").value); (isCartItem) ? productId = parseInt(itemCard.dataset.productid) : productId = parseInt(productElement.id); (isCartItem) ? itemId = parseInt(itemCard.dataset.itemid) : itemId = parseInt(itemCard.id); ; let index = this.userCart.findIndex(x => x.itemId == itemId && x.productId == productId); if (index == -1) { var item = this.selectedItemsArray.find(x => x.itemId == itemId); var taxIndex = this.selectedItemsArray.findIndex(x => x.itemId == itemId && x.productId == productId); var taxAmmount = 0; if (taxIndex != -1) { taxAmmount = this.selectedItemsArray[taxIndex].TaxAmount; } if (item != null && item.isOfferAvailable) { this.userCart.push({ lobId: this.lobId, productId: productId, itemId: itemId, quantity: parseInt(itemQantityElement.value), itemPrice: itemPrice, itemName: itemName, totalPrice: totalPrice, offerrefid: 0, isFOC: false, discountValue: 0, taxAmmount: taxAmmount, accessibleAmount: itemPrice }); var itemDetails = this.userCart.find(x => x.itemId == itemId); var offer = this.getOfferDetails(itemDetails); } else { this.userCart.push({ lobId: this.lobId, productId: productId, itemId: itemId, quantity: parseInt(itemQantityElement.value), itemPrice: itemPrice, itemName: itemName, totalPrice: totalPrice, offerrefid: 0, isFOC: false, discountValue: 0, taxAmmount: taxAmmount, accessibleAmount: itemPrice }); } } else { this.userCart[index].quantity = parseInt(itemQantityElement.value); var itemDetails = this.userCart.find(x => x.itemId == itemId); var offer = this.getOfferDetails(itemDetails); } } updateCheckoutPageList() { if (this.invoiceid == 0) { this.totalTaxAmount = 0; } this.totalDiscountAmount = 0; this.totalAdjustmentAmmount = 0; for (var i = 0; i < this.userCart.length; i++) { let tax = this.userCart[i].taxAmmount; let actualAmount = (this.userCart[i].itemPrice - this.userCart[i].discountValue) * this.userCart[i].quantity; this.totalTaxAmount += (actualAmount) * (tax / 100); let taxammount = (actualAmount) * (tax / 100); this.totalDiscountAmount += this.userCart[i].discountValue * this.userCart[i].quantity; this.totalAdjustmentAmmount += ((actualAmount) - (taxammount)); } } removeCartItemFromCartContainer(productId, itemId) { let cartItem = document.querySelector(".cart-container [data-itemId='" + itemId + "'][data-productId='" + productId + "']"); (cartItem) && cartItem.remove(); } updateCartItemsOnDelete() { let cartItemsEle = document.querySelector(".cart-container #cart-quantity"); let firstEle = cartItemsEle.firstElementChild.outerHTML; firstEle += this.userCart.length + " Items"; cartItemsEle.innerHTML = firstEle; } createProductsGroup(list) { let html = ""; for (var i = 0; i < list.length; i++) { html += this.getProductsHtml(list[i]); if (i == 0) html = this.initialSelectedEffect(list[i], html); } return `
`; } getProductsHtml(productGroupDetails) { var imageurl = productGroupDetails.UploadImage; var image = ""; if (imageurl != null && imageurl != undefined && imageurl != "") { image = imageurl.split("~"); this.productImage = image[1]; } return `
${productGroupDetails.ProductName}
`; } loaddata() { var instance = this; var itemarray = []; var itemsarray = []; var totalAmount = 0; var branchId = Unibase.Platform.Membership.Infos.Identity.currentUser.settings.find(x => x.settingName == 'branchid').settingValue; for (var i = 0; i < instance.userCart.length; i++) { var data = instance.selectedItemsArray.find(x => x.productId == instance.userCart[i].productId && x.itemId == instance.userCart[i].itemId); if (data != undefined) { totalAmount = totalAmount + Number(instance.userCart[i].itemPrice); itemsarray.push({ "ItemId": instance.userCart[i].itemId, "UnitPrice": Number(instance.userCart[i].itemPrice), "istaxinclusive": true, "AccountId": data.accountId, "TotalAmount": Number(instance.userCart[i].itemPrice), "Quantity": instance.userCart[i].quantity, "DiscountAmount": instance.userCart[i].discountValue, "DiscountType": 1 }); } else { totalAmount = totalAmount + Number(instance.userCart[i].itemPrice); itemsarray.push({ "ItemId": instance.userCart[i].itemId, "UnitPrice": Number(instance.userCart[i].itemPrice), "istaxinclusive": true, "AccountId": 0, "TotalAmount": Number(instance.userCart[i].itemPrice), "Quantity": instance.userCart[i].quantity, "DiscountAmount": instance.userCart[i].discountValue, "DiscountType": 1 }); } } var InvoiceObject = { TotalAmount: Number(totalAmount), InvoiceItems: itemsarray, InvoiceCharges: [], AutoAdjustment: false, AutoDc: false, InvItemTaxAdjustments: [], JournalAlloc: [], AdjustmentAccountId: 0, InvoiceId: Number($(".hdn_invoiceid").val()), RefInvoiceId: 0, OrgContactId: branchId, DeletedInvoiceId: [], }; return InvoiceObject; } createItemsList(itemsList, getRows, getHeader) { let html = ""; for (var i = 0; i < itemsList.length; i++) html += this.createItemHtml(itemsList[i]); if (getRows) return html; else if (getHeader) { return `
No items to display...
`; } return `
${html}
`; } createItemHtml(itemsDetails) { let index = this.userCart.findIndex(x => x.itemId == itemsDetails.ItemId); let items = this.userCart.filter(x => x.itemId == itemsDetails.ItemId); if (index != -1) { var quantity = this.userCart.find(x => x.itemId == itemsDetails.ItemId); if (items.length) { let chargableItem = items.find(x => x.isFOC == false); if (!chargableItem) itemsDetails["quantity"] = 0; else itemsDetails["quantity"] = quantity.quantity; } else itemsDetails["quantity"] = quantity.quantity; } else { itemsDetails["quantity"] = 0; } var imageurl = itemsDetails.ImageUrl; var image = ""; if (imageurl != null && imageurl != undefined && imageurl != "") { image = imageurl.split("~"); var imageIndex = this.itemImage.findIndex(x => x.itemId == itemsDetails.ItemId); if (imageIndex == -1) { this.itemImage.push({ "itemId": itemsDetails.ItemId, "image": image[1] }); } image = image[1]; } var offerString = ""; if (itemsDetails.IsOfferAvailable || itemsDetails.IsFocAvailable) { offerString = '
Offer
'; } return `
` + offerString + `

${itemsDetails.ItemName}

${parseFloat(itemsDetails.UnitPrice).toFixed(2)}
`; } refreshItems(res, data) { let html; if (res.result.length > 0) html = this.createItemsList(res.result, true); else if (res.result.length == 0) html = "No items to display..."; $(".items-container .items-data").empty().append(html); $(".item-offer-msg").click(() => { var instance = this; var itemId; var itemDetails; Unibase.Platform.Helpers.NavigationHelper.Instance().popup(0, "", Bizgaze.Apps.Transact.Components.Invoices.ItemOfferSelection.Instance(), function () { itemId = document.getElementsByClassName("item-offer-msg")[0].parentElement.id; itemDetails = instance.selectedItemsArray.find(x => x.itemId == itemId); Bizgaze.Apps.Transact.Components.Invoices.ItemOfferSelection.Instance().LoadOfferItems(Number(instance.contactId), Number(itemId), itemDetails.itemName, 1, null, "Pos"); }, Unibase.Platform.Helpers.Size.Large); }); } initialSelectedEffect(product, htmlstr) { let index = htmlstr.indexOf("card"); return htmlstr.substring(0, index + 4) + " border-2 border-primary " + htmlstr.substring(index + 4, htmlstr.length); } bindContactName() { var instance = this; Unibase.Platform.Forms.Managers.TagManager.Instance().GetTagItemsByUserId(Unibase.Platform.Membership.Infos.Identity.getCurrentUser().userId).then(function (response) { if (response.result.length == 1) { instance.fileCacheHelper.loadJsFile("apps/crm/lobs/managers/lobmanager.js", function () { Bizgaze.Apps.CRM.Lobs.Managers.LobManager.Instance().getLobByTagGroupId(response.result[0].TagGroupId).then(function (res) { let LobId = res.result.LobId; Bizgaze.Apps.CRM.Lobs.Managers.LobManager.Instance().getLobByLobId(LobId).then(function (result) { if (result.result != null) { if (result.result.DefaultContactId != 0) { Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/crm/contacts/managers/contactmanager.js", function () { Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getOrgContact(result.result.DefaultContactId).then(function (response) { if (response.result != null) { let items = Bizgaze.Apps.Transact.Controls.Pos.Instance(); var _Name = new Option(response.result.OrgContactName, response.result.OrgContactId.toString(), false, false); $(".txtAutoComplete_orgcontactid").append(_Name).trigger("change"); $(".hfAutoCompleteId_orgcontactid").val(response.result.OrgContactId); instance.LoadContactDetails(); } }); }); } } }); }); }); } }); $("#btnDynamicSave").after(''); $(".hdn_isdraft").val("false"); } LoadContactDetails() { var instance = this; Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getorganization($(".hfAutoCompleteId_orgcontactid").val()).then(function (response) { if (response.result != null && response.result != "") { if (response.result.OrganizationTypeId == 1) instance.IswalkinCustomer = false; else instance.IswalkinCustomer = true; instance.LoadSpocDetails($(".hfAutoCompleteId_orgcontactid").val()); } else { instance.IswalkinCustomer = false; instance.LoadSpocDetails($(".hfAutoCompleteId_orgcontactid").val()); } }); } LoadSpocDetails(contactid) { var instance = this; if ($('.hdn_invoicetypeid').val() == "1" || $('.hdn_invoicetypeid').val() == "6" || $('.hdn_invoicetypeid').val() == "4") { $('.txtAutoComplete_billtoaddressid').empty(); $('.txtAutoComplete_shiptoaddressid').empty(); } else { $('.txtAutoComplete_billfromaddressid').empty(); $('.txtAutoComplete_shipfromaddressid').empty(); } if ($(".hdn_invoiceid").val() == "0") { $(".txtAutoComplete_LobId").empty(); $(".hfAutoCompleteId_LobId").empty(); } $(".txtAutoComplete_salespersonid").empty(); $(".hfAutoCompleteId_salespersoid").empty(); if (instance.IswalkinCustomer == true) { Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getorganization(contactid).then(function (response) { if (response.result != null) { $(".hdn_organizationid").val(response.result.OrganizationId); $("#hfInv_OrganizationName").val(response.result.OrganizationName); if (($(".hdn_invoicetypeid").val() == "1" || $(".hdn_invoicetypeid").val() == "2" || $(".hdn_invoicetypeid").val() == "3" || $(".hdn_invoicetypeid").val() == "4" || $(".hdn_invoicetypeid").val() == "6" || $(".hdn_invoicetypeid").val() == "7") && $("#chk_tcsapplied").val() != undefined) { instance.GetCustomerTurnOver(); } $.when(instance.loadAddressAutoCompletes(response.result.OrganizationId)).then(function () { instance.BindAddressDetails(response.result.OrganizationId); instance.GetAvailableWallets(0); }); } }); } else { Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getorgcontact(contactid).then(function (response) { var data = response.result; if (response.result != null && data.OrganizationId != 0) { $(".hdn_organizationid").val(response.result.OrganizationId); $("#hfInv_OrganizationName").val(data.OrganizationName); if (($(".hdn_invoicetypeid").val() == "1" || $(".hdn_invoicetypeid").val() == "2" || $(".hdn_invoicetypeid").val() == "3" || $(".hdn_invoicetypeid").val() == "4" || $(".hdn_invoicetypeid").val() == "6" || $(".hdn_invoicetypeid").val() == "7") && $("#chk_tcsapplied").val() != undefined) { instance.GetCustomerTurnOver(); } $.when(instance.loadAddressAutoCompletes(response.result.OrganizationId)).then(function () { instance.BindAddressDetails(response.result.OrganizationId); instance.GetAvailableWallets(0); }); } }); } } GetCustomerTurnOver() { var instance = this; $(".txt_tcsadjustment").val("0"); $("#chk_tcsapplied").unbind(); $(".number_tcsamount").prop("disabled", true); $(".div_tcsadjustment").addClass("floating-label-form-group-with-value"); $("#chk_tcsapplied").change(function () { if ($(this).prop('checked') == true && instance.EnableTenantTcs == false && ($(".hdn_invoicetypeid").val() == "1" || $(".hdn_invoicetypeid").val() == "2" || $(".hdn_invoicetypeid").val() == "3" || $(".hdn_invoicetypeid").val() == "4")) { MessageHelper.Instance().showError("Please Submit TCS Declaration", $("#form-container-" + $("#hf_FormId").val()).find(".bizgaze_FormErrorMessages").attr('id')); $("#hdnchk_tcsapplied").val("false"); $('#chk_tcsapplied').prop('checked', false); } else { if ($('#chk_AutoAdjustment').prop("checked") == true) { $("#txt_Adjustment").val(0); $(".hdn_adjustment").val(0); } if ($(this).prop('checked') == true && $(".hdn_invoicetypeid").val() == "1") { bootbox.confirm("Confirm if sale value is > 50,00,000 for this customer.In this current Financial Year.", function (result) { if (result) { $("#div_tcstaxrate").removeClass("hidden"); $(".div_tcsadjustment").removeClass("hidden"); $("#div_tcsamount").removeClass("hidden"); instance.update_total(); instance.TotalAdjustment(); } else { $("#div_tcstaxrate").addClass("hidden"); $(".div_tcsadjustment").addClass("hidden"); $("#div_tcsamount").addClass("hidden"); $('#chk_tcsapplied').prop('checked', false); $("#hdnchk_tcsapplied").val("false"); instance.update_total(); instance.TotalAdjustment(); } }); } else if ($(this).prop('checked') == true) { $("#div_tcstaxrate").removeClass("hidden"); $(".div_tcsadjustment").removeClass("hidden"); $("#div_tcsamount").removeClass("hidden"); instance.update_total(); instance.TotalAdjustment(); } else { $("#div_tcstaxrate").addClass("hidden"); $(".div_tcsadjustment").addClass("hidden"); $("#div_tcsamount").addClass("hidden"); instance.update_total(); instance.TotalAdjustment(); } } }); $(".txt_tcsadjustment").unbind(); $(".txt_tcsadjustment").blur(function () { if ($('#chk_AutoAdjustment').prop("checked") == true) { $("#txt_Adjustment").val(0); $(".hdn_adjustment").val(0); } instance.update_total(); instance.TotalAdjustment(); }); $("#div_tcstaxrate").addClass("hidden"); $(".div_tcsadjustment").addClass("hidden"); $("#div_tcsamount").addClass("hidden"); $("#chk_tcsapplied").prop("checked", false); $("#chk_tcsapplied").prop("disabled", false); Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getCustomerTurnOver($(".hdn_organizationid").val(), $(".hdn_invoiceid").val(), Pos.Instance().formatDate($(".date_journaldate").val()), $(".hdn_invoicetypeid").val()).then(function (response) { if (response.result != null) { $(".number_tcstaxrate").val(response.result.TaxRate); if (response.result.TCSTaxCodeId != 0) { $(".hdn_tcstaxcodeid").val(response.result.TCSTaxCodeId); $(".hdn_tcstaxcodeaccountid").val(response.result.TCSTaxCodeAccountId); $(".number_tcstaxrate").prop("disabled", true); } instance.TurnOver = response.result.TurnOver; instance.ContactTcsEnable = response.result.Enable; instance.EnableTenantTcs = response.result.EnableTenantTcs; instance.PanAvailable = response.result.PanAvailable; instance.TaxRate = response.result.TaxRate; if ($(".hdn_invoicetypeid").val() == "1" || $(".hdn_invoicetypeid").val() == "2") { if (instance.ContactTcsEnable == true && instance.EnableTenantTcs == true) { $("#chk_tcsapplied").prop("checked", true); if ($(".hdn_invoicetypeid").val() == "1") $("#chk_tcsapplied").prop("disabled", "disabled"); $("#hdnchk_tcsapplied").val("true"); $("#div_tcstaxrate").removeClass("hidden"); $(".div_tcsadjustment").removeClass("hidden"); $("#div_tcsamount").removeClass("hidden"); $(".number_tcsamount").prop("disabled", true); } else if (instance.TurnOver > 5000000 && $(".hdn_invoicetypeid").val() == "1") { $("#chk_tcsapplied").prop("checked", true); $("#chk_tcsapplied").prop("disabled", "disabled"); $("#hdnchk_tcsapplied").val("true"); $("#div_tcstaxrate").removeClass("hidden"); $(".div_tcsadjustment").removeClass("hidden"); $("#div_tcsamount").removeClass("hidden"); $(".number_tcsamount").prop("disabled", true); } } else if ($(".hdn_invoicetypeid").val() == "3" || $(".hdn_invoicetypeid").val() == "4" || $(".hdn_invoicetypeid").val() == "6" || $(".hdn_invoicetypeid").val() == "7") { $("#chk_tcsapplied").prop("checked", false); $("#hdnchk_tcsapplied").val("false"); $("#div_tcstaxrate").addClass("hidden"); $(".div_tcsadjustment").addClass("hidden"); $("#div_tcsamount").addClass("hidden"); } if (($(".hdn_invoicetypeid").val() == "3" || $(".hdn_invoicetypeid").val() == "4") && $('#hfInv_RefInvoiceId').val() == 0 && $("#hf_AppSettingName").val() == "Create Return") { Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getInvoiceDetails(($(".hdn_invoicetypeid").val())).then(function (res) { if (res.result != null && res.result != "") { instance.TaxRate = res.result.TcsTaxRate; $(".number_tcstaxrate").val(res.result.TcsTaxRate); $(".hdn_tcstaxcodeid").val(response.result.TcsTaxCodeId); if (res.result.TcsTaxCodeId != 0) { $(".number_tcstaxrate").prop("disabled", true); } $(".number_tcsamount").prop("disabled", true); } }); } } }); } loadAddressAutoCompletes(organizationid) { var instance = this; var ToAddressParameters = [{ "ColumnName": "contactid", "Value": organizationid, }]; let invoicetypeid = $(".hdn_invoicetypeid").val(); if (invoicetypeid == "1" || invoicetypeid == "4" || invoicetypeid == "6") { Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_billtoaddressid"), ToAddressParameters); Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_shiptoaddressid"), ToAddressParameters); $(".txtAutoComplete_billtoaddressid").change(function () { $.when(instance.loadLobAndSp()).then(function () { instance.BindLoB(); }); }); } else { Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_billfromaddressid"), ToAddressParameters); Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_shipfromaddressid"), ToAddressParameters); $(".txtAutoComplete_billfromaddressid").change(function () { $.when(instance.loadLobAndSp()).then(function () { instance.BindLoB(); }); }); } var FromAddressParameters = [{ "ColumnName": "companyid", "Value": Number(Unibase.Platform.Membership.Infos.Identity.getSetting("companyid")) }]; if (invoicetypeid == "1" || invoicetypeid == "4" || invoicetypeid == "6") { Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_billfromaddressid"), FromAddressParameters); Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_shipfromaddressid"), FromAddressParameters); } else { Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_billtoaddressid"), FromAddressParameters); Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_shiptoaddressid"), FromAddressParameters); } } BindAddressDetails(orgid) { var instance = this; let branchid = Number(Unibase.Platform.Membership.Infos.Identity.getSetting("branchid")); Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getbranche(branchid).then(function (responce) { if (responce.result != null) { if (responce.result.DefaultWarehouseId != 0) var ShipTo = new Option(responce.result.DefaultWarehouseName, responce.result.DefaultWarehouseId, true); else var ShipTo = new Option(responce.result.BranchName, responce.result.BranchId, true); var BillTo = new Option(responce.result.BranchName, responce.result.BranchId, true); if ($(".hdn_invoicetypeid").val() == "2" || $(".hdn_invoicetypeid").val() == "3" || $(".hdn_invoicetypeid").val() == "7") { $(".txtAutoComplete_shiptoaddressid").append(ShipTo); $(".txtAutoComplete_billtoaddressid").append(BillTo); $(".txtAutoComplete_billtoaddressid").change(function () { instance.bindSeries($(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_billtoaddressid")); instance.bindAdjustmentAccount($(".txtAutoComplete_lobid").val(), responce.result.BranchId); }); } else { $(".txtAutoComplete_shipfromaddressid").append(ShipTo); $(".txtAutoComplete_billfromaddressid").append(BillTo); $(".txtAutoComplete_billfromaddressid").change(function () { instance.bindSeries($(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_billfromaddressid")); instance.bindAdjustmentAccount($(".txtAutoComplete_lobid").val(), responce.result.BranchId); }); } } }); this.fileCacheHelper.loadJsFile("apps/crm/contacts/managers/contactmanager.js", function () { Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getAddressByContactId(orgid).then(function (response) { if (response.result != null && response.result != "") { var ShipTo = new Option(response.result.AddressName, response.result.ContactAddressId, true); var BillTo = new Option(response.result.AddressName, response.result.ContactAddressId, true); if ($(".hdn_invoicetypeid").val() == "1" || $(".hdn_invoicetypeid").val() == "6" || $(".hdn_invoicetypeid").val() == "4") { $(".txtAutoComplete_shiptoaddressid").append(ShipTo); $(".txtAutoComplete_billtoaddressid").append(BillTo); $(".txtAutoComplete_billtoaddressid").change(function () { $.when(instance.loadLobAndSp()).then(function () { instance.BindLoB(); }); }); instance.getGSTNo(); } else { $(".txtAutoComplete_shipfromaddressid").append(ShipTo); $(".txtAutoComplete_billfromaddressid").append(BillTo); $(".txtAutoComplete_billfromaddressid").change(function () { $.when(instance.loadLobAndSp()).then(function () { instance.BindLoB(); }); }); instance.getGSTNo(); } if (response.result.GSTNO != "" && response.result.GSTNO != null) $(".txt_gstno").val(response.result.GSTNO); $.when(instance.loadLobAndSp()).then(function () { instance.BindLoB(); }); } else { MessageHelper.Instance().showError("Please assign billing address and shipping address", $("#form-container-" + $("#hf_FormId").val()).find(".bizgaze_FormErrorMessages").attr('id')); } }); }); } GetAvailableWallets(invoiceid) { var instance = this; var ContactId = $(".hdn_organizationid").val(); var invoiceId = 0; if (invoiceid != 0 && $('#hfInv_IsRetun').val() != "1") { invoiceId = Number($(".hdn_invoiceid").val()); } if (invoiceId != 0) instance.GetJournalAlloc(invoiceId); var invoicedate = $('.date_journaldate').val(); var invdate = instance.formatDate(invoicedate); var lobid = $(".txtAutoComplete_lobid").val(); Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getJournalWallets(invdate, invoiceId, ContactId, Number($(".hdn_invoicetypeid").val()), lobid).then(function (response) { Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/controls/payments/wallet.component.js", function () { if (response.result != null) { Bizgaze.Apps.Transact.Controls.Wallet.Instance().loadInvoiceWallets(response.result); } }); }); } update_total() { var instance = this; var totalAmount = 0; var totalDiscountAmount = 0; var totalNonDiscountedAmount = 0; var totalTaxAmount = 0; var totalTaxAdjustment = 0; var totalAsseableAdjustment = 0; var totalQty = 0; var totalDiscountPercent = 0; var totalDiscountValue = 0; var totalAddlDiscountPercent = 0; var totalAddlDiscountValue = 0; var totalExpensePercent = 0; var totalExpenseValue = 0; var addexpenserow_total = 0; $('.expense-row-total').each(function (i) { var expense_row_total = Number($(this).html()); addexpenserow_total += expense_row_total; }); var ConsumedWalletValue = 0; var totalTaxPercent = 0; var totalTaxValue = 0; var totalCreditNote = 0; var adddiscountrow_total = 0; var netadddiscountrow_total = ConsumedWalletValue; $('.discount-row-total').each(function (i) { var discount_row_total = Number($(this).html()); adddiscountrow_total += discount_row_total; }); $('.netdiscount-row-total').each(function (i) { var discount_row_total = Number($(this).html()); netadddiscountrow_total += discount_row_total; }); var itemdiscount_total = 0; var totalLineAmount_total = 0; $('.hfRowTotal').each(function (i) { var element = $(this).parents(".item-row"); if (!element.hasClass('SplitItem')) { var totalLineAmount = Number($(this).val()); if (!isNaN(totalLineAmount)) totalLineAmount_total += Number(totalLineAmount); var discountPercent = 0; var discountValue = 0; var quantity = Number(element.find(".prodQuantity").val()); var unitPrice = Number(element.find(".prodPrice").val()); var exciseAmount = Number(element.find(".exciseAmount").val()); if (isNaN(exciseAmount)) exciseAmount = 0; var nonexciseAmount = totalLineAmount - exciseAmount; if (element.find(".btnInvoice_DiscType option:selected").text().trim() == 'Val' && element.find('.inv_txtaddldiscount').val() != '' && element.find('.inv_txtaddldiscount').val() != undefined) { discountValue = Number(element.find('.inv_txtaddldiscount').val()); } else if (element.find(".btnInvoice_DiscType option:selected").text().trim() == '%' && element.find('.inv_txtaddldiscount').val() != '' && element.find('.inv_txtaddldiscount').val() != undefined) { discountPercent = Number(element.find('.inv_txtaddldiscount').val()); } else if (element.find(".btnInvoice_DiscType option:selected").text().trim() == 'Mul') { if (element.find('#hfProdDiscountList').val() != '' || element.find('#hfProdDiscountApplyTypes').val() != '') { var discountsArray = element.find('#hfProdDiscountList').val().toString().split(','); var applyTypes = element.find('#hfProdDiscountApplyTypes').val().toString().split(','); var price = Number(unitPrice) * Number(quantity); var currentAmount = Number(unitPrice) * Number(quantity); $.each(discountsArray, function (j) { var percent = discountsArray[j]; var applyType = applyTypes[j]; var discount = 0; if (applyType == 'NET' || applyType == '1') { discount = Number(price) * Number(percent) / 100; currentAmount -= Number(discount); } else { discount = Number(currentAmount) * Number(percent) / 100; currentAmount -= Number(discount); } discountValue += Number(discount); }); element.find('.inv_txtaddldiscount').val(discountValue); } else { discountValue = Number(element.find('.inv_txtaddldiscount').val()); } } if (!isNaN(discountPercent)) totalDiscountPercent += Number(discountPercent); if (!isNaN(discountValue)) totalAddlDiscountValue += Number(discountValue); var discountAmount = 0; discountAmount = (Number(nonexciseAmount) * Number(discountPercent) / 100) + (Number(quantity) * Number(discountValue)); discountAmount = Number(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(discountAmount, 2)); itemdiscount_total += discountAmount; var discountedAmount = Number(totalLineAmount) - Number(discountAmount); totalDiscountAmount += Number(discountAmount); element.find(".hfDiscountedAmount").val(discountAmount); if ($(".hdn_invoicetypeid").val() == "2" || $(".hdn_invoicetypeid").val() == "3" || $(".hdn_invoicetypeid").val() == "7") { element.find(".txtRowTotalwithAdjustment").val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(totalLineAmount - discountAmount, 2)); } else element.find(".prodTotalPrice").html(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(totalLineAmount - discountAmount, 2).toString()); } }); } TotalAdjustment() { if ($('#chk_AutoAdjustment').is(':checked')) { var total = $('.nettotal').text(); var splitTotal = total.split('.'); var AdjustmentValue = 0; var splitedAdjestment = 0; $("#txt_Adjustment").val(0); $(".hdn_adjustment").val(0); if (!isNaN(Number($('#txt_Adjustment').val()))) { AdjustmentValue = Number($('#txt_Adjustment').val()); } if (Number(splitTotal[1]) > 0) { if (Number(splitTotal[1]) >= 50) { splitedAdjestment = (100 - Number(splitTotal[1])) / 100; AdjustmentValue += splitedAdjestment; $('#txt_Adjustment').val(Number(AdjustmentValue).toFixed(2)).blur(); $(".hdn_adjustment").val($('#txt_Adjustment').val()); $("#span_Adjustment").text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(AdjustmentValue, 2)); $('.nettotal').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber((Number(total) + AdjustmentValue), 2)); } else { splitedAdjestment = Number(splitTotal[1]) / 100; AdjustmentValue -= splitedAdjestment; $('#txt_Adjustment').val(Number(AdjustmentValue).toFixed(2)); $(".hdn_adjustment").val($('#txt_Adjustment').val()); $("#span_Adjustment").text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(AdjustmentValue, 2)); $('.nettotal').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber((Number(total) + AdjustmentValue), 2)); } } } else { $("#span_Adjustment").text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number($('#txt_Adjustment').val()), 2)); $('.nettotal').text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber((Number($('.nettotal').text()) + Number($('#txt_Adjustment').val())), 2)); } } loadLobAndSp() { var AddressId = $(".txtAutoComplete_billfromaddressid option:selected").val(); if ($(".hdn_invoicetypeid").val() == "1" || $(".hdn_invoicetypeid").val() == "6" || $(".hdn_invoicetypeid").val() == "4") AddressId = $(".txtAutoComplete_billtoaddressid option:selected").val(); var lobParameters = [{ "ColumnName": "contactaddressid", "Value": AddressId, }]; Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_lobid"), lobParameters); Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/orders/ordermanager.js", function () { var SpParameters = [{ "ColumnName": "contactaddressid", "Value": AddressId, }]; Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_salespersonid"), null); }); } BindLoB() { var instance = this; $(".txtAutoComplete_lobid").empty(); $('#hf_AdjustmentAccountId').val("0"); $('#txt_AdjustmentAccountName').empty(); if ($(".hdn_invoiceid").val() == "0") { $(".InvoiceItems").find(".item-addedrow").remove(); instance.SplitedInvoiceItemList = new Array(); instance.itemIds = [0]; instance.itemIds = [0]; $("#txt_Adjustment").val("0"); $("#span_Adjustment").text("0"); instance.update_total(); instance.TotalAdjustment(); } var AddressId = $(".txtAutoComplete_billfromaddressid option:selected").val(); if ($(".hdn_invoicetypeid").val() == "1" || $(".hdn_invoicetypeid").val() == "4" || $(".hdn_invoicetypeid").val() == "6") AddressId = $(".txtAutoComplete_billtoaddressid option:selected").val(); this.fileCacheHelper.loadJsFile("apps/crm/lobs/managers/lobmanager.js", function () { Bizgaze.Apps.CRM.Lobs.Managers.LobManager.Instance().getLobsByAddressId(Number(AddressId)).then(function (response) { let items = Bizgaze.Apps.Transact.Controls.Pos.Instance(); if (response.result != "" && response.result != null) { if (response.result.length == 1) { var LoB = new Option(response.result[0].LobName, response.result[0].LobId, true); $(".txtAutoComplete_lobid").append(LoB); $(".txtAutoComplete_lobid").val(response.result[0].LobId); !items.productContainerElement && items.setProductDetails("", items.containerId); instance.BindSalesPerson(AddressId); instance.bindDefaultPaymentTerm($(".hdn_organizationid").val(), response.result[0].LobId); var Addr = $(".txtAutoComplete_billtoaddressid option:selected").val(); if ($(".hdn_invoicetypeid").val() == "1" || $(".hdn_invoicetypeid").val() == "4" || $(".hdn_invoicetypeid").val() == "6") Addr = $(".txtAutoComplete_billfromaddressid option:selected").val(); instance.bindSeries($(".txtAutoComplete_lobid option:selected").val(), Addr); instance.bindAdjustmentAccount(response.result[0].LobId, Addr); } } else { $(".section_CartItems").remove(); items.renderSampleTemplate(); items.productContainerElement = null; items.productInfoElement = null; items.allEventsExecuted = false; } }); }); $(".txtAutoComplete_lobid").change(function () { instance.bindDefaultPaymentTerm($(".hdn_organizationid").val(), $(".txtAutoComplete_lobid option:selected").val()); var Address = $(".txtAutoComplete_billtoaddressid option:selected").val(); var Billto = $(".txtAutoComplete_billfromaddressid option:selected").val(); if ($(".hdn_invoicetypeid").val() == "1" || $(".hdn_invoicetypeid").val() == "4" || $(".hdn_invoicetypeid").val() == "6") { Address = $(".txtAutoComplete_billfromaddressid option:selected").val(); Billto = $(".txtAutoComplete_billtoaddressid option:selected").val(); } instance.BindSalesPerson(Billto); instance.bindSeries($(".txtAutoComplete_lobid option:selected").val(), Address); instance.bindAdjustmentAccount($(".txtAutoComplete_lobid option:selected").val(), Address); $(".InvoiceItems").find(".item-addedrow").remove(); instance.SplitedInvoiceItemList = new Array(); instance.itemIds = [0]; instance.dcItemIds = [0]; $("#txt_Adjustment").val("0"); instance.update_total(); instance.TotalAdjustment(); }); } bindSeries(lobid, branchid) { Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getSeries($("#hf_FormInstalledAppId").val(), lobid, branchid).then(function (response) { if (response.result != null) { if (response.result.length > 0) { $(".txtSeriesAutoComplete_seriesid").empty(); $(".txtSeriesAutoComplete_seriesid").append(new Option(response.result[0].SeriesName, response.result[0].SeriesId.toString(), true)); $(".txtSeriesAutoComplete_seriesid").val(response.result[0].SeriesId); } else { Unibase.Platform.Series.Managers.SeriesManager.Instance().getActiveSeries(0, Number($("#hf_FormInstalledAppId").val())).then(function (response) { var data = response.result; if (data != null) { if (data.length != 0) { $(".txtSeriesAutoComplete_seriesid").empty(); for (var s = 0; s < data.length; s++) { var Series = new Option(data[s].SeriesName, data[s].SeriesId.toString(), true); $(".txtSeriesAutoComplete_seriesid").append(Series); $(".txtSeriesAutoComplete_seriesid").val(data[s].SeriesId); } $(".txtSeriesAutoComplete_seriesid").val(data[0].SeriesId); } } }); } } else { Unibase.Platform.Series.Managers.SeriesManager.Instance().getActiveSeries(0, Number($("#hf_FormInstalledAppId").val())).then(function (response) { var data = response.result; if (data != null) { if (data.length != 0) { $(".txtSeriesAutoComplete_seriesid").empty(); for (var s = 0; s < data.length; s++) { var Series = new Option(data[s].SeriesName, data[s].SeriesId.toString(), true); $(".txtSeriesAutoComplete_seriesid").append(Series); $(".txtSeriesAutoComplete_seriesid").val(data[s].SeriesId); } $(".txtSeriesAutoComplete_seriesid").val(data[0].SeriesId); } } }); } }); } bindAdjustmentAccount(lobid, branchid) { $('#hf_AdjustmentAccountId').val("0"); $('#txt_AdjustmentAccountName').empty(); Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/ledgers/ledgermanager.js", function () { Bizgaze.Apps.Transact.Managers.LedgerManager.Instance().getLobLedgerSetting(lobid, branchid).then(function (response) { if (response.result != null && response.result != "") { $("#txt_AdjustmentAccountName").append(new Option(response.result.LedgerName, response.result.SettingValue1, true)); $("#hf_AdjustmentAccountId").val(response.result.SettingValue1); $("#txt_AdjustmentAccountName").val(response.result.SettingValue1); } }); }); } getGSTNo() { var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; var gstno = ""; if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length > 0 && Number($(".hdn_invoiceid").val()) != 0) { gstno = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_gstno").Value; } if (gstno != null && gstno != "") { $(".txt_gstno").val(gstno); } else $(".txt_gstno").val("GSTIN not Assigned"); if ($(".hdn_invoicetypeid").val() == "1" || $(".hdn_invoicetypeid").val() == "6" || $(".hdn_invoicetypeid").val() == "4") { $(".txtAutoComplete_billtoaddressid").change(function () { Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getAddressById(Number($(".txtAutoComplete_billtoaddressid").val())).then(function (ress) { if (ress.result != null) { if (ress.result.GSTNO != "" && ress.result.GSTNO != null) $(".txt_gstno").val(ress.result.GSTNO); } }); }); } else { $(".txtAutoComplete_billfromaddressid").change(function () { Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getAddressById(Number($(".txtAutoComplete_billfromaddressid").val())).then(function (ress) { if (ress.result != null) { if (ress.result.GSTNO != "" && ress.result.GSTNO != null) $(".txt_gstno").val(ress.result.GSTNO); } }); }); } } GetJournalAlloc(invoiceId) { Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getJournalAllocs(invoiceId).then(function (response) { if (response.result.length > 0) $(".txtAutoComplete_orgcontactid").prop("disabled", true); }); } 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 (month.length < 2) month = '0' + month; if (day.length < 2) day = '0' + day; return [year, month, day].join('-'); } BindSalesPerson(AddressId) { Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/crm/contacts/managers/contactmanager.js", function () { Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getManagerDetails(Number($(".txtAutoComplete_lobid option:selected").val()), AddressId).then(function (response) { if (response.result != null) { var SalesPerson = new Option(response.result.ManagerName, response.result.EmployeeId, true); $(".txtAutoComplete_salespersonid").empty(); $(".txtAutoComplete_salespersonid").append(SalesPerson); $(".txtAutoComplete_salespersonid").val(response.result.EmployeeId); } }); }); } bindDefaultPaymentTerm(organizationid, lobid) { $('.hfAutoCompleteId_paymenttermid').val(0); $('.txtAutoComplete_paymenttermid').empty(); Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/paymentterms/paymenttermmanager.js", function () { Bizgaze.Apps.Transact.Managers.PaymentTermManager.Instance().getPaymentTermByOrg(organizationid, lobid).then(function (response) { var paymentterm = response.result; if (paymentterm != null && paymentterm != "") { $('.hfAutoCompleteId_paymenttermid').val(paymentterm.PaymentTermId); $('.txtAutoComplete_paymenttermid').append(new Option(paymentterm.PaymentTermName, paymentterm.PaymentTermId, true)); if (paymentterm.DueDays != null && paymentterm.DueDays > 0) { var from = $('.date_journaldate').val().toString().split("/"); var f = new Date(Number(from[2]), Number(from[1]) - 1, Number(from[0])); var currentdate = f.setDate(f.getDate() + paymentterm.DueDays); $('.date_duedate').val(Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDate1(currentdate, "")); let date = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDate1(new Date(currentdate), ""); var tdate = moment(date, "DD/MM/YYYY").format("YYYY/MM/DD"); $('.hfdate_duedate').val(tdate); } } }); }); } loadControlSettings(controlsettingjson, formpropertyid) { } loadPropertySettings(propertysettings, formpropertyid) { } bindEditFormDetails(formpropertyid, propval, DocPropertyName) { this.bindEditInvoiceDetails(propval); } bindEditInvoiceDetails(invoiceid) { var instance = this; $(".btn_Save_Form").removeClass("hidden"); if ($('.hdn_invoicetypeid').val() == "1" && $("#hf_AppSettingName").val() == "Create Return") { $('#hfInv_IsRetun').val(1); $('.hdn_invoicetypeid').val("3"); $(".txtSeriesAutoComplete_seriesid").prop("disabled", false); $("#div_FormName").text("Create Sales Return"); $(".txtAutoComplete_orgcontactid").prop("disabled", true); $(".hdn_journalno").val(0); } else if ($('.hdn_invoicetypeid').val() == "2" && $("#hf_AppSettingName").val() == "Create Return") { $('#hfInv_IsRetun').val(1); $('.hdn_invoicetypeid').val("4"); $(".txtSeriesAutoComplete_seriesid").prop("disabled", false); $("#div_FormName").text("Create Purchase Return"); $(".txtAutoComplete_orgcontactid").prop("disabled", true); $(".hdn_journalno").val(0); } let invoicetypeid = $('.hdn_invoicetypeid').val(); Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/invoicemanager.js", function () { Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getInvoiceDetails(invoiceid).then(function (result) { var data = result.result; var companyId = Number(Unibase.Platform.Membership.Infos.Identity.getSetting("companyid")); var Parameters = [{ "ColumnName": "companyid", "Value": companyId }]; Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_orgcontactid"), Parameters); if (data.OrgContactId == 0) { instance.IswalkinCustomer = true; $(".hfAutoCompleteId_orgcontactid").val(data.OrganizationId); var selectedCompany = new Option(data.OrganizationName, data.OrganizationId, true); } else { instance.IswalkinCustomer = false; $(".hfAutoCompleteId_orgcontactid").val(data.OrgContactId); var selectedCompany = new Option(data.OrganizationName + " - " + data.OrgContactName, data.OrgContactId, true); } $(".txtAutoComplete_orgcontactid").empty(); $(".txtAutoComplete_orgcontactid").append(selectedCompany); if ($(".section_Details").hasClass('hidden')) { $(".section_Details").removeClass('hidden'); } if ($(".section_ItemDetails").hasClass('hidden')) { $(".section_ItemDetails").removeClass('hidden'); } if ($(".section_InvoiceAmount").hasClass('hidden')) { $(".section_InvoiceAmount").removeClass('hidden'); } if ($(".section_Description").hasClass('hidden')) { $(".section_Description").removeClass('hidden'); } if ($(".section_BillingAndShippingDetails").hasClass('hidden')) { $(".section_BillingAndShippingDetails").removeClass('hidden'); } if ($(".section_Wallets").hasClass('hidden')) { $(".section_Wallets").removeClass("hidden"); } if ($(".section_TCS").hasClass('hidden')) { $(".section_TCS").removeClass("hidden"); } $("#btn_Save").removeClass('hidden'); $(".txtAutoComplete_lobid").prop("disabled", true); $(".txtAutoComplete_orgcontactid").prop("disabled", true); $('.date_journaldate').val(Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDate1(data.InvoiceDate, "")); let date = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDate1(new Date(data.InvoiceDate), ""); var tdate = moment(date, "DD/MM/YYYY").format("YYYY/MM/DD"); $('.hfdate_journaldate').val(tdate); $('.date_duedate').val(Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDate1(data.DueDate, "")); var date1 = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDate1(new Date(data.DueDate), ""); tdate = moment(date1, "DD/MM/YYYY").format("YYYY/MM/DD"); $('.hfdate_duedate').val(tdate); $('.date_refdate').val(Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDate1(data.RefDate, "")); date1 = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDate1(new Date(data.RefDate), ""); tdate = moment(date1, "DD/MM/YYYY").format("YYYY/MM/DD"); $('.hfdate_refdate').val(tdate); $.when(instance.loadAddressAutoCompletes(data.OrganizationId)).then(function (response) { $(".txtAutoComplete_billfromaddressid").empty(); $(".txtAutoComplete_billtoaddressid").empty(); $(".txtAutoComplete_shiptoaddressid").empty(); $(".txtAutoComplete_shipfromaddressid").empty(); if ($('.hdn_invoicetypeid').val() == "1" || $('.hdn_invoicetypeid').val() == "4" || $('.hdn_invoicetypeid').val() == "6") { $(".hfAutoCompleteId_billfromaddressid").val(data.BillFromAddressId); $(".txtAutoComplete_billfromaddressid").append(new Option(data.BillFromAddressName, data.BillFromAddressId, true)); $(".hfAutoCompleteId_billtoaddressid").val(data.BillToAddressId); $(".txtAutoComplete_billtoaddressid").append(new Option(data.BillToAddressName, data.BillToAddressId, true)); $(".hfAutoCompleteId_shiptoaddressid").val(data.ShipToAddressId); $(".txtAutoComplete_shiptoaddressid").append(new Option(data.ShipToAddressName, data.ShipToAddressId, true)); $(".hfAutoCompleteId_shipfromaddressid").val(data.ShipFromAddressId); $(".txtAutoComplete_shipfromaddressid").append(new Option(data.ShipFromAddressName, data.ShipFromAddressId, true)); } else { $(".hfAutoCompleteId_billfromaddressid").val(data.BillToAddressId); $(".txtAutoComplete_billfromaddressid").append(new Option(data.BillToAddressName, data.BillToAddressId, true)); $(".hfAutoCompleteId_billtoaddressid").val(data.BillFromAddressId); $(".txtAutoComplete_billtoaddressid").append(new Option(data.BillFromAddressName, data.BillFromAddressId, true)); $(".hfAutoCompleteId_shiptoaddressid").val(data.ShipFromAddressId); $(".txtAutoComplete_shiptoaddressid").append(new Option(data.ShipFromAddressName, data.ShipFromAddressId, true)); $(".hfAutoCompleteId_shipfromaddressid").val(data.ShipToAddressId); $(".txtAutoComplete_shipfromaddressid").append(new Option(data.ShipToAddressName, data.ShipFromAddressId, true)); } instance.loadLobAndSp(); instance.getGSTNo(); $('.txtAutoComplete_lobid').empty(); $(".txtAutoComplete_lobid").append(new Option(data.LobName, data.LobId, true)); $(".hfAutoCompleteId_lobid").val(data.LobId); $('.txtAutoComplete_salespersonid').empty(); $('.txtAutoComplete_salespersonid').append(new Option(data.SalesPersonName, data.SalesPersonId, true)); $('.hfAutoCompleteId_salespersonid').val(data.SalesPersonId); $('hdn_OrganizationId').val(data.OrganizationId); $("#hfInv_OrganizationName").val(data.OrganizationName); $('.txtAutoComplete_paymenttermid').empty(); $('.hfAutoCompleteId_paymenttermid').val(data.PaymentTermId); $('.txtAutoComplete_paymenttermid').append(new Option(data.PaymentTermName, data.PaymentTermId, true)); if (data.SeriesId != 0 && $('#hfInv_IsRetun').val() != "1") { $(".txtSeriesAutoComplete_seriesid").empty(); $(".hfSeriesAutoCompleteId_seriesid").val(0); $(".txtSeriesAutoComplete_seriesid").append(new Option(data.SeriesName, data.SeriesId, true)); $(".hfSeriesAutoCompleteId_seriesid").val(data.SeriesId); } else { $(".txtSeriesAutoComplete_seriesid").prop("disabled", false); if (data.SeriesId == 0 && data.InvoiceNo != null && data.InvoiceNo != "") { $(".isManualSeries_seriesid").prop("checked", true); $(".TextManualSeries").val(data.InvoiceNo); } else { var Addr = $(".txtAutoComplete_billtoaddressid option:selected").val(); if ($(".hdn_invoicetypeid").val() == "1" || $(".hdn_invoicetypeid").val() == "4" || $(".hdn_invoicetypeid").val() == "6") Addr = $(".txtAutoComplete_billfromaddressid option:selected").val(); instance.bindSeries($(".txtAutoComplete_lobid option:selected").val(), Addr); } } if (($('#hfInv_IsRetun').val() != "1") && ($('.hdn_invoicetypeid').val() == "4" || $('.hdn_invoicetypeid').val() == "7" || $('.hdn_invoicetypeid').val() == "6" || $('.hdn_invoicetypeid').val() == "3")) { $(".txtSeriesAutoComplete_seriesid").prop("disabled", true); } if (data.RefNo != "" && data.RefNo != null) $(".txt_refno").val(data.RefNo); if (data.AdjustmentAccountId != 0) { $("#txt_AdjustmentAccountName").append(new Option(data.AdjustmentAccountName, data.AdjustmentAccountId, true)); $("#txt_AdjustmentAccountName").val(data.AdjustmentAccountId); $("#hf_AdjustmentAccountId").val(data.AdjustmentAccountId); } if (data.AutoAdjustment == true) { $('#chk_AutoAdjustment').prop('checked', true); $('#txt_Adjustment').prop("disabled", true); $(".span_AdjustmentAccountName").removeClass('hidden'); $("#txt_AdjustmentAccountName").addClass('required'); } else { $('#chk_AutoAdjustment').prop('checked', false); $('#txt_Adjustment').prop("disabled", false); $("#txt_AdjustmentAccountName").removeClass('required'); $(".span_AdjustmentAccountName").addClass('hidden'); } $('#txt_Adjustment').val(data.Adjustment); if (data.Adjustment != 0) { $('.span_AdjustmentAccountName').removeClass('hidden'); $("#txt_AdjustmentAccountName").addClass('required'); } else { $('.span_AdjustmentAccountName').addClass('hidden'); $("#txt_AdjustmentAccountName").removeClass('required'); } if (data.InvoiceStatusId == 6) { $('#btnInvoiceItem').hide(); } var Iswalkincustomer = false; var contactid = data.OrgContactId; if (data.OrgContactId == 0) { Iswalkincustomer = true; contactid = data.OrganizationId; } $(".chk_excludefromcampaign").prop("checked", data.ExcludeFromCampaign); $("#hfId_istaxinclusive").val(data.IsTaxInclusive); $(".dropdown_istaxinclusive").val(data.IsTaxInclusive.toString()); $(".dropdown_paymentmethodid").val(data.PaymentMethodId); instance.GetAvailableWallets(data.InvoiceId); instance.loadOrderPendingItems(); }); $(".txtAutoComplete_orgcontactid").change(function () { instance.LoadContactDetails(); }); if (data.GSTNO != "" && data.GSTNO != null) $(".txt_gstno").val(data.GSTNO); Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getCustomerTurnOver($(".hdn_organizationid").val(), $(".hdn_invoiceid").val(), instance.formatDate($(".date_journaldate").val()), $(".hdn_invoicetypeid").val()).then(function (res) { if (res.result != null) { instance.TurnOver = res.result.TurnOver; instance.ContactTcsEnable = res.result.Enable; instance.EnableTenantTcs = res.result.EnableTenantTcs; instance.PanAvailable = res.result.PanAvailable; instance.TaxRate = data.TcsTaxRate; if ($(".hdn_invoicetypeid").val() == "1" || $(".hdn_invoicetypeid").val() == "2") { if (instance.ContactTcsEnable == true && instance.EnableTenantTcs == true) { $("#chk_tcsapplied").prop("checked", true); if ($(".hdn_invoicetypeid").val() == "1") $("#chk_tcsapplied").prop("disabled", "disabled"); $("#hdnchk_tcsapplied").val("true"); $("#div_tcstaxrate").removeClass("hidden"); $(".div_tcsadjustment").removeClass("hidden"); $("#div_tcsamount").removeClass("hidden"); $(".number_tcsamount").prop("disabled", true); } } } }); $("chk_tcsapplies").prop("checked", data.TcsApplied); $(".hdn_tcstaxcodeid").val(data.TcsTaxCodeId); $(".hdn_tcstaxcodeaccountid").val(data.TcsTaxCodeAccountId); $(".number_tcstaxrate").val(data.TcsTaxRate); $(".number_tcstaxrate").prop("disabled", true); $(".txt_tcsadjustment").val(data.TcsAdjustment); $(".number_tcsamount").val(data.TcsAmount); $(".number_tcsamount").prop("disabled", true); instance.ContactTcsEnable = data.TcsApplied; instance.TaxRate = data.TcsTaxRate; if (data.TcsApplied == true) { $("#div_tcstaxrate").removeClass("hidden"); $(".div_tcsadjustment").removeClass("hidden"); $("#div_tcsamount").removeClass("hidden"); } else { $("#div_tcstaxrate").addClass("hidden"); $(".div_tcsadjustment").addClass("hidden"); $("#div_tcsamount").addClass("hidden"); } $("#chk_tcsapplied").unbind(); $("#chk_tcsapplied").change(function () { if ($('#chk_AutoAdjustment').prop("checked") == true) { $("#txt_Adjustment").val(0); $(".hdn_adjustment").val(0); } $(".div_tcsadjustment").addClass("floating-label-form-group-with-value"); if ($(this).prop('checked') == true && instance.EnableTenantTcs == false && ($(".hdn_invoicetypeid").val() == "1" || $(".hdn_invoicetypeid").val() == "2" || $(".hdn_invoicetypeid").val() == "3" || $(".hdn_invoicetypeid").val() == "4")) { MessageHelper.Instance().showError("Please Submit TCS Declaration", $("#form-container-" + $("#hf_FormId").val()).find(".bizgaze_FormErrorMessages").attr('id')); $("#hdnchk_tcsapplied").val("false"); $('#chk_tcsapplied').prop('checked', false); } else { if ($(this).prop('checked') == true && $(".hdn_invoicetypeid").val() == "1") { bootbox.confirm("Confirm if sale value is > 50,00,000 for this customer.In this current Financial Year.", function (result) { if (result) { $("#div_tcstaxrate").removeClass("hidden"); $(".div_tcsadjustment").removeClass("hidden"); $("#div_tcsamount").removeClass("hidden"); instance.update_total(); instance.TotalAdjustment(); } else { $("#div_tcstaxrate").addClass("hidden"); $(".div_tcsadjustment").addClass("hidden"); $("#div_tcsamount").addClass("hidden"); $('#chk_tcsapplied').prop('checked', false); instance.update_total(); instance.TotalAdjustment(); } }); } else if ($(this).prop('checked') == true) { $("#div_tcstaxrate").removeClass("hidden"); $(".div_tcsadjustment").removeClass("hidden"); $("#div_tcsamount").removeClass("hidden"); instance.update_total(); instance.TotalAdjustment(); } else if ($(this).prop('checked') == false) { $("#div_tcstaxrate").addClass("hidden"); $(".div_tcsadjustment").addClass("hidden"); $("#div_tcsamount").addClass("hidden"); $(".number_tcstaxrate").val(data.TcsTaxRate); $(".number_tcstaxrate").prop("disabled", true); $(".txt_tcsadjustment").val(data.TcsAdjustment); $(".number_tcsamount").val(data.TcsAmount); $(".number_tcsamount").prop("disabled", true); instance.update_total(); instance.TotalAdjustment(); } } }); $(".txt_tcsadjustment").unbind(); $(".txt_tcsadjustment").blur(function () { instance.update_total(); instance.TotalAdjustment(); }); }); }); } SaveAsDraft() { let InstalledAppId = Unibase.Platform.Forms.Components.FormViewer.instance.InstalledAppId; let RefStatusId = Bizgaze.Apps.Transact.Enums.InvoiceStatus.Draft; Unibase.Platform.Apps.Managers.StageManager.Instance().getStagesByInstalledAppandRefStatus(InstalledAppId, RefStatusId).then(function (response) { $(".hdn_stageid").val(response.result.StageId); $("#btnDynamicSave").click(); }); } loadOrderPendingItems() { var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; var instance = this; let invoiceid = $(".hdn_invoiceid").val(); var orderid = $(".hdn_orderid").val(); var Dcid = $(".hdn_dcid").val(); var fromOrder = false; var items = []; var Invoiceitem = []; $(".item-addedrow").remove(); var url = ""; if (Dcid != 0 && Dcid != undefined && orderid == 0) { fromOrder = false; url = "apis/v4/bizgaze/transact/Dc/getpendingdcitemsforinvoice/dcid/" + Dcid; } if (Dcid == 0 || Dcid == undefined || instance.OrderSettingId == 2) { if (orderid != "0" && orderid != undefined) { fromOrder = true; url = "apis/v4/bizgaze/transact/Orders/getpendingitemsforinvoice/orderid/" + orderid + "/ismergeorder/false"; } } else if (Dcid != 0 && Dcid != undefined) { fromOrder = false; url = "apis/v4/bizgaze/transact/Dc/getpendingdcitemsforinvoice/dcid/" + Dcid; } if (invoiceid != 0 && invoiceid != undefined && invoiceid != "null") { fromOrder = false; if ($('#hfInv_IsRetun').val() == "1") { if ($(".hdn_invoicetypeid").val() == "3" || $(".hdn_invoicetypeid").val() == "4") url = "apis/v4/bizgaze/transact/invoices/getinvoiceitemsbyinvoiceid/invoiceid/" + invoiceid + "/isreturn/true/itemid/0"; } else url = "apis/v4/bizgaze/transact/invoices/getinvoiceitemsbyinvoiceid/invoiceid/" + invoiceid + "/isreturn/false/itemid/0"; } if (url != "") { Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getInvoiceItems(url).then(function (response) { var oldTaxId = 0; var totalQty = 0; for (var i = 0; i < response.result.length; i++) { var item = response.result[i]; var invoiceItemId = 0; totalQty += item.Quantity; if (invoiceid != "0" && invoiceid != undefined && invoiceid != "null") invoiceItemId = item.InvoiceItemId; var refInvoiceItemId = 0; if (($(".hdn_invoicetypeid").val() == "3" || $(".hdn_invoicetypeid").val() == "4") && $("#hf_AppSettingName").val() == "Create Return") refInvoiceItemId = item.InvoiceItemId; if (i == 0) oldTaxId = item.TaxGroupId; if (oldTaxId != item.TaxGroupId && i != 0) $('#addDiscount').addClass('hidden'); var maxQty = 0; if (item.OrderItemPendingQty > 0) maxQty = item.OrderItemPendingQty; var pendingQuantity = item.OrderItemPendingQty > 0 ? item.OrderItemPendingQty : 0; if (invoiceItemId != 0) maxQty = item.Quantity + pendingQuantity; if (item.DcItemId == undefined) item.DcItemId = 0; if (item.TaxAdjustment == undefined) item.TaxAdjustment = 0; if (item.AssesableAdjustment == undefined) item.AssesableAdjustment = 0; if (item.IsFoc == undefined) item.IsFoc = false; if (item.OfferItemId == undefined) item.OfferItemId = 0; if (item.DiscountPercent == undefined) item.DiscountPercent = 0; if (item.DiscountValue == undefined) item.DiscountValue = 0; var itemRow = { orderItemId: item.OrderItemId, invoiceItemId: invoiceItemId, itemName: item.ItemName, itemId: item.ItemId, itemSKU: item.ItemSKU, unitName: item.UnitName, packSize: item.PackSize, packCount: item.PackCount, packs: item.Packs, quantity: item.Quantity, availPacks: item.AvailablePacks, availQty: item.AvailableQty, listPrice: 0, description: item.Description, taxGroupName: item.TaxGroupName, taxGroupId: item.TaxGroupId, isTaxInclusive: $("#hfId_istaxinclusive").val(), addlDiscountPercent: item.DiscountPercent, addlDiscountValue: item.DiscountAmount, creditNote: 0, priceListId: 0, batchId: 0, unitPrice: item.UnitPrice, invoiceallocations: null, exciseInvoiceItem: null, accountId: item.LedgerId, accountName: item.LedgerName, walletId: 0, Adjustment: 0, IsFoc: item.IsFoc, TariffNo: "", exciseAmount: item.ExciseAmount, discountName: "", discountId: 0, refNo: item.RefNo, DiscountGroupId: item.DiscountGroupId, DiscountGroupName: item.DiscountGroupName, ExchangeItem: item.ExchangeDC, maxQty: maxQty, RefInvoiceItemId: refInvoiceItemId, MrpId: item.MrpId, taxAdjustment: item.TaxAdjustment, assesableAdjustment: item.AssesableAdjustment, inventoryTypeId: item.InventoryTypeId, IsBoMItem: item.IsBoMItem, dcItemId: item.DcItemId, TotalRowAmount: 0, TotalDiscount: 0, BatchId: item.BatchId, OfferItemId: item.OfferItemId, AlternateUnitId: item.AlternateUnitId, DefaultSize: item.DefaultSize, ParentBOMItemId: item.ParentBOMItemId, TaxAmount: item.TaxAmount, DiscountAmount: item.DiscountAmount, }; var EnableMrp = item.EnableMRP; var EnableBatch = item.EnableBatch; if (item.IsFoc == true) Invoiceitem.push(itemRow); else if (item.DcItemId != 0 && EnableMrp != true && EnableBatch != true) Invoiceitem.push(itemRow); else if (item.InvoiceItemId == 0) { if (instance.orderid != 0 && Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_ordertypeid").Value) == 2 && EnableMrp != true && EnableBatch != true) Invoiceitem.push(itemRow); } else if (item.InvoiceItemId == 0) { if (instance.orderid != 0 && Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_ordertypeid").Value) == 1 && ((EnableMrp != true && EnableBatch != true) || Number(item.AvailableQty) <= 0)) Invoiceitem.push(itemRow); } else if (($(".hdn_invoicetypeid").val() == "1" || $(".hdn_invoicetypeid").val() == "4") && ((EnableMrp != true && EnableBatch != true) || (Number(item.AvailableQty) <= 0))) Invoiceitem.push(itemRow); else if (($(".hdn_invoicetypeid").val() == "2" || $(".hdn_invoicetypeid").val() == "3") && EnableMrp != true && EnableBatch != true) Invoiceitem.push(itemRow); else if ($(".hdn_invoicetypeid").val() == "6" || $(".hdn_invoicetypeid").val() == "7") Invoiceitem.push(itemRow); else { if (item.InventoryTypeId != 5 && item.InventoryTypeId != 6 && item.InventoryTypeId != 7) { var total = Number((itemRow.quantity * itemRow.unitPrice) + itemRow.exciseAmount + itemRow.Adjustment + itemRow.assesableAdjustment); var nonexcise = total - itemRow.exciseAmount; var disc = ((nonexcise * itemRow.addlDiscountPercent) / 100) + (itemRow.quantity * itemRow.addlDiscountValue); var Rowtotal = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(total - disc, 3); instance.SplitedInvoiceItemList.push({ orderItemId: item.OrderItemId, invoiceItemId: invoiceItemId, itemName: item.ItemName, itemId: item.ItemId, itemSKU: item.ItemSKU, unitName: item.UnitName, packSize: item.PackSize, packCount: item.PackCount, packs: item.Packs, quantity: item.Quantity, availPacks: item.AvailablePacks, availQty: item.AvailableQty, listPrice: 0, description: item.Description, taxGroupName: item.TaxGroupName, taxGroupId: item.TaxGroupId, isTaxInclusive: $("#hfId_istaxinclusive").val(), addlDiscountPercent: item.DiscountPercent, addlDiscountValue: item.DiscountAmount, creditNote: 0, priceListId: 0, batchId: 0, unitPrice: item.UnitPrice, invoiceallocations: null, exciseInvoiceItem: null, accountId: item.LedgerId, accountName: item.LedgerName, walletId: 0, Adjustment: 0, IsFoc: 0, TariffNo: "", exciseAmount: item.ExciseAmount, discountName: "", discountId: 0, refNo: item.RefNo, DiscountGroupId: item.DiscountGroupId, DiscountGroupName: item.DiscountGroupName, ExchangeItem: item.ExchangeDC, maxQty: maxQty, RefInvoiceItemId: refInvoiceItemId, MrpId: item.MrpId, taxAdjustment: item.TaxAdjustment, assesableAdjustment: item.AssesableAdjustment, inventoryTypeId: item.InventoryTypeId, IsBoMItem: item.IsBoMItem, dcItemId: item.DcItemId, TotalRowAmount: Rowtotal, TotalDiscount: disc, BatchId: item.BatchId, TotalAmount: Rowtotal, ParentBOMItemId: item.ParentBOMItemId }); if (items.length != 0 && items.find(x => x.itemId == item.ItemId) != undefined) { var multipleExist = items.find(x => x.itemId == item.ItemId); multipleExist.quantity += itemRow.quantity; var RowTotal = 0; var rowtotal = Number((itemRow.quantity * itemRow.unitPrice) + itemRow.exciseAmount + itemRow.Adjustment + itemRow.assesableAdjustment); var nonexiceamount = rowtotal - itemRow.exciseAmount; var discount = ((nonexiceamount * itemRow.addlDiscountPercent) / 100) + (itemRow.quantity * itemRow.addlDiscountValue); discount = Number(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(discount, 3)); RowTotal = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(rowtotal - discount, 3); multipleExist.TotalRowAmount = Number(multipleExist.TotalRowAmount) + Number(RowTotal); multipleExist.TotalDiscount = Number(multipleExist.TotalDiscount) + Number(discount); if (instance.OrderSettingId == 1) { var Qty = Number(maxQty); multipleExist.maxQty = Qty + Number(multipleExist.maxQty); } else { var Qty = Number(item.Quantity); multipleExist.maxQty = Qty + Number(multipleExist.maxQty); } } else { var RowTotal = 0; var rowtotal = Number((itemRow.quantity * itemRow.unitPrice) + itemRow.exciseAmount + itemRow.Adjustment + itemRow.assesableAdjustment); var nonexiceamount = rowtotal - itemRow.exciseAmount; var discount = ((nonexiceamount * itemRow.addlDiscountPercent) / 100) + (itemRow.quantity * itemRow.addlDiscountValue); discount = Number(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(discount, 3)); RowTotal = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(rowtotal - discount, 3); itemRow.TotalRowAmount = Number(itemRow.TotalRowAmount) + Number(RowTotal); itemRow.TotalDiscount = Number(discount); items.push(itemRow); } } else { Invoiceitem.push(itemRow); } } var isFOC = false; if (itemRow.unitPrice == 0) { isFOC = true; } var taxamount = itemRow.TaxAmount / itemRow.quantity; instance.userCart.push({ lobId: 0, productId: 0, itemId: itemRow.itemId, quantity: itemRow.quantity, itemPrice: itemRow.unitPrice, itemName: itemRow.itemName, isFOC: isFOC, taxAmmount: taxamount, discountValue: itemRow.DiscountAmount }); instance.updateCheckoutPageList(); instance.cartInst.updateCartContainerHtml(itemRow.itemId, 0); } for (const j of items) { var emptyRow = { orderItemId: j.orderItemId, invoiceItemId: 0, itemName: j.itemName, itemId: j.itemId, itemSKU: j.itemSKU, unitName: "", packSize: 0, packCount: 0, packs: 0, quantity: j.quantity, availPacks: 0, availQty: j.availQty, listPrice: 0, description: "", taxGroupName: j.taxGroupName, taxGroupId: j.taxGroupId, isTaxInclusive: $("#hf_istaxinclusive").val(), addlDiscountPercent: 0, addlDiscountValue: j.addlDiscountValue, creditNote: 0, priceListId: 0, batchId: 0, unitPrice: j.unitPrice, invoiceallocations: null, exciseInvoiceItem: null, accountId: j.accountId, accountName: j.accountName, walletId: 0, Adjustment: 0, IsFoc: j.IsFoc, TariffNo: "", exciseAmount: 0, discountName: "", discountId: 0, refNo: "", DiscountGroupId: 0, DiscountGroupName: '', RefInvoiceItemId: 0, MrpId: j.MrpId, taxAdjustment: 0, assesableAdjustment: 0, inventoryTypeId: 0, dcItemId: 0, TotalRowAmount: j.TotalRowAmount, BatchId: j.BatchId, maxQty: j.maxQty, TotalDiscount: j.TotalDiscount, ParentBOMItemId: j.ParentBOMItemId }; } $("#totalinvoiceqty").text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(totalQty, 2)); }); } } Print(id) { var templateid = "0"; if (Bizgaze.Apps.Transact.Controls.Pos.Instance().isdraft == false) { Pos.Instance().fileCacheHelper.loadJsFile("apps/transact/managers/invoicemanager.js", function () { Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getInvoiceDetails(id).then(function (response) { if (response.result != null) { var invoiceresponse = response.result; Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().updateinvoiceseries(id, invoiceresponse.SeriesId, 0, invoiceresponse.TemplateId).then(function (data) { if (data.status == 2) { MessageHelper.Instance().showError(data.message, 'bizgaze_CreateErrorMessages'); return false; } else { 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); Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getprintinvoice(id, true, true).then(function (data) { var resp = data.result; Pos.Instance().printPopup(resp); var printhtml = '
' + resp.Html + '
'; }, function (response) { MessageHelper.Instance().showError(response.responseText, ""); }); } }); } }); }); } } applyOffer(selectedItemArray) { var totalPrice = this.totalPrice(this.userCart); if (selectedItemArray != null) { for (var i = 0; i < selectedItemArray.length; i++) { var item = this.selectedItemsArray.find(x => x.itemId == selectedItemArray[i].ItemId); var focItemId = selectedItemArray.map(x => x.focItemId); var index = this.userCart.findIndex(x => x.itemId == item.itemId && x.productId == item.productId); if (index == -1) { this.userCart.push({ lobId: this.lobId, productId: item.productId, itemId: item.itemId, quantity: selectedItemArray[i].Volume, itemPrice: item.UnitPrice, itemName: item.itemName, totalPrice: totalPrice, offerrefid: 0, isFOC: false, discountValue: 0, taxAmmount: item.TaxAmount }); item = this.userCart.find(x => x.itemId == item.itemId && x.productId == item.productId); } else { var offerIndex = this.userCart.findIndex(x => x.offerrefid == item.itemId && x.itemId == selectedItemArray[i].focItemId); if (offerIndex == -1) { this.removeItemFromItemCartAndUsercart(item.productId, item.itemId); var offeritems = this.userCart.filter(x => x.offerrefid == item.itemId); if (offeritems != null) { for (var j = 0; j < offeritems.length; j++) { this.removeItemFromItemCartAndUsercart(offeritems[j].productId, offeritems[j].itemId); } } this.userCart.push({ lobId: this.lobId, productId: item.productId, itemId: item.itemId, quantity: selectedItemArray[i].Volume, itemPrice: item.UnitPrice, itemName: item.itemName, totalPrice: totalPrice, offerrefid: 0, isFOC: false, discountValue: 0, taxAmmount: item.taxAmmount }); item = this.userCart.find(x => x.itemId == item.itemId && x.productId == item.productId); } } var element = document.getElementById(item.itemId); this.updateItemContainerSpinnerOnMDown(element, null, true, item.quantity); this.getOfferDetails(item, focItemId); this.cartInst.updateCartContainerHtml(item.itemid, item.productId); } } else if (this.offerItemsArray.length > 0) { } } printPopup(data) { var mywindow = window.open('', 'my Print', 'height=400,width=850'); var content = 'Print'; content += data.Html; content += ""; content += ''; mywindow.document.write(content); return true; } static Instance() { if (this._instance === undefined) { this._instance = new Pos(); } return this._instance; } } Controls.Pos = Pos; })(Controls = Transact.Controls || (Transact.Controls = {})); })(Transact = Apps.Transact || (Apps.Transact = {})); })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {})); })(Bizgaze || (Bizgaze = {}));