var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let Hrms;
(function (Hrms) {
let Components;
(function (Components) {
class Attendence extends Unibase.Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.attendencelogid = 0;
this.timer = null;
this.timer_arrref = [];
this.starttimerobj = [];
}
init(containerid) {
let instance = this;
instance.fileCacheHelper.loadJsFiles(["platform/membership/components/checkindetails.js", "apps/hrms/managers/attendencemanager.js", "apps/communications/ai/components/resumeparsingmanager.js"], function () {
instance.loadCustomHTML(containerid);
});
}
cssFiles() {
return [];
}
html(id, containerid) {
var instance = this;
let html = ``;
return html;
}
load(id, containerid, callback) {
var instance = this;
}
jsFiles() {
return ["apps/hrms/components/attendence.js", "apps/hrms/managers/attendencemanager.js", "apps/communications/ai/components/resumeparsingmanager.js", "platform/core/helpers/mobile/interfaces/imobilehelper.js"];
}
loadCustomHTML(containerid) {
let instance = this;
let capture_modal = `
You are Already Check Out
`;
$("#_bizgaze_modal").html(capture_modal);
let html = '';
if (screen.width > 576) {
html = `
Attendance
00:00:00
Hrs
00:00
Check In
00:00
Check Out
00:00 Hrs
Duration
`;
$('.suggest_err').attr({ 'style': 'top:50%;width:100%;max-width:100%' });
}
else {
html = `
Attendance
00:00:00
Hrs
00:00
Check In
00:00
Check Out
00:00 Hrs
Duration
`;
$('.suggest_err').attr({ 'style': 'top:50%;width:100%;max-width:100%' });
$("#canvas").removeAttr("width");
$("#canvas").removeAttr("height");
}
$('#' + containerid).html(html);
let check_profile = Unibase.Platform.Membership.Infos.Identity.currentUser.photoUrl;
if (check_profile == '' || check_profile == null) {
let err_html = `
Please Upload Your Profile Picture
`;
$("#location_data").html(err_html);
$(".loader-icon").addClass("d-none");
$("#caputerModel").removeClass("show").attr("style", "display:none;");
}
else {
let no_html = `
`;
$("#location_data").html(no_html);
}
instance.getAttendanceLog();
instance.attendenceCheckIn();
instance.getUserApplicableShifts();
instance.takeImage();
instance.retakeImage();
instance.viewattendenceReport();
instance.afterload();
instance.attendencecheckout();
instance.modalcheckout();
instance.attendenceCancle();
}
loadCheckIn(containerid) {
let instance = this;
instance.loadCustomHTML(containerid);
}
Location() {
if (navigator.geolocation) {
$("#snapBtn").attr("disabled", "disabled");
navigator.geolocation.getCurrentPosition(Bizgaze.Apps.Hrms.Components.Attendence.Instance().geoLocationSuccess, Bizgaze.Apps.Hrms.Components.Attendence.Instance().geoLocationError, { timeout: 10000 });
}
else {
alert("your browser doesn't support geolocation");
}
;
}
geoLocationSuccess(pos) {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
let loadingTimeout;
instance.mylatitude = pos.coords.latitude;
instance.mylongtitude = pos.coords.longitude;
var loading = function () {
$("#user_location").text("fetching...");
};
loadingTimeout = setTimeout(loading, 600);
const apikey = _mapsettings.key();
var request = $.get(`https://maps.googleapis.com/maps/api/geocode/json?latlng=${instance.mylatitude},${instance.mylongtitude}&key=${apikey}`).done(function (data) {
if (loadingTimeout) {
clearTimeout(loadingTimeout);
loadingTimeout = null;
instance.address = data.results[0].formatted_address;
$("#user_location").html("
Location : " + instance.address);
let ele = $("#user_location").find("span");
let ele_val = ele[0];
let Cam_ele = $("#cam").hasClass("d-none");
if (ele_val != undefined && Cam_ele == false) {
$("#snapBtn").removeAttr("disabled");
}
else {
$("#snapBtn").attr("disabled", "disabled");
}
}
}).fail(function () {
$("#snapBtn").addClass("d-none");
});
}
;
geoLocationError(error) {
var errors = {
1: "Permission denied",
2: "Position unavailable",
3: "Request timeout"
};
if (errors[error.code]) {
$("#user_location").html("
Please enable your Location...");
$("#snapBtn").attr("disabled", "disabled");
}
}
;
addzero(x) {
if (x < 10) {
return x = '0' + x;
}
else {
return x;
}
}
twelvehours(x) {
if (x > 12) {
return x = x - 12;
}
else if (x == 0) {
return x = 12;
}
else {
return x;
}
}
cemeraCapture() {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
instance.constraints = {
audio: false,
video: {
width: { ideal: 640 },
height: { ideal: 480 },
facingMode: "user"
},
};
instance.getMediaStream();
}
getMediaStream() {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
function getMediaStream(constraints) {
return __awaiter(this, void 0, void 0, function* () {
try {
instance.mediaStream = yield navigator.mediaDevices.getUserMedia(constraints);
instance.video = document.getElementById('cam');
instance.video.srcObject = instance.mediaStream;
instance.video.onloadedmetadata = (event) => {
let cam_err = event.currentTarget;
if (cam_err != null) {
let shift_err = $('.checkIn_err').hasClass("d-none");
if (shift_err == true) {
$("#cam").removeClass("d-none");
instance.video.play();
$(".cam_err").remove();
}
}
};
}
catch (err) {
console.log(err.message);
$("#cam").addClass("d-none");
$(".cam_err").removeClass("d-none");
let arr_val = $("#user_location").find("span").hasClass("cam_loc_err");
if (arr_val != true) {
$("#cam").after("
Please enable your Camera...");
}
let cam_val = $("#cam").parent().find("span").hasClass("cam_err");
let loc_val = $("#user_location").find("span").hasClass("text-danger");
if (cam_val && loc_val) {
$("#cam").parent().find(".cam_err").remove();
$("#user_location").html("
Please enable your Location and Camera...");
}
$("#snapBtn").attr("disabled", "disabled");
}
});
}
getMediaStream(instance.constraints);
}
switchCamera(cameraMode) {
return __awaiter(this, void 0, void 0, function* () {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
try {
if (instance.mediaStream != null && instance.mediaStream.active) {
var tracks = instance.mediaStream.getVideoTracks();
tracks.forEach(track => {
track.stop();
});
}
document.getElementById('cam').srcObject = null;
instance.constraints.video.facingMode = cameraMode;
yield instance.getMediaStream();
}
catch (err) {
console.log(err.message);
}
});
}
takePicture() {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
instance.canvas = document.getElementById('canvas');
instance.videos = document.getElementById('cam');
let photo = document.getElementById('photo');
let context = instance.canvas.getContext('2d');
const height = instance.videos.videoHeight;
const width = instance.videos.videoWidth;
if (width && height) {
instance.canvas.width = width;
instance.canvas.height = height;
context.drawImage(instance.video, 0, 0, width, height);
var data = instance.canvas.toDataURL('image/png');
const webp = context.canvas.toDataURL("image/webp", 0.8);
photo.setAttribute('style', "transform: scaleX(-1)");
$("#photo").attr('src', data);
}
else {
Bizgaze.Apps.Hrms.Components.Attendence.Instance().clearPhoto();
}
}
;
clearPhoto() {
let instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
let photo = document.getElementById('photo');
let context = instance.canvas.getContext('2d');
context.fillStyle = "#AAA";
context.fillRect(0, 0, instance.canvas.width, instance.canvas.height);
var data = instance.canvas.toDataURL('image/png');
photo.removeAttribute('src');
}
;
clockTick() {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
let r_datd = $(".output_re").hasClass("d-none");
const date = Date.now();
const timer_run = $('#check_in_btn').hasClass("d-none");
if (timer_run == true) {
if (r_datd == false) {
instance.timer_arrref;
const timeref = new Date(date - Number(instance.timer_arrref));
const refhours = timeref.getUTCHours();
const refmins = timeref.getUTCMinutes();
const refsecs = timeref.getUTCSeconds();
const refcount_hrs = refhours > 9 ? refhours : "0" + refhours;
const refcount_mins = refmins > 9 ? refmins : "0" + refmins;
const refcount_secs = refsecs > 9 ? refsecs : "0" + refsecs;
$(".output").html(`${refcount_hrs}:${refcount_mins}:${refcount_secs}`);
}
else {
const timeElaspsed = new Date(date - Number(instance.starttimerobj));
const hours = timeElaspsed.getUTCHours();
const mins = timeElaspsed.getUTCMinutes();
const secs = timeElaspsed.getUTCSeconds();
const count_hrs = hours > 9 ? hours : "0" + hours;
const count_mins = mins > 9 ? mins : "0" + mins;
const count_secs = secs > 9 ? secs : "0" + secs;
$(".output").html(`${count_hrs}:${count_mins}:${count_secs}`);
}
}
}
reset() {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
clearInterval(instance.timer);
let timerreset = $('.output').text();
let timerin = timerreset.includes("NaN");
if (timerin == true) {
$('.output').empty();
$('.output').html(`00:00:00`);
}
else {
$('.output').empty();
$('.output').html(`00:00:00`);
}
}
attenanceSnap() {
let instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
let checkedIn = $("#check_in_btn").hasClass("d-none");
let online_cather = window.navigator.onLine;
if (checkedIn == false) {
if (online_cather) {
$("#check_in_btn").attr({ "data-toggle": "modal", "data-backdrop": "false", "data-target": "#caputerModel" });
let shift_name = $('.shift_name').text();
let shift_time = $('.shift_timeings').text();
if (shift_name == '' && shift_time == '') {
$('.close').removeClass("d-none");
$('.shift_err').removeClass('d-none');
}
else {
$("#caputer_video").removeClass("d-none");
$("#user_location").removeClass("d-none");
$("#CancelBtn").removeClass("d-none");
$(".capture_err").addClass("d-none");
$(".loader-icon").addClass("d-none");
$('.checkIn_err').addClass('d-none');
$("#modal_closebtn").addClass('d-none');
$('#Check_in_time').removeClass("d-none");
$("#cam").removeClass("d-none");
$("#location_data").removeClass("d-none");
$("#snapBtn").removeClass("d-none");
$("#retakeBtn").addClass("d-none");
$("#close_btn").addClass("d-none");
}
}
else {
$(this).removeAttr("data-target data-toggle data-backdrop");
}
}
else {
if (online_cather) {
$("#check_out_btn").attr({ "data-toggle": "modal", "data-backdrop": "false", "data-target": "#caputerModel" });
$("#caputer_video").removeClass("d-none");
$(".capture_err").addClass("d-none");
$(".loader-icon").addClass("d-none");
$('#Check_in_time').removeClass("d-none");
$("#cam").removeClass("d-none");
$("#location_data").removeClass("d-none");
$("#CancelBtn").removeClass("d-none");
$("#snapBtn").removeClass("d-none");
$("#retakeBtn").addClass("d-none");
let removeVide = $('#modal_closebtn').hasClass("d-none");
if (removeVide == false) {
instance.mediaStream.getTracks().forEach((track) => {
track.stop();
});
}
}
else {
$(this).removeAttr("data-target data-toggle data-backdrop");
}
}
}
attendenceCheckIn() {
if (isMobileApp()) {
Unibase.Platform.Helpers.MobileHelper.Instance().grantPermission(Unibase.Platform.Helpers.Enums.MobilePermissionType.Camera, Bizgaze.Apps.Hrms.Components.Attendence.Instance().cemeraCapture);
Unibase.Platform.Helpers.MobileHelper.Instance().grantPermission(Unibase.Platform.Helpers.Enums.MobilePermissionType.Location, Bizgaze.Apps.Hrms.Components.Attendence.Instance().Location);
}
$("#check_in_btn").click(function () {
$("#canvas").addClass("d-none");
Bizgaze.Apps.Hrms.Components.Attendence.Instance().Location();
Bizgaze.Apps.Hrms.Components.Attendence.Instance().cemeraCapture();
Bizgaze.Apps.Hrms.Components.Attendence.Instance().attenanceSnap();
});
}
attendencecheckout() {
if (isMobileApp()) {
Unibase.Platform.Helpers.MobileHelper.Instance().grantPermission(Unibase.Platform.Helpers.Enums.MobilePermissionType.Camera, Bizgaze.Apps.Hrms.Components.Attendence.Instance().cemeraCapture);
Unibase.Platform.Helpers.MobileHelper.Instance().grantPermission(Unibase.Platform.Helpers.Enums.MobilePermissionType.Location, Bizgaze.Apps.Hrms.Components.Attendence.Instance().Location);
}
$("#check_out_btn").click(function () {
$("#canvas").addClass("d-none");
Bizgaze.Apps.Hrms.Components.Attendence.Instance().getAttendanceLogLastRecord();
Bizgaze.Apps.Hrms.Components.Attendence.Instance().Location();
Bizgaze.Apps.Hrms.Components.Attendence.Instance().cemeraCapture();
Bizgaze.Apps.Hrms.Components.Attendence.Instance().attenanceSnap();
});
}
attendenceCancle() {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
$("#CancelBtn").click(function () {
$(this).addClass("d-none");
$("#caputer_video").addClass("d-none");
$("#photo").attr("src", '');
$("#retakeBtn").addClass("d-none");
$("#close_btn").addClass("d-none");
$("#img_check").addClass("d-none");
$(".cam_err").remove();
$(".cam_loc_err").remove();
instance.mediaStream.getTracks().forEach((track) => {
track.stop();
});
$(".capture_err").addClass("d-none");
$(".capture_err").parent().removeClass("align-items-end");
});
}
modalcheckout() {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
$('#modal_closebtn').click(function () {
instance.mediaStream.getTracks().forEach((track) => {
track.stop();
});
Bizgaze.Apps.Hrms.Components.Attendence.Instance().reset();
if (instance.startTime != null || instance.timer_arrref != null) {
instance.startTime = undefined;
instance.timer_arrref = undefined;
instance.starttimerobj = undefined;
}
$(".output").removeClass("d-none");
let re_btn = $(".output").hasClass("d-none");
if (re_btn == false) {
$(".output_re").empty();
$('.output').html(`00:00:00`);
$(".output_re").addClass("d-none");
}
$('.output').html(`00:00:00`);
$("#check_out_btn").addClass("d-none");
$("#check_in_btn").removeClass("d-none");
$(".start_timing").addClass('d-none');
$(".timing").removeClass('d-none');
$(".output").removeClass("d-none");
$(".output_re").addClass("d-none");
Bizgaze.Apps.Hrms.Components.Attendence.Instance().getAttendanceLog();
});
}
takeImage() {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
let emp_id = Unibase.Platform.Membership.Infos.Identity.currentUser.unibaseId;
let data = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
let userid = data.userId;
$("#snapBtn").click(function (e) {
return __awaiter(this, void 0, void 0, function* () {
Bizgaze.Apps.Hrms.Components.Attendence.Instance().takePicture();
$("#cam").addClass("d-none");
$(this).addClass("d-none");
$("#img_check").removeClass("d-none");
$("#canvas").addClass("d-none");
$("#canvas").attr("style", "filter:blur(7px);transform:scaleX(-1);max-width:100%");
instance.img_stored = $("#photo").attr("src");
debugger;
if (instance.img_stored !== '') {
$("#canvas").removeClass("d-none");
}
else {
$("#canvas").addClass("d-none");
}
var date = new Date();
let get_month = date.getMonth();
let months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
instance.startDate = Unibase.Platform.Helpers.DateTimeHelper.instance.formatServerDateTime(date);
let userCheckindetails = {
"Latitude": instance.mylatitude,
"Longitude": instance.mylongtitude,
"Address": instance.address,
"imageurl": instance.img_stored,
"Userid": userid,
"StartDate": instance.startDate,
"user_url": window.location.host
};
var Attendenceid = instance.attendenceid;
var Attendencelogid = instance.attendencelogid;
let enddate = Unibase.Platform.Helpers.DateTimeHelper.instance.formatServerDateTime(date);
var Startdate = instance.startdate;
var userCheckoutdetails = {
CheckoutLocation: instance.address,
CheckoutImage: instance.img_stored,
Attendenceid: Attendenceid,
Attendencelogid: Attendencelogid,
Startdate: Startdate,
EndDate: enddate,
userid: userid,
Latitude: instance.mylatitude,
Longitude: instance.mylongtitude,
user_url: window.location.host
};
var jsfiles = ['apps/hrms/managers/attendencemanager.js'];
let checkin = $('#check_in_btn').hasClass("d-none");
if (checkin == false) {
instance.fileCacheHelper.loadJsFiles(jsfiles, function (response) {
Bizgaze.Apps.Hrms.Managers.AttendenceManager.Instance().SaveCheckInDetails(userCheckindetails).then(function (response) {
var CheckIn_data = response.result;
if (CheckIn_data == null) {
$('#caputerModel').modal("show");
$("#canvas").removeClass("d-none");
$("#retakeBtn").removeClass("d-none");
$(".loader-icon").addClass("d-none");
$("#retakeBtn").removeClass("d-none");
let html = `
${response.message}`;
$(".capture_err").html(html);
$(".capture_err").removeClass("d-none");
$("#img_check").addClass("d-none");
}
else {
$('#caputerModel').modal("hide");
$("#check_out_btn").attr({ "data-toggle": "modal", "data-backdrop": "false", "data-target": "#caputerModel" });
$(".timing").addClass("d-none");
$(".start_timing").removeClass("d-none");
$('#snapBtn').addClass("d-none");
$("#img_check").addClass("d-none");
$("#caputer_video").addClass("d-none");
$("#retakeBtn").addClass("d-none");
$("#caputer_video").addClass("d-none");
$("#retakeBtn").addClass("d-none");
$("#check_in_btn").removeAttr("data-toggle data-backdrop data-target");
$("#location_data").addClass("d-none");
$("#check_in_btn").addClass("d-none");
$("#check_out_btn").removeClass("d-none");
instance.mediaStream.getTracks().forEach((track) => {
track.stop();
});
instance.startTime = Date.now();
instance.re_timer = Date.now();
instance.starttimerobj = instance.re_timer;
instance.timer = setInterval(instance.clockTick, 1000);
instance.time_Now = new Date();
let hours = instance.time_Now.getHours();
let ampm = hours >= 12 ? 'PM' : 'AM';
let time = instance.addzero(instance.twelvehours(instance.time_Now.getHours())) + ":" + instance.addzero(instance.time_Now.getMinutes());
instance.Start_time = instance.addzero(instance.twelvehours(instance.time_Now.getHours())) + ":" + instance.addzero(instance.time_Now.getMinutes()) + ' ' + ampm;
$('.start_time').html(instance.Start_time);
}
instance.attendenceid = CheckIn_data.Attendanceid;
instance.attendencelogid = CheckIn_data._Id;
instance.startdate = CheckIn_data.Checkin;
let date_end = `${date.getDate()} ${months[get_month]} ${date.getFullYear()}`;
let User_endTime = `${date_end} ${instance.Start_time}`;
let User_name = Unibase.Platform.Membership.Infos.Identity.currentUser.name;
let User_img = Unibase.Platform.Membership.Infos.Identity.currentUser.photoUrl;
MessageHelper.Instance().ShowAttendenceSuccess(User_name, User_img, response.message, User_endTime, instance.address);
$("#bizgaze_body").parent().find('.jq-toast-wrap').find('.d-flex.list-inline .mr-4').addClass("d-none");
$("#bizgaze_body").parent().find('.jq-toast-wrap').find('.d-flex.list-inline h3.font-14.font-weight-400').addClass("d-none");
});
});
}
else {
instance.fileCacheHelper.loadJsFiles(jsfiles, function (response) {
Bizgaze.Apps.Hrms.Managers.AttendenceManager.Instance().SaveCheckOutDetails(userCheckoutdetails).then(function (response) {
var Check_data = response.result;
if (Check_data == null) {
$('#caputerModel').modal("show");
$("#canvas").removeClass("d-none");
$("#retakeBtn").removeClass("d-none");
$(".loader-icon").addClass("d-none");
$("#retakeBtn").removeClass("d-none");
let html = `
${response.message}`;
$(".capture_err").html(html);
$(".capture_err").removeClass("d-none");
$("#img_check").addClass("d-none");
}
else {
$('#caputerModel').modal("hide");
instance.mediaStream.getTracks().forEach((track) => {
track.stop();
});
$("#check_out_btn").addClass('d-none');
$("#check_in_btn").removeClass("d-none");
$('.starting_time').addClass("d-none");
$(".start_timing").addClass("d-none");
$("#canvas").addClass('d-none');
$(".loader-pendulums").addClass('d-none');
$("#location_data").addClass("d-none");
$(".timing").removeClass("d-none");
$("#Check_duration").removeClass("d-none");
$("#check_out_btn").removeAttr("data-toggle data-backdrop data-target");
let Current_Time = new Date();
let hours = Current_Time.getHours();
let ampm = hours >= 12 ? 'PM' : 'AM';
instance.End_time = instance.addzero(instance.twelvehours(Current_Time.getHours())) + ":" + instance.addzero(Current_Time.getMinutes()) + ' ' + ampm;
$(".end_time").html(instance.End_time);
let key = "settingValue";
Bizgaze.Apps.Hrms.Components.Attendence.Instance().reset();
if (instance.startTime != null || instance.timer_arrref != null) {
instance.startTime = undefined;
instance.timer_arrref = undefined;
instance.starttimerobj = undefined;
}
$(".output").removeClass("d-none");
let re_btn = $(".output").hasClass("d-none");
if (re_btn == false) {
$(".output_re").empty();
$('.output').html(`00:00:00`);
$(".output_re").addClass("d-none");
}
$('.output').html(`00:00:00`);
let del_setting_val = instance.log_data.settings.filter(function (o) { return o.settingName === "checkin"; })[0];
delete del_setting_val[key];
Bizgaze.Apps.Hrms.Components.Attendence.Instance().getAttendanceLog();
let date_end = `${Current_Time.getDate()} ${months[get_month]} ${Current_Time.getFullYear()}`;
let User_startTime = `${date_end} ${instance.End_time}`;
let User_name = Unibase.Platform.Membership.Infos.Identity.currentUser.name;
let User_img = Unibase.Platform.Membership.Infos.Identity.currentUser.photoUrl;
MessageHelper.Instance().ShowAttendenceSuccess(User_name, User_img, response.message, User_startTime, instance.address);
$("#bizgaze_body").parent().find('.jq-toast-wrap').find('.d-flex.list-inline .mr-4').addClass("d-none");
$("#bizgaze_body").parent().find('.jq-toast-wrap').find('.d-flex.list-inline h3.font-14.font-weight-400').addClass("d-none");
}
});
});
}
});
});
}
retakeImage() {
$("#retakeBtn").click(function () {
$(this).addClass("d-none");
Bizgaze.Apps.Hrms.Components.Attendence.Instance().takePicture();
$("#cam").removeClass("d-none");
$("#canvas").addClass('d-none');
$("#snapBtn").removeClass("d-none");
$("#close_btn").addClass("d-none");
$("#photo").attr('src', '');
$(".capture_err").addClass("d-none");
$(".capture_err").parent().removeClass("align-items-end");
});
}
viewattendenceReport() {
$(".view_Details").click(function () {
var uniqueid = 'Bizgaze_Platform_Analytics_Reports_AttendanceLogdashboard';
var date_now = new Date();
const fromDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDate(date_now);
Unibase.Platform.Analytics.Components.ReportViewer.Instance().getReportByUniqueId(uniqueid, null, null, null, fromDate, fromDate);
});
}
afterload() {
const instance = Bizgaze.Apps.Hrms.Components.Attendence.Instance();
instance.log_data = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
let started_time = "";
let _checkin = instance.log_data.settings.filter(function (o) { return o.settingName === "checkin"; });
if (_checkin.length != 0) {
started_time = _checkin[0].settingValue;
}
instance.employeeid = instance.log_data.userId;
Bizgaze.Apps.Hrms.Managers.AttendenceManager.Instance().getLoginDetails(instance.employeeid).then(function (response) {
if (started_time != '') {
if (response.result != '' && response.result != null) {
let last_record = response.result[response.result.length - 1];
let timeno = last_record.CheckIn;
instance.startdate = last_record.CheckIn;
instance.attendenceid = last_record.AttendanceId;
instance.attendencelogid = last_record.AttendancelogId;
instance.time_ne = moment.utc(last_record.CheckIn).local();
let Checkin_timee = new Date(instance.time_ne);
let start_ampm = Checkin_timee.getHours() >= 12 ? 'PM' : 'AM';
let start_times = Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(Bizgaze.Apps.Hrms.Components.Attendence.Instance().twelvehours(Checkin_timee.getHours())) + ":" + Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(Checkin_timee.getMinutes()) + ' ' + start_ampm;
$('.start_time').html(start_times);
if (timeno == undefined) {
$("#check_in_btn").removeClass("d-none");
$("#check_out_btn").addClass("d-none");
}
else {
instance.startTime = instance.time_ne;
let Checkin_time = new Date(instance.startTime);
let time = Checkin_time.getTime();
instance.timer_arrref = instance.startTime;
instance.timer = setInterval(instance.clockTick, 1000);
$("#check_in_btn").addClass("d-none");
$("#check_out_btn").removeClass("d-none");
$(".timing").addClass("d-none");
$(".start_timing").removeClass("d-none");
$(".output_re").removeClass("d-none");
}
}
}
else {
if (response.result != '' && response.result != null) {
let last_record = response.result[response.result.length - 1];
let timeno = last_record.CheckIn;
instance.startdate = last_record.CheckIn;
instance.attendenceid = last_record.AttendanceId;
instance.attendencelogid = last_record.AttendancelogId;
instance.time_ne = moment.utc(last_record.CheckIn).local();
let Checkin_timeer = new Date(instance.time_ne);
let startt_ampm = Checkin_timeer.getHours() >= 12 ? 'PM' : 'AM';
let start_timers = Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(Bizgaze.Apps.Hrms.Components.Attendence.Instance().twelvehours(Checkin_timeer.getHours())) + ":" + Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(Checkin_timeer.getMinutes()) + ' ' + startt_ampm;
$('.start_time').html(start_timers);
if (timeno == undefined) {
$("#check_in_btn").removeClass("d-none");
$("#check_out_btn").addClass("d-none");
}
else {
instance.startTime = instance.time_ne;
instance.timer_arrref = instance.startTime;
instance.timer = setInterval(instance.clockTick, 1000);
$("#check_in_btn").addClass("d-none");
$("#check_out_btn").removeClass("d-none");
$(".timing").addClass("d-none");
$(".start_timing").removeClass("d-none");
$(".output_re").removeClass("d-none");
}
}
}
});
}
postUserDetect(payload) {
return __awaiter(this, void 0, void 0, function* () {
let instance = this;
let res = yield Unibase.Apps.Collaboration.ResumeParsingManager.Instance().postUserDetect(payload);
return res;
});
}
SaveCheckOutDetails(enddate) {
let img = $("#photo").attr("src");
let instance = this;
var Startdate = instance.startdate;
var Attendenceid = instance.attendenceid;
var Attendencelogid = instance.attendencelogid;
var address = instance.address;
var Latitude = instance.mylatitude;
var Longitude = instance.mylongtitude;
let data = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
let userid = data.userId;
var postData = {
CheckoutLocation: address,
CheckoutImage: img,
Attendenceid: Attendenceid,
Attendencelogid: Attendencelogid,
EndDate: enddate,
Startdate: Startdate,
userid: userid,
Latitude: Latitude,
Longitude: Longitude
};
var jsfiles = ['apps/hrms/managers/attendencemanager.js'];
instance.fileCacheHelper.loadJsFiles(jsfiles, function (response) {
Bizgaze.Apps.Hrms.Managers.AttendenceManager.Instance().SaveCheckOutDetails(postData).then(function (response) {
$('#snapBtn').attr({
"data-dismiss": "modal",
"aria-label": "Close"
});
instance.mediaStream.getTracks().forEach((track) => {
track.stop();
});
MessageHelper.Instance().showSuccess(response.message, '');
});
});
}
getUserApplicableShifts() {
let instance = this;
let data = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
let userid = data.userId;
Bizgaze.Apps.Hrms.Managers.AttendenceManager.Instance().getUserApplicableShifts(userid).then(function (response) {
var data = response.result;
if (data != null) {
var ele_data = data.length;
if (data != undefined && data != null && ele_data != 0) {
instance.shiftfromtime = moment.utc(data[0].fromtime).local();
let Checktime = new Date(instance.shiftfromtime);
let LI_ampm = Checktime.getHours() >= 12 ? 'PM' : 'AM';
let spl_val = Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(Bizgaze.Apps.Hrms.Components.Attendence.Instance().twelvehours(Checktime.getHours())) + ":" + Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(Checktime.getMinutes()) + ' ' + LI_ampm;
instance.shifttotime = moment.utc(data[0].totime).local();
let Checktotime = new Date(instance.shifttotime);
let Lo_ampm = Checktotime.getHours() >= 12 ? 'PM' : 'AM';
let spls_val = Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(Bizgaze.Apps.Hrms.Components.Attendence.Instance().twelvehours(Checktotime.getHours())) + ":" + Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(Checktotime.getMinutes()) + ' ' + Lo_ampm;
$(".shift_name").html(`${data[0].shiftname} :`);
$(".shift_timeings").html(`${spl_val} - ${spls_val}`);
}
}
});
}
getAttendanceLog() {
let instance = this;
let data = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
let userid = data.userId;
Bizgaze.Apps.Hrms.Managers.AttendenceManager.Instance().getAttendanceLog(userid).then(function (response) {
if (response.result !== null) {
instance.last_checkIn = moment.utc(response.result.CheckIn).local();
let Checkin_time = new Date(instance.last_checkIn);
let time = Checkin_time.getTime();
instance.last_checkOut = moment.utc(response.result.CheckOut).local();
let Checkout_time = new Date(instance.last_checkOut);
let Ctime = Checkout_time.getTime();
let LI_ampm = Checkin_time.getHours() >= 12 ? 'PM' : 'AM';
let last_checkIn = Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(Bizgaze.Apps.Hrms.Components.Attendence.Instance().twelvehours(Checkin_time.getHours())) + ":" + Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(Checkin_time.getMinutes()) + ' ' + LI_ampm;
let LO_ampm = Checkout_time.getHours() >= 12 ? 'PM' : 'AM';
let last_checkOut = Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(Bizgaze.Apps.Hrms.Components.Attendence.Instance().twelvehours(Checkout_time.getHours())) + ":" + Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(Checkout_time.getMinutes()) + ' ' + LO_ampm;
if (response.result != null) {
$('.start_time').html(last_checkIn);
$('.end_time').html(last_checkOut);
let difference = Ctime - time;
difference = difference / 1000;
let hourDifference = Math.floor(difference / 3600);
difference -= hourDifference * 3600;
let minuteDifference = Math.floor(difference / 60);
difference -= minuteDifference * 60;
let due_time = `${Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(hourDifference)}:${Bizgaze.Apps.Hrms.Components.Attendence.Instance().addzero(minuteDifference)}`;
if (hourDifference > 9 || hourDifference == 9) {
$(".Duration_time").addClass("text-success").removeClass("text-danger");
}
else {
$(".Duration_time").addClass("text-danger").removeClass("text-success");
}
$(".due_time").html(due_time);
}
}
});
}
getAttendanceLogLastRecord() {
let instance = this;
let data = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
let userid = data.userId;
Bizgaze.Apps.Hrms.Managers.AttendenceManager.Instance().getAttendanceLogLastRecord(userid).then(function (response) {
instance.last_checktable = response.result.CheckOut;
if (instance.last_checktable == "0001-01-01T00:00:00") {
$('.checkIn_err').addClass('d-none');
}
else {
$('.checkIn_err').removeClass('d-none');
$("#modal_closebtn").removeClass('d-none');
$("#snapBtn").addClass('d-none');
$("#cam").addClass('d-none');
$("#user_location").addClass('d-none');
$("#CancelBtn").addClass("d-none");
}
});
}
static Instance() {
if (this.instance === undefined)
this.instance = new Attendence();
return this.instance;
}
}
Components.Attendence = Attendence;
})(Components = Hrms.Components || (Hrms.Components = {}));
})(Hrms = Apps.Hrms || (Apps.Hrms = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));