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 = `
`;
html += `
`;
$("#" + 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 = {}));