var Bizgaze; (function (Bizgaze) { let Apps; (function (Apps) { let Hrms; (function (Hrms) { let Payroll; (function (Payroll) { let Controls; (function (Controls) { let PayRun; (function (PayRun) { class TerminateEmployee extends Unibase.Platform.Core.BaseComponent { constructor() { super(...arguments); this.strtxt = "0"; this.strDeductionstxt = "0"; this.t_VisibleContainerId = ""; this.delete_Array = []; } init(formpropertyid, prop, callback) { var container = "control-container-" + formpropertyid; var instance = this; instance.fileCacheHelper.loadJsFiles(['platform/core/helpers/numberhelper/numberhelper.js'], function () { let listCount = +$('#addNewEarningBtn').attr('data-count'); instance.calculatenetpay(); }); } loadControl(containerid, prop) { var instance = this; instance.transactionId = prop.FormPropertyId; instance.t_VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1]; Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().delete_Array = []; var html = `
Additional Earnings
AMOUNT
+ Add Earning
`; html += `
Deductions
AMOUNT
+ Add Deduction
`; $("#" + containerid).html(html); Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().getPayRunEmployeedetails(); Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().getpayrunemployeesalarycomponents(); } loadControlSettings(controlsettingjson, formpropertyid) { } loadPropertySettings(propertysettings, formpropertyid, DocPropertyName) { } bindEditFormDetails(formpropertyid, propval, DocPropertyName) { } calculatenetpay() { $(".txt_lopdays").keyup(function () { var lopdays = Number($(".txt_lopdays").val()); var payabledays = Number($(".txt_payabledays").val()); var actualdays = Number($(".txt_actualpayabledays").val()); var actual_days = actualdays - lopdays; $(".txt_actualpayabledays").val(actual_days); var netpay = Number($(".number_netpay").val()); var totalnetpay = Math.round(netpay / payabledays); $(".number_netpay").val(Math.round(totalnetpay * actual_days)); }); } getPayRunEmployeedetails() { var instance = this; var payrunemployeeid = +$(".active-employee-item").find("#hf_widgetitem_Id").val(); Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/hrms/payroll/managers/payrollmanager.js", function () { Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().getemployee(payrunemployeeid).then(function (responce) { var employeeid = responce.result.EmployeeId; $("._employee").val(employeeid); var empname = responce.result.FirstName; var employee = new Option(empname, employeeid); $(".txtAutoComplete_employeeid").append(employee); $(".txtAutoComplete_employeeid").prop("disabled", true); $(".number_netpay").val(responce.result.NetPay); $(".txt_payabledays").val(responce.result.PayableDays); $(".txt_actualpayabledays").val(responce.result.ActualPayabledays); $(".txt_lopdays").val(responce.result.LOPDays); }); }); } getpayrunemployeesalarycomponents() { var instance = this; let listCount = +$('#addNewEarningBtn').attr('data-count'); var payrunemployeeid = +$(".active-employee-item").find("#hf_widgetitem_Id").val(); Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/hrms/payroll/managers/payrollmanager.js", function () { Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().getemployeeterminatesalarycomponents(payrunemployeeid).then(function (response) { for (var i = 0; i < response.result.length; i++) { var data = response.result[i]; var earningTypeId = data.SalaryComponentId; var html = `
  • `; var componenttypeid = data.ComponentTypeId; instance.strtxt = instance.strtxt.split('|'); instance.strtxt.push(data.SalaryComponentId); instance.strtxt = instance.strtxt.join('|'); $('#addNewDeductionBtn').attr('data-count', listCount + 1); if (componenttypeid == 1) { $("#transactionList").append(html); } else { $("#DeductionList").append(html); } } }); }); } addearnings() { const instance = this; let listCount = +$('#addNewEarningBtn').attr('data-count'); var html = `
  • `; $("#transactionList").append(html); instance.autocompleteEarningType(listCount); $('#addNewEarningBtn').attr('data-count', listCount + 1); } autocompleteEarningType(id) { const instance = this; var url = _appsettings.server_url() + '/apis/v4/bizgaze/hrms/payroll/getearningforterminationautocomplete/componenttypeid/' + 1 + '/salarycomponentids/' + instance.strtxt + '/earningtypeid/' + 0; AutoCompleteHelper.getHelper().Create(`#txtAutoComplete_Salary_${id}`, $(`#hfAutoCompleteId_SalaryComponents_${id}`), url, function () { $(`#txtAutoComplete_Salary_${id}`).off('select2:select').on('select2:select', function () { const earningTypeId = $(this).val(); if (!$.isArray(instance.strtxt)) { instance.strtxt = instance.strtxt.split('|'); instance.strtxt.push(earningTypeId); instance.strtxt = instance.strtxt.join('|'); } }); $(`#txtAutoComplete_Salary_${id}`).off('select2:clear').on('select2:clear', function () { instance.updateEarningsType(id); }); }); } deleteEarningType(SalaryComponentId) { const instance = this; let earamount = Number($('#txt_earningamount_' + SalaryComponentId).val()); if (earamount == 0) { $(`#earningTypeItem_${SalaryComponentId}`).remove(); } var item = { amount: earamount, SalaryComponentId: SalaryComponentId }; Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().delete_Array.push(item); instance.updateEarningsType(SalaryComponentId); $(`#earningTypeItem_${SalaryComponentId}`).remove(); } updateEarningsType(id) { const instance = this; const earningTypeId = $(`#hfAutoCompleteId_SalaryComponents_${id}`).val(); instance.strtxt = instance.strtxt.split('|'); instance.strtxt = instance.strtxt.filter(v => v != earningTypeId).join('|'); } employeeearningobject() { var earningobject = new Array(); var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; var payRunId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_payrunid").Value; $(".ul_terminateemployeedetails").find(".li_terminateemployeeearningdetails").each(function () { var earningType = Number($(this).find('.hf_earningtypeid').val()); earningobject.push({ EarningName: $(this).find(".txtAutoComplete_Salary").text(), Amount: Number($(this).find(".txt_amount").val()), EarningType: earningType != null ? earningType : 0, PayRunId: payRunId, PayRunEmployeeId: +$(".active-employee-item").find("#hf_widgetitem_Id").val(), IsActive: $(this).find('.hf_isactive').val(), SalaryComponentId: Number($(this).find('.hf_earningtypeid').val()), deletedata: Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().delete_Array, }); }); return earningobject; } isNumberKey(evt) { let instance = this; if (evt.type == "paste") { let pastedData = evt.clipboardData.getData('text'); let regExp = /[a-zA-Z]/g; if (regExp.test(pastedData)) { evt.preventDefault(); return false; } } else if (evt.type == "input") { const inputVal = $("#" + instance.t_VisibleContainerId).find(evt.currentTarget).val(); $("#" + instance.t_VisibleContainerId).find(evt.currentTarget).val(inputVal.replace(/\D/g, '')); } else { if (evt.which != 8 && evt.which != 0 && (evt.which < 48 || evt.which > 57)) { return false; } } return true; } addDeduction() { const instance = this; let listCount = +$('#addNewDeductionBtn').attr('data-count'); var html = `
  • `; $("#DeductiontransactionList").append(html); instance.autocompleteDeductionType(listCount); $('#addNewDeductionBtn').attr('data-count', listCount + 1); } autocompleteDeductionType(id) { const instance = this; var url = _appsettings.server_url() + '/apis/v4/bizgaze/hrms/payroll/getearningforterminationautocomplete/componenttypeid/' + 3 + '/salarycomponentids/' + instance.strDeductionstxt + '/earningtypeid/' + 0; AutoCompleteHelper.getHelper().Create(`#txtAutoComplete_deductionSalary_${id}`, $(`#hfAutoCompleteId_deductionSalaryComponents_${id}`), url, function () { $(`#txtAutoComplete_deductionSalary_${id}`).off('select2:select').on('select2:select', function () { const deductionTypeId = $(this).val(); if (!$.isArray(instance.strDeductionstxt)) { instance.strDeductionstxt = instance.strDeductionstxt.split('|'); instance.strDeductionstxt.push(deductionTypeId); instance.strDeductionstxt = instance.strDeductionstxt.join('|'); } }); $(`#txtAutoComplete_deductionSalary_${id}`).off('select2:clear').on('select2:clear', function () { instance.updateDeductionsType(id); }); }); } deleteDeductionType(SalaryComponentId) { const instance = this; let earamount = Number($('#txt_earningamount_' + SalaryComponentId).val()); if (earamount == 0) { $(`#earningTypeItem_${SalaryComponentId}`).remove(); } var item = { amount: earamount, SalaryComponentId: SalaryComponentId }; Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().delete_Array.push(item); instance.updateDeductionsType(SalaryComponentId); $(`#earningTypeItem_${SalaryComponentId}`).remove(); } updateDeductionsType(id) { const instance = this; const deductionTypeId = $(`#hfAutoCompleteId_deductionSalaryComponents_${id}`).val(); instance.strDeductionstxt = instance.strDeductionstxt.split('|'); instance.strDeductionstxt = instance.strDeductionstxt.filter(v => v != deductionTypeId).join('|'); } static Instance() { if (this.instance === undefined) { this.instance = new TerminateEmployee(); } return this.instance; } } PayRun.TerminateEmployee = TerminateEmployee; })(PayRun = Controls.PayRun || (Controls.PayRun = {})); })(Controls = Payroll.Controls || (Payroll.Controls = {})); })(Payroll = Hrms.Payroll || (Hrms.Payroll = {})); })(Hrms = Apps.Hrms || (Apps.Hrms = {})); })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {})); })(Bizgaze || (Bizgaze = {}));