var Bizgaze; (function (Bizgaze) { let Apps; (function (Apps) { let Hrms; (function (Hrms) { let Payroll; (function (Payroll) { let Controls; (function (Controls) { class SalaryTemplate extends Unibase.Platform.Core.BaseComponent { constructor() { super(...arguments); this.TotalAnnualAmount = 0; this.TotalMonthlyAmount = 0; this.strtxt = ""; this.ctc_Array = []; this.g_VisibleContainerId = ""; this.salarycomponenttypeid = 1; } init(formpropertyid, prop, callback) { var container = "control-container-" + formpropertyid; var instance = this; instance.local_container = container; instance.editEarning = false; instance.findtxtcrRdr = 2; instance.rowindexid = parseInt('00001', 8); instance.flag = 0; if (Unibase.Platform.Helpers.NavigationHelper.installedAppId == 0) { instance.fileCacheHelper.loadJsFiles(['platform/forms/infos/formbuilder/formbuilderinfo.js'], function () { var properties = new Properties(); properties.FormPropertyId = parseInt('00001', 8); instance.local_container = formpropertyid.toString(); instance.loadControl(formpropertyid.toString(), properties); }); } instance.fileCacheHelper.loadJsFiles(['platform/core/helpers/numberhelper/numberhelper.js', 'apps/hrms/payroll/managers/payrollmanager.js'], function () { instance.changeannualctc(); instance.getsalarycomponentdetails(); }); } loadControlSettings(controlsettingjson, formpropertyid) { } loadPropertySettings(propertysettings, formpropertyid, DocPropertyName) { } bindEditFormDetails(formpropertyid, propval, DocPropertyName) { } loadControl(container, prop) { var instance = this; instance.rowindexid = prop.FormPropertyId; instance.g_VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1]; Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_Array = []; Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().strtxt = ""; instance.fileCacheHelper.loadJsFiles(['apps/hrms/enums/earningtypes.js', 'apps/hrms/enums/componenttypes.js', 'apps/hrms/enums/calculationtype.js', 'apps/hrms/payroll/controls/ctccalculation.js', 'apps/hrms/payroll/managers/payrollmanager.js'], function () { $('#hdn_salarycomponentcontrol').val("Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().salarycomponentObj();"); var ctcInstance = new Bizgaze.Apps.Hrms.Payroll.CtcCalculation(); $("#" + container).html(ctcInstance.getcomponentHtml()); if (Unibase.Platform.Helpers.NavigationHelper.installedAppId == 0) { var str = '
'; $(".salarytemplate_hdr").before(str); $(".txt_annualctc").on("keypress", function (event) { var charCode = (event.which) ? event.which : event.keyCode; if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) return false; return true; }); } var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; if (installedAppId == 0) { Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().SalaryEarningdetails(Bizgaze.Apps.Hrms.Enums.EarningTypes.Basic); } }); } refreshsystemcalculations() { var instance = this; let AnnualCTC = $(".txt_annualctc").val(); let basic = 0; let obj = Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_Array.find(x => x.componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Earnings && x.earningtypeid == Bizgaze.Apps.Hrms.Enums.EarningTypes.Basic); if (obj != undefined) { basic = obj.monthlyamount; } instance.fileCacheHelper.loadJsFile("apps/hrms/payroll/managers/payrollmanager.js", function () { Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().calculateSalaryTemplatePreTaxDeductions(AnnualCTC, basic).then(function (response) { for (var i = 0; i < response.result.length; i++) { let data = response.result[i]; let salarycomponentid = data.SalaryComponentId; let obj = Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_Array.find(x => x.salarycomponentid == salarycomponentid); if (obj != undefined) { obj.amount = data.Amount; obj.monthlyamount = data.Amount; } } Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_calculation(); }); }); } getsalarycomponentdetails() { var instance = this; var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; if (installedAppId != 0) { var templateid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_recordid").Value); if (templateid != 0) { instance.fileCacheHelper.loadJsFile("apps/hrms/payroll/managers/payrollmanager.js", function () { Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().getSalaryTemplateById(templateid).then(function (response) { Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_Array = []; Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().strtxt = ""; if (response.result != null) { $(".txt_annualctc").val(response.result[0].AnnualCTC); $(".txt_templatename").val(response.result[0].TemplateName); $(".txt_description").val(response.result[0].TemplateName); $(".date_templateeffectivefrom").val(response.result[0].FromDate); $(".date_templateeffectiveto").val(response.result[0].ToDate); for (var i = 0; i < response.result.length; i++) { var data = response.result[i]; var ctcInstance = new Bizgaze.Apps.Hrms.Payroll.CtcCalculation(); let item = ctcInstance.itemobj(data); Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_Array.push(item); Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().strtxt = Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().strtxt + "|" + item.rowindexid; Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().bindcomponenthtml(item); } Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_calculation(); } }); }); } } } SalaryEarningdetails(earningtypeid) { var instance = this; instance.fileCacheHelper.loadJsFiles(["apps/hrms/payroll/managers/payrollmanager.js", "apps/hrms/payroll/controls/ctccalculation.js"], function () { Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().getSalaryComponentsByEarningtypeId(earningtypeid).then(function (response) { var data = response.result; if (data != null) { var ctcInstance = new Bizgaze.Apps.Hrms.Payroll.CtcCalculation(); let item = ctcInstance.itemobj(data); Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_Array.push(item); Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().strtxt = Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().strtxt + "|" + item.rowindexid; Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().bindcomponenthtml(item); if (Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_Array.length > 1) Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_calculation(); } }); }); } getsalarycomponentbyid(salarycomponentid) { var instance = this; if (salarycomponentid != 0) { instance.fileCacheHelper.loadJsFile("apps/hrms/payroll/managers/payrollmanager.js", function () { Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().getsalarycomponentbyid(salarycomponentid).then(function (response) { if (response.result != null) { var data = response.result; var ctcInstance = new Bizgaze.Apps.Hrms.Payroll.CtcCalculation(); let item = ctcInstance.itemobj(data); let obj = Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_Array.find(x => x.rowindexid == item.rowindexid); if (obj != undefined) { obj.payslipname = data.PaySlipName; obj.calculationtypeid = data.CalculationTypeId; obj.calculationtypename = data.CalculationTypeName; obj.salarycomponentid = data.SalaryComponentId; obj.earningtypeid = data.EarningTypeId; obj.amount = data.Amount; obj.monthlyamount = data.Amount; } else { Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_Array.push(item); Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().strtxt = Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().strtxt + "|" + item.rowindexid; Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().bindcomponenthtml(item); } if (data.ComponentTypeId == Bizgaze.Apps.Hrms.Enums.ComponentTypes.PreTaxDeductions || data.ComponentTypeId == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Taxes) { Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().refreshsystemcalculations(); } Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_calculation(); } }); }); } } validation() { if (Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_Array.find(x => x.rowindexid == Bizgaze.Apps.Hrms.Enums.EarningTypes.FixedAllowance)) { var obj = Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_Array.find(x => x.rowindexid == Bizgaze.Apps.Hrms.Enums.EarningTypes.FixedAllowance); if (obj.monthlyamount < 0 && obj.annualamount < 0) { $("#txt_AmountMonthly_" + obj.rowindexid).addClass('text-danger'); $("#txt_AmountAnnually_" + obj.rowindexid).addClass('text-danger'); MessageHelper.Instance().showError("Fixed Allowance amount should Not Be Negative", 'div_ErrorMessage_' + Unibase.Platform.Forms.Components.FormViewer.instance.FormId); return false; } else { $("#txt_AmountMonthly_" + obj.rowindexid).removeClass('text-danger'); $("#txt_AmountAnnually_" + obj.rowindexid).removeClass('text-danger'); } } } removeComponent(id) { if (id == Bizgaze.Apps.Hrms.Enums.EarningTypes.Basic || id == Bizgaze.Apps.Hrms.Enums.EarningTypes.FixedAllowance) { return false; } let obj = Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_Array; for (var i = 0; i < obj.length; i++) { if (id == obj[i].rowindexid) { Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().strtxt = Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().strtxt.replace('|' + obj[i].rowindexid, ''); Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_Array = $.grep(obj, function (value) { return value != obj[i]; }); break; } } Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_calculation(); var element = $('.salaryearningdetails_item_row_' + id); element.remove(); } salarycomponentObj() { var item = [Bizgaze.Apps.Hrms.Enums.ComponentTypes.Earnings, Bizgaze.Apps.Hrms.Enums.ComponentTypes.FBPComponents, Bizgaze.Apps.Hrms.Enums.ComponentTypes.OneTimeEarnings, Bizgaze.Apps.Hrms.Enums.ComponentTypes.PreTaxDeductions, Bizgaze.Apps.Hrms.Enums.ComponentTypes.Taxes, Bizgaze.Apps.Hrms.Enums.ComponentTypes.Reimbursements]; let _rowid = 1; for (var i = 0; i < item.length; i++) { let obj = Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_Array.filter(x => x.componenttypeid == item[i]); for (var j = 0; j < obj.length; j++) { if (obj[j].rowid == 0) { obj[j].rowid = _rowid; _rowid++; } } } return Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_Array; } changeannualctc() { $(".txt_annualctc").blur(function () { Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_calculation(); }); } addnew() { $('#earningModal').modal("hide"); let salarycomponentid = $("#hdnAutoComplete_Component").val(); let salarycomponenttypeid = Number($('#txtAutoComplete_SalaryComponenttype').val()); if (salarycomponenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Earnings) { Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().SalaryEarningdetails(salarycomponentid); } else { Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().getsalarycomponentbyid(salarycomponentid); } } popup() { $("#_bizgaze_modal").empty(); var instance = this; $(".settings-panel-close").trigger('click'); let ModalHtml = `
`; $("#_bizgaze_modal").html(ModalHtml); $('#earningModal').modal(); Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().salarycomponenttypeautocomplete(Bizgaze.Apps.Hrms.Enums.ComponentTypes.Earnings); $('#txtAutoComplete_SalaryComponenttype').change(function () { Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().salarycomponenttypeautocomplete(Number($('#txtAutoComplete_SalaryComponenttype').val())); }); } salarycomponenttypeautocomplete(salarycomponenttype) { var url = ""; const instance = this; $("#hdnAutoComplete_Component").val(0); $('#txtAutoComplete_Component').empty(); if (Bizgaze.Apps.Hrms.Enums.ComponentTypes.Reimbursements == salarycomponenttype) { var url = _appsettings.server_url() + '/apis/v4/bizgaze/hrms/payroll/getsalarycomponentautocomplete/componenttypeid/' + Bizgaze.Apps.Hrms.Enums.ComponentTypes.Reimbursements + '/salarycomponentids/' + instance.strtxt + '/earningtypeid/' + 0; } else if (Bizgaze.Apps.Hrms.Enums.ComponentTypes.PreTaxDeductions == salarycomponenttype) { var url = _appsettings.server_url() + '/apis/v4/bizgaze/hrms/payroll/getsalarycomponentautocomplete/componenttypeid/' + Bizgaze.Apps.Hrms.Enums.ComponentTypes.PreTaxDeductions + '/salarycomponentids/' + instance.strtxt + '/earningtypeid/' + 0; } else if (Bizgaze.Apps.Hrms.Enums.ComponentTypes.OneTimeEarnings == salarycomponenttype) { var url = ""; } else if (Bizgaze.Apps.Hrms.Enums.ComponentTypes.FBPComponents == salarycomponenttype) { var url = ""; } else if (Bizgaze.Apps.Hrms.Enums.ComponentTypes.Taxes == salarycomponenttype) { var url = _appsettings.server_url() + '/apis/v4/bizgaze/hrms/payroll/getsalarycomponentautocomplete/componenttypeid/' + Bizgaze.Apps.Hrms.Enums.ComponentTypes.Taxes + '/salarycomponentids/' + instance.strtxt + '/earningtypeid/' + 0; } else { url = _appsettings.server_url() + '/apis/v4/bizgaze/hrms/payroll/earningtypeautocomplete/previoustext/' + Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().strtxt; } AutoCompleteHelper.getHelper().Create("#txtAutoComplete_Component", $("#hdnAutoComplete_Component"), url, function (response) { if (response.id != 0) { $('.btn_addnew').removeClass('hidden'); } }); } ctc_calculation() { let obj = Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_Array; var ctcInstance = new Bizgaze.Apps.Hrms.Payroll.CtcCalculation(); ctcInstance.ctc_calculation(obj); } salaryitem_Calculation(rowindexid) { let obj = Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_Array; var ctcInstance = new Bizgaze.Apps.Hrms.Payroll.CtcCalculation(); ctcInstance.salaryitem_Calculation(rowindexid, obj); } bindcomponenthtml(data) { let obj = Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_Array; var ctcInstance = new Bizgaze.Apps.Hrms.Payroll.CtcCalculation(); ctcInstance.bindcomponenthtml(data, obj, data.templateid == 0 || data.templateid == undefined ? true : false); } static Instance() { if (this.instance === undefined) { this.instance = new SalaryTemplate(); } return this.instance; } } Controls.SalaryTemplate = SalaryTemplate; })(Controls = Payroll.Controls || (Payroll.Controls = {})); })(Payroll = Hrms.Payroll || (Hrms.Payroll = {})); })(Hrms = Apps.Hrms || (Apps.Hrms = {})); })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {})); })(Bizgaze || (Bizgaze = {}));