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 Components; (function (Components) { class PurchasePlan extends Unibase.Platform.Core.BaseComponent { constructor() { super(); this.orderid = 0; this.EstimateId = 0; this.VisibleContainerId = ""; this.IsLoadDetailsFromList = false; } cssFiles() { return []; } jsFiles() { return ['apps/transact/managers/orders/ordermanager.js', 'apps/transact/controls/orders/order.component.js', 'apps/transact/controls/orders/orderitems.component.js', 'platform/forms/components/formviewer/formviewer.js' ]; } html(id, containerid) { let instance = this; instance.VisibleContainerId = containerid; var html = `
`; $("." + containerid).html(html); return ""; } init(containerid) { var instance = this; var id = 0; var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) { if (obj.Key === "hf_" + InstalledAppId + "_recordid") { id = Number(obj.Value.toString()); } } instance.load(id, containerid, null); if (instance.VisibleContainerId == "") { instance.VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1]; } } load(id, containerid, callback) { var instance = this; instance.fileCacheHelper.loadJsFiles(['apps/transact/managers/orders/ordermanager.js', 'apps/transact/controls/orders/order.component.js', 'apps/transact/controls/orders/orderitems.component.js', 'platform/forms/components/formviewer/formviewer.js', 'apps/transact/managers/estimates/estimatemanager.js', "platform/core/helpers/numberhelper/numberhelper.js"], function () { instance._orderManager = Bizgaze.Apps.Transact.Managers.OrderManager.Instance(); instance._orderItems = Bizgaze.Apps.Transact.Controls.OrderItems.Instance(); instance._order = Bizgaze.Apps.Transact.Controls.Order.Instance(); instance.html(id, containerid); instance.orderid = Number(id); let InputParameters = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters; let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; let EstimateId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_estimateid").Value); instance.EstimateId = EstimateId; instance.fileCacheHelper.loadJsFile("apps/transact/managers/estimates/estimatemanager.js", function () { Bizgaze.Apps.Transact.Managers.EstimateManager.Instance().getEstimate(EstimateId).then(function (response) { return __awaiter(this, void 0, void 0, function* () { let data = response.result; let BranchIds = data.BranchIds; let BranchNames = data.BranchIds_Text; let CompanyIds = data.CompanyIds; let CompanyNames = data.CompanyIds_Text; let IsGenerateForAllBranches = data.IsGenerateForAllBranches; let VisibleContainerId = instance.VisibleContainerId; $("#" + VisibleContainerId).find("#btnSection_Apply").addClass("text-white"); $("#" + VisibleContainerId).find(".btnSection_GeneratePurchasePlan").removeClass("mt-20").addClass('btn text-white'); $("#" + VisibleContainerId).find("#divSectionProperties_MoreOptions").removeClass('mt-10').addClass("mt-30"); let url = _appsettings.server_url() + '/apis/v4/bizgaze/crm/companies/getcompaniesAutoComplete'; AutoCompleteHelper.getHelper().Create("#select2_CompanyId_" + instance.VisibleContainerId, "#hfAutoComplete_Company_" + instance.VisibleContainerId, url, null); let Comp_Ids = "0"; var Company_Ids = []; var Company_Names = []; var Branch_Ids = []; var Branch_Names = []; if (CompanyIds != "" && CompanyIds != null && CompanyIds != "0") { Comp_Ids = CompanyIds.replace("|", ","); Company_Ids = CompanyIds.split("|"); Company_Names = CompanyNames.split("|"); } url = _appsettings.server_url() + '/apis/v4/bizgaze/crm/companies/getbranchesbycompaniesAutoComplete/companyids/' + Comp_Ids; AutoCompleteHelper.getHelper().Create("#select2_BranchId_" + instance.VisibleContainerId, "#hfAutoComplete_Branch_" + instance.VisibleContainerId, url, null); if (BranchIds != "" && BranchIds != null && BranchIds != "0") { Branch_Ids = BranchIds.split("|"); Branch_Names = BranchNames.split("|"); } if (CompanyIds == "" || CompanyIds == null && CompanyIds != "0") { $("#" + VisibleContainerId).find("#select2_CompanyId_" + instance.VisibleContainerId).val(null).trigger('change'); } else { for (let c = 0; c < Company_Ids.length; c++) { var company_option = new Option(Company_Names[c], Company_Ids[c], true, true); $("#" + VisibleContainerId).find("#select2_CompanyId_" + instance.VisibleContainerId).append(company_option).trigger('change'); } } if (BranchIds == "" || BranchIds == null && BranchIds != "0") { $("#" + VisibleContainerId).find("#select2_BranchId_" + instance.VisibleContainerId).val(null).trigger('change'); } else { for (let b = 0; b < Branch_Ids.length; b++) { var branch_option = new Option(Branch_Names[b], Branch_Ids[b], true, true); $("#" + VisibleContainerId).find("#select2_BranchId_" + instance.VisibleContainerId).append(branch_option).trigger('change'); } } if (IsGenerateForAllBranches) { $("#" + VisibleContainerId).find("#chkSection_GenerateForAllBranches_" + instance.VisibleContainerId).prop("checked", true); $("#" + VisibleContainerId).find("#select2_BranchId_" + instance.VisibleContainerId).val(null).trigger('change'); $("#" + VisibleContainerId).find("#select2_CompanyId_" + instance.VisibleContainerId).val(null).trigger('change'); $("#" + VisibleContainerId).find("#select2_CompanyId_" + instance.VisibleContainerId).prop('disabled', true); $("#" + VisibleContainerId).find("#select2_BranchId_" + instance.VisibleContainerId).prop('disabled', true); } instance.DisableOrEnableApplyButton(); instance.purchasePlanEvents(); }); }); }); }); } purchasePlanEvents() { var instance = this; $("#" + instance.VisibleContainerId).find("#select2_CompanyId_" + instance.VisibleContainerId).change(function () { let Ids = instance.getCompanyIds(); if (Ids == "") { Ids = "0"; $("#" + instance.VisibleContainerId).find("#select2_BranchId_" + instance.VisibleContainerId).prop('disabled', true); } else { $("#" + instance.VisibleContainerId).find("#select2_BranchId_" + instance.VisibleContainerId).removeAttr('disabled'); } let url = _appsettings.server_url() + '/apis/v4/bizgaze/crm/companies/getbranchesbycompaniesAutoComplete/companyids/' + Ids; AutoCompleteHelper.getHelper().Create("#select2_BranchId_" + instance.VisibleContainerId, "#hfAutoComplete_Branch_" + instance.VisibleContainerId, url, null); $("#" + instance.VisibleContainerId).find("#select2_BranchId_" + instance.VisibleContainerId).val('').trigger("change"); instance.DisableOrEnableApplyButton(); }); $("#" + instance.VisibleContainerId).find("#select2_BranchId_" + instance.VisibleContainerId).change(function () { instance.DisableOrEnableApplyButton(); }); $("#" + instance.VisibleContainerId).find("#btnSection_Apply").unbind().click(function () { let IsGenerateForAllBranches = $('#chkSection_GenerateForAllBranches_' + instance.VisibleContainerId).prop("checked"); let CompanyIds = ""; let CompanyNames = ""; let Company_Ids = $("#select2_CompanyId_" + instance.VisibleContainerId).select2('data'); for (let c = 0; c < Company_Ids.length; c++) { CompanyIds = CompanyIds.concat(Company_Ids[c].id, "|"); CompanyNames = CompanyNames.concat(Company_Ids[c].text, "|"); } let BranchIds = ""; let BranchNames = ""; let Branch_Ids = $("#select2_BranchId_" + instance.VisibleContainerId).select2('data'); for (let c = 0; c < Branch_Ids.length; c++) { BranchIds = BranchIds.concat(Branch_Ids[c].id, "|"); BranchNames = BranchNames.concat(Branch_Ids[c].text, "|"); } BranchIds = BranchIds.substring(0, BranchIds.length - 1); BranchNames = BranchNames.substring(0, BranchNames.length - 1); CompanyIds = CompanyIds.substring(0, CompanyIds.length - 1); CompanyNames = CompanyNames.substring(0, CompanyNames.length - 1); let postData = { EstimateId: instance.EstimateId, BranchIds: BranchIds, CompanyIds: CompanyIds, BranchNames: BranchNames, CompanyNames: CompanyNames, IsGenerateForAllBranches: IsGenerateForAllBranches }; instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () { Bizgaze.Apps.Transact.Managers.OrderManager.Instance().updatePurchasePlanDetails(postData).then(function (response) { return __awaiter(this, void 0, void 0, function* () { if (response.errors == null) { var detailInstance = Unibase.Themes.Compact.Components.Details.Instance(); var panel = "#" + detailInstance._containerId; var obj = Unibase.Themes.Compact.Components.Details.Instance(); obj._recordId = Unibase.Themes.Providers.DetailHelper.recordId; obj._installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; instance.IsLoadDetailsFromList = false; detailInstance.loadAppDefaultWidget(obj, panel, detailInstance._containerId, function () { detailInstance.loadDefaultWidgets(obj._installedAppId, panel); detailInstance.LoadApprovals(obj._recordId, obj._installedAppId); }); MessageHelper.Instance().showSuccess(response.message, ""); } else { MessageHelper.Instance().showError(response.message, "div_message"); } }); }); }); }); $("#" + instance.VisibleContainerId).find('#chkSection_GenerateForAllBranches_' + instance.VisibleContainerId).click(function () { if ($("#" + instance.VisibleContainerId).find('#chkSection_GenerateForAllBranches_' + instance.VisibleContainerId).is(':checked')) { $("#" + instance.VisibleContainerId).find("#select2_BranchId_" + instance.VisibleContainerId).val(null).trigger('change'); $("#" + instance.VisibleContainerId).find("#select2_CompanyId_" + instance.VisibleContainerId).val(null).trigger('change'); $("#" + instance.VisibleContainerId).find("#select2_CompanyId_" + instance.VisibleContainerId).prop('disabled', true); $("#" + instance.VisibleContainerId).find("#select2_BranchId_" + instance.VisibleContainerId).prop('disabled', true); } else { $("#" + instance.VisibleContainerId).find("#select2_CompanyId_" + instance.VisibleContainerId).removeAttr('disabled'); $("#" + instance.VisibleContainerId).find("#select2_BranchId_" + instance.VisibleContainerId).removeAttr('disabled'); } let CompanyIds = instance.getCompanyIds(); if (CompanyIds == "") { $("#" + instance.VisibleContainerId).find("#select2_BranchId_" + instance.VisibleContainerId).prop('disabled', true); } instance.DisableOrEnableApplyButton(); }); } DisableOrEnableApplyButton() { let instance = this; let CompanyIds = instance.getCompanyIds(); let BranchIds = instance.getBranchIds(); if ((CompanyIds == "" || BranchIds == "") && !$("#" + instance.VisibleContainerId).find('#chkSection_GenerateForAllBranches_' + instance.VisibleContainerId).is(':checked')) { $("#" + instance.VisibleContainerId).find("#btnSection_Apply").addClass("disabled").css("cursor", "not-allowed"); } else { $("#" + instance.VisibleContainerId).find("#btnSection_Apply").removeClass("disabled").removeAttr("style"); } } savePurchasePlanItems(searchtext) { let instance = this; instance._order.g_PendingItemsSortBy = 0; let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; let InputParameters = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters; let EstimateId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_estimateid").Value); instance.fileCacheHelper.loadJsFile("apps/transact/managers/estimates/estimatemanager.js", function () { Bizgaze.Apps.Transact.Managers.EstimateManager.Instance().getEstimate(EstimateId).then(function (response) { return __awaiter(this, void 0, void 0, function* () { let data = response.result; let BranchIds = Bizgaze.Apps.Transact.Components.PurchasePlan.Instance().getBranchIds(); let CompanyIds = Bizgaze.Apps.Transact.Components.PurchasePlan.Instance().getCompanyIds(); let LobId = Number(data.LobId); let ShippingAddressId = Number(data.ShippingAddressId); let ShipFromAddressId = Number(data.ShipFromAddressId); let BillingAddressId = Number(data.BillingAddressId); let OrganizationId = Number(data.OrganizationId); let contactId = OrganizationId; if (contactId == undefined || contactId == 0) contactId = 0; let CompositePrice = false; if ($('#chk_CompositePrice').is(':checked')) { CompositePrice = true; } let Postdata = { BranchIds: BranchIds, ContactId: Number(OrganizationId), LobId: LobId, CompanyIds: CompanyIds, SortBy: Number(instance._order.g_PendingItemsSortBy), Page: Number(0), Rows: 0, InventoryApplyType: instance._order.g_InventoryApplyType, Query: searchtext, OfferOnly: instance._order.g_LoadOffersOnly, IsComposite: CompositePrice, BranchId: Number(BillingAddressId), ShippingAddressId: Number(ShipFromAddressId), WareHouseId: Number(ShippingAddressId), EstimateId: EstimateId, OrderTypeId: data.EstimateTypeId }; Bizgaze.Apps.Transact.Managers.OrderManager.Instance().predictPurchasePlan(Postdata).then(function (response) { var data = response; if (response.errors == null) { MessageHelper.Instance().showSuccess(data.message, ""); } else { MessageHelper.Instance().showError(response.message, "div_message"); } }); }); }); }); } preditPurchasePlan_proc() { let instance = this; instance._order.g_PendingItemsSortBy = 0; let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; let InputParameters = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters; let EstimateId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_estimateid").Value); instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () { Bizgaze.Apps.Transact.Managers.OrderManager.Instance().predictPurchasePlan_proc(EstimateId).then(function (response) { var data = response; if (response.errors == null) { MessageHelper.Instance().showSuccess(data.message, ""); } else { MessageHelper.Instance().showError(response.message, "div_message"); } }); }); } refreshPurchasePlanCalculations_proc() { let instance = this; instance._order.g_PendingItemsSortBy = 0; let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; let InputParameters = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters; let EstimateId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_estimateid").Value); instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () { Bizgaze.Apps.Transact.Managers.OrderManager.Instance().refreshPurchasePlanCalculations_proc(EstimateId, 0).then(function (response) { var data = response; if (response.errors == null) { MessageHelper.Instance().showSuccess(data.message, ""); } else { MessageHelper.Instance().showError(response.message, "div_message"); } }); }); } ShowPurchasePlanCalculations(ItemId, Tenant_Id, Branch_Id) { let instance = this; let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; let InputParameters = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters; let EstimateId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_estimateid").Value); instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () { Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getPurchasePlanCalculations(EstimateId, ItemId, Tenant_Id, Branch_Id).then(function (response) { var data = response; if (response.errors == null) { if (data.result != 0 && data.result.length > 0) { let ModalHtml = `Values shown below are generated on ` + ClosedDate + `, click on 'Predict' to get latest values.
Values shown below are generated on ` + ClosedDate + `, click on 'Predict' to get latest values.