var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let Hrms;
(function (Hrms) {
let Components;
(function (Components) {
class AttendanceRequest extends Unibase.Platform.Core.BaseComponent {
init(formpropertyid, prop, callback) {
}
loadControl(containerid, prop) {
let html = '';
html = `
Check-in *
Check-out *
Total Hours
Description
`;
$('#' + containerid).html(html);
}
loadControlSettings(controlsettingjson, formpropertyid) {
return null;
}
loadPropertySettings(propertysettings, formpropertyid, DocPropertyName) {
return null;
}
bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
var id = propval;
let html = `
Check-in *
Check-out *
Total Hours
Description
;`;
return html;
}
getEmployeeCheckinAndCheckout(employeeid, fromdate, todate) {
debugger;
var fdate = moment(fromdate.replaceAll("/", "-"), "DD-MM-YYYY").format("YYYY-MM-DD");
var tdate = moment(todate.replaceAll("/", "-"), "DD-MM-YYYY").format("YYYY-MM-DD");
if (tdate < fdate) {
MessageHelper.Instance().showError("Todate cannot be lesser than Fromdate", 'div_ErrorMessage_' + $('#' + Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId()).find('#hf_FormId').val());
}
let Todatehf = moment(todate, "DD/MM/YYYY").format("YYYY/MM/DD");
let Fromdatehf = moment(fromdate, "DD/MM/YYYY").format("YYYY/MM/DD");
$(".hfdate_fromdate").val(Fromdatehf);
$(".hfdate_todate").val(Todatehf);
$(".attendace_card_view").removeClass("d-none");
if ($("#div_FormName").text() == "Create Regularization") {
this.fileCacheHelper.loadJsFile("apps/hrms/managers/attendencemanager.js", function () {
Bizgaze.Apps.Hrms.Managers.AttendenceManager.Instance().getEmployeeCheckinAndCheckout(employeeid, fdate, tdate).then(function (response) {
$('.attendance_list').html('');
const datestotal = [];
function getDates(startDate, endDate) {
const dates = [];
let currentDate = startDate;
const addDays = function (days) {
const date = new Date(this.valueOf());
date.setDate(date.getDate() + days);
return date;
};
while (currentDate <= endDate) {
dates.push(currentDate);
currentDate = addDays.call(currentDate, 1);
}
return dates;
}
let totaldates, html_content = '';
const dates = getDates(new Date(fdate), new Date(tdate));
dates.forEach(function (date) {
datestotal.push(date);
});
totaldates = datestotal;
for (let j = 0; j < totaldates.length; j++) {
let selecteddates = totaldates[j];
let datesbetween = moment(selecteddates).format("YYYY-MM-DD");
let displaydate = moment(selecteddates).format('llll');
displaydate = displaydate.substring(0, 17);
html_content = `
` + displaydate + `
00:00
`;
$('.attendance_list').append(html_content);
}
if (response.result.length > 0) {
for (var i = 0; i < response.result.length; i++) {
var data = response.result[i];
let attendanceid = data.AttendanceId, date = data, checkindate = Unibase.Platform.Helpers.DateTimeHelper.instance.formatLocalDateTime(data.CheckIn), checkindate_format = moment(data.Date).format("YYYY-MM-DD"), checkoutdate = Unibase.Platform.Helpers.DateTimeHelper.instance.formatLocalDateTime(data.CheckOut), totaltime = data.TotalMinutes, description = data.Description;
let attendeddate = checkindate.substring(0, 10);
if (checkindate.length != 0) {
let ckeckintime = checkindate.substring(11, 16);
let checkindates = moment(ckeckintime, 'HHmm').format("HH:mm");
$("#" + checkindate_format).find(".check_in").html(``);
}
if (checkoutdate > checkindate) {
if (checkoutdate.length != 0) {
let ckeckouttime = checkoutdate.substring(11, 16);
let checkoutdates = moment(ckeckouttime, 'HHmm').format("HH:mm");
$("#" + checkindate_format).find(".check_out").html(``);
}
}
if (description != null && description != "") {
$("#" + checkindate_format).find(".txt_Description").html(``);
}
if (totaltime != 0) {
var m = totaltime % 60;
var h = (totaltime - m) / 60;
var HHMM = (h < 10 ? "0" : "") + h.toString() + ":" + (m < 10 ? "0" : "") + m.toString();
$("#" + checkindate_format).find(".totaltime").html(HHMM);
}
if (attendanceid != 0) {
$("#" + checkindate_format).find(".hf_attendanceid").html(``);
}
}
}
$(".Check_out_btn,.Check_in_btn").change(function () {
debugger;
var checkin = $(this).parents(".datesbetween").find("#Check_in").val();
var checkout = $(this).parents(".datesbetween").find("#Check_out").val();
var start = new Date("01/01/2007 " + checkin).getTime();
var end = new Date("01/01/2007 " + checkout).getTime();
let difference = Math.abs(end - start);
difference = difference / 1000;
let hourDifference = Math.floor(difference / 3600);
difference -= hourDifference * 3600;
let minuteDifference = Math.floor(difference / 60);
difference -= minuteDifference * 60;
var value = (hourDifference < 10 ? "0" : "") + hourDifference.toString() + ":" + (minuteDifference < 10 ? "0" : "") + minuteDifference.toString();
$(this).parents(".datesbetween").find(".totaltime").html(value);
});
});
});
}
else {
this.fileCacheHelper.loadJsFile("apps/hrms/managers/attendencemanager.js", function () {
Bizgaze.Apps.Hrms.Managers.AttendenceManager.Instance().getRegularizationCheckinAndCheckout(employeeid, fdate, tdate).then(function (response) {
$('.attendance_list').html('');
const datestotal = [];
function getDates(startDate, endDate) {
const dates = [];
let currentDate = startDate;
const addDays = function (days) {
const date = new Date(this.valueOf());
date.setDate(date.getDate() + days);
return date;
};
while (currentDate <= endDate) {
dates.push(currentDate);
currentDate = addDays.call(currentDate, 1);
}
return dates;
}
let totaldates, html_content = '';
const dates = getDates(new Date(fdate), new Date(tdate));
dates.forEach(function (date) {
datestotal.push(date);
});
totaldates = datestotal;
for (let j = 0; j < totaldates.length; j++) {
let selecteddates = totaldates[j];
let datesbetween = moment(selecteddates).format("YYYY-MM-DD");
let displaydate = moment(selecteddates).format('llll');
displaydate = displaydate.substring(0, 17);
html_content = `
` + displaydate + `
00:00
`;
$('.attendance_list').append(html_content);
}
if (response.result.length > 0) {
debugger;
for (var i = 0; i < response.result.length; i++) {
var data = response.result[i];
let attendanceid = data.attendanceid, regularizationapprovalid = data.regularizationapprovalid, date = data, checkindate = Unibase.Platform.Helpers.DateTimeHelper.instance.formatLocalDateTime(data.checkin), checkindate_format = moment(data.date).format("YYYY-MM-DD"), checkoutdate = Unibase.Platform.Helpers.DateTimeHelper.instance.formatLocalDateTime(data.checkout), totaltime = data.totalminutes, description = data.description;
let attendeddate = checkindate.substring(0, 10);
if (checkindate.length != 0) {
let ckeckintime = checkindate.substring(11, 16);
let checkindates = moment(ckeckintime, 'HHmm').format("HH:mm");
$("#" + checkindate_format).find(".check_in").html(``);
}
if (checkoutdate.length != 0) {
let ckeckouttime = checkoutdate.substring(11, 16);
let checkoutdates = moment(ckeckouttime, 'HHmm').format("HH:mm");
$("#" + checkindate_format).find(".check_out").html(``);
}
if (description != null && description != "") {
$("#" + checkindate_format).find(".txt_Description").html(``);
}
if (totaltime != 0) {
var m = totaltime % 60;
var h = (totaltime - m) / 60;
var HHMM = (h < 10 ? "0" : "") + h.toString() + ":" + (m < 10 ? "0" : "") + m.toString();
$("#" + checkindate_format).find(".totaltime").html(HHMM);
}
if (attendanceid != 0) {
$("#" + checkindate_format).find(".hf_attendanceid").html(``);
}
if (regularizationapprovalid != 0) {
$("#" + checkindate_format).find(".hf_regularizationapprovalid").html(``);
}
}
}
$(".Check_out_btn ,.Check_in_btn").change(function () {
debugger;
var checkin = $(this).parents(".datesbetween").find("#Check_in").val();
var checkout = $(this).parents(".datesbetween").find("#Check_out").val();
var start = new Date("01/01/2007 " + checkin).getTime();
var end = new Date("01/01/2007 " + checkout).getTime();
let difference = Math.abs(end - start);
difference = difference / 1000;
let hourDifference = Math.floor(difference / 3600);
difference -= hourDifference * 3600;
let minuteDifference = Math.floor(difference / 60);
difference -= minuteDifference * 60;
var value = (hourDifference < 10 ? "0" : "") + hourDifference.toString() + ":" + (minuteDifference < 10 ? "0" : "") + minuteDifference.toString();
$(this).parents(".datesbetween").find(".totaltime").html(value);
});
if ($("#div_FormName").text() == "Regularization_ApprovedForm") {
$(".txt_checkbox").removeClass("hidden");
$(".Check_out_btn").attr("disabled", "disabled");
$(".Check_in_btn").attr("disabled", "disabled");
$(".dropdown_periodtypeid").attr("disabled", "disabled");
$(".txtAutoComplete_employeeid").attr("disabled", "disabled");
$(".date_fromdate").attr("disabled", "disabled");
$(".date_todate").attr("disabled", "disabled");
$(".calender_fromdate").addClass("hidden");
$(".calender_todate").addClass("hidden");
}
});
});
}
}
Attendancerequestobj() {
debugger;
var attendanceRequest = new Array();
$('.datesbetween').each(function (index) {
var element = $(this);
var date_nontz = element.find("#hf_date").val();
var date_withtz = new Date(date_nontz.toString());
var isApproved = $(this).find('.txt_checkbox').is(':checked');
attendanceRequest.push({
Date: date_withtz,
Description: element.find('#txt_Description').val(),
CheckIn: element.find('#Check_in').val(),
CheckOut: element.find('#Check_out').val(),
AttendanceId: Number(element.find('#hf_attendanceid').val()),
RegularizationapprovalId: Number(element.find('#hf_regularizationapprovalid').val()),
IsApproved: isApproved,
});
});
return attendanceRequest;
}
regularizationapprove() {
let detailContainer = $("._bizgaze_detail_container:visible");
let refstatusId = (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) {
return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_refstatusid";
})[0].Value);
$(detailContainer).find('.DetailSetting_' + Unibase.Themes.Providers.DetailHelper.installedAppId + '_Approve').addClass('hidden');
if (refstatusId != '3' && refstatusId != '5') {
$(detailContainer).find('.DetailSetting_' + Unibase.Themes.Providers.DetailHelper.installedAppId + '_Approve').removeClass('hidden');
}
}
static Instance() {
if (this.instance === undefined) {
this.instance = new AttendanceRequest();
}
return this.instance;
}
}
Components.AttendanceRequest = AttendanceRequest;
})(Components = Hrms.Components || (Hrms.Components = {}));
})(Hrms = Apps.Hrms || (Apps.Hrms = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));