This commit is contained in:
2023-03-11 17:30:20 +00:00
commit b6c4e025bc
5124 changed files with 1153349 additions and 0 deletions
@@ -0,0 +1,301 @@
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let Hrms;
(function (Hrms) {
let Payroll;
(function (Payroll) {
class CtcCalculation extends Unibase.Platform.Core.BaseComponent {
jsFiles() {
return ['platform/core/helpers/numberhelper/numberhelper.js', 'apps/hrms/enums/componenttypes.js', 'apps/hrms/enums/earningtypes.js', 'apps/hrms/enums/calculationtype.js', '/apps/hrms/payroll/controls/salarytemplate.component.js', 'apps/hrms/payroll/controls/employeesalary/employeesalarydetails.component.js'];
}
getcomponentHtml() {
return `<div class="salary_template_CreateForm_card font-14 overflow-auto"><input type = "hidden" id = "hdn_salarycomponentcontrol" class="value-control" value = "Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().salarycomponentObj();"> <div class="d-flex justify-content-between salarytemplate_hdr"> <h5 class="font-weight-600">Earnings</h5><a class="btn btn-primary btn-sm pull-right" href="javascript:;" onclick="Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().popup();" id="btnAddNew">Add Component</a> </div> <table class="w-100 salary_template_CreateForm_Table" style="border-collapse:inherit;border-spacing:0 25px"> <thead> <tr> <th>Salary Components <th class="text-center">Calculation Type </th> <th>Monthly Amount <th class="text-right">Annual Amount </th><th></th></thead> <tbody class="Components-list tbl-body" id="salaryearningdetails_table"> </tbody> <thead class="tb_Deductions hidden"> <tr> <th colspan="4"><div class="d-flex justify-content-between"><h5 class="font-weight-600">Deductions</h5><a class="btn btn-primary btn-sm pull-right" href="javascript:;" onclick = " Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().refreshsystemcalculations();" id="refreshsystemcalculations">Refresh</a></div></th> </tr> </thead> <tbody class="Components-list tbl-body" id="salarydeductiondetails_table"> </tbody> <thead class="tb_Reimbusments hidden"> <tr> <th colspan="4"><h5 class="font-weight-600">Reimbursements</h5></th> </tr> </thead> <tbody class="Components-list tbl-body" id="salaryreimbursementdetails_table"> </tbody> <tfoot class="font-16 font-weight-600"><tr><td colspan="2">Cost to Company </td><td class=""><div class="text-right w-50 total_monthly_amount"></div></td><td class="text-right"><div class="total_annual_amount"></div></td></tr></tfoot></table> </div>`;
}
itemobj(data) {
var item = {
payslipname: data.PaySlipName,
calculationtypeid: data.CalculationTypeId,
calculationtypename: data.CalculationTypeName,
salarycomponentid: data.SalaryComponentId,
earningtypeid: data.EarningTypeId == undefined ? 0 : data.EarningTypeId,
amount: data.Amount == undefined ? 0 : data.Amount,
rowindexid: data.ComponentTypeId == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Earnings ? data.EarningTypeId : data.SalaryComponentId,
maxamount: data.MaxAmount,
templateid: data.TemplateId == undefined ? 0 : data.TemplateId,
templateitemid: data.TemplateItemId == undefined ? 0 : data.TemplateItemId,
monthlyamount: data.AmountMonthly == undefined ? 0 : data.AmountMonthly,
annualamount: data.AmountAnnually == undefined ? 0 : data.AmountAnnually,
componenttypeid: data.ComponentTypeId == undefined ? 0 : data.ComponentTypeId,
issystemgenerated: data.IsSystemGenerated == undefined ? false : data.IsSystemGenerated,
rowid: 0
};
if (data.CalculationTypeId == 1) {
item.monthlyamount = data.Amount == undefined ? 0 : data.Amount;
}
if (data.ComponentTypeId == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Reimbursements && item.templateid == 0) {
item.monthlyamount = 0;
item.amount = 0;
}
return item;
}
ctc_calculation(comp_obj) {
var instance = this;
var annualctc = Number($(".txt_annualctc").val());
if (annualctc == 0) {
}
if (comp_obj != null) {
for (var i = 0; i < comp_obj.length; i++) {
let data = comp_obj[i];
let amount = data.amount;
let calculationtypeid = data.calculationtypeid;
let earningtypeid = data.earningtypeid;
let salarycomponentid = data.salarycomponentid;
let monthlyamount = data.monthlyamount;
if (calculationtypeid == Bizgaze.Apps.Hrms.Enums.CalculationType.FixedAmount) {
let obj = comp_obj.find(x => x.salarycomponentid == salarycomponentid);
obj.annualamount = Math.round(monthlyamount * 12);
obj.monthlyamount = Math.round(monthlyamount);
}
if (calculationtypeid == Bizgaze.Apps.Hrms.Enums.CalculationType.PercentageOfBasic) {
let basicsalobj = comp_obj.find(x => x.earningtypeid == Bizgaze.Apps.Hrms.Enums.EarningTypes.Basic && x.componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Earnings);
let basicanualamount = basicsalobj.annualamount;
let annualamount = Math.round(basicanualamount * (amount / 100));
let monthlyamount = Math.round(annualamount / 12);
let obj = comp_obj.find(x => x.salarycomponentid == salarycomponentid);
obj.annualamount = annualamount;
obj.monthlyamount = monthlyamount;
}
if (calculationtypeid == Bizgaze.Apps.Hrms.Enums.CalculationType.PercentageOfCTC) {
let annualamount = Math.round(annualctc * (amount / 100));
let monthlyamount = Math.round(annualamount / 12);
let obj = comp_obj.find(x => x.salarycomponentid == salarycomponentid);
obj.annualamount = annualamount;
obj.monthlyamount = monthlyamount;
}
}
instance.adjustmentfixedallowance(comp_obj);
instance.bindctcdata(comp_obj);
}
}
adjustmentfixedallowance(ctc_Array) {
var instance = this;
var total_annualamount = 0;
var total_monthlyamount = 0;
var annualctc = Number($(".txt_annualctc").val());
ctc_Array.filter(x => x.earningtypeid != Bizgaze.Apps.Hrms.Enums.EarningTypes.FixedAllowance && x.componenttypeid != Bizgaze.Apps.Hrms.Enums.ComponentTypes.PreTaxDeductions && x.componenttypeid != Bizgaze.Apps.Hrms.Enums.ComponentTypes.Taxes).forEach(x => { total_monthlyamount += x.monthlyamount; });
ctc_Array.filter(x => x.earningtypeid != Bizgaze.Apps.Hrms.Enums.EarningTypes.FixedAllowance && x.componenttypeid != Bizgaze.Apps.Hrms.Enums.ComponentTypes.PreTaxDeductions && x.componenttypeid != Bizgaze.Apps.Hrms.Enums.ComponentTypes.Taxes).forEach(x => { total_annualamount += x.annualamount; });
let fixedAllowanceobj = ctc_Array.find(x => x.earningtypeid == Bizgaze.Apps.Hrms.Enums.EarningTypes.FixedAllowance && x.componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Earnings);
if (fixedAllowanceobj != undefined) {
let balancemonthlyamount = (Math.round(annualctc / 12)) - Math.round(total_monthlyamount);
let balanceannualamount = Math.round(annualctc) - Math.round(total_annualamount);
fixedAllowanceobj.annualamount = Math.round(balanceannualamount);
fixedAllowanceobj.monthlyamount = Math.round(balancemonthlyamount);
}
}
bindcomponenthtml(data, ctc_Array, isfixedallowance) {
var instance = this;
let rowindexid = data.rowindexid;
var txtsakaryComponet_html = "";
if (data.componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Earnings && Bizgaze.Apps.Hrms.Enums.EarningTypes.FixedAllowance != rowindexid) {
txtsakaryComponet_html = `<td> <div class="input-group"> <select id = "txtAutoComplete_Salary_${rowindexid}" class="txtAutoComplete_Salary custom-select border-top-0 border-right-0 border-left-0 rounded-0"> </select> <input type="hidden" id="hf_earningtypeid_${rowindexid}" > </div> </td>`;
}
else {
txtsakaryComponet_html = `<td><div class=""><span id="txtAutoComplete_Salary_${rowindexid}" class="txtAutoComplete_Salary"> </span><div class="font-10 div_componentname_${rowindexid}"><span id="span_maxamount_${rowindexid}"> </span>
</div></div></td>`;
}
var CalculationType = "";
CalculationType = ` <input data-trnsactid=${rowindexid} id="txt_CalculationAmount_${rowindexid}" type="text" class=" txt_CalculationAmount hidden form-control text-right" value="0"><div class="input-group-prepend ddlCalculationType_${rowindexid} w-100">
<span id="ddl_CalculationType_${rowindexid}" class="input-group-text w-100 justify-content-center">% of CTC</span> </div>`;
if (data.componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.PreTaxDeductions || data.componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Taxes) {
CalculationType = ` <input data-trnsactid=${rowindexid} id="txt_CalculationAmount_${rowindexid}" type = "text" class="txt_CalculationAmount hidden form-control text-right" value = "0" ><div class="input-group-prepend w-50" ><select id="ddl_CalculationType_${rowindexid}" class="custom-select rounded-0">
<option value="1" selected="">Fixed Amount</option><option value="2" selected="">% Basic</option>
</select></div>`;
}
var monthlyamount = ` <input id="txt_AmountMonthly_${rowindexid}" data-trnsactid=${rowindexid} type="text" class="txt_AmountMonthly form-control text-right" value="0"> `;
if (data.issystemgenerated == true && data.componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.PreTaxDeductions || data.componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Taxes) {
CalculationType = `<span id = "ddl_CalculationType_${rowindexid}" data-trnsactid=${rowindexid} class="ddl_CalculationType">Fixed amount</span>
<div class="font-10"> </div>`;
monthlyamount = ` <p id = "txt_AmountMonthly_${rowindexid}" class="mb-0" > 0 </p>`;
}
if (data.componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Taxes) {
monthlyamount = ` <input id="txt_AmountMonthly_${rowindexid}" data-trnsactid=${rowindexid} type="text" class="txt_AmountMonthly txt_incometax form-control text-right" value="0" > <i class="btn fa fa-pencil pencil-edit"></i>`;
}
$('.pencil-edit').click(function () {
$('txt_incometax').removeAttr('disabled');
$(this).removeClass('fa-pencil').addClass('fa-close');
});
var html1 = `<tr class="salaryearningdetails_item_row_${rowindexid}"> ${txtsakaryComponet_html} <td align="center" class="CalculationType_${rowindexid}"> <div class="input-group justify-content-end w-50 rounded-0 "> ${CalculationType} </div> </td> <td class="input-group-append w-50"> ${monthlyamount} </td> <td align="right"> <p id = "txt_AmountAnnually_${rowindexid}" class="mb-0"> </p> </td><td class="pl-4 "><a class="removeComponent" href="javascript:;" onclick = " Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().removeComponent(${rowindexid});"><i class="fa fa-close text-danger"></i></a></td> </tr>`;
if (data.componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Earnings) {
$("#salaryearningdetails_table:last").append(html1);
if (Bizgaze.Apps.Hrms.Enums.EarningTypes.FixedAllowance != rowindexid) {
var instance = this;
instance.autocomplete(rowindexid);
}
}
if (data.componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.PreTaxDeductions || data.componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Taxes) {
$('.tb_Deductions').removeClass('hidden');
$("#salarydeductiondetails_table:last").append(html1);
}
if (data.componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Reimbursements) {
$('.tb_Reimbusments').removeClass('hidden');
$("#salaryreimbursementdetails_table:last").append(html1);
}
$("#salaryearningdetails_table,#salarydeductiondetails_table,#salaryreimbursementdetails_table").find(".txt_CalculationAmount,.txt_AmountMonthly").unbind().blur(function () {
let id = $(this).attr("data-trnsactid");
instance.salaryitem_Calculation(Number(id), ctc_Array);
});
$('#ddl_CalculationType_' + rowindexid).change(function () {
let id = $(this).val();
$('#txt_CalculationAmount_' + rowindexid).val(0);
instance.changecalculationtype(id, rowindexid, ctc_Array);
});
if (data.calculationtypeid == Bizgaze.Apps.Hrms.Enums.CalculationType.PercentageOfBasic || data.calculationtypeid == Bizgaze.Apps.Hrms.Enums.CalculationType.PercentageOfCTC) {
$("#txt_AmountMonthly_" + rowindexid).attr("disabled", "disabled");
$("#txt_AmountMonthly_" + rowindexid).css("color", "#495057");
}
$(".txt_AmountMonthly,.txt_CalculationAmount").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;
});
instance.bindctcdata(ctc_Array);
if (data.componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Earnings && data.earningtypeid == Bizgaze.Apps.Hrms.Enums.EarningTypes.Basic && isfixedallowance) {
try {
Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().SalaryEarningdetails(Bizgaze.Apps.Hrms.Enums.EarningTypes.FixedAllowance);
}
catch (e) {
}
}
if ($(window).width() < 767) {
$('.salary_template_CreateForm_card').find('.salary_template_CreateForm_Table').removeClass('w-100').addClass('w-600p');
$('#salaryearningdetails_table').find(`.CalculationType_${rowindexid} div`).removeClass('w-50').addClass('w-70');
}
else {
$('.salary_template_CreateForm_card').find('.salary_template_CreateForm_Table').removeClass('w-600p').addClass('w-100');
$('#salaryearningdetails_table').find(`.CalculationType_${rowindexid} div`).removeClass('w-70').addClass('w-50');
}
}
autocomplete(earningtypeid) {
var url = _appsettings.server_url() + '/apis/v4/bizgaze/hrms/payroll/salarycomponentsbyearningtypeidautocomplete/earningtypeid/' + earningtypeid;
AutoCompleteHelper.getHelper().Create("#txtAutoComplete_Salary_" + earningtypeid, $("#hfAutoCompleteId_SalaryComponents_" + earningtypeid), url, null);
$("#txtAutoComplete_Salary_" + earningtypeid).unbind().change(function () {
let id = $(this).val();
try {
Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().getsalarycomponentbyid(id);
}
catch (e) {
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().getsalarycomponentbyid(id);
}
});
}
changecalculationtype(id, rowindexid, ctc_Array) {
var instance = this;
if (id == 1) {
$('#txt_CalculationAmount_' + rowindexid).addClass('hidden');
}
else {
$('#txt_CalculationAmount_' + rowindexid).removeClass('hidden');
}
instance.salaryitem_Calculation(rowindexid, ctc_Array);
}
bindctcdata(obj) {
var instance = this;
instance.grandTotal(obj);
for (var i = 0; i < obj.length; i++) {
let data = obj[i];
let amount = data.amount;
let monthlyamount = data.monthlyamount;
let annualamount = data.annualamount;
let rowindexid = data.rowindexid;
if (data.calculationtypeid == Bizgaze.Apps.Hrms.Enums.CalculationType.FixedAmount) {
$("#txt_CalculationAmount_" + rowindexid).addClass('hidden');
$(".ddlCalculationType_" + rowindexid).addClass('w-100');
$(".ddlCalculationType_" + rowindexid).removeClass('w-50');
}
else {
$("#txt_CalculationAmount_" + rowindexid).removeClass('hidden');
$(".ddlCalculationType_" + rowindexid).addClass('w-50');
$(".ddlCalculationType_" + rowindexid).removeClass('w-100');
}
if (data.componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Earnings && Bizgaze.Apps.Hrms.Enums.EarningTypes.FixedAllowance != rowindexid) {
var reportColumnText1 = new Option(data.payslipname, data.earningtypeid, true);
$("#txtAutoComplete_Salary_" + rowindexid).html(reportColumnText1);
$("#txtAutoComplete_Salary_" + rowindexid).val(data.earningtypeid);
$('#ddl_CalculationType_' + rowindexid).val(data.calculationtypename);
$('#ddl_CalculationType_' + rowindexid).text(data.calculationtypename);
}
else if (data.componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.PreTaxDeductions || data.componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Taxes) {
$("#txtAutoComplete_Salary_" + rowindexid).val(data.payslipname);
$("#txtAutoComplete_Salary_" + rowindexid).text(data.payslipname);
$('#ddl_CalculationType_' + rowindexid).val(data.calculationtypeid);
}
else if (data.componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Reimbursements || Bizgaze.Apps.Hrms.Enums.EarningTypes.FixedAllowance == rowindexid) {
$("#txtAutoComplete_Salary_" + rowindexid).val(data.payslipname);
$("#txtAutoComplete_Salary_" + rowindexid).text(data.payslipname);
$('#ddl_CalculationType_' + rowindexid).val(data.calculationtypename);
$('#ddl_CalculationType_' + rowindexid).text(data.calculationtypename);
$('#span_maxamount_' + rowindexid).text(data.maxamount);
}
if (Bizgaze.Apps.Hrms.Enums.EarningTypes.FixedAllowance == rowindexid)
$('.div_componentname_' + rowindexid).text('Monthly CTC - Sum of all other components');
if (data.componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Reimbursements) {
$('.div_componentname_' + rowindexid).html('Max Amount: <span id="span_maxamount_' + rowindexid + '"> ' + data.amount + ' </span>');
$('#span_maxamount_' + rowindexid).text(data.maxamount);
}
$("#hf_earningtypeid_" + rowindexid).val(data.earningtypeid);
$("#txt_AmountMonthly_" + rowindexid).val(monthlyamount);
$("#txt_AmountMonthly_" + rowindexid).text(monthlyamount);
$("#txt_AmountAnnually_" + rowindexid).val(annualamount);
$("#txt_AmountAnnually_" + rowindexid).text(annualamount);
$("#txt_CalculationAmount_" + rowindexid).val(amount);
}
}
grandTotal(ctc_Array) {
var instance = this;
var monthlytotal = 0;
var annuallytotal = 0;
ctc_Array.filter(x => x.componenttypeid != Bizgaze.Apps.Hrms.Enums.ComponentTypes.PreTaxDeductions && x.componenttypeid != Bizgaze.Apps.Hrms.Enums.ComponentTypes.Taxes).forEach(x => { annuallytotal += x.annualamount; });
ctc_Array.filter(x => x.componenttypeid != Bizgaze.Apps.Hrms.Enums.ComponentTypes.PreTaxDeductions && x.componenttypeid != Bizgaze.Apps.Hrms.Enums.ComponentTypes.Taxes).forEach(x => { monthlytotal += x.monthlyamount; });
$(".total_monthly_amount").text(Math.round(monthlytotal));
$(".total_annual_amount").text(Math.round(annuallytotal));
}
salaryitem_Calculation(rowindexid, ctc_Array) {
var instance = this;
var calculationAmount = $("#txt_CalculationAmount_" + rowindexid).val();
var amountMonthly = $("#txt_AmountMonthly_" + rowindexid).val();
if (calculationAmount == undefined) {
calculationAmount = 0;
}
let id = rowindexid;
let obj = ctc_Array.find(x => x.rowindexid == id);
if (obj != undefined) {
if (obj.calculationtypeid == Bizgaze.Apps.Hrms.Enums.CalculationType.FixedAmount) {
obj.amount = Number(amountMonthly);
}
else
obj.amount = Number(calculationAmount);
obj.monthlyamount = Number(amountMonthly);
if (Bizgaze.Apps.Hrms.Enums.ComponentTypes.Reimbursements == obj.componenttypeid) {
if (obj.maxamount < Number(amountMonthly)) {
obj.monthlyamount = obj.maxamount;
obj.amount = obj.maxamount;
}
}
else if (Bizgaze.Apps.Hrms.Enums.ComponentTypes.PreTaxDeductions == obj.componenttypeid) {
if (Number($('#ddl_CalculationType_' + rowindexid).val()) != undefined) {
obj.calculationtypeid = Number($('#ddl_CalculationType_' + rowindexid).val());
}
}
instance.ctc_calculation(ctc_Array);
}
}
}
Payroll.CtcCalculation = CtcCalculation;
})(Payroll = Hrms.Payroll || (Hrms.Payroll = {}));
})(Hrms = Apps.Hrms || (Apps.Hrms = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
@@ -0,0 +1,133 @@
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let Hrms;
(function (Hrms) {
let Payroll;
(function (Payroll) {
let Controls;
(function (Controls) {
let EmployeeRegime;
(function (EmployeeRegime) {
class EmployeeNewRegimeDetails extends Unibase.Platform.Core.BaseComponent {
init(formpropertyid, prop, callback) { }
loadControlSettings(controlsettingjson, formpropertyid) { }
loadPropertySettings(propertysettings, formpropertyid, DocPropertyName) { }
bindEditFormDetails(formpropertyid, propval, DocPropertyName) { }
loadControl(containerid, prop) {
var instance = this;
instance.transactionId = prop.FormPropertyId;
var html = `<table class="table zp-table salary-table declaration-details-table">
<thead>
<tr>
<th width="70%">Particulars</th>
<th width="30%" class="text-right">Declared amount</th>
</tr>
</thead>
<tbody id="tblgetemployeenewregimedetailsBody">
</tbody>
</table>`;
$("#" + containerid).html(html);
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeRegime.EmployeeNewRegimeDetails.Instance().bindNewRegimeDetails();
}
bindNewRegimeDetails() {
let instance = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeRegime.EmployeeNewRegimeDetails.Instance();
let VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
var employeeId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_employeeid").Value);
instance.fileCacheHelper.loadJsFile("apps/hrms/payroll/managers/payrollmanager.js", function () {
Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().employeeNewRegimeDetails(employeeId).then(function (response) {
let html = '';
for (const type in response.result) {
if (type === 'RentalIncomeDtls') {
html += `<tr>
<td colspan="2" class="row-group font-weight-700 font-16">
${'Net Income / Loss from House Property'}
</td>
</tr>`;
const rentalIncome = response.result[type];
if (rentalIncome.length) {
html += rentalIncome.map((obj) => {
return `<tr>
<tr>
<td class="text-field-label">Total Income / Loss from House Property</td>
<td class="text-right"> ₹ ${obj.AnnualRent}</td>
</tr>
<tr>
<td class="text-field-label">Interest Paid on Home Loan</td>
<td class="text-right"> ₹ ${obj.InterestPaid}</td>
</tr>
<tr>
<td class="text-field-label">Lender Name</td>
<td class="text-right"> ${obj.LenderName}</td>
</tr>
<tr>
<td class="text-field-label">Lender Pan</td>
<td class="text-right"> ${obj.LenderPan}</td>
</tr>
<tr>
<td class="text-field-label">Annual Rent Received</td>
<td class="text-right">₹ ${obj.AnnualRent}</td>
</tr>
<tr>
<td class="text-field-label">Net Annual Value</td>
<td class="text-right">₹ ${obj.NetAnnual}</td>
</tr>
<tr>
<td class="text-field-label">Standard Deduction (@ 30% of Net Annual Value)</td>
<td class="text-right">₹ ${obj.StandardDeduction}</td>
</tr>
<tr>
<td class="text-field-label">Interest Paid on Home Loan</td>
<td class="text-right">₹ ${obj.InterestPaid}</td>
</tr>
</tr>`;
}).join('');
}
}
if (type === 'OtherIncome') {
html += `<tr>
<td colspan="2" class="row-group font-weight-700 font-16">
${'Other Income'}
</td>
</tr>`;
const otherIncome = response.result[type];
if (otherIncome.length) {
html += otherIncome.map((obj) => {
return `<tr>
<tr>
<td class="text-field-label">Interest Earned from Savings Deposit</td>
<td class="text-right"> ₹ ${obj.SavingsDeposit}</td>
</tr>
</tr>`;
}).join('');
}
}
}
$("#tblgetemployeenewregimedetailsBody").html(html);
});
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new EmployeeNewRegimeDetails();
}
return this.instance;
}
}
EmployeeRegime.EmployeeNewRegimeDetails = EmployeeNewRegimeDetails;
})(EmployeeRegime = Controls.EmployeeRegime || (Controls.EmployeeRegime = {}));
})(Controls = Payroll.Controls || (Payroll.Controls = {}));
})(Payroll = Hrms.Payroll || (Hrms.Payroll = {}));
})(Hrms = Apps.Hrms || (Apps.Hrms = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
@@ -0,0 +1 @@
{"version":3,"file":"employeenewregime.component.js","sourceRoot":"","sources":["employeenewregime.component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let Hrms;
(function (Hrms) {
let Payroll;
(function (Payroll) {
let Controls;
(function (Controls) {
let EmployeeRegime;
(function (EmployeeRegime) {
class EmployeeNewRegimeDetails_Settings extends Unibase.Platform.Core.BaseComponent {
loadSettingHtml(container) { }
bindControlData(controldatajson) { }
SaveControlData(controldatajson) { }
loadControlPropertiesHtml(controlpropList, container) { }
bindPropertySettings(prop) { }
savePropertySettings(prop) { }
static Instance() {
if (this.instance === undefined) {
this.instance = new EmployeeNewRegimeDetails_Settings();
}
return this.instance;
}
}
EmployeeRegime.EmployeeNewRegimeDetails_Settings = EmployeeNewRegimeDetails_Settings;
})(EmployeeRegime = Controls.EmployeeRegime || (Controls.EmployeeRegime = {}));
})(Controls = Payroll.Controls || (Payroll.Controls = {}));
})(Payroll = Hrms.Payroll || (Hrms.Payroll = {}));
})(Hrms = Apps.Hrms || (Apps.Hrms = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
@@ -0,0 +1 @@
{"version":3,"file":"employeenewregime.settings.js","sourceRoot":"","sources":["employeenewregime.settings.ts"],"names":[],"mappings":"AAAA,IAAU,OAAO,CA6BhB;AA7BD,WAAU,OAAO;IACb,IAAiB,IAAI,CA2BpB;IA3BD,WAAiB,IAAI;QACjB,IAAiB,IAAI,CAyBpB;QAzBD,WAAiB,IAAI;YACjB,IAAiB,OAAO,CAuBvB;YAvBD,WAAiB,OAAO;gBACpB,IAAiB,QAAQ,CAqBxB;gBArBD,WAAiB,QAAQ;oBACrB,IAAiB,cAAc,CAmB9B;oBAnBD,WAAiB,cAAc;wBAC3B,MAAa,iCAAkC,SAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa;4BACtF,eAAe,CAAC,SAAS,IAAI,CAAC;4BAC9B,eAAe,CAAC,eAAe,IAAI,CAAC;4BACpC,eAAe,CAAC,eAAe,IAAI,CAAC;4BACpC,yBAAyB,CAAC,eAAsC,EAAE,SAAS,IAAI,CAAC;4BAChF,oBAAoB,CAAC,IAAgB,IAAI,CAAC;4BAC1C,oBAAoB,CAAC,IAAgB,IAAI,CAAC;4BAK1C,MAAM,CAAC,QAAQ;gCACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;oCAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,iCAAiC,EAAE,CAAC;iCAC3D;gCACD,OAAO,IAAI,CAAC,QAAQ,CAAC;4BACzB,CAAC;yBACJ;wBAjBY,gDAAiC,oCAiB7C,CAAA;oBACL,CAAC,EAnBgB,cAAc,GAAd,uBAAc,KAAd,uBAAc,QAmB9B;gBACL,CAAC,EArBgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAqBxB;YACL,CAAC,EAvBgB,OAAO,GAAP,YAAO,KAAP,YAAO,QAuBvB;QACL,CAAC,EAzBgB,IAAI,GAAJ,SAAI,KAAJ,SAAI,QAyBpB;IACL,CAAC,EA3BgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QA2BpB;AACL,CAAC,EA7BS,OAAO,KAAP,OAAO,QA6BhB"}
@@ -0,0 +1,221 @@
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let Hrms;
(function (Hrms) {
let Payroll;
(function (Payroll) {
let Controls;
(function (Controls) {
let EmployeeRegime;
(function (EmployeeRegime) {
class EmployeeOldRegimeDetails extends Unibase.Platform.Core.BaseComponent {
init(formpropertyid, prop, callback) { }
loadControl(containerid, prop) {
var instance = this;
instance.transactionId = prop.FormPropertyId;
var html = `<table class="table zp-table salary-table declaration-details-table">
<thead>
<tr>
<th width="70%">Particulars</th>
<th width="30%" class="text-right">Declared amount</th>
</tr>
</thead>
<tbody id="tblgetemployeeoldregimedetailsBody">
</tbody>
</table>`;
$("#" + containerid).html(html);
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeRegime.EmployeeOldRegimeDetails.Instance().bindOldRegimeDetails();
}
bindOldRegimeDetails() {
let instance = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeRegime.EmployeeOldRegimeDetails.Instance();
let VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
var employeeId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_employeeid").Value);
instance.fileCacheHelper.loadJsFile("apps/hrms/payroll/managers/payrollmanager.js", function () {
Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().employeeOldRegimeDetails(employeeId).then(function (response) {
let html = '';
for (const type in response.result) {
if (type === 'AddressDtls') {
html += `<tr>
<td colspan="2" class="row-group font-weight-700 font-16">
${'House Rent Paid Details'}
</td>
</tr>`;
const address = response.result[type];
if (address.length) {
html += address.map((obj) => {
return `<tr>
<td>${obj.RentalPeriodFromDate} - ${obj.RentalPeriodLastDate}</td>
<td class="text-right">₹ ${obj.TotalRent} <div class="font-14">₹ (${obj.Amount} / month) </div></td>
</tr>
<tr>
<td class="address-body">
<p class="address-landlord-details">
<span class="text-field-label">Landlord PAN :</span>
<span> ${obj.LandLordPan}</span>
</p>
<p class="address-landlord-details">
<span class="text-field-label">Landlord Name :</span>
<span> ${obj.LandLordName}</span>
</p>
<p class="address-landlord-details">
<span class="text-field-label">Urbanization Type :</span>
<span> ${obj.UrbanizationType}</span>
</p>
</td>
<td></td>
</tr>`;
}).join('');
}
}
if (type === 'CInvesmentsDtls') {
html += `<tr>
<td colspan="2" class="row-group font-weight-700 font-16">
${'80C Investments'}
</td>
</tr>`;
const cinvestments = response.result[type];
if (cinvestments.length) {
html += cinvestments.map((obj) => {
return `<tr>
<td>${obj.SubInvestmentName}</td>
<td class="text-right">₹ ${obj.Amount}</td>
</tr>`;
}).join('');
}
}
if (type === 'DInvesmentsDtls') {
html += `<tr>
<td colspan="2" class="row-group font-weight-700 font-16">
${'80D Investments'}
</td>
</tr>`;
const cinvestments = response.result[type];
if (cinvestments.length) {
html += cinvestments.map((obj) => {
let isNumAmount = '';
if (typeof (obj.Amount) === 'number') {
isNumAmount = `${obj.Amount}`;
}
else {
isNumAmount = obj.Amount;
}
return `<tr>
<td>${obj.SubInvestmentName}</td>
<td class="text-right">₹ ${obj.Amount}</td>
</tr>`;
}).join('');
}
}
if (type === 'OtherInvesmentsDtls') {
html += `<tr>
<td colspan="2" class="row-group font-weight-700 font-16">
${'Other Investments & Exemptions'}
</td>
</tr>`;
const cinvestments = response.result[type];
if (cinvestments.length) {
html += cinvestments.map((obj) => {
return `<tr>
<td>${obj.SubInvestmentName}</td>
<td class="text-right">₹ ${obj.Amount}</td>
</tr>`;
}).join('');
}
}
if (type === 'RentalIncomeDtls') {
html += `<tr>
<td colspan="2" class="row-group font-weight-700 font-16">
${'Net Income / Loss from House Property'}
</td>
</tr>`;
const rentalIncome = response.result[type];
if (rentalIncome.length) {
html += rentalIncome.map((obj) => {
return `<tr>
<tr>
<td class="text-field-label">Total Income / Loss from House Property</td>
<td class="text-right"> ₹ ${obj.AnnualRent}</td>
</tr>
<tr>
<td class="text-field-label">Interest Paid on Home Loan</td>
<td class="text-right"> ₹ ${obj.InterestPaid}</td>
</tr>
<tr>
<td class="text-field-label">Lender Name</td>
<td class="text-right"> ${obj.LenderName}</td>
</tr>
<tr>
<td class="text-field-label">Lender Pan</td>
<td class="text-right"> ${obj.LenderPan}</td>
</tr>
<tr>
<td class="text-field-label">Annual Rent Received</td>
<td class="text-right">₹ ${obj.AnnualRent}</td>
</tr>
<tr>
<td class="text-field-label">Net Annual Value</td>
<td class="text-right">₹ ${obj.NetAnnual}</td>
</tr>
<tr>
<td class="text-field-label">Standard Deduction (@ 30% of Net Annual Value)</td>
<td class="text-right">₹ ${obj.StandardDeduction}</td>
</tr>
<tr>
<td class="text-field-label">Interest Paid on Home Loan</td>
<td class="text-right">₹ ${obj.InterestPaid}</td>
</tr>
</tr>`;
}).join('');
}
}
if (type === 'OtherIncome') {
html += `<tr>
<td colspan="2" class="row-group font-weight-700 font-16">
${'Other Income'}
</td>
</tr>`;
const otherIncome = response.result[type];
if (otherIncome.length) {
html += otherIncome.map((obj) => {
return `<tr>
<tr>
<td class="text-field-label">Interest Earned from Savings Deposit</td>
<td class="text-right"> ₹ ${obj.SavingsDeposit}</td>
</tr>
</tr>`;
}).join('');
}
}
}
$("#tblgetemployeeoldregimedetailsBody").html(html);
});
});
}
loadControlSettings(controlsettingjson, formpropertyid) { }
loadPropertySettings(propertysettings, formpropertyid, DocPropertyName) { }
bindEditFormDetails(formpropertyid, propval, DocPropertyName) { }
static Instance() {
if (this.instance === undefined) {
this.instance = new EmployeeOldRegimeDetails();
}
return this.instance;
}
}
EmployeeRegime.EmployeeOldRegimeDetails = EmployeeOldRegimeDetails;
})(EmployeeRegime = Controls.EmployeeRegime || (Controls.EmployeeRegime = {}));
})(Controls = Payroll.Controls || (Payroll.Controls = {}));
})(Payroll = Hrms.Payroll || (Hrms.Payroll = {}));
})(Hrms = Apps.Hrms || (Apps.Hrms = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
@@ -0,0 +1 @@
{"version":3,"file":"employeeoldregime.component.js","sourceRoot":"","sources":["employeeoldregime.component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let Hrms;
(function (Hrms) {
let Payroll;
(function (Payroll) {
let Controls;
(function (Controls) {
let EmployeeRegime;
(function (EmployeeRegime) {
class EmployeeOldRegimeDetails_Settings extends Unibase.Platform.Core.BaseComponent {
loadSettingHtml(container) { }
bindControlData(controldatajson) { }
SaveControlData(controldatajson) { }
loadControlPropertiesHtml(controlpropList, container) { }
bindPropertySettings(prop) { }
savePropertySettings(prop) { }
static Instance() {
if (this.instance === undefined) {
this.instance = new EmployeeOldRegimeDetails_Settings();
}
return this.instance;
}
}
EmployeeRegime.EmployeeOldRegimeDetails_Settings = EmployeeOldRegimeDetails_Settings;
})(EmployeeRegime = Controls.EmployeeRegime || (Controls.EmployeeRegime = {}));
})(Controls = Payroll.Controls || (Payroll.Controls = {}));
})(Payroll = Hrms.Payroll || (Hrms.Payroll = {}));
})(Hrms = Apps.Hrms || (Apps.Hrms = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
@@ -0,0 +1 @@
{"version":3,"file":"employeeoldregime.settings.js","sourceRoot":"","sources":["employeeoldregime.settings.ts"],"names":[],"mappings":"AAAA,IAAU,OAAO,CA6BhB;AA7BD,WAAU,OAAO;IACb,IAAiB,IAAI,CA2BpB;IA3BD,WAAiB,IAAI;QACjB,IAAiB,IAAI,CAyBpB;QAzBD,WAAiB,IAAI;YACjB,IAAiB,OAAO,CAuBvB;YAvBD,WAAiB,OAAO;gBACpB,IAAiB,QAAQ,CAqBxB;gBArBD,WAAiB,QAAQ;oBACrB,IAAiB,cAAc,CAmB9B;oBAnBD,WAAiB,cAAc;wBAC3B,MAAa,iCAAkC,SAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa;4BACtF,eAAe,CAAC,SAAS,IAAI,CAAC;4BAC9B,eAAe,CAAC,eAAe,IAAI,CAAC;4BACpC,eAAe,CAAC,eAAe,IAAI,CAAC;4BACpC,yBAAyB,CAAC,eAAsC,EAAE,SAAS,IAAI,CAAC;4BAChF,oBAAoB,CAAC,IAAgB,IAAI,CAAC;4BAC1C,oBAAoB,CAAC,IAAgB,IAAI,CAAC;4BAK1C,MAAM,CAAC,QAAQ;gCACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;oCAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,iCAAiC,EAAE,CAAC;iCAC3D;gCACD,OAAO,IAAI,CAAC,QAAQ,CAAC;4BACzB,CAAC;yBACJ;wBAjBY,gDAAiC,oCAiB7C,CAAA;oBACL,CAAC,EAnBgB,cAAc,GAAd,uBAAc,KAAd,uBAAc,QAmB9B;gBACL,CAAC,EArBgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAqBxB;YACL,CAAC,EAvBgB,OAAO,GAAP,YAAO,KAAP,YAAO,QAuBvB;QACL,CAAC,EAzBgB,IAAI,GAAJ,SAAI,KAAJ,SAAI,QAyBpB;IACL,CAAC,EA3BgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QA2BpB;AACL,CAAC,EA7BS,OAAO,KAAP,OAAO,QA6BhB"}
@@ -0,0 +1,373 @@
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let Hrms;
(function (Hrms) {
let Payroll;
(function (Payroll) {
let Controls;
(function (Controls) {
let EmployeeSalary;
(function (EmployeeSalary) {
class EmployeeSalaryDetails extends Unibase.Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.ctc_Array = [];
this.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;
instance.fileCacheHelper.loadJsFiles(['platform/core/helpers/numberhelper/numberhelper.js', 'apps/hrms/enums/componenttypes.js', 'apps/hrms/enums/earningtypes.js', 'apps/hrms/controls/salarytemplate.component.js', 'apps/hrms/payroll/controls/ctccalculation.js', 'apps/hrms/enums/calculationtype.js'], function () {
instance.changeAnnualctcdata();
});
}
loadControlSettings(controlsettingjson, formpropertyid) { }
loadPropertySettings(propertysettings, formpropertyid, DocPropertyName) { }
bindEditFormDetails(formpropertyid, propval, DocPropertyName) { }
loadControl(container, prop) {
var instance = this;
instance.rowindexid = prop.FormPropertyId;
var html = "";
instance.VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
instance.fileCacheHelper.loadJsFiles(["apps/hrms/payroll/managers/payrollmanager.js", 'apps/hrms/payroll/controls/ctccalculation.js'], function () {
var ctcInstance = new Bizgaze.Apps.Hrms.Payroll.CtcCalculation();
html = ctcInstance.getcomponentHtml();
$("#" + container).html(html);
$('#refreshsystemcalculations').attr("onclick", "Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().refreshsystemcalculations()");
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().edit();
});
$(".txtAutoComplete_salarytemplateid").change(function () {
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().employeesalarydetails();
});
}
salarycomponentObj() {
return Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_Array;
}
employeesalarydetails() {
var instance = this;
var salarytemplateid = Number($(".txtAutoComplete_salarytemplateid").val());
instance.fileCacheHelper.loadJsFiles(["apps/hrms/payroll/managers/payrollmanager.js", 'apps/hrms/enums/componenttypes.js', 'apps/hrms/enums/earningtypes.js', 'apps/hrms/controls/salarytemplate.component.js'], function () {
Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().getSalaryTemplateById(salarytemplateid).then(function (response) {
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_Array = [];
$('#btnAddNew').addClass('hidden');
$('#hdn_salarycomponentcontrol').val("Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().salarycomponentObj();");
if (response.result != null) {
$("#salaryearningdetails_table").html('');
$("#salarydeductiondetails_table").html('');
$("#salaryreimbursementdetails_table").html('');
$(".txt_annualctc").val(response.result[0].AnnualCTC);
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().binddata(response.result);
}
});
});
}
getemployeesalarydetails(isrevise) {
$("#btnDynamicSave").attr("disabled", "true");
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().revisecalculation();
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().edit();
}
refreshsystemcalculations() {
var instance = this;
let AnnualCTC = $(".txt_annualctc").val();
let basic = 0;
var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
var Employeeid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_recordid").Value);
let obj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.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().getEmployeeTaxDetailsByEmployeeId(Employeeid, AnnualCTC, basic).then(function (response) {
for (var i = 0; i < response.result.length; i++) {
let data = response.result[i];
if (data != null) {
let salarycomponentid = data.SalaryComponentId;
let obj = instance.ctc_Array.find(x => x.salarycomponentid == salarycomponentid);
if (obj != undefined) {
obj.amount = data.Amount;
obj.monthlyamount = data.Amount;
}
}
else {
obj.amount = 0;
obj.monthlyamount = 0;
}
}
instance.ctc_calculation();
});
});
}
binddata(response) {
let employeesalartdetailid = Number($(".hdn_employeesalarydetailid").val());
for (var i = 0; i < response.length; i++) {
var data = response[i];
if (data.employeesalartdetailid == 0) {
data.employeesalartdetailid = employeesalartdetailid;
}
var item = {
payslipname: data.PaySlipName,
calculationtypeid: data.CalculationTypeId,
calculationtypename: data.CalculationTypeName,
salarycomponentid: data.SalaryComponentId,
earningtypeid: data.EarningTypeId,
amount: data.Amount,
rowindexid: data.ComponentTypeId == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Earnings ? data.EarningTypeId : data.SalaryComponentId,
salarycomponenttypeid: data.ComponentTypeId,
componenttypeid: data.ComponentTypeId,
maxamount: data.MaxAmount,
templateid: data.TemplateId,
templateitemid: data.TemplateItemId,
monthlyamount: data.AmountMonthly,
annualamount: data.AmountAnnually,
employeesalartdetailid: data.employeesalartdetailid,
issystemgenerated: data.IsSystemGenerated
};
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_Array.push(item);
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().bindcomponenthtml(item);
}
}
bindcomponenthtml(data) {
var ctcInstance = new Bizgaze.Apps.Hrms.Payroll.CtcCalculation();
ctcInstance.bindcomponenthtml(data, Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_Array, false);
$('.removeComponent').attr("onclick", "").addClass('hidden');
}
revisecalculation() {
var $radios = $('input:radio[name=revisecalculationtype]');
$radios.filter('[id=rdb_revisecalculationtype_2]').prop('checked', true);
$(".txt_revisepercentage").addClass("hidden");
$(".txt_revisepercentage").blur(function () {
var annualctc = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().AnnualCTC;
var revisepercentage = Number($(".txt_revisepercentage").val());
var revisedctc = Number(annualctc * (revisepercentage / 100)) + (annualctc);
$(".txt_annualctc").val(revisedctc);
$("#btnDynamicSave").prop("disabled", false);
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_calculation();
});
$(".rdb_revisecalculationtype_1").click(function () {
if ($(".rdb_revisecalculationtype_1").prop("checked") == true) {
$(".txt_revisepercentage").removeClass("hidden");
$(".div_revisepercentage ").removeClass("hidden");
$(".txt_annualctc").prop("disabled", true);
$(".txt_annualctc").css("color", "#495057");
$(".txt_revisepercentage").val(0);
$("#btnDynamicSave").prop("disabled", false);
}
$(".txt_annualctc").val(Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().AnnualCTC);
});
$(".rdb_revisecalculationtype_2").click(function () {
if ($(".rdb_revisecalculationtype_2").prop("checked") == true) {
$(".txt_revisepercentage").addClass("hidden");
$(".div_revisepercentage ").addClass("hidden");
$(".txt_annualctc").prop("disabled", false);
$(".txt_revisepercentage").val(0);
$("#btnDynamicSave").prop("disabled", true);
}
$(".txt_annualctc").val(Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().AnnualCTC);
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_calculation();
});
}
edit() {
var instance = this;
instance.fileCacheHelper.loadJsFile("apps/hrms/payroll/managers/payrollmanager.js", function () {
var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
if (installedAppId != 0) {
var employeeid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_recordid").Value);
Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().getSalaryDetailsByEmployeeId(employeeid).then(function (response) {
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_Array = [];
$('#btnAddNew').addClass('hidden');
$('#hdn_salarycomponentcontrol').val("Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().salarycomponentObj();");
if (response.result != null) {
var reportColumnText = new Option(response.result[0].TemplateName, response.result[0].SalaryTemplateId, true);
$("#salaryearningdetails_table").html('');
$("#salarydeductiondetails_table").html('');
$("#salaryreimbursementdetails_table").html('');
$(".txt_annualctc").val(response.result[0].AnnualCTC);
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().AnnualCTC = response.result[0].AnnualCTC;
$(".txtAutoComplete_salarytemplateid").html(reportColumnText);
$(".hdn_employeesalarydetailid").val(response.result[0].EmployeeSalaryDetailId);
if (response.result[0].ReviseCalculationType == 1) {
$("#rdb_revisecalculationtype_" + response.result[0].ReviseCalculationType).prop("checked", true);
$("#hdnRdb_revisecalculationtype").val(response.result[0].ReviseCalculationType);
$(".txt_revisepercentage").removeClass("hidden");
}
else if (response.result[0].ReviseCalculationType == 2) {
$("#rdb_revisecalculationtype_" + response.result[0].ReviseCalculationType).prop("checked", true);
$("#hdnRdb_revisecalculationtype").val(response.result[0].ReviseCalculationType);
$(".txt_revisepercentage").addClass("hidden");
}
$(".txt_revisepercentage").val(response.result[0].RevisePercentage);
var date = moment(response.result[0].ReviseSalaryEffectiveFrom).format("DD/MM/YYYY");
var effectivedate = $(".date_revisesalaryeffectivefrom").val();
if (date == effectivedate) {
$(".date_revisesalaryeffectivefrom").val("");
}
else {
$(".date_revisesalaryeffectivefrom").val(date);
$(".hfdate_revisesalaryeffectivefrom").val(date);
}
var paydate = moment(response.result[0].PayoutMonth).format("DD/MM/YYYY");
$(".date_payoutmonth").val(paydate);
$(".hfdate_payoutmonth").val(paydate);
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().binddata(response.result.reverse());
}
});
}
});
}
changecalculationtype(id, rowindexid) {
if (id == 1) {
$('#txt_CalculationAmount_' + rowindexid).addClass('hidden');
}
else {
$('#txt_CalculationAmount_' + rowindexid).removeClass('hidden');
}
var ctcInstance = new Bizgaze.Apps.Hrms.Payroll.CtcCalculation();
let obj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_Array;
ctcInstance.salaryitem_Calculation(rowindexid, obj);
}
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;
let rowindexid = data.EarningTypeId;
let obj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_Array.find(x => x.rowindexid == 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;
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_calculation();
var ctcInstance = new Bizgaze.Apps.Hrms.Payroll.CtcCalculation();
ctcInstance.bindctcdata(obj);
}
}
});
});
}
}
ctc_calculation() {
var ctcInstance = new Bizgaze.Apps.Hrms.Payroll.CtcCalculation();
ctcInstance.ctc_calculation(Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_Array);
}
changeAnnualctcdata() {
$(".txt_annualctc").keyup(function () {
var annualCTC = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().AnnualCTC;
var reviseAnnualCTC = $(".txt_annualctc").val();
if (annualCTC == reviseAnnualCTC) {
$("#btnDynamicSave").prop("disabled", true);
}
else {
$("#btnDynamicSave").prop("disabled", false);
}
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_calculation();
});
}
PreDeductionClick() {
var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
$(".DetailSetting_" + installedAppId + "_PreDeduction").attr("data-trnsactid", 2);
$(".DetailSetting_" + installedAppId + "_PreDeduction").click(function () {
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().loadPreDeduction();
});
}
loadPreDeduction() {
let instance = this;
var uniqueid = 'Bizgaze_Extension_HRMs_SalaryComponents_App_SalaryComponents_CreateSalaryComponents';
Unibase.Platform.Forms.Managers.FormManager.Instance().getFormbyUniqueId(uniqueid).then(function (response) {
var successCallBack = {
CallBack: function (id) {
},
Parameters: null,
};
var hdn_deductionTypeId = ".dropdown_componenttypeid";
var cObj = {
hiddenFieldControlId: hdn_deductionTypeId,
};
var loadObj = {
CallBack: function (cObj) {
$(cObj.hiddenFieldControlId).val(2);
$(".dropdown_componenttypeid").trigger("change");
$(".dropdown_componenttypeid").attr("disabled", "true");
},
Parameters: cObj,
};
let formviewerObj = {
FormId: response.result.FormId,
AppConfigurationId: 0,
Pk_Value: 0,
PortletWidgetId: 0,
OnSuccess: successCallBack,
OnFail: null,
OnLoad: loadObj
};
Unibase.Platform.Forms.Components.FormViewer.Instance().init(formviewerObj);
instance.navigationHelper.hideLoading();
});
}
PostDeductionClick() {
var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
$(".DetailSetting_" + installedAppId + "_PostDeduction").attr("data-trnsactid", 3);
$(".DetailSetting_" + installedAppId + "_PostDeduction").click(function () {
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().loadPostDeduction();
});
}
loadPostDeduction() {
let instance = this;
var uniqueid = 'Bizgaze_Extension_HRMs_SalaryComponents_App_SalaryComponents_CreateSalaryComponents';
Unibase.Platform.Forms.Managers.FormManager.Instance().getFormbyUniqueId(uniqueid).then(function (response) {
var successCallBack = {
CallBack: function (id) {
},
Parameters: null,
};
var hdn_deductionTypeId = ".dropdown_componenttypeid";
var cObj = {
hiddenFieldControlId: hdn_deductionTypeId,
};
var loadObj = {
CallBack: function (cObj) {
$(cObj.hiddenFieldControlId).val(3);
$(".dropdown_componenttypeid").trigger("change");
$(".dropdown_componenttypeid").attr("disabled", "true");
},
Parameters: cObj,
};
let formviewerObj = {
FormId: response.result.FormId,
AppConfigurationId: 0,
Pk_Value: 0,
PortletWidgetId: 0,
OnSuccess: successCallBack,
OnFail: null,
OnLoad: loadObj
};
Unibase.Platform.Forms.Components.FormViewer.Instance().init(formviewerObj);
instance.navigationHelper.hideLoading();
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new EmployeeSalaryDetails();
}
return this.instance;
}
}
EmployeeSalary.EmployeeSalaryDetails = EmployeeSalaryDetails;
})(EmployeeSalary = Controls.EmployeeSalary || (Controls.EmployeeSalary = {}));
})(Controls = Payroll.Controls || (Payroll.Controls = {}));
})(Payroll = Hrms.Payroll || (Hrms.Payroll = {}));
})(Hrms = Apps.Hrms || (Apps.Hrms = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
File diff suppressed because one or more lines are too long
@@ -0,0 +1,33 @@
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let Hrms;
(function (Hrms) {
let Payroll;
(function (Payroll) {
let Controls;
(function (Controls) {
let EmployeeSalary;
(function (EmployeeSalary) {
class EmployeeSalaryDetails_Settings {
loadSettingHtml(container) { }
bindControlData(controldatajson) { }
SaveControlData(controldatajson) { }
loadControlPropertiesHtml(controlpropList, container) { }
bindPropertySettings(prop) { }
savePropertySettings(prop) { }
static Instance() {
if (this.instance === undefined) {
this.instance = new EmployeeSalaryDetails_Settings();
}
return this.instance;
}
}
EmployeeSalary.EmployeeSalaryDetails_Settings = EmployeeSalaryDetails_Settings;
})(EmployeeSalary = Controls.EmployeeSalary || (Controls.EmployeeSalary = {}));
})(Controls = Payroll.Controls || (Payroll.Controls = {}));
})(Payroll = Hrms.Payroll || (Hrms.Payroll = {}));
})(Hrms = Apps.Hrms || (Apps.Hrms = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
@@ -0,0 +1 @@
{"version":3,"file":"employeesalarydetails.settings.js","sourceRoot":"","sources":["employeesalarydetails.settings.ts"],"names":[],"mappings":"AAAA,IAAU,OAAO,CA2BhB;AA3BD,WAAU,OAAO;IACb,IAAiB,IAAI,CAyBpB;IAzBD,WAAiB,IAAI;QACjB,IAAiB,IAAI,CAuBpB;QAvBD,WAAiB,IAAI;YACjB,IAAiB,OAAO,CAqBvB;YArBD,WAAiB,OAAO;gBACpB,IAAiB,QAAQ,CAmBxB;gBAnBD,WAAiB,QAAQ;oBACrB,IAAiB,cAAc,CAiB9B;oBAjBD,WAAiB,cAAc;wBAC3B,MAAa,8BAA8B;4BAEvC,eAAe,CAAC,SAAS,IAAI,CAAC;4BAC9B,eAAe,CAAC,eAAe,IAAI,CAAC;4BACpC,eAAe,CAAC,eAAe,IAAI,CAAC;4BACpC,yBAAyB,CAAC,eAAsC,EAAE,SAAS,IAAI,CAAC;4BAChF,oBAAoB,CAAC,IAAgB,IAAI,CAAC;4BAC1C,oBAAoB,CAAC,IAAgB,IAAI,CAAC;4BAE1C,MAAM,CAAC,QAAQ;gCACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;oCAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,8BAA8B,EAAE,CAAC;iCACxD;gCACD,OAAO,IAAI,CAAC,QAAQ,CAAC;4BACzB,CAAC;yBACJ;wBAfY,6CAA8B,iCAe1C,CAAA;oBACL,CAAC,EAjBgB,cAAc,GAAd,uBAAc,KAAd,uBAAc,QAiB9B;gBACL,CAAC,EAnBgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAmBxB;YACL,CAAC,EArBgB,OAAO,GAAP,YAAO,KAAP,YAAO,QAqBvB;QACL,CAAC,EAvBgB,IAAI,GAAJ,SAAI,KAAJ,SAAI,QAuBpB;IACL,CAAC,EAzBgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAyBpB;AACL,CAAC,EA3BS,OAAO,KAAP,OAAO,QA2BhB"}
@@ -0,0 +1,717 @@
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let Hrms;
(function (Hrms) {
let Payroll;
(function (Payroll) {
let Controls;
(function (Controls) {
let EmployeeSalary;
(function (EmployeeSalary) {
class ReviseEmployeeSalary extends Unibase.Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.emprevise_Array = [];
}
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;
instance.fileCacheHelper.loadJsFile('platform/core/helpers/numberhelper/numberhelper.js', function () {
instance.changeAnnualctcdata();
instance.revisecalculation();
});
let componentitems = {
"Earnings": [],
"Deductions": [],
"Reimbursements": []
};
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array.push(componentitems);
}
loadControlSettings(controlsettingjson, formpropertyid) { }
loadPropertySettings(propertysettings, formpropertyid, DocPropertyName) { }
bindEditFormDetails(formpropertyid, propval, DocPropertyName) { }
loadControl(container, prop) {
var instance = this;
instance.rowindexid = prop.FormPropertyId;
var html = "";
html = `<table class="employeerevisesalaryearningdetails_table" id="employeerevisesalaryearningdetails_table" ><div class="row" mb-0 ><input type = "hidden" id = "hdn_Earningscontrol" class="value-control" value = "Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().reviseearingControlObj();"><tr class="employeesalaryearningdetails_table_header"><th class="col-sm-3"> Salary Components <span class= "text-danger">*</span> </th><th class="col-sm-3"> Calculation Type <span class= "text-danger">*</span></th><th class="col-sm-2"> Amount </th><th class="col-sm-2"> Monthly Amount </th><th class="col-sm-2"> Annually Amount </th></tr><tr></tr></div></table>`;
$("#" + container).html(html);
}
reviseemployeesalary(employeeid) {
var instance = this;
var rowindexid = 0;
var monthlytotal = 0;
var annuallytotal = 0;
if (Number(rowindexid) == 0) {
instance.fileCacheHelper.loadJsFile("apps/hrms/payroll/managers/payrollmanager.js", function () {
Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().reviseemployeeSalaryDetails(employeeid).then(function (response) {
$("#employeerevisesalaryearningdetails_table .employeerevisesalaryearningdetails-list-items").remove();
if (response.result.Earnings.length != 0) {
var Headtext = '<tbody><tr> <td colspan="5"> <h5>Earnings</h5></td></tr>';
$("#employeerevisesalaryearningdetails_table").append(Headtext);
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Earnings = [];
for (var i = 0; i < response.result.Earnings.length; i++) {
var earningdata = response.result.Earnings[i];
var templateid = earningdata.TemplateId;
var tempname = earningdata.TemplateName;
var templatename = new Option(tempname, templateid);
$(".txtAutoComplete_salarytemplateid").append(templatename);
var annualctc = earningdata.AnnualCTC;
var employeesalarydetailsubcomponentid = earningdata.EmployeeSalaryDetailSubComponentId;
$(".txt_annualctc").val(annualctc);
$(".hdn_employeesalarydetailid").val(earningdata.EmployeeSalaryDetailId);
var html = "";
let rowindexid = employeesalarydetailsubcomponentid;
var item = {
calculationtype: earningdata.CalculationType,
calculationtypename: earningdata.CalculationTypeName,
salarytemplateid: earningdata.EmployeeSalaryDetailSubComponentId,
earningtype: earningdata.EarningTypeId,
earningtypename: earningdata.EarningTypeName,
amount: earningdata.CalculationAmont,
monthlyamount: earningdata.AmountMonthly,
annualamount: earningdata.AmountAnnually,
salarycomponentid: earningdata.SalaryComponentId,
deductionplanid: earningdata.DeductionPlanId,
reimbursementtype: earningdata.ReimbursementTypeId,
isadded: true
};
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Earnings.push(item);
var html = '<tbody><tr class="employeerevisesalaryearningdetails-list-items employeerevisesalaryearningdetails-item-active value-row li-' + rowindexid + '" tid="' + rowindexid + '" id="employeerevisesalaryearningdetails_item_TRN' + rowindexid + '" ><td> <div class="input-group w-80 rounded-0"> <select class="txtAutoComplete_Salary form-control w-75 border-top-0 border-right-0 border-left-0 rounded-0" id="txtAutoComplete_Salary_' + rowindexid + '" style="pointer-events:none"> </select></div></td>' +
'<td> <div class="input-group w-75 rounded-0 "> <select class="ddl_CalculationType form-control border-top-0 border-right-0 border-left-0 rounded-0" id="ddl_CalculationType_' + rowindexid + '" style="pointer-events:none"> </select></div></td>' +
'<td class="pr-40"> <input type="text" class="txt_CalculationAmount form-control text-right" id="txt_CalculationAmount_' + rowindexid + '" data-trnsactid="' + rowindexid + '" value="0"></td>' +
'<td class="input-group-append"> <input type="text" id="txt_AmountMonthly_' + rowindexid + '" class="txt_AmountMonthly form-control w-100 text-right" value="0" style="pointer-events:none"> </td>' +
'<td align="right" class="pl-40"> <input type="text" id = "txt_AmountAnnually_' + rowindexid + '" class="txt_AmountAnnually form-control w-100 text-right" value="0" style="pointer-events:none"> </td>';
html += '</tr></tbody>';
$("#employeerevisesalaryearningdetails_table").append(html);
for (var j = 1; j < 4; j++) {
if (earningdata.CalculationType == j + "") {
var reportColumnText = new Option(earningdata.CalculationTypeName, earningdata.CalculationType, true);
$('#ddl_CalculationType_' + employeesalarydetailsubcomponentid + '').append(reportColumnText);
$('#ddl_CalculationType_' + employeesalarydetailsubcomponentid + '').val(earningdata.CalculationType).trigger('change');
}
}
for (var k = 1; k < 33; k++) {
if (earningdata.EarningTypeId == k + "") {
$("#txtAutoComplete_Salary_" + employeesalarydetailsubcomponentid).append('<option value="' + earningdata.EarningTypeId + '">' + earningdata.EarningTypeName + '</option>');
}
}
$('#txt_AmountMonthly_' + rowindexid + '').val((earningdata.AmountMonthly).toFixed(2));
$('#txt_AmountAnnually_' + rowindexid + '').val((earningdata.AmountAnnually).toFixed(2));
$("#txt_CalculationAmount_" + rowindexid + '').val(earningdata.CalculationAmont);
}
$("#employeerevisesalaryearningdetails_table:last").find(".txt_CalculationAmount").keyup(function () {
let amount = $(this).val();
let salarytemplateid = $(this).attr("data-trnsactid");
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().employeerevisesalaryitem_Calculation(salarytemplateid, amount);
});
$("#employeerevisesalaryearningdetails_table").removeClass('d-none');
}
if (response.result.Deductions.length != 0) {
var Headtext = '<tbody><tr> <td colspan="5"> <h5>Deductions</h5></td></tr>';
$("#employeerevisesalaryearningdetails_table").append(Headtext);
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Deductions = [];
for (var i = 0; i < response.result.Deductions.length; i++) {
let Deductionsdata = response.result.Deductions[i];
let employeesalarydetailsubcomponentid = Deductionsdata.EmployeeSalaryDetailSubComponentId;
let rowindexid = employeesalarydetailsubcomponentid;
var item = {
calculationtype: Deductionsdata.CalculationType,
calculationtypename: Deductionsdata.CalculationTypeName,
salarytemplateid: Deductionsdata.EmployeeSalaryDetailSubComponentId,
earningtype: Deductionsdata.EarningTypeId,
earningtypename: Deductionsdata.EarningTypeName,
amount: Deductionsdata.CalculationAmont,
monthlyamount: Deductionsdata.AmountMonthly,
annualamount: Deductionsdata.AmountAnnually,
salarycomponentid: Deductionsdata.SalaryComponentId,
deductionplanid: Deductionsdata.DeductionPlanId,
reimbursementtype: Deductionsdata.ReimbursementTypeId,
isadded: true
};
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Deductions.push(item);
var html = '<tbody><tr class="employeesalarydeductiondetails-list-items employeesalarydeductiondetails-item-active value-row li-' + rowindexid + '" tid="' + rowindexid + '" id="employeesalarydeductiondetails_item_TRN' + rowindexid + '" ><td> <div class="input-group w-80 rounded-0"> <select class="txtAutoComplete_Salary form-control w-75 border-top-0 border-right-0 border-left-0 rounded-0" id="txtAutoComplete_Salary_' + rowindexid + '" style="pointer-events:none"> </select></div></td>' +
'<td> <div class="input-group w-75 rounded-0 "> <select class="ddl_CalculationType form-control border-top-0 border-right-0 border-left-0 rounded-0" id="ddl_CalculationType_' + rowindexid + '" style="pointer-events:none"> </select></div></td>' +
'<td class="pr-40"> <input type="text" class="txt_CalculationAmount form-control text-right" id="txt_CalculationAmount_' + rowindexid + '" data-trnsactid="' + rowindexid + '" value="0"></td>' +
'<td class="input-group-append"> <input type="text" id="txt_AmountMonthly_' + rowindexid + '" class="txt_AmountMonthly form-control w-100 text-right" value="0" style="pointer-events:none"> </td>' +
'<td align="right" class="pl-40"> <input type="text" id = "txt_AmountAnnually_' + rowindexid + '" class="txt_AmountAnnually form-control w-100 text-right" value="0" style="pointer-events:none"> </td>';
html += '</tr></tbody>';
$("#employeerevisesalaryearningdetails_table").append(html);
for (var j = 1; j < 4; j++) {
if (Deductionsdata.CalculationType == j + "") {
var reportColumnText = new Option(Deductionsdata.CalculationTypeName, Deductionsdata.CalculationType, true);
$('#ddl_CalculationType_' + employeesalarydetailsubcomponentid + '').append(reportColumnText);
$('#ddl_CalculationType_' + employeesalarydetailsubcomponentid + '').val(Deductionsdata.CalculationType).trigger('change');
}
}
$("#txtAutoComplete_Salary_" + employeesalarydetailsubcomponentid).append('<option value="' + Deductionsdata.SalaryComponentId + '">' + Deductionsdata.EarningTypeName + '</option>');
$('#txt_AmountMonthly_' + rowindexid + '').val((Deductionsdata.AmountMonthly).toFixed(2));
$('#txt_AmountAnnually_' + rowindexid + '').val((Deductionsdata.AmountAnnually).toFixed(2));
$("#txt_CalculationAmount_" + rowindexid + '').val(Deductionsdata.CalculationAmont);
}
$("#employeesalaryearningdetails_table:last").find(".txt_CalculationAmount").keyup(function () {
let amount = $(this).val();
let salarytemplateid = $(this).attr("data-trnsactid");
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().employeerevisesalaryitem_Calculation(salarytemplateid, amount);
});
$("#employeerevisesalaryearningdetails_table").removeClass('d-none');
}
if (response.result.Reimbursements.length != 0) {
var Headtext = '<tbody><tr> <td colspan="5"> <h5>Reimbursements</h5></td></tr>';
$("#employeerevisesalaryearningdetails_table").append(Headtext);
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Reimbursements = [];
for (var i = 0; i < response.result.Reimbursements.length; i++) {
let Reimbursementsdata = response.result.Reimbursements[i];
let employeesalarydetailsubcomponentid = Reimbursementsdata.EmployeeSalaryDetailSubComponentId;
let rowindexid = employeesalarydetailsubcomponentid;
var item = {
calculationtype: Reimbursementsdata.CalculationType,
calculationtypename: Reimbursementsdata.CalculationTypeName,
salarytemplateid: Reimbursementsdata.EmployeeSalaryDetailSubComponentId,
earningtype: Reimbursementsdata.EarningTypeId,
earningtypename: Reimbursementsdata.EarningTypeName,
amount: Reimbursementsdata.CalculationAmont,
monthlyamount: Reimbursementsdata.AmountMonthly,
annualamount: Reimbursementsdata.AmountAnnually,
salarycomponentid: Reimbursementsdata.SalaryComponentId,
deductionplanid: Reimbursementsdata.DeductionPlanId,
reimbursementtype: Reimbursementsdata.ReimbursementTypeId,
isadded: true
};
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Reimbursements.push(item);
var html = '<tbody><tr class="employeesalaryreimbursementdetails-list-items employeesalaryreimbursementdetails-item-active value-row li-' + rowindexid + '" tid="' + rowindexid + '" id="employeesalaryreimbursementdetails_item_TRN' + rowindexid + '" ><td> <div class="input-group w-80 rounded-0"> <select class="txtAutoComplete_Salary form-control w-75 border-top-0 border-right-0 border-left-0 rounded-0" id="txtAutoComplete_Salary_' + rowindexid + '" style="pointer-events:none"> </select></div></td>' +
'<td> <div class="input-group w-75 rounded-0 "> <select class="ddl_CalculationType form-control border-top-0 border-right-0 border-left-0 rounded-0" id="ddl_CalculationType_' + rowindexid + '" style="pointer-events:none"> </select></div></td>' +
'<td class="pr-40"> <input type="text" class="txt_CalculationAmount form-control text-right" id="txt_CalculationAmount_' + rowindexid + '" data-trnsactid="' + rowindexid + '" value="0"></td>' +
'<td class="input-group-append"> <input type="text" id="txt_AmountMonthly_' + rowindexid + '" class="txt_AmountMonthly form-control w-100 text-right" value="0" style="pointer-events:none"> </td>' +
'<td align="right" class="pl-40"> <input type="text" id = "txt_AmountAnnually_' + rowindexid + '" class="txt_AmountAnnually form-control w-100 text-right" value="0" style="pointer-events:none"> </td>';
html += '</tr></tbody>';
$("#employeerevisesalaryearningdetails_table").append(html);
for (var j = 1; j < 4; j++) {
if (Reimbursementsdata.CalculationType == j + "") {
var reportColumnText = new Option(Reimbursementsdata.CalculationTypeName, Reimbursementsdata.CalculationType, true);
$('#ddl_CalculationType_' + employeesalarydetailsubcomponentid + '').append(reportColumnText);
$('#ddl_CalculationType_' + employeesalarydetailsubcomponentid + '').val(Reimbursementsdata.CalculationType).trigger('change');
}
}
for (var k = 1; k < 33; k++) {
if (Reimbursementsdata.ReimbursementTypeId == k + "") {
$("#txtAutoComplete_Salary_" + employeesalarydetailsubcomponentid).append('<option value="' + Reimbursementsdata.ReimbursementTypeId + '">' + Reimbursementsdata.EarningTypeName + '</option>');
}
}
$('#txt_AmountMonthly_' + rowindexid + '').val((Reimbursementsdata.AmountMonthly).toFixed(2));
$('#txt_AmountAnnually_' + rowindexid + '').val((Reimbursementsdata.AmountAnnually).toFixed(2));
$("#txt_CalculationAmount_" + rowindexid + '').val(Reimbursementsdata.CalculationAmont);
}
$("#employeerevisesalaryearningdetails_table:last").find(".txt_CalculationAmount").keyup(function () {
let amount = $(this).val();
let salarytemplateid = $(this).attr("data-trnsactid");
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().employeerevisesalaryitem_Calculation(salarytemplateid, amount);
});
$("#employeerevisesalaryearningdetails_table").removeClass('d-none');
}
else {
$("#employeerevisesalaryearningdetails_table").html("");
$(".txt_annualctc").val("");
}
});
});
}
var footerhtml = '<tfoot class="bg-grey-light-4"><tr><td></td><td class="px-3 py-20">Cost to Company</td><td></td><td></td><td class="text-right" id = "amountmonthly">' + monthlytotal + '</td><td class="text-right" id="amountannully">' + annuallytotal + '</td></tr></tfoot>';
$("#employeerevisesalaryearningdetails_table").addClass('d-none');
$("#employeerevisesalaryearningdetails_table").append(footerhtml);
}
bindrevisesalarydetails(empid) {
var instance = this;
var rowindexid = 0;
var monthlytotal = 0;
var annuallytotal = 0;
instance.fileCacheHelper.loadJsFile("apps/hrms/payroll/managers/payrollmanager.js", function () {
Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().bindReviseSalaryDetails(empid).then(function (response) {
$("#employeerevisesalaryearningdetails_table").removeClass('d-none');
$("#employeerevisesalaryearningdetails_table .employeerevisesalaryearningdetails-item-active").remove();
if (response.result.Earnings.length != 0) {
var Headtext = '<tbody><tr> <td colspan="5"> <h5>Earnings</h5></td></tr>';
$("#employeerevisesalaryearningdetails_table").append(Headtext);
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Earnings = [];
for (var i = 0; i < response.result.Earnings.length; i++) {
var earningdata = response.result.Earnings[i];
var templateid = earningdata.TemplateId;
var tempname = earningdata.TemplateName;
var templatename = new Option(tempname, templateid);
$(".txtAutoComplete_salarytemplateid").append(templatename);
var annualctc = earningdata.AnnualCTC;
var employeesalarydetailsubcomponentid = earningdata.EmployeeSalaryDetailSubComponentId;
$(".txt_annualctc").val(annualctc);
$(".hdn_employeesalarydetailid").val(earningdata.EmployeeSalaryDetailId);
if (earningdata.ReviseCalculationType == 1) {
$("#rdb_revisecalculationtype_" + earningdata.ReviseCalculationType).prop("checked", true);
$("#hdnRdb_revisecalculationtype").val(earningdata.ReviseCalculationType);
}
else if (earningdata.ReviseCalculationType == 2) {
$("#rdb_revisecalculationtype_" + earningdata.ReviseCalculationType).prop("checked", true);
$("#hdnRdb_revisecalculationtype").val(earningdata.ReviseCalculationType);
}
$(".txt_revisepercentage").val(earningdata.RevisePercentage);
var saldate = earningdata.ReviseSalaryEffectiveFrom;
var date = moment(saldate).format("DD/MM/YYYY");
$(".date_revisesalaryeffectivefrom").val(date);
$(".hfdate_revisesalaryeffectivefrom").val(date);
var payoutdate = earningdata.PayoutMonth;
var paydate = moment(payoutdate).format("DD/MM/YYYY");
$(".date_payoutmonth").val(paydate);
$(".hfdate_payoutmonth").val(paydate);
var html = "";
let rowindexid = employeesalarydetailsubcomponentid;
var item = {
calculationtype: earningdata.CalculationType,
calculationtypename: earningdata.CalculationTypeName,
salarytemplateid: earningdata.EmployeeSalaryDetailSubComponentId,
earningtype: earningdata.EarningTypeId,
earningtypename: earningdata.EarningTypeName,
amount: earningdata.CalculationAmont,
monthlyamount: earningdata.AmountMonthly,
annualamount: earningdata.AmountAnnually,
salarycomponentid: earningdata.SalaryComponentId,
deductionplanid: earningdata.DeductionPlanId,
reimbursementtype: earningdata.ReimbursementTypeId,
isadded: true
};
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Earnings.push(item);
var html = '<tbody><tr class="employeerevisesalaryearningdetails-list-items employeerevisesalaryearningdetails-item-active value-row li-' + rowindexid + '" tid="' + rowindexid + '" id="employeerevisesalaryearningdetails_item_TRN' + rowindexid + '" ><td> <div class="input-group w-80 rounded-0"> <select class="txtAutoComplete_Salary form-control w-75 border-top-0 border-right-0 border-left-0 rounded-0" id="txtAutoComplete_Salary_' + rowindexid + '" style="pointer-events:none"> </select></div></td>' +
'<td> <div class="input-group w-75 rounded-0 "> <select class="ddl_CalculationType form-control border-top-0 border-right-0 border-left-0 rounded-0" id="ddl_CalculationType_' + rowindexid + '" style="pointer-events:none"> </select></div></td>' +
'<td class="pr-40"> <input type="text" class="txt_CalculationAmount form-control text-right" id="txt_CalculationAmount_' + rowindexid + '" data-trnsactid="' + rowindexid + '" value="0"></td>' +
'<td class="input-group-append"> <input type="text" id="txt_AmountMonthly_' + rowindexid + '" class="txt_AmountMonthly form-control w-100 text-right" value="0" style="pointer-events:none"> </td>' +
'<td align="right" class="pl-40"> <input type="text" id = "txt_AmountAnnually_' + rowindexid + '" class="txt_AmountAnnually form-control w-100 text-right" value="0" style="pointer-events:none"> </td>';
html += '</tr></tbody>';
$("#employeerevisesalaryearningdetails_table").append(html);
for (var j = 1; j < 4; j++) {
if (earningdata.CalculationType == j + "") {
var reportColumnText = new Option(earningdata.CalculationTypeName, earningdata.CalculationType, true);
$('#ddl_CalculationType_' + employeesalarydetailsubcomponentid + '').append(reportColumnText);
$('#ddl_CalculationType_' + employeesalarydetailsubcomponentid + '').val(earningdata.CalculationType).trigger('change');
}
}
for (var k = 1; k < 33; k++) {
if (earningdata.EarningTypeId == k + "") {
$("#txtAutoComplete_Salary_" + employeesalarydetailsubcomponentid).append('<option value="' + earningdata.EarningTypeId + '">' + earningdata.EarningTypeName + '</option>');
}
}
$('#txt_AmountMonthly_' + rowindexid + '').val((earningdata.AmountMonthly).toFixed(2));
$('#txt_AmountAnnually_' + rowindexid + '').val((earningdata.AmountAnnually).toFixed(2));
$("#txt_CalculationAmount_" + rowindexid + '').val(earningdata.CalculationAmont);
}
$("#employeerevisesalaryearningdetails_table:last").find(".txt_CalculationAmount").keyup(function () {
let amount = $(this).val();
let salarytemplateid = $(this).attr("data-trnsactid");
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().employeerevisesalaryitem_Calculation(salarytemplateid, amount);
});
$("#employeerevisesalaryearningdetails_table").removeClass('d-none');
}
if (response.result.Deductions.length != 0) {
var Headtext = '<tbody><tr> <td colspan="5"> <h5>Deductions</h5></td></tr>';
$("#employeerevisesalaryearningdetails_table").append(Headtext);
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Deductions = [];
for (var i = 0; i < response.result.Deductions.length; i++) {
let Deductionsdata = response.result.Deductions[i];
let employeesalarydetailsubcomponentid = Deductionsdata.EmployeeSalaryDetailSubComponentId;
let rowindexid = employeesalarydetailsubcomponentid;
var item = {
calculationtype: Deductionsdata.CalculationType,
calculationtypename: Deductionsdata.CalculationTypeName,
salarytemplateid: Deductionsdata.EmployeeSalaryDetailSubComponentId,
earningtype: Deductionsdata.EarningTypeId,
earningtypename: Deductionsdata.EarningTypeName,
amount: Deductionsdata.CalculationAmont,
monthlyamount: Deductionsdata.AmountMonthly,
annualamount: Deductionsdata.AmountAnnually,
salarycomponentid: Deductionsdata.SalaryComponentId,
deductionplanid: Deductionsdata.DeductionPlanId,
reimbursementtype: Deductionsdata.ReimbursementTypeId,
isadded: true
};
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Deductions.push(item);
var html = '<tbody><tr class="employeesalarydeductiondetails-list-items employeesalarydeductiondetails-item-active value-row li-' + rowindexid + '" tid="' + rowindexid + '" id="employeesalarydeductiondetails_item_TRN' + rowindexid + '" ><td> <div class="input-group w-80 rounded-0"> <select class="txtAutoComplete_Salary form-control w-75 border-top-0 border-right-0 border-left-0 rounded-0" id="txtAutoComplete_Salary_' + rowindexid + '" style="pointer-events:none"> </select></div></td>' +
'<td> <div class="input-group w-75 rounded-0 "> <select class="ddl_CalculationType form-control border-top-0 border-right-0 border-left-0 rounded-0" id="ddl_CalculationType_' + rowindexid + '" style="pointer-events:none"> </select></div></td>' +
'<td class="pr-40"> <input type="text" class="txt_CalculationAmount form-control text-right" id="txt_CalculationAmount_' + rowindexid + '" data-trnsactid="' + rowindexid + '" value="0"></td>' +
'<td class="input-group-append"> <input type="text" id="txt_AmountMonthly_' + rowindexid + '" class="txt_AmountMonthly form-control w-100 text-right" value="0" style="pointer-events:none"> </td>' +
'<td align="right" class="pl-40"> <input type="text" id = "txt_AmountAnnually_' + rowindexid + '" class="txt_AmountAnnually form-control w-100 text-right" value="0" style="pointer-events:none"> </td>';
html += '</tr></tbody>';
$("#employeerevisesalaryearningdetails_table").append(html);
for (var j = 1; j < 4; j++) {
if (Deductionsdata.CalculationType == j + "") {
var reportColumnText = new Option(Deductionsdata.CalculationTypeName, Deductionsdata.CalculationType, true);
$('#ddl_CalculationType_' + employeesalarydetailsubcomponentid + '').append(reportColumnText);
$('#ddl_CalculationType_' + employeesalarydetailsubcomponentid + '').val(Deductionsdata.CalculationType).trigger('change');
}
}
$("#txtAutoComplete_Salary_" + employeesalarydetailsubcomponentid).append('<option value="' + Deductionsdata.SalaryComponentId + '">' + Deductionsdata.EarningTypeName + '</option>');
$('#txt_AmountMonthly_' + rowindexid + '').val((Deductionsdata.AmountMonthly).toFixed(2));
$('#txt_AmountAnnually_' + rowindexid + '').val((Deductionsdata.AmountAnnually).toFixed(2));
$("#txt_CalculationAmount_" + rowindexid + '').val(Deductionsdata.CalculationAmont);
}
$("#employeesalaryearningdetails_table:last").find(".txt_CalculationAmount").keyup(function () {
let amount = $(this).val();
let salarytemplateid = $(this).attr("data-trnsactid");
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().employeerevisesalaryitem_Calculation(salarytemplateid, amount);
});
$("#employeerevisesalaryearningdetails_table").removeClass('d-none');
}
if (response.result.Reimbursements.length != 0) {
var Headtext = '<tbody><tr> <td colspan="5"> <h5>Reimbursements</h5></td></tr>';
$("#employeerevisesalaryearningdetails_table").append(Headtext);
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Reimbursements = [];
for (var i = 0; i < response.result.Reimbursements.length; i++) {
let Reimbursementsdata = response.result.Reimbursements[i];
let employeesalarydetailsubcomponentid = Reimbursementsdata.EmployeeSalaryDetailSubComponentId;
let rowindexid = employeesalarydetailsubcomponentid;
var item = {
calculationtype: Reimbursementsdata.CalculationType,
calculationtypename: Reimbursementsdata.CalculationTypeName,
salarytemplateid: Reimbursementsdata.EmployeeSalaryDetailSubComponentId,
earningtype: Reimbursementsdata.EarningTypeId,
earningtypename: Reimbursementsdata.EarningTypeName,
amount: Reimbursementsdata.CalculationAmont,
monthlyamount: Reimbursementsdata.AmountMonthly,
annualamount: Reimbursementsdata.AmountAnnually,
salarycomponentid: Reimbursementsdata.SalaryComponentId,
deductionplanid: Reimbursementsdata.DeductionPlanId,
reimbursementtype: Reimbursementsdata.ReimbursementTypeId,
isadded: true
};
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Reimbursements.push(item);
var html = '<tbody><tr class="employeesalaryreimbursementdetails-list-items employeesalaryreimbursementdetails-item-active value-row li-' + rowindexid + '" tid="' + rowindexid + '" id="employeesalaryreimbursementdetails_item_TRN' + rowindexid + '" ><td> <div class="input-group w-80 rounded-0"> <select class="txtAutoComplete_Salary form-control w-75 border-top-0 border-right-0 border-left-0 rounded-0" id="txtAutoComplete_Salary_' + rowindexid + '" style="pointer-events:none"> </select></div></td>' +
'<td> <div class="input-group w-75 rounded-0 "> <select class="ddl_CalculationType form-control border-top-0 border-right-0 border-left-0 rounded-0" id="ddl_CalculationType_' + rowindexid + '" style="pointer-events:none"> </select></div></td>' +
'<td class="pr-40"> <input type="text" class="txt_CalculationAmount form-control text-right" id="txt_CalculationAmount_' + rowindexid + '" data-trnsactid="' + rowindexid + '" value="0"></td>' +
'<td class="input-group-append"> <input type="text" id="txt_AmountMonthly_' + rowindexid + '" class="txt_AmountMonthly form-control w-100 text-right" value="0" style="pointer-events:none"> </td>' +
'<td align="right" class="pl-40"> <input type="text" id = "txt_AmountAnnually_' + rowindexid + '" class="txt_AmountAnnually form-control w-100 text-right" value="0" style="pointer-events:none"> </td>';
html += '</tr></tbody>';
$("#employeerevisesalaryearningdetails_table").append(html);
for (var j = 1; j < 4; j++) {
if (Reimbursementsdata.CalculationType == j + "") {
var reportColumnText = new Option(Reimbursementsdata.CalculationTypeName, Reimbursementsdata.CalculationType, true);
$('#ddl_CalculationType_' + employeesalarydetailsubcomponentid + '').append(reportColumnText);
$('#ddl_CalculationType_' + employeesalarydetailsubcomponentid + '').val(Reimbursementsdata.CalculationType).trigger('change');
}
}
for (var k = 1; k < 33; k++) {
if (Reimbursementsdata.ReimbursementTypeId == k + "") {
$("#txtAutoComplete_Salary_" + employeesalarydetailsubcomponentid).append('<option value="' + Reimbursementsdata.ReimbursementTypeId + '">' + Reimbursementsdata.EarningTypeName + '</option>');
}
}
$('#txt_AmountMonthly_' + rowindexid + '').val((Reimbursementsdata.AmountMonthly).toFixed(2));
$('#txt_AmountAnnually_' + rowindexid + '').val((Reimbursementsdata.AmountAnnually).toFixed(2));
$("#txt_CalculationAmount_" + rowindexid + '').val(Reimbursementsdata.CalculationAmont);
}
$("#employeerevisesalaryearningdetails_table:last").find(".txt_CalculationAmount").keyup(function () {
let amount = $(this).val();
let salarytemplateid = $(this).attr("data-trnsactid");
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().employeerevisesalaryitem_Calculation(salarytemplateid, amount);
});
$("#employeerevisesalaryearningdetails_table").removeClass('d-none');
}
else {
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().reviseemployeesalary(empid);
}
});
});
}
reviseearingControlObj(trnId) {
var salarytemplateitems = new Array();
var componentitems = ['Earnings', 'Deductions', 'Reimbursements'];
for (var i = 0; i < componentitems.length; i++) {
let itemobj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0][componentitems[i]];
for (var j = 0; j < itemobj.length; j++) {
let templateitems = itemobj[j];
let employeesalartdetailid = Number($(".hdn_employeesalarydetailid").val());
let templateid = Number($(".txtAutoComplete_salarytemplateid").val());
let earningtypeid = Number(templateitems.earningtype);
let deductionplanid = Number(templateitems.deductionplanid);
let reimbursementtype = Number(templateitems.reimbursementtype);
let earningtypename = templateitems.earningtypename;
let calculationtype = Number(templateitems.calculationtype);
let calculationamount = templateitems.amount;
let amountmonthly = templateitems.monthlyamount;
let amountannually = templateitems.annualamount;
let salarycomponentid = templateitems.salarycomponentid;
salarytemplateitems.push({
TemplateId: templateid,
EarningTypeId: earningtypeid,
DeductionPlanId: deductionplanid,
ReimbursementTypeId: reimbursementtype,
SalaryComponentId: salarycomponentid,
Salarycomponents: earningtypename,
CalculationType: calculationtype,
CalculationAmount: calculationamount,
AmountMonthly: amountmonthly,
AmountAnnually: amountannually,
EmployeeSalaryDetailId: isNaN(employeesalartdetailid) ? 0 : employeesalartdetailid
});
}
}
return salarytemplateitems;
}
changeAnnualctcdata() {
$(".txt_annualctc").keyup(function () {
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().employeerevisectc_calculation();
});
}
employeerevisesalaryitem_Calculation(salarytemplateid, amount) {
if (Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Earnings.find(x => x.salarytemplateid == salarytemplateid)) {
let earningobj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Earnings.find(x => x.salarytemplateid == salarytemplateid);
earningobj.amount = Number(amount);
}
if (Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Deductions.find(x => x.salarytemplateid == salarytemplateid)) {
let deductionobj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Deductions.find(x => x.salarytemplateid == salarytemplateid);
deductionobj.amount = Number(amount);
}
if (Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Reimbursements.find(x => x.salarytemplateid == salarytemplateid)) {
let reimbursementobj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Reimbursements.find(x => x.salarytemplateid == salarytemplateid);
reimbursementobj.amount = Number(amount);
}
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().employeerevisectc_calculation();
}
employeerevisectc_calculation() {
var annualctc = Number($(".txt_annualctc").val());
let earningobj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Earnings;
let deductionobj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Deductions;
let reimbursementobj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Reimbursements;
if (earningobj != null) {
for (var i = 0; i < earningobj.length; i++) {
let earningdata = earningobj[i];
let amount = earningdata.amount;
let calculationtype = earningdata.calculationtype;
let earningtypeid = earningdata.earningtype;
let earningtypename = earningdata.earningtypename;
let salarytemplateid = earningdata.salarytemplateid;
let isadded = earningdata.isadded;
if (earningtypeid == 1 || earningtypeid == 17) {
isadded = false;
}
if (calculationtype == 1) {
var annualctc = Number($(".txt_annualctc").val());
let annualamount = 0;
let monthlyamount = 0;
if (earningtypeid == 17) {
let basicsalobj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Earnings.find(x => x.earningtypename.toLowerCase() == 'basic');
let basicanualamount = basicsalobj.annualamount;
annualamount = Math.round(annualctc - basicanualamount);
monthlyamount = Math.round(annualamount / 12);
}
else {
annualamount = Math.round(amount * 12);
monthlyamount = amount;
}
let obj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Earnings.find(x => x.salarytemplateid == salarytemplateid);
if (isadded == true) {
let fixedAllowanceobj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Earnings.find(x => x.earningtype == 17);
fixedAllowanceobj.amount = fixedAllowanceobj.monthlyamount - monthlyamount;
fixedAllowanceobj.monthlyamount = fixedAllowanceobj.monthlyamount - monthlyamount;
fixedAllowanceobj.annualamount = fixedAllowanceobj.annualamount - annualamount;
}
obj.annualamount = annualamount;
obj.monthlyamount = monthlyamount;
obj.amount = monthlyamount;
}
if (calculationtype == 2) {
let basicsalobj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Earnings.find(x => x.earningtypename.toLowerCase() == 'basic');
let basicanualamount = basicsalobj.annualamount;
let annualamount = Math.round(basicanualamount * (amount / 100));
let monthlyamount = Math.round(annualamount / 12);
let obj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Earnings.find(x => x.salarytemplateid == salarytemplateid);
if (isadded == true) {
let fixedAllowanceobj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Earnings.find(x => x.earningtype == 17);
fixedAllowanceobj.amount = fixedAllowanceobj.monthlyamount - monthlyamount;
fixedAllowanceobj.monthlyamount = fixedAllowanceobj.monthlyamount - monthlyamount;
fixedAllowanceobj.annualamount = fixedAllowanceobj.annualamount - annualamount;
}
obj.annualamount = annualamount;
obj.monthlyamount = monthlyamount;
}
if (calculationtype == 3) {
var annualctc = Number($(".txt_annualctc").val());
let annualamount = Math.round(annualctc * (amount / 100));
let monthlyamount = Math.round(annualamount / 12);
let obj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Earnings.find(x => x.salarytemplateid == salarytemplateid);
if (isadded == true) {
let fixedAllowanceobj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Earnings.find(x => x.earningtype == 17);
fixedAllowanceobj.amount = fixedAllowanceobj.monthlyamount - monthlyamount;
fixedAllowanceobj.monthlyamount = fixedAllowanceobj.monthlyamount - monthlyamount;
fixedAllowanceobj.annualamount = fixedAllowanceobj.annualamount - annualamount;
}
obj.annualamount = annualamount;
obj.monthlyamount = monthlyamount;
}
}
}
if (deductionobj != null) {
for (var i = 0; i < deductionobj.length; i++) {
let deductiondata = deductionobj[i];
let amount = deductiondata.amount;
let calculationtype = deductiondata.calculationtype;
let earningtypeid = deductiondata.earningtype;
let earningtypename = deductiondata.earningtypename;
let salarytemplateid = deductiondata.salarytemplateid;
let isadded = deductiondata.isadded;
var annualctc = Number($(".txt_annualctc").val());
if (calculationtype == 1) {
let annualamount = 0;
let monthlyamount = 0;
annualamount = amount * 12;
monthlyamount = amount;
let obj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Deductions.find(x => x.salarytemplateid == salarytemplateid);
obj.annualamount = Math.round(annualamount);
obj.monthlyamount = Math.round(monthlyamount);
obj.amount = Math.round(monthlyamount);
}
if (calculationtype == 2) {
let basicsalobj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Earnings.find(x => x.earningtypename.toLowerCase() == 'basic');
let basicanualamount = basicsalobj.annualamount;
let annualamount = basicanualamount * (amount / 100);
let monthlyamount = annualamount / 12;
let obj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Deductions.find(x => x.salarytemplateid == salarytemplateid);
obj.annualamount = Math.round(annualamount);
obj.monthlyamount = Math.round(monthlyamount);
}
if (calculationtype == 3) {
let annualamount = annualctc * (amount / 100);
let monthlyamount = annualamount / 12;
let obj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Deductions.find(x => x.salarytemplateid == salarytemplateid);
obj.annualamount = Math.round(annualamount);
obj.monthlyamount = Math.round(monthlyamount);
}
}
}
if (reimbursementobj != null) {
for (var i = 0; i < reimbursementobj.length; i++) {
let reimbursementdata = reimbursementobj[i];
let amount = reimbursementdata.amount;
let calculationtype = reimbursementdata.calculationtype;
let earningtypeid = reimbursementdata.earningtype;
let earningtypename = reimbursementdata.earningtypename;
let salarytemplateid = reimbursementdata.salarytemplateid;
let isadded = reimbursementdata.isadded;
var annualctc = Number($(".txt_annualctc").val());
if (calculationtype == 1) {
let annualamount = 0;
let monthlyamount = 0;
annualamount = amount * 12;
monthlyamount = amount;
let obj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Reimbursements.find(x => x.salarytemplateid == salarytemplateid);
obj.annualamount = Math.round(annualamount);
obj.monthlyamount = Math.round(monthlyamount);
obj.amount = Math.round(monthlyamount);
}
}
}
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().reviseadjustmentfixedallowance();
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().revisebindemployeectcdata();
}
reviseadjustmentfixedallowance() {
var total_Deductionsannualamount = 0;
var total_Deductionsmonthlyamount = 0;
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Deductions.forEach(x => { total_Deductionsannualamount += x.annualamount; });
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Deductions.forEach(x => { total_Deductionsmonthlyamount += x.monthlyamount; });
let fixedAllowanceobj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Earnings.find(x => x.earningtype == 17);
fixedAllowanceobj.amount = fixedAllowanceobj.monthlyamount - total_Deductionsmonthlyamount;
fixedAllowanceobj.monthlyamount = fixedAllowanceobj.monthlyamount - total_Deductionsmonthlyamount;
fixedAllowanceobj.annualamount = fixedAllowanceobj.annualamount - total_Deductionsannualamount;
var total_Reimbursementannualamount = 0;
var total_Reimbursementmonthlyamount = 0;
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Reimbursements.forEach(x => { total_Reimbursementannualamount += x.annualamount; });
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Reimbursements.forEach(x => { total_Reimbursementmonthlyamount += x.monthlyamount; });
fixedAllowanceobj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0].Earnings.find(x => x.earningtype == 17);
fixedAllowanceobj.amount = fixedAllowanceobj.monthlyamount - total_Reimbursementmonthlyamount;
fixedAllowanceobj.monthlyamount = fixedAllowanceobj.monthlyamount - total_Reimbursementmonthlyamount;
fixedAllowanceobj.annualamount = fixedAllowanceobj.annualamount - total_Reimbursementannualamount;
}
revisebindemployeectcdata() {
var componentitems = ['Earnings', 'Deductions', 'Reimbursements'];
for (var i = 0; i < componentitems.length; i++) {
var obj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0][componentitems[i]];
for (var j = 0; j < obj.length; j++) {
let data = obj[j];
let amount = data.amount;
let calculationtype = data.calculationtype;
let earningtype = data.earningtype;
let earningtypename = data.earningtypename;
let salarytemplateid = data.salarytemplateid;
let monthlyamount = data.monthlyamount;
let annualamount = data.annualamount;
$("#txt_AmountMonthly_" + salarytemplateid).val(monthlyamount);
$("#txt_AmountAnnually_" + salarytemplateid).val(annualamount);
$("#txt_CalculationAmount_" + salarytemplateid).val(amount);
for (var k = 1; k < 4; k++) {
if (calculationtype == k + "") {
var reportColumnText = new Option(data.calculationtypename, data.calculationtype, true);
$('#ddl_CalculationType_' + salarytemplateid + '').append(reportColumnText);
$('#ddl_CalculationType_' + salarytemplateid + '').val(data.calculationtype).trigger('change');
}
}
for (var l = 1; l < 33; l++) {
if (earningtype == l + "") {
$("#txtAutoComplete_Salary_" + salarytemplateid).append('<option value="' + earningtype + '">' + earningtypename + '</option>');
}
}
}
}
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().grandTotal();
}
grandTotal() {
var monthlytotal = 0;
var annuallytotal = 0;
var componentitems = ['Earnings', 'Deductions', 'Reimbursements'];
for (var i = 0; i < componentitems.length; i++) {
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0][componentitems[i]].forEach(x => { annuallytotal += x.annualamount; });
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().emprevise_Array[0][componentitems[i]].forEach(x => { monthlytotal += x.monthlyamount; });
}
$("#AmountMonthly").text(Math.round(monthlytotal));
$("#AmountAnnual").text(Math.round(annuallytotal));
}
revisecalculation() {
$(".txt_revisepercentage").addClass("hidden");
$(".txt_revisepercentage").keyup(function () {
var calculationamount = Number($(".txt_revisepercentage ").val());
var annualctc = Number($(".txt_annualctc").val());
var amount = Number(calculationamount / 100);
var salctc = Number(annualctc * amount) + annualctc;
$(".txt_annualctc").val(salctc);
Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.ReviseEmployeeSalary.Instance().employeerevisectc_calculation();
});
$(".rdb_revisecalculationtype_1").click(function () {
if ($(".rdb_revisecalculationtype_1").prop("checked") == true) {
$(".txt_revisepercentage").removeClass("hidden");
}
else {
$(".txt_revisepercentage").addClass("hidden");
}
});
$(".rdb_revisecalculationtype_2").click(function () {
if ($(".rdb_revisecalculationtype_2").prop("checked") == true) {
$(".txt_revisepercentage").addClass("hidden");
}
else {
$(".txt_revisepercentage").removeClass("hidden");
}
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new ReviseEmployeeSalary();
}
return this.instance;
}
}
EmployeeSalary.ReviseEmployeeSalary = ReviseEmployeeSalary;
})(EmployeeSalary = Controls.EmployeeSalary || (Controls.EmployeeSalary = {}));
})(Controls = Payroll.Controls || (Payroll.Controls = {}));
})(Payroll = Hrms.Payroll || (Hrms.Payroll = {}));
})(Hrms = Apps.Hrms || (Apps.Hrms = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
File diff suppressed because one or more lines are too long
@@ -0,0 +1,319 @@
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let Hrms;
(function (Hrms) {
let Payroll;
(function (Payroll) {
class IncomeTaxCalculation extends Unibase.Platform.Core.BaseComponent {
init(containerid) {
var instance = this;
let html = `<div class="income-tax-widget" id="incomeTaxWidget_${containerid}">
<div class="card">
<div class="card-header"><div class="card-title biz-highlight-bg-color text-truncate mb-0 font-weight-600">Income Tax Calculation</div></div>
<div class="card-body">
<form id="input-section" onsubmit="return false">
<div class="row pa-10">
<div class="col-md-9 col-sm-9 col-xs-12 list-item-main-title">
Yearly Income from Salary
</div>
<div class="col-md-3 col-sm-3 input-field text-right">
<input class="form-control" type="number" id="grossPay">
</div>
</div>
<div class="row pa-10">
<div class="col-md-9 col-sm-9 col-xs-12">
Age
</div>
<div class="col-md-3 col-sm-3 input-field text-right">
<select name="scope" id="age" class="age-field form-control">
<option value="lessThan60">Less than 60</option>
<option value="between60To80">60 - 80</option>
<option value="above80">Above 80</option>
</select>
</div>
</div>
<div class="add-income-details-toggle pa-15 mb-20">
<a href="javascript:;" id="toggleOtherIncomeSectionBtn"><span style="font-size: 20px;">+</span> Income from Other Sources</a> <small>(Interest on FD and Let-out Property)</small>
</div>
<div class="other-earnings-table hidden">
<hr style="margin: 10px 0;">
<div class="row pa-10">
<div class="col-md-9 col-sm-9 col-xs-12">
Interest from Savings Bank Accounts / FD Accounts
</div>
<div class="col-md-3 col-sm-3 input-field text-right">
<input class="form-control" type="number" id="interestFromSavings">
</div>
</div>
<div class="row pa-10">
<div class="col-md-9 col-sm-9 col-xs-12">
Rental Income Received <small>(Let-out Property)</small>
</div>
<div class="col-md-3 col-sm-3 input-field text-right">
<input class="form-control" type="number" id="rentalIncome">
</div>
</div>
<div class="row pa-10">
<div class="col-md-9 col-sm-9 col-xs-12">
Municipal Tax Paid <small>(Let-out Property)</small>
</div>
<div class="col-md-3 col-sm-3 input-field text-right">
<input class="form-control" type="number" id="municipalTax">
</div>
</div>
<div class="row pa-10">
<div class="col-md-9 col-sm-9 col-xs-12">
Interest paid on Housing Loan <small>(Let-out Property)</small>
</div>
<div class="col-md-3 col-sm-3 input-field text-right">
<input class="form-control" type="number" id="ipoHousingLoanInterest">
</div>
</div>
<div class="row pa-10">
<div class="col-md-9 col-sm-9 col-xs-12">
Other Income, if any
</div>
<div class="col-md-3 col-sm-3 input-field text-right">
<input class="form-control" type="number" id="otherIncome">
</div>
</div>
</div>
<div class="section-header pa-10 list-item-main-title">
Exemption Details
<span class="tooltip-entity ml-10" data-tooltip="true" title="Exemptions cannot be availed in the new tax regime. The exemption details collected here will be used to calculate tax under the old regime and compared with the tax calculated under new regime.">
<i class="fa fa-info-circle" aria-hidden="true"></i>
</span>
</div>
<hr>
<div class="row pa-10 pt-25">
<div class="col-md-9 col-sm-9 col-xs-12">
HRA and Other Exemptions
</div>
<div class="col-md-3 col-sm-3 input-field text-right">
<input class="form-control" type="number" id="_otherExemptions">
</div>
</div>
<div class="row pa-10">
<div class="col-md-9 col-sm-9 col-xs-12">
Interest paid on Housing Loan
</div>
<div class="col-md-3 col-sm-3 input-field text-right">
<input class="form-control" type="number" id="_interestOnHousingLoan">
</div>
</div>
<div class="row pa-10">
<div class="col-md-9 col-sm-9 col-xs-12">
80C <small>(PF, PPF, Insurance Premium)</small>
</div>
<div class="col-md-3 col-sm-3 input-field text-right">
<input class="form-control _cinvestments" type="number">
</div>
</div>
<div class="row pa-10">
<div class="col-md-9 col-sm-9 col-xs-12">
80CCD <small>(Employee's contribution to NPS)</small>
</div>
<div class="col-md-3 col-sm-3 input-field text-right">
<input class="form-control _ccdinvestments" type="number">
</div>
</div>
<div class="row pa-10">
<div class="col-md-9 col-sm-9 col-xs-12">
80CCD(1B) <small>(Additional Contribution to NPS)</small>
</div>
<div class="col-md-3 col-sm-3 input-field text-right">
<input class="form-control _ccd1binvestments" type="number">
</div>
</div>
<div class="row pa-10">
<div class="col-md-9 col-sm-9 col-xs-12">
80D <small>(Medical Insurance Premium)</small>
</div>
<div class="col-md-3 col-sm-3 input-field text-right">
<input class="form-control _dinvestments" type="number">
</div>
</div>
<div class="row pa-10">
<div class="col-md-9 col-sm-9 col-xs-12">
80E <small>(Interest paid on Education Loan)</small>
</div>
<div class="col-md-3 col-sm-3 input-field text-right">
<input class="form-control _einvestments" type="number">
</div>
</div>
<div class="row pa-10">
<div class="col-md-9 col-sm-9 col-xs-12">
80EEA <small>(Interest paid on Home Loan for Affordable Housing)</small>
</div>
<div class="col-md-3 col-sm-3 input-field text-right">
<input class="form-control _eeainvestments" type="number">
</div>
</div>
<div class="row pa-10">
<div class="col-md-9 col-sm-9 col-xs-12">
80EEB <small>(Interest paid on Loan for Purchase of Electrical Vehicle)</small>
</div>
<div class="col-md-3 col-sm-3 input-field text-right">
<input class="form-control _eebinvestments" type="number">
</div>
</div>
<div class="row pa-10">
<div class="col-md-9 col-sm-9 col-xs-12">
80G <small>(Donations to Charity)</small>
</div>
<div class="col-md-3 col-sm-3 input-field text-right">
<input class="form-control _ginvestments" type="number">
</div>
</div>
<hr>
<button type="submit" class="btn-primary btn-sm submit-btn btn_calculateincometax" onclick="Bizgaze.Apps.Hrms.Payroll.IncomeTaxCalculation.Instance().IncomeTaxCalculate();">Calculate Income Tax</button>
</form>
</div>
</div>
</div>`;
html += `<div class="incometaxdetails p-5 bg-white"></div>`;
$(`#${containerid}`).html(html);
const containerEl = $(`#incomeTaxWidget_${containerid}`);
$(".incometaxdetails").addClass("hidden");
$(".income-tax-widget").removeClass("hidden");
containerEl.find('#toggleOtherIncomeSectionBtn').click(function () {
containerEl.find('.add-income-details-toggle').addClass('hidden');
containerEl.find('.other-earnings-table').removeClass('hidden');
});
}
IncomeTaxCalculate() {
var instance = this;
var postData = {
OtherExemptions: Number($("#_otherExemptions").val()),
Age: $("#age").val().toString(),
GrossPay: Number($("#grossPay").val()),
InterestOnHousingLoan: Number($("#_interestOnHousingLoan").val()),
InterestFromSavings: Number($("#interestFromSavings").val()),
RentalIncome: Number($("#rentalIncome").val()),
MunicipalTax: Number($("#municipalTax").val()),
IpoHousingLoanInterest: Number($("#ipoHousingLoanInterest").val()),
OtherIncome: Number($("#otherIncome").val()),
CInvestments: Number($("._cinvestments").val()),
CCDInvestments: Number($("._ccdinvestments").val()),
CCD1Binvestments: Number($("._ccd1binvestments").val()),
DInvestments: Number($("._dinvestments").val()),
EInvestments: Number($("._einvestments").val()),
EEAInvestments: Number($("._eeainvestments").val()),
EEBInvestments: Number($("._eebinvestments").val()),
GInvestments: Number($("._ginvestments").val())
};
instance.fileCacheHelper.loadJsFiles(["apps/hrms/payroll/managers/payrollmanager.js", "apps/hrms/payroll/controls/incometaxcalculation.js"], function () {
Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().incomeTaxCalculation(postData).then(function (response) {
var result = response.result;
if (result != null) {
debugger;
var html = `<div class="p-5 bg-white"><table class="w-100 table table-bordered">
<thead>
<tr>
<th class="text-uppercase font-weight-600 ">Components</th>
<th class="text-right text-uppercase font-weight-600">Old Tax Regime</th>
<th class="text-right text-uppercase font-weight-600">New Tax Regime</th>
</tr>
</thead>
<tbody>
<tr>
<td >Total Gross Income</td>
<td class="text-right ">₹ ${result[0].GrossPay}</td>
<td class="text-right ">₹ ${result[0].GrossPay}</td>
</tr>
<tr>
<td>Total Eligible Deductions</td>
<td class="text-right ">₹${result[0].EligibleDeductions}</td>
<td class="text-right ">₹${result[0].EligibleDeductions}</td>
</tr>
<tr>
<td>Taxable Income</td>
<td class="text-right ">₹ ${result[0].OldTaxableIncome}</td>
<td class="text-right ">₹ ${result[0].NewTaxableIncome}</td>
</tr>
<tr>
<td>Tax on Total Income</td>
<td class="text-right ">₹${result[0].OldTaxTotalIncome}</td>
<td class="text-right ">₹${result[0].NewTaxTotalIncome}</td>
</tr>
<tr>
<td>Surcharge</td>
<td class="text-right ">₹0.00</td>
<td class="text-right ">₹0.00</td>
</tr>
<tr>
<td>Health and Education Cess</td>
<td class="text-right ">₹${result[0].CessOnOldTaxAmount}</td>
<td class="text-right ">₹${result[0].CessOnNewTaxAmount}</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>Total Tax to be Paid</th>
<th class="text-right ">₹${result[0].OldTaxRegime_Amount}</th>
<th class="text-right ">₹${result[0].NewTaxRegime_Amount}</th>
</tr>
</tfoot>
</table><div class="d-flex"><a class="btn btn-outline-danger btn_editdate">Edit Data</a><a class="btn btn_startover">Start Over</a></div></div>`;
$(".incometaxdetails").removeClass("hidden");
$(".income-tax-widget").addClass("hidden");
$(".incometaxdetails").html(html);
$(".btn_editdate").click(function () {
$(".incometaxdetails").addClass("hidden");
$(".income-tax-widget").removeClass("hidden");
});
$(".btn_startover").click(function () {
$(".incometaxdetails").addClass("hidden");
$(".income-tax-widget").removeClass("hidden");
$("#_otherExemptions").val("");
$("#grossPay").val("");
$("#_interestOnHousingLoan").val("");
$("#rentalIncome").val("");
$("#municipalTax").val("");
$("#ipoHousingLoanInterest").val("");
$("#otherIncome").val("");
$("._cinvestments").val("");
$("._ccdinvestments").val("");
$("._dinvestments").val("");
$("._einvestments").val("");
$("._eeainvestments").val("");
$("._eebinvestments").val("");
$("._ginvestments").val("");
});
}
});
});
}
static Instance() {
if (this.instance === undefined) {
this.instance = new IncomeTaxCalculation();
}
return this.instance;
}
}
Payroll.IncomeTaxCalculation = IncomeTaxCalculation;
})(Payroll = Hrms.Payroll || (Hrms.Payroll = {}));
})(Hrms = Apps.Hrms || (Apps.Hrms = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
@@ -0,0 +1,278 @@
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 = `<div class="ul_terminateemployeedetails">
<div class="terminateemployeeearningdetails">
<div class='row text-dark font-weight-600'>
<div class='col-md-6'>Additional Earnings</div>
<div class='col-md-6'>AMOUNT</div>
</div>
<ul id="earningTypesList"></ul>
<ul id="transactionList"></ul>
<a href="javascript:;" id="addNewEarningBtn" class="btn btn-primary btn-sm mt-10" onclick="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().addearnings();" data-count="0"> + Add Earning</a>
<input type="hidden" id="hdn_termenateemployeeearningcontrol" class="value-control"
value="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().employeeearningobject();"/></div>`;
html += ` <div class="terminateemployeedeductiondetails">
<div class='row text-dark font-weight-600'>
<div class='col-md-6'>Deductions</div>
<div class='col-md-6'>AMOUNT</div>
</div>
<ul id="DeductionList"></ul>
<ul id="DeductiontransactionList"></ul>
<a href="javascript:;" id="addNewDeductionBtn" class="btn btn-primary btn-sm mt-10" onclick="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().addDeduction();" data-count="0">+ Add Deduction</a><input type="hidden" id="hdn_terminateemployeedeductioncontrol" class="value-control"
value="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().employeedeductionobject();"/></div></div></div>`;
$("#" + 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 = `<li class="row my-10 liupdatepayrunearningdetails li_terminateemployeeearningdetails" id="earningTypeItem_${earningTypeId}">
<input type="hidden" class='hf_earningtypeid' value='${earningTypeId}'/>
<input type="hidden" class='hf_isactive' value='true'/>
<input type="hidden" id="hfAutoCompleteId_SalaryComponents_${earningTypeId}" data-earningid=${earningTypeId} class="hf_earningtypeid" value="${earningTypeId}"/>
<div class='col-md-5'><input type="text" class="form-control txt_earningname_${data.SalaryComponentId}" value='${response.result[i].PaySlipName}' /></div>
<div class='col-md-5'><input type="text" id="txt_earningamount_${data.SalaryComponentId}" class="form-control txt_amount" value='${response.result[i].Amount}'></div>
<div class='col-md-2 text-right'><a href="javascript:;" class="btn btn-sm btn-outline-danger btn-icon btn-with-icon" onclick="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().${data.ComponentTypeId == 1 ? "deleteEarningType" : "deleteDeductionType"}(${data.SalaryComponentId})"><span class="btn-icon-wrap"><i class="las la-trash font-22"></i></span></a><input type="hidden" id="hdn_termenateemployeeearningcontrol" class="value-control"
value="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().employeeearningobject();"/></div>
</li>`;
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 = `<li class='row my-10 literminateemployeeearningdetails li_terminateemployeeearningdetails' id="earningTypeItem_${listCount}" >
<div class='col-md-5'>
<select class="form-control hf_salarycomponentid" class="txtAutoComplete_Salary" id ="txtAutoComplete_Salary_${listCount}" data-placeholder="Select"></select><input type="hidden" id="hfAutoCompleteId_SalaryComponents_${listCount}" class="hf_earningtypeid" /><input type="hidden" class='hf_isactive' value='true'/></div>
<div class='col-md-5'><input type="text" id="txt_earningamount_${listCount}" class="form-control txt_amount" onpaste = "return Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().isNumberKey(event)" oninput = "return Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().isNumberKey(event)"/></div>
<div class='col-md-2 text-right'><a href="javascript:;" class="btn btn-sm btn-outline-danger btn-icon btn-with-icon" onclick="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().deleteEarningType(${listCount})"><span class="btn-icon-wrap"><i class="las la-trash font-22"></i></span></a></div>
</li>`;
$("#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 = `<li class='row my-10 literminateemployeedeductiondetails li_terminateemployeeearningdetails' id="earningTypeItem_${listCount}">
<input type="hidden" class='hf_isactive' value='true'/>
<div class='col-md-5'>
<select class="form-control hf_salarycomponentid" class="txtAutoComplete_deductionSalary" id ="txtAutoComplete_deductionSalary_${listCount}" data-placeholder="Select"></select><input type="hidden" id="hfAutoCompleteId_deductionSalaryComponents_${listCount}" class="hf_earningtypeid" /></div>
<div class='col-md-5'><input type="text" id="txt_earningamount_${listCount}" class="form-control txt_deductionamount_${listCount} txt_amount" onpaste = "return Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().isNumberKey(event)" oninput = "return Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().isNumberKey(event)"/></div>
<div class='col-md-2 text-right'><a href="javascript:;" class="btn btn-sm btn-outline-danger btn-icon btn-with-icon" onclick="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.TerminateEmployee.Instance().deleteDeductionType(${listCount})"><span class="btn-icon-wrap"><i class="las la-trash font-22"></i></span></a></div>
</li>`;
$("#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 = {}));
@@ -0,0 +1,33 @@
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_Settings extends Unibase.Platform.Core.BaseComponent {
loadSettingHtml(container) { }
bindControlData(controldatajson) { }
SaveControlData(controldatajson) { }
loadControlPropertiesHtml(controlpropList, container) { }
bindPropertySettings(prop) { }
savePropertySettings(prop) { }
static Instance() {
if (this.instance === undefined) {
this.instance = new TerminateEmployee_Settings();
}
return this.instance;
}
}
PayRun.TerminateEmployee_Settings = TerminateEmployee_Settings;
})(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 = {}));
@@ -0,0 +1,536 @@
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 = `<div class="ul_updatepayrundetails">
<div class="updatepayrunearningdetails">
<div class='row text-dark font-weight-600'>
<div class='col-md-6'>(+) EARNINGS</div>
<div class='col-md-6'>AMOUNT</div>
</div>
<ul id="earningTypesList"></ul>
<ul id="transactionList"></ul>
<a href="javascript:;" id="addNewEarningBtn" class="btn btn-primary btn-sm mt-10" onclick="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.UpdatePayRunDetails.Instance().addTransaction();" data-count="0"> + Add New</a>
<input type="hidden" id="hdn_updatepayrundetailscontrol" class="value-control" value="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.UpdatePayRunDetails.Instance().UpdatePayRunEarningsObject();"/>
</div>`;
html += `<div class="updatepayrundeductiondetails">
<div class='row text-dark font-weight-600'>
<div class='col-md-6'>(-) DEDUCTIONS</div>
<div class='col-md-6'>AMOUNT</div>
</div>
<div class='row font-weight-600'>
<div class='col-md-6'>Pre-Tax Deductions</div>
<div class='col-md-6'></div>
</div>
<ul id="PreTaxDeductionList"></ul>
<div class='row font-weight-600'>
<div class='col-md-6'>Taxes</div>
<div class='col-md-6'></div>
</div>
<ul id="DeductionTaxesList"></ul>
<div class='row font-weight-600'>
<div class='col-md-6'>Post-Tax Deductions</div>
<div class='col-md-6'></div>
</div>
<ul id="DeductionList"></ul>
<ul id="DeductiontransactionList"></ul>
<a href="javascript:;" id="addNewDeductionBtn" class="btn btn-primary btn-sm mt-10" onclick="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.UpdatePayRunDetails.Instance().addDeduction();" data-count="0"> + Add New</a>
<input type="hidden" id="hdn_updatepayrundetailscontrol" class="value-control" value="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.UpdatePayRunDetails.Instance().UpdatePayRunDeductionsObject();"/>
</div>`;
$("#" + 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 = `<li class='row my-10 listitems_component_${data.SalaryComponentId} liupdatepayrunearningdetails li_updatepayrundetails'>
<input type="hidden" class='hf_earningtypeid' value='${data.ComponentTypeId}'/>
<input type="hidden" class='hf_salarycomponentid' value='${data.SalaryComponentId}'/>
<input type="hidden" class='hf_isactive' value='${data.IsAdded}'/>`;
if (!data.IsAdded)
html += `<div class='col-md-5'><input type="text" class="form-control txt_earningname" value='${data.PaySlipName}' disabled /></div>
<div class='col-md-5'><input type="text" class="form-control txt_amount" disabled value='${data.Amount}'></div>
<div class='col-md-2'></div>
</li>`;
else
html += `<div class='col-md-5'><input type="text" class="form-control txt_earningname" value='${data.PaySlipName}' disabled /></div>
<div class='col-md-5'><input type="text" class="form-control txt_amount" value='${data.Amount}'></div>
<div class='col-md-2'><a href="javascript:;" class="btn btn-sm btn-outline-danger btn-icon btn-with-icon" onclick="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.UpdatePayRunDetails.Instance().deleteEarningType(${data.SalaryComponentId})"><span class="btn-icon-wrap"><i class="las la-trash font-22"></i></span></a></div>
</li>`;
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 = `<li class='row my-10 liupdatepayrunearningdetails li_updatepayrundetails ' id="earningTypeItem_${listCount}" >
<div class='col-md-5'>
<select class="form-control hf_salarycomponentid" id ="txtAutoComplete_Salary_${listCount}" data-placeholder="Select"></select><input type="hidden" id="hfAutoCompleteId_SalaryComponents_${listCount}" class="hf_earningtypeid" /><input type="hidden" class='hf_isactive' value='true'/></div>
<div class='col-md-5'><input type="text" class="form-control txt_amount"/></div>
<div class='col-md-2 text-right'><a href="javascript:;" class="btn btn-sm btn-outline-danger btn-icon btn-with-icon" onclick="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.UpdatePayRunDetails.Instance().deleteEarningType(${listCount})"><span class="btn-icon-wrap"><i class="las la-trash font-22"></i></span></a></div>
</li>`;
$("#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 = `<li class='row my-10 liupdatepayrundeductiondetails li_updatepayrundetails' id="deductionTypeItem_${listCount}" >
<input type="hidden" class='hf_isactive' value='true'/>
<div class='col-md-5'>
<select class="form-control hf_salarycomponentid" id ="txtAutoComplete_deductionSalary_${listCount}" data-placeholder="Select"></select><input type="hidden" class='hf_earningtypeid' value='0'/><input type="hidden" id="hfAutoCompleteId_deductionSalaryComponents_${listCount}" class="hf_deductiontypeid" /></div>
<div class='col-md-5'><input type="text" class="form-control txt_amount"/></div>
<div class='col-md-2 text-right'><a href="javascript:;" class="btn btn-sm btn-outline-danger btn-icon btn-with-icon" onclick="Bizgaze.Apps.Hrms.Payroll.Controls.PayRun.UpdatePayRunDetails.Instance().deleteDeductionType(${listCount})"><span class="btn-icon-wrap"><i class="las la-trash font-22"></i></span></a></div>
</li>`;
$("#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 = '<html><head><title>Print</title><link rel="stylesheet" href="lib/bizgaze/print.css" /><link rel="stylesheet" href="lib/bootstrap/bootstrap-theme.min.css" /></head><body>';
content += data;
content += "<script>print();</script>";
content += '</body></html>';
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 = {}));
File diff suppressed because one or more lines are too long
@@ -0,0 +1,33 @@
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_Settings extends Unibase.Platform.Core.BaseComponent {
loadSettingHtml(container) { }
bindControlData(controldatajson) { }
SaveControlData(controldatajson) { }
loadControlPropertiesHtml(controlpropList, container) { }
bindPropertySettings(prop) { }
savePropertySettings(prop) { }
static Instance() {
if (this.instance === undefined) {
this.instance = new UpdatePayRunDetails_Settings();
}
return this.instance;
}
}
PayRun.UpdatePayRunDetails_Settings = UpdatePayRunDetails_Settings;
})(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 = {}));
@@ -0,0 +1 @@
{"version":3,"file":"updatepayrundetails.settings.js","sourceRoot":"","sources":["updatepayrundetails.settings.ts"],"names":[],"mappings":"AAAA,IAAU,OAAO,CA4BhB;AA5BD,WAAU,OAAO;IACb,IAAiB,IAAI,CA0BpB;IA1BD,WAAiB,IAAI;QACjB,IAAiB,IAAI,CAwBpB;QAxBD,WAAiB,IAAI;YACjB,IAAiB,OAAO,CAsBvB;YAtBD,WAAiB,OAAO;gBACpB,IAAiB,QAAQ,CAoBxB;gBApBD,WAAiB,QAAQ;oBACrB,IAAiB,MAAM,CAkBtB;oBAlBD,WAAiB,MAAM;wBACnB,MAAa,4BAA6B,SAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa;4BAEjF,eAAe,CAAC,SAAS,IAAI,CAAC;4BAC9B,eAAe,CAAC,eAAe,IAAI,CAAC;4BACpC,eAAe,CAAC,eAAe,IAAI,CAAC;4BACpC,yBAAyB,CAAC,eAAsC,EAAE,SAAS,IAAI,CAAC;4BAChF,oBAAoB,CAAC,IAAgB,IAAI,CAAC;4BAC1C,oBAAoB,CAAC,IAAgB,IAAI,CAAC;4BAG1C,MAAM,CAAC,QAAQ;gCACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;oCAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,4BAA4B,EAAE,CAAC;iCACtD;gCACD,OAAO,IAAI,CAAC,QAAQ,CAAC;4BACzB,CAAC;yBACJ;wBAhBY,mCAA4B,+BAgBxC,CAAA;oBACL,CAAC,EAlBgB,MAAM,GAAN,eAAM,KAAN,eAAM,QAkBtB;gBACL,CAAC,EApBgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAoBxB;YACL,CAAC,EAtBgB,OAAO,GAAP,YAAO,KAAP,YAAO,QAsBvB;QACL,CAAC,EAxBgB,IAAI,GAAJ,SAAI,KAAJ,SAAI,QAwBpB;IACL,CAAC,EA1BgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QA0BpB;AACL,CAAC,EA5BS,OAAO,KAAP,OAAO,QA4BhB"}
@@ -0,0 +1,314 @@
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 = '<div class="input-group col-sm-6 mb-10"><input type="text" id="txt_100011620016131" class=" form-control txt_annualctc" placeholder="Annual CTC" data-placeholder="Enter Annual CTC" data-label="Annual CTC" data-regularexp="" onblur="Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().ctc_calculation()"></div>';
$(".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 = `<div class="settings-modal-container"><div class="modal fade" id="earningModal" data-backdrop="static" data-keyboard="false" tabindex="-1" role="dialog" aria-hidden="true"><div class="modal-dialog modal-dialog-centered" role="document"><div class="modal-content rounded-10"><div class="modal-header" style="border-style:dashed"><h5 class="modal-title ml-auto">Select salary components</h5><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true" class="badge badge-soft-danger font-20 rounded-circle pb-2 px-2">×</span></button></div><div class="modal-body"><div class="form-group branch-Section"><label class="control-label text-primary font-weight-500 mb-5 biz-highlight-text-color" for="ComponentTypesSelect">Salary Component Types</label><select class="form-control border border-top-0 border-right-0 border-left-0" style="width:100%" id="txtAutoComplete_SalaryComponenttype">
<option value=${Bizgaze.Apps.Hrms.Enums.ComponentTypes.Earnings}>Earnings</option>
<option value=${Bizgaze.Apps.Hrms.Enums.ComponentTypes.Reimbursements}>Reimbursements</option>
<option value=${Bizgaze.Apps.Hrms.Enums.ComponentTypes.FBPComponents}>FBPComponents</option>
<option value=${Bizgaze.Apps.Hrms.Enums.ComponentTypes.PreTaxDeductions}>Deductions</option>
<option value=${Bizgaze.Apps.Hrms.Enums.ComponentTypes.OneTimeEarnings}>OneTimeEarnings</option>
/*<option value=${Bizgaze.Apps.Hrms.Enums.ComponentTypes.Taxes}>Taxes</option>*/
</select><input type="hidden" id="hdnAutoComplete_SalaryComponenttype"></div><div class="form-group branch-Section"><label class="control-label text-primary font-weight-500 mb-5 biz-highlight-text-color" for="branchSelect">Salary Component</label><select class="form-control border border-top-0 border-right-0 border-left-0" style="width:100%" id="txtAutoComplete_Component"></select><input type="hidden" id="hdnAutoComplete_Component"></div><div class="text-center"><button class="hidden btn_addnew btn px-4 py-1 btn btn-sm btn-primary" onclick="Bizgaze.Apps.Hrms.Payroll.Controls.SalaryTemplate.Instance().addnew()">Apply</button></div></div></div></div></div></div>`;
$("#_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 = {}));
File diff suppressed because one or more lines are too long
@@ -0,0 +1,30 @@
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let Hrms;
(function (Hrms) {
let Payroll;
(function (Payroll) {
let Controls;
(function (Controls) {
class SalaryTemplate_Settings {
loadSettingHtml(container) { }
bindControlData(controldatajson) { }
SaveControlData(controldatajson) { }
loadControlPropertiesHtml(controlpropList, container) { }
bindPropertySettings(prop) { }
savePropertySettings(prop) { }
static Instance() {
if (this.instance === undefined) {
this.instance = new SalaryTemplate_Settings();
}
return this.instance;
}
}
Controls.SalaryTemplate_Settings = SalaryTemplate_Settings;
})(Controls = Payroll.Controls || (Payroll.Controls = {}));
})(Payroll = Hrms.Payroll || (Hrms.Payroll = {}));
})(Hrms = Apps.Hrms || (Apps.Hrms = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
@@ -0,0 +1 @@
{"version":3,"file":"salarytemplate.settings.js","sourceRoot":"","sources":["salarytemplate.settings.ts"],"names":[],"mappings":"AAAA,IAAU,OAAO,CAyBhB;AAzBD,WAAU,OAAO;IACb,IAAiB,IAAI,CAuBpB;IAvBD,WAAiB,IAAI;QACjB,IAAiB,IAAI,CAqBpB;QArBD,WAAiB,IAAI;YACjB,IAAiB,OAAO,CAmBvB;YAnBD,WAAiB,OAAO;gBACpB,IAAiB,QAAQ,CAiBxB;gBAjBD,WAAiB,QAAQ;oBACrB,MAAa,uBAAuB;wBAEhC,eAAe,CAAC,SAAS,IAAI,CAAC;wBAC9B,eAAe,CAAC,eAAe,IAAI,CAAC;wBACpC,eAAe,CAAC,eAAe,IAAI,CAAC;wBACpC,yBAAyB,CAAC,eAAsC,EAAE,SAAS,IAAI,CAAC;wBAChF,oBAAoB,CAAC,IAAgB,IAAI,CAAC;wBAC1C,oBAAoB,CAAC,IAAgB,IAAI,CAAC;wBAE1C,MAAM,CAAC,QAAQ;4BACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;gCAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,uBAAuB,EAAE,CAAC;6BACjD;4BACD,OAAO,IAAI,CAAC,QAAQ,CAAC;wBACzB,CAAC;qBACJ;oBAfY,gCAAuB,0BAenC,CAAA;gBACL,CAAC,EAjBgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAiBxB;YACL,CAAC,EAnBgB,OAAO,GAAP,YAAO,KAAP,YAAO,QAmBvB;QACL,CAAC,EArBgB,IAAI,GAAJ,SAAI,KAAJ,SAAI,QAqBpB;IACL,CAAC,EAvBgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAuBpB;AACL,CAAC,EAzBS,OAAO,KAAP,OAAO,QAyBhB"}
@@ -0,0 +1,102 @@
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let HRMS;
(function (HRMS) {
let Controls;
(function (Controls) {
class workweek extends Unibase.Platform.Core.BaseComponent {
init(formpropertyid, prop, callback) {
}
loadControl(containerid, prop) {
var html = '<div class="week_days"><h5 class="font-weight-600 mb-0">Select your work week<span class="text-danger">*</span></h5><p>The days worked in a calender week</p><div><div class="btn-group btn-group-toggle work_weeks" data-toggle="buttons"><input type = "hidden" id = "hdn_Earningscontrol" class="value-control" value = "Bizgaze.Apps.HRMS.Controls.workweek.Instance().workweekobj();" ><label class="btn btn-outline-primary"><input type="checkbox" name="options" id="option1" autocomplete="off" > SUN</label><label class="btn btn-outline-primary"><input type="checkbox" name="options" id="option2" autocomplete="off" > MON</label><label class="btn btn-outline-primary"><input type="checkbox" name="options" id="option3" autocomplete="off"> TUE</label><label class="btn btn-outline-primary"><input type="checkbox" name="options" id="option4" autocomplete="off" > WED</label><label class="btn btn-outline-primary"><input type="checkbox" name="options" id="option5" autocomplete="off"> THU</label><label class="btn btn-outline-primary"><input type="checkbox" name="options" id="option6" autocomplete="off"> FRI</label><label class="btn btn-outline-primary"><input type="checkbox" name="options" id="option7" autocomplete="off" > SAT</label></div></div></div>';
$("#" + containerid).html(html);
}
loadControlSettings(controlsettingjson, formpropertyid) {
}
loadPropertySettings(propertysettings, formpropertyid) {
return null;
}
bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
return null;
}
workweekobj() {
debugger;
var workweek = new Array();
$('.work_weeks').each(function (index) {
debugger;
var element = $(this);
var sunday = Number($("#option1").val());
var monday = Number($("#option2").val());
var tuesday = Number($("#option3").val());
var wednesday = Number($("#option4").val());
var thursday = Number($("#option5").val());
var friday = Number($("#option6").val());
var saturday = Number($("#option7").val());
if ($("#option1").prop("checked") == true) {
var sunday = 1;
}
else {
var sunday = 0;
}
if ($("#option2").prop("checked") == true) {
var monday = 1;
}
else {
var monday = 0;
}
if ($("#option3").prop("checked") == true) {
var tuesday = 1;
}
else {
var tuesday = 0;
}
if ($("#option4").prop("checked") == true) {
var wednesday = 1;
}
else {
var wednesday = 0;
}
if ($("#option5").prop("checked") == true) {
var thursday = 1;
}
else {
var thursday = 0;
}
if ($("#option6").prop("checked") == true) {
var friday = 1;
}
else {
var friday = 0;
}
if ($("#option7").prop("checked") == true) {
var saturday = 1;
}
else {
var saturday = 0;
}
workweek.push({
sunday: sunday,
monday: monday,
tuesday: tuesday,
wednesday: wednesday,
thursday: thursday,
friday: friday,
saturday: saturday
});
});
return workweek;
}
static Instance() {
if (this.instance === undefined) {
this.instance = new workweek();
}
return this.instance;
}
}
Controls.workweek = workweek;
})(Controls = HRMS.Controls || (HRMS.Controls = {}));
})(HRMS = Apps.HRMS || (Apps.HRMS = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
@@ -0,0 +1 @@
{"version":3,"file":"workweek.component.js","sourceRoot":"","sources":["workweek.component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let HRMS;
(function (HRMS) {
let Controls;
(function (Controls) {
class workweek_Setting {
loadSettingHtml() {
return ``;
}
bindControlData(controldatajson) {
return "";
}
SaveControlData(controldatajson) {
return "";
}
loadControlPropertiesHtml(Container) {
return ``;
}
bindPropertySettings(prop) {
var propertySettings = prop.PropertySettings;
return "";
}
savePropertySettings(prop) {
var propertySettings = prop.PropertySettings;
return "";
}
static Instance() {
if (this.instance === undefined) {
this.instance = new workweek_Setting();
}
return this.instance;
}
}
Controls.workweek_Setting = workweek_Setting;
})(Controls = HRMS.Controls || (HRMS.Controls = {}));
})(HRMS = Apps.HRMS || (Apps.HRMS = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
@@ -0,0 +1 @@
{"version":3,"file":"workweek.setting.js","sourceRoot":"","sources":["workweek.setting.ts"],"names":[],"mappings":"AAAA,IAAU,OAAO,CAoChB;AApCD,WAAU,OAAO;IACb,IAAiB,IAAI,CAkCpB;IAlCD,WAAiB,IAAI;QACjB,IAAiB,IAAI,CAgCpB;QAhCD,WAAiB,IAAI;YACjB,IAAiB,QAAQ,CA8BxB;YA9BD,WAAiB,QAAQ;gBACrB,MAAa,gBAAgB;oBACzB,eAAe;wBACX,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,eAAe,CAAC,eAAoB;wBAChC,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,eAAe,CAAC,eAAoB;wBAChC,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,yBAAyB,CAAC,SAAS;wBAC/B,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,oBAAoB,CAAC,IAAgB;wBACjC,IAAI,gBAAgB,GAA6B,IAAI,CAAC,gBAAgB,CAAC;wBACvE,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,oBAAoB,CAAC,IAAgB;wBACjC,IAAI,gBAAgB,GAA6B,IAAI,CAAC,gBAAgB,CAAC;wBACvE,OAAO,EAAE,CAAC;oBACd,CAAC;oBAED,MAAM,CAAC,QAAQ;wBACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;4BAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;yBAC1C;wBACD,OAAO,IAAI,CAAC,QAAQ,CAAC;oBACzB,CAAC;iBACJ;gBA5BY,yBAAgB,mBA4B5B,CAAA;YACL,CAAC,EA9BgB,QAAQ,GAAR,aAAQ,KAAR,aAAQ,QA8BxB;QACL,CAAC,EAhCgB,IAAI,GAAJ,SAAI,KAAJ,SAAI,QAgCpB;IACL,CAAC,EAlCgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAkCpB;AACL,CAAC,EApCS,OAAO,KAAP,OAAO,QAoChB"}