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 UpdatePayRunDetails extends Unibase.Platform.Core.BaseComponent { constructor() { super(...arguments); this.strtxt = ""; this.employeeid = ""; } init(formpropertyid, prop, callback) { } loadControl(containerid, prop) { var instance = this; instance.transactionId = prop.FormPropertyId; instance.fileCacheHelper.loadJsFiles(['apps/hrms/enums/earningtypes.js', 'apps/hrms/enums/componenttypes.js', 'apps/hrms/enums//statutorytypes.js'], null); var html = `
(+) EARNINGS
AMOUNT
+ Add New
`; html += `
(-) DEDUCTIONS
AMOUNT
Pre-Tax Deductions
Taxes
Post-Tax Deductions
+ Add New
`; $("#" + containerid).html(html); Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.UpdatePayRunDetails.Instance().getPayRunEmployee(); } loadControlSettings(controlsettingjson, formpropertyid) { } loadPropertySettings(propertysettings, formpropertyid, DocPropertyName) { } bindEditFormDetails(formpropertyid, propval, DocPropertyName) { } getPayRunEmployee() { 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) { instance.employeeid = responce.result.EmployeeId; $("._employee").val(instance.employeeid); var empname = responce.result.FirstName; var employee = new Option(empname, instance.employeeid); $(".txtAutoComplete_employeeid").append(employee); $(".number_netpay").val(responce.result.NetPay); Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.UpdatePayRunDetails.Instance().GetPayRunEarningDetails(payrunemployeeid); }); }); } GetPayRunEarningDetails(payrunemployeeid) { var instance = this; instance.strtxt = ''; instance.fileCacheHelper.loadJsFile("apps/hrms/payroll/managers/payrollmanager.js", function () { Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().getpayrunemployeesalarycomponents(payrunemployeeid).then(function (response) { Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.UpdatePayRunDetails.Instance().bindHtml(response.result); }); }); } bindHtml(data) { $("#earningTypesList").empty(); $("#PreTaxDeductionList").empty(); $("#DeductionTaxesList").empty(); $("#DeductionList").empty(); var instance = this; var html = ''; for (var i = 0; i < data.length; i++) { var componenttypeid = data[i].ComponentTypeId; var salaryComponentId = data[i].SalaryComponentId; html = Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.UpdatePayRunDetails.Instance().getHtml(data[i]); if (componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Earnings || componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Reimbursements) { $("#earningTypesList").after(html); } if (componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.PreTaxDeductions && data[i].StatutoryTypeId != Bizgaze.Apps.Hrms.Enums.StatutoryTypes.ProfessionalTax) { $("#PreTaxDeductionList").after(html); } if (componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Taxes || data[i].StatutoryTypeId == Bizgaze.Apps.Hrms.Enums.StatutoryTypes.ProfessionalTax) { $("#DeductionTaxesList").after(html); } if (componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.PostTaxDeductions) { $("#DeductionList").after(html); } instance.strtxt += "|" + salaryComponentId; } instance.strtxt = instance.strtxt.slice(1); } getHtml(data) { var html = ''; html = `
  • `; if (!data.IsAdded) html += `
  • `; else html += `
    `; return html; } taxComment() { var oldTaxAmount = Number($(".hf_pre_taxamount").val()); var newTaxAmount = Number($(".txt_new_taxamount").val()); if (oldTaxAmount != newTaxAmount) { $(".div_taxreason").removeClass("hidden"); } else { $(".div_taxreason").addClass("hidden"); $(".txt_taxreason").val(''); } } deleteEarningType(id) { const instance = this; instance.updateEarningsTypeArr(id); $(`.listitems_component_${id}`).remove(); $(`#earningTypeItem_${id}`).remove(); } updateEarningsTypeArr(id) { const instance = this; const expenseTypeId = $(`#hfAutoCompleteId_SalaryComponents_${id}`).val(); instance.strtxt = instance.strtxt.split('|'); instance.strtxt = instance.strtxt.filter(v => v != expenseTypeId).join('|'); } UpdatePayRunEarningsObject() { var data = 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_updatepayrundetails").find(".li_updatepayrundetails").each(function () { var earningType = Number($(this).find('.hf_earningtypeid').val()); data.push({ EarningName: $(this).find('.txt_earningname').val(), Amount: Number($(this).find('.txt_amount').val()), EarningType: earningType != null ? earningType : 0, PayRunId: payRunId, PayRunEmployeeId: +$(".active-employee-item").find("#hf_widgetitem_Id").val(), IsAdded: $(this).find('.hf_isactive').val(), SalaryComponentId: Number($(this).find('.hf_salarycomponentid').val()), }); }); return data; } addTransaction() { const instance = this; let listCount = +$('#addNewEarningBtn').attr('data-count'); var html = `
  • `; $("#transactionList").append(html); instance.autocompleteComponent(listCount, Bizgaze.Apps.Hrms.Enums.ComponentTypes.Earnings); $('#addNewEarningBtn').attr('data-count', listCount + 1); } addDeduction() { const instance = this; let listCount = +$('#addNewDeductionBtn').attr('data-count'); var html = `
  • `; $("#DeductiontransactionList").append(html); instance.autocompleteComponent(listCount, Bizgaze.Apps.Hrms.Enums.ComponentTypes.PostTaxDeductions); $('#addNewDeductionBtn').attr('data-count', listCount + 1); } autocompleteComponent(rowindexid, componenttypeid) { const instance = this; let componentname = $(`#hfAutoCompleteId_SalaryComponents_${rowindexid}`); let componentname1 = `#txtAutoComplete_Salary_${rowindexid}`; if (componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.PostTaxDeductions) { componentname = $(`#hfAutoCompleteId_deductionSalaryComponents_${rowindexid}`); componentname1 = `#txtAutoComplete_deductionSalary_${rowindexid}`; } var url = _appsettings.server_url() + '/apis/v4/bizgaze/hrms/payroll/getsalarycomponentautocomplete/componenttypeid/' + componenttypeid + '/salarycomponentids/' + instance.strtxt + '/earningtypeid/' + 0; AutoCompleteHelper.getHelper().Create(componentname1, componentname, url, function (response) { $(`#txtAutoComplete_Salary_${rowindexid}`).off('select2:select').on('select2:select', function () { const expenseTypeId = $(this).val(); if (!$.isArray(instance.strtxt)) { instance.strtxt = instance.strtxt.split('|'); instance.strtxt.push(expenseTypeId); instance.strtxt = instance.strtxt.join('|'); } }); $(componentname1).off('select2:clear').on('select2:clear', function () { instance.updateEarningsTypeArr(rowindexid); }); }); } deleteDeductionType(id) { const instance = this; instance.updateDeductionsTypeArr(id); $(`#deductionTypeItem_${id}`).remove(); $(`.listitems_component_${id}`).remove(); } updateDeductionsTypeArr(id) { const instance = this; const expenseTypeId = $(`#hfAutoCompleteId_deductionSalaryComponents_${id}`).val(); instance.strtxt = instance.strtxt.split('|'); instance.strtxt = instance.strtxt.filter(v => v != expenseTypeId).join('|'); } printPayslip(payrunEmployeeId) { var instance = this; var payrunEmployeeIda = $("#hf_widgetitem_Id").val(); Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(["apps/hrms/payroll/managers/payrollmanager.js", "platform/core/helpers/printhelper/printhelper.js"], function () { Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().payslipPrint(payrunEmployeeId).then(function (response) { Unibase.Platform.Helpers.PrintHelper.Instance().printPopup(response.result.PrintHTML); }); }); } printPopup(data) { var mywindow = window.open('', 'my Print', 'height=400,width=850'); var content = 'Print'; content += data; content += ""; content += ''; mywindow.document.write(content); return true; } getEmployeeCount() { var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; var payrunId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_payrunid").Value; Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(["apps/hrms/payroll/managers/payrollmanager.js", "platform/core/helpers/printhelper/printhelper.js"], function () { Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().getEmployeeCount(payrunId).then(function (response) { if (response.result.length != 0) { var employeeCount = response.result[0]; $(".number_empcount").val(employeeCount); } else { $(".number_empcount").val(0); } }); }); } ConfirmPayrun() { var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1]; var stage = String(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_shortcode").Value); if ((stage == "APD") || (stage == "INP")) { $(detailContainer).find('.DetailSetting_' + '' + InstalledAppId + '' + '_Confirm').parent('li').removeClass('hidden'); } else { $(detailContainer).find('.DetailSetting_' + '' + InstalledAppId + '' + '_Confirm').parent('li').addClass('hidden'); } } stageChange() { var instance = this; var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; var versionGuid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_versionguid").Value; var stageId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_stageid").Value; let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1]; var stage = String(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_shortcode").Value); if (stage == "DFT") { $(detailContainer).find('.DetailSetting_' + '' + installedAppId + '' + '_SubmitForApproval').parent('li').removeClass('hidden'); } else { $(detailContainer).find('.DetailSetting_' + '' + installedAppId + '' + '_SubmitForApproval').parent('li').addClass('hidden'); } $(".DetailSetting_" + installedAppId + "_SubmitForApproval").click(function () { instance.fileCacheHelper.loadJsFile('apps/hrms/payroll/managers/payrollmanager.js', function () { Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().stageChange(installedAppId, versionGuid, stageId).then(function (response) { MessageHelper.Instance().showSuccess(response.message, "div_message"); let obj = Unibase.Themes.Compact.Components.Details.Instance(); obj._recordId = Unibase.Themes.Compact.Components.Details.Instance()._recordId; obj._installedAppId = Unibase.Themes.Compact.Components.Details.Instance()._installedAppId; Unibase.Themes.Compact.Components.Details.Instance().loadPortlets(obj); }); }); }); } GetPayRunDetails(employeeid) { var instance = this; var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; var toDate = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_todate").Value; var fromDate = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_fromdate").Value; var Fdate = moment(fromDate, "DD/MM/YYYY").format("DD-MM-YYYY"); var Tdate = moment(toDate, "DD/MM/YYYY").format("DD-MM-YYYY"); instance.fileCacheHelper.loadJsFile('apps/hrms/payroll/managers/payrollmanager.js', function () { Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().getPayRunDetails(employeeid, Fdate, Tdate).then(function (response) { }); }); } esiNumberValidation(e, id) { let inputVal = e.target.value; let isLastElemet = e.originalEvent.data; if (isLastElemet === null) { return; } let lastElemG = inputVal[inputVal.length - 1]; let hasSpecialChar = true; const charCodeSpec = inputVal.charCodeAt(inputVal.length - 1); if ((charCodeSpec >= 33 && charCodeSpec <= 47) || (charCodeSpec >= 58 && charCodeSpec <= 64) || (charCodeSpec >= 91 && charCodeSpec <= 96) || (charCodeSpec >= 123 && charCodeSpec <= 126)) { hasSpecialChar = false; } let isAlphaSlash = true; const charCode = inputVal.charCodeAt(inputVal.length - 1); if (!(charCode >= 65 && charCode <= 90 || charCode >= 97 && charCode <= 122 || charCode === 47)) { isAlphaSlash = false; } if (!hasSpecialChar || lastElemG === " " || isAlphaSlash) { const slipt = inputVal.slice(0, inputVal.length - 1); $(`#${id}`).val(slipt); return; } if (inputVal.length > 21) { const slipt = inputVal.slice(0, inputVal.length - 1); $(`#${id}`).val(slipt); return; } let textLen = inputVal.length; if (textLen === 3 || textLen == 6 || textLen == 13 || textLen == 17) { const lasChar = inputVal.charCodeAt(inputVal.length - 1); if (lasChar != '-') { let lastTemp = inputVal[inputVal.length - 1]; inputVal = inputVal.slice(0, inputVal.length - 1) + "-" + lastTemp; } } let temp = inputVal; if (textLen == 2 || textLen == 5 || textLen == 12 || textLen == 16) { temp += "-"; } $(`#${id}`).val(temp); } epfNumberValidation(e, id) { console.log(id); let inputVal = e.target.value; let isLastElemet = e.originalEvent.data; if (isLastElemet === null) { return; } let lastElemG = inputVal[inputVal.length - 1]; let hasSpecialChar = true; const charCode = inputVal.charCodeAt(inputVal.length - 1); if ((charCode >= 33 && charCode <= 47) || (charCode >= 58 && charCode <= 64) || (charCode >= 91 && charCode <= 96) || (charCode >= 123 && charCode <= 126)) { hasSpecialChar = false; } if (!hasSpecialChar || lastElemG === " ") { const slipt = inputVal.slice(0, inputVal.length - 1); $(`#${id}`).val(slipt); return; } if (inputVal.length > 27) { const slipt = inputVal.slice(0, inputVal.length - 1); $(`#${id}`).val(slipt); return; } let modText = ""; if (inputVal.length <= 6) { let lastElem = inputVal[inputVal.length - 1]; let isNumberSlash = true; const charCode = inputVal.charCodeAt(inputVal.length - 1); if (!(charCode >= 48 && charCode <= 57 || charCode === 47)) { isNumberSlash = false; } if (isNumberSlash) { const slipt = inputVal.slice(0, inputVal.length - 1); $(`#${id}`).val(slipt); return; } ; if (inputVal.length == 3 || inputVal.length == 7) { if (inputVal[inputVal.length - 1] != "/") { let lastTemp = inputVal[inputVal.length - 1]; inputVal = inputVal.slice(0, inputVal.length - 1) + "/" + lastTemp; } } let temp = inputVal.toUpperCase(); if (inputVal.length == 2 || inputVal.length == 6) { temp += "/"; } $(`#${id}`).val(temp); } else { if (inputVal.length === 7) { if (inputVal[inputVal.length - 1] != "/") { let lastTemp = inputVal[inputVal.length - 1]; inputVal = inputVal.slice(0, inputVal.length - 1) + "/" + lastTemp; } } let lastElem = inputVal[inputVal.length - 1]; let isAlphaSlash = true; const charCode = inputVal.charCodeAt(inputVal.length - 1); if (!(charCode >= 65 && charCode <= 90 || charCode >= 97 && charCode <= 122 || charCode === 47)) { isAlphaSlash = false; } if (isAlphaSlash) { const slipt = inputVal.slice(0, inputVal.length - 1); $(`#${id}`).val(slipt); return; } if (inputVal.length == 15 || inputVal.length == 19) { if (inputVal[inputVal.length - 1] != "/") { let lastTemp = inputVal[inputVal.length - 1]; inputVal = inputVal.slice(0, inputVal.length - 1) + "/" + lastTemp; } } let temp = inputVal; if (inputVal.length == 14 || inputVal.length == 18) { temp += "/"; } $(`#${id}`).val(temp); } } payrunEpfNumberValidation(e, id) { console.log(id); let inputVal = e.target.value; let isLastElemet = e.originalEvent.data; if (isLastElemet === null) { return; } let lastElemG = inputVal[inputVal.length - 1]; let hasSpecialChar = true; const charCode = inputVal.charCodeAt(inputVal.length - 1); if ((charCode >= 33 && charCode <= 47) || (charCode >= 58 && charCode <= 64) || (charCode >= 91 && charCode <= 96) || (charCode >= 123 && charCode <= 126)) { hasSpecialChar = false; } if (!hasSpecialChar || lastElemG === " ") { const slipt = inputVal.slice(0, inputVal.length - 1); $(`#${id}`).val(slipt); return; } if (inputVal.length > 18) { const slipt = inputVal.slice(0, inputVal.length - 1); $(`#${id}`).val(slipt); return; } let modText = ""; if (inputVal.length <= 6) { let lastElem = inputVal[inputVal.length - 1]; let isNumberSlash = true; const charCode = inputVal.charCodeAt(inputVal.length - 1); if (!(charCode >= 48 && charCode <= 57 || charCode === 47)) { isNumberSlash = false; } if (isNumberSlash) { const slipt = inputVal.slice(0, inputVal.length - 1); $(`#${id}`).val(slipt); return; } ; if (inputVal.length == 3 || inputVal.length == 7) { if (inputVal[inputVal.length - 1] != "/") { let lastTemp = inputVal[inputVal.length - 1]; inputVal = inputVal.slice(0, inputVal.length - 1) + "/" + lastTemp; } } let temp = inputVal.toUpperCase(); if (inputVal.length == 2 || inputVal.length == 6) { temp += "/"; } $(`#${id}`).val(temp); } else { if (inputVal.length === 7) { if (inputVal[inputVal.length - 1] != "/") { let lastTemp = inputVal[inputVal.length - 1]; inputVal = inputVal.slice(0, inputVal.length - 1) + "/" + lastTemp; } } let lastElem = inputVal[inputVal.length - 1]; let isAlphaSlash = true; const charCode = inputVal.charCodeAt(inputVal.length - 1); if (!(charCode >= 65 && charCode <= 90 || charCode >= 97 && charCode <= 122 || charCode === 47)) { isAlphaSlash = false; } if (isAlphaSlash) { const slipt = inputVal.slice(0, inputVal.length - 1); $(`#${id}`).val(slipt); return; } if (inputVal.length == 15) { if (inputVal[inputVal.length - 1] != "/") { let lastTemp = inputVal[inputVal.length - 1]; inputVal = inputVal.slice(0, inputVal.length - 1) + "/" + lastTemp; } } let temp = inputVal; if (inputVal.length == 14) { temp += "/"; } $(`#${id}`).val(temp); } } static Instance() { if (this.instance === undefined) { this.instance = new UpdatePayRunDetails(); } return this.instance; } } PayRun.UpdatePayRunDetails = UpdatePayRunDetails; })(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 = {}));