//const employee = require("../../models/employee"); function convertMinsToHrsMins(minutes) { var h = Math.floor(minutes / 60); var m = minutes % 60; h = h < 10 ? '0' + h : h; m = m < 10 ? '0' + m : m; return h + ':' + m; } // Táblázat sorainak generálása function renderWorkingTimesTable(wtList) { $('#monthHoursTable > tbody').empty(); var weekendCol; var color='#64b4da'; $.each(wtList,function(i,wt){ if (wt.weekends>0) { weekendCol=''+wt.weekends; } else { weekendCol=''+wt.weekend.days; } var newRow = $('"'); if (wt.isStudent==='on') { newRow.append(''+(i+1)+ ''+wt.name+ ''+wt.vacationYear+' / '+wt.vacationUsed+ weekendCol+ ''+wt.redLetterDays+ ''+wt.state+ ''+wt.device+ ''+wt.location+ ''+convertMinsToHrsMins(wt.month.fullHours)+//workHours)+ ''); } else { if (wt.isSubcontractor==='on') { newRow.append(''+(i+1)+ ''+wt.name+ ''+wt.vacationYear+' / '+wt.vacationUsed+ weekendCol+ ''+wt.redLetterDays+ ''+wt.state+ ''+wt.device+ ''+wt.location+ ''+convertMinsToHrsMins(wt.month.fullHours)+//workHours)+ ''); } else if (wt.isSubcontractor===null || wt.isSubcontractor==='off') { newRow.append(''+(i+1)+ ''+wt.name+ ''+wt.vacationYear+' / '+wt.vacationUsed+ weekendCol+ ''+wt.redLetterDays+ ''+wt.state+ ''+wt.device+ ''+wt.location+ ''+convertMinsToHrsMins(wt.month.fullHours)+//workHours)+ ''); } } $('#monthHoursTable > tbody:last-child').append (newRow); }) } // Ellenőrzi, hogy a tömb tartalmazza e az adott elemet, ha igen true-vel visszatér var contains = function(needle) { // Per spec, the way to identify NaN is that it is not equal to itself var findNaN = needle !== needle; var indexOf; if(!findNaN && typeof Array.prototype.indexOf === 'function') { indexOf = Array.prototype.indexOf; } else { indexOf = function(needle) { var i = -1, index = -1; for(i = 0; i < this.length; i++) { var item = this[i]; if((findNaN && item !== item) || item === needle) { index = i; break; } } return index; }; } return indexOf.call(this, needle) > -1; }; // Táblázat sorainak generálása jelenléti ív részletes egy munkavállalóra egy havi function renderWorkingTimesTableDetailed(wtList) { var monthWorkHours=0; var workDays=[]; var weekendDays=[]; var overTime=0; $('#monthHoursTableDetails > tbody').empty(); $.each(wtList,function(i,wt){ var newRow = $('"'); var day = moment(wt.date,'YYYY.MM.DD.').day(); var color='#64b4da'; var isWeekend = (day === 6) || (day === 0); // 6 = Saturday, 0 = Sunday var ot= 0; overTime='-'; if (wt.isHoliday===false) { if (isWeekend) { // Ha hétvége wt.date;wt.workhours;wt.timeArrive;wt.timeGetaway;wt.location color='#FB667A'; if (!contains.call(weekendDays,wt.date)) { weekendDays.push(wt.date); } } else { monthWorkHours+= wt.workHours // Ha hétköznap wdays=workDays.find(e=>e.date===wt.date); if (wdays) { wdays.hours+=wt.workHours; wdays.start.push(wt.timeArrive); wdays.stop.push(wt.timeGetaway); if (wdays.hours>540) wdays.overtime=wdays.hours-540; } else { //if (wt.workHours>540) ot=convertMinsToHrsMins((wt.workHours-540)); if (wt.workHours>540) ot=(wt.workHours-540); workDays.push({date:wt.date,start:[wt.timeArrive],stop:[wt.timeGetaway],hours:wt.workHours,overtime:ot}); } } if (wt.timeGetaway==='-') { wt.timeGetaway=wt.timeGetaway; } else { wt.timeGetaway=moment(wt.timeGetaway,'YYYY.MM.DD. HH:mm').format('HH:mm'); } //if (wt.workHours>540) overTime=convertMinsToHrsMins((wt.workHours-540)); //if (wdays.hours>540) overTime=convertMinsToHrsMins((wdays.hours-540)); newRow.append( ''+moment(wt.timeArrive,'YYYY.MM.DD. HH:mm').format('DD')+ ''+moment(wt.timeArrive,'YYYY.MM.DD. HH:mm').format('dddd')+ ''+wt.location+ ''+moment(wt.timeArrive,'YYYY.MM.DD. HH:mm').format('HH:mm')+ ''+wt.timeGetaway+ //''+convertMinsToHrsMins(wt.workHours)+ ''+convertMinsToHrsMins(wt.workHours)+ ''+overTime+ ''+wt.notes+ ''); } if (wt.isHoliday===true) { newRow.append( ''+moment(wt.timeArrive,'YYYY.MM.DD. HH:mm').format('DD')+ ''+moment(wt.date,'YYYY.MM.DD. HH:mm').format('dddd')+ ' ----'+ ' --:--'+ ' --:--'+ //''+convertMinsToHrsMins(wt.workHours)+ ' 0:00'+ ' 0:00'+ ' Szabadság'+ ''); } $('#monthHoursTableDetails > tbody:last-child').append (newRow); document.getElementById('weekendsCount').value=weekendDays.length; }) // személyi adatok lekérése var uid=document.getElementById('uid').textContent; $.get('/employee/persondata/'+uid, function(employee) { document.getElementById('vacations').value=employee.vacationYear+' / '+employee.vacationUsed; }); // Túlórák számítása var overTime=0; workDays.forEach(element => { if(element.hours>540) { overTime+=(element.hours-540); } else { // monthWorkHours+=element.hours; } }); document.getElementById('weekDayFullHours').value=workDays.length; document.getElementById('weekHourWork').value=convertMinsToHrsMins(monthWorkHours); document.getElementById('overTime').value=convertMinsToHrsMins(overTime); } // Táblázat sorainak generálása jelenléti ív részletes egy munkavállalóra egy havi function renderWorkingTimesTableDetailed2(wtList) { var monthWorkHours=wtList.monthWorkHours; var workDays=[]; var weekendDays=[]; var monthOverTime=wtList.monthOverTime; var fullWorkHoursMonth=wtList.monthWorkHours+wtList.monthOverTime; var hol=0; var modifyColumn=''; $('#print2').data('key',wtList.wd); var getBackMyJSON = $('#print2').data('key'); console.log(getBackMyJSON); $('#monthHoursTableDetails > tbody').empty(); $('#monthSumTable > tbody').empty(); $.each(wtList.wd,function(idx,wt){ var arrives=""; var getaways=""; var locs=""; var newRow = $('"'); //var newRow = '';$('"'); var day = moment(wt.date,'YYYY.MM.DD.').day(); var color='#64b4da'; var isWeekend = (day === 6) || (day === 0); // 6 = Saturday, 0 = Sunday var ot= 0; var drName=''; var drShift=''; var notes=""; //var companyNotes=""; /* if (wt.dailyReport==='') { drName=''; drShift=''; } else { drShift=''; //drShift='
'; $.each(wt.dailyReport,function(i,drs){ drShift+='
'; drName+=''+i+' '+drs.name+'
'; }) }*/ //overTime='-'; if (wt.isHoliday===false) { if (wt.dailyReport==='') { drName=''; drShift=''; } else { drShift=''; //drShift='
'; $.each(wt.dailyReport,function(i,drs){ drShift+='
'; drName+=''+i+' '+drs.name+'
'; }) } if (wt.isWeekend) { // Ha hétvége color='#FB667A'; } //document.getElementById("modifyColumn").rowSpan = wt.startStop.length; /*if (wt.startStop.length>1) { modifyColumn='';//'; } else {*/ modifyColumn=''; deleteColumn=''; //} $.each(wt.startStop,function(i,interval){// arrives+=moment(interval.start,'YYYY.MM.DD. HH:mm').format('HH:mm')+"
"; /* if (wt.state=='ENDED') //if (wtList.wd.length>idx+1) { }*/ if (interval.stop==='-') { modifyColumn+='
'+drShift+'
'; deleteColumn+='
'+drShift+'
'; getaways+="-"; } else { modifyColumn+='
'+drShift+'
'; deleteColumn+='
'+drShift+'
'; getaways+=moment(interval.stop,'YYYY.MM.DD. HH:mm').format('HH:mm')+"
"; } }) $.each(wt.locations,function(i,loc){ if (loc.arriveCoords.lat!='N/A' && loc.arriveCoords.lat!=null) { locs+=""+loc.arriveLoc+""+" - ";// +""+loc.getawayLoc+""+"
"; } else { locs+=loc.arriveLoc +' - ';// +loc.getawayLoc+"
"; } if (loc.getavayCoords.lat!='N/A' && loc.getavayCoords.lat!=null) { locs+=""+loc.getawayLoc+""+"
"; } else { locs+=loc.getawayLoc+"
"; } //'a(href="/articles/"+article._id+"/"+work._id)='+loc.arriveLoc })//arriveCoords $.each(wt.notes,function(i,note){ notes+='
'+note.userNote+''+ ' '+note.companyNote+'
' }) newRow.append( ''+moment(wt.date,'YYYY.MM.DD. HH:mm').format('DD')+''+ ''+moment(wt.date,'YYYY.MM.DD. HH:mm').format('dddd')+''+ ''+drName+locs+'
'+''+//wt.location+ ''+drShift+arrives+''+//moment(wt.timeArrive,'YYYY.MM.DD. HH:mm').format('HH:mm')+ ''+drShift+getaways+''+ modifyColumn+ deleteColumn+ //''+convertMinsToHrsMins(wt.workHours)+ ''+drShift+convertMinsToHrsMins(wt.hours)+''+ ''+drShift+convertMinsToHrsMins(wt.overTime)+''+ //''+wt.notes+''+ ' '+wt.companyNotes+''+'' ''+notes+'' ); } else { if (wt.isHoliday===true) { hol++; newRow.append( ''+moment(wt.date,'YYYY.MM.DD. HH:mm').format('DD')+ ''+moment(wt.date,'YYYY.MM.DD. HH:mm').format('dddd')+ ' ---- '+//wt.location+ ' --:-- '+//moment(wt.timeArrive,'YYYY.MM.DD. HH:mm').format('HH:mm')+ ' --:--'+ ''+ ''+ //''+convertMinsToHrsMins(wt.workHours)+ ' --:--'+ ' --:--'+ ' Szabadság'+ ''); } } $('#monthHoursTableDetails > tbody:last-child').append (newRow); // document.getElementById('weekendsCount').value=wtList.weekend.days;//weekendDays.length; }) // személyi adatok lekérése var uid=document.getElementById('uid').textContent; $.get('/employee/persondata/'+uid, function(employee) { if (employee.isSubcontractor===null) { document.getElementById('vacations').value=(employee.vacationYear-employee.vacationUsed); document.getElementById('vacationsY').value=employee.vacationYear; document.getElementById('munkaszunet').value=wtList.munkaszunet.length; newRow=$('"'+ ' Munkaszüneti napokra elszámolt órák: '+''+ ' '+convertMinsToHrsMins((wtList.munkaszunet.length*480))+''+ ' --:--'+''+ ' '+convertMinsToHrsMins((wtList.munkaszunet.length*480))+''+ ' -'+''+ ' '+convertMinsToHrsMins((wtList.munkaszunet.length*480))+''+ '"'+ '"'+ ' Szabadságra elszámolt órák: '+''+ ' '+convertMinsToHrsMins((hol*480))+''+ ' --:--'+''+ ' '+convertMinsToHrsMins((hol*480))+''+ ' -'+''+ ' '+convertMinsToHrsMins((hol*480))+''+ '"'+ '"'+ ' Munkanapok: '+''+ ' '+convertMinsToHrsMins(wtList.month.workHours)+''+ ' '+convertMinsToHrsMins(wtList.month.overTime)+''+ ' '+convertMinsToHrsMins(wtList.month.fullWorkHours)+''+ ' -'+''+ ' '+convertMinsToHrsMins(wtList.month.fullWorkHours)+''+ '"'+ '"'+ ' Szombat: '+''+ ' '+convertMinsToHrsMins(wtList.weekend.Saturday.workHours)+''+ ' '+convertMinsToHrsMins(wtList.weekend.Saturday.overTime)+''+ ' '+convertMinsToHrsMins(wtList.weekend.Saturday.fullWorkHours)+''+ ' 50%'+''+ ' '+convertMinsToHrsMins((wtList.weekend.Saturday.fullWorkHours*1.5))+''+ '"'+ '"'+ ' Vasárnap: '+''+ ' '+convertMinsToHrsMins(wtList.weekend.Sunday.workHours)+''+ ' '+convertMinsToHrsMins(wtList.weekend.Sunday.overTime)+''+ ' '+convertMinsToHrsMins(wtList.weekend.Sunday.fullWorkHours)+''+ ' 100%'+''+ ' '+convertMinsToHrsMins((wtList.weekend.Sunday.fullWorkHours*2))+''+ '"'+ '"'+ ' Összesen: '+''+ ' '+convertMinsToHrsMins(wtList.month.workHours+ wtList.weekend.Saturday.workHours+ wtList.weekend.Sunday.workHours+ (wtList.munkaszunet.length*480)+ (hol*480) )+''+ ' '+convertMinsToHrsMins(wtList.month.overTime+ wtList.weekend.Saturday.overTime+ wtList.weekend.Sunday.overTime )+''+ ' '+convertMinsToHrsMins(wtList.month.fullWorkHours+ wtList.weekend.Saturday.fullWorkHours+ wtList.weekend.Sunday.fullWorkHours+ (wtList.munkaszunet.length*480)+ (hol*480) )+''+ ''+''+ ' '+convertMinsToHrsMins(wtList.month.fullWorkHours+ (wtList.weekend.Saturday.fullWorkHours*1.5)+ (wtList.weekend.Sunday.fullWorkHours*2)+ (wtList.munkaszunet.length*480)+ (hol*480) )+''+ '"' ); } else { // Vállalkozó newRow=$( '"'+ ' Munkanapok: '+''+ ' '+convertMinsToHrsMins(wtList.month.workHours)+''+ ' '+convertMinsToHrsMins(wtList.month.overTime)+''+ ' '+convertMinsToHrsMins(wtList.month.fullWorkHours)+''+ //' -'+''+ //' '+convertMinsToHrsMins(wtList.month.fullWorkHours)+''+ '"'+ '"'+ ' Szombat: '+''+ ' '+convertMinsToHrsMins(wtList.weekend.Saturday.workHours)+''+ ' '+convertMinsToHrsMins(wtList.weekend.Saturday.overTime)+''+ ' '+convertMinsToHrsMins(wtList.weekend.Saturday.fullWorkHours)+''+ //' 50%'+''+ //' '+convertMinsToHrsMins((wtList.weekend.Saturday.fullWorkHours*1.5))+''+ '"'+ '"'+ ' Vasárnap: '+''+ ' '+convertMinsToHrsMins(wtList.weekend.Sunday.workHours)+''+ ' '+convertMinsToHrsMins(wtList.weekend.Sunday.overTime)+''+ ' '+convertMinsToHrsMins(wtList.weekend.Sunday.fullWorkHours)+''+ //' 100%'+''+ //' '+convertMinsToHrsMins((wtList.weekend.Sunday.fullWorkHours*2))+''+ '"'+ '"'+ ' Összesen: '+''+ ' '+convertMinsToHrsMins(wtList.month.workHours+ wtList.weekend.Saturday.workHours+ wtList.weekend.Sunday.workHours )+''+ ' '+convertMinsToHrsMins(wtList.month.overTime+ wtList.weekend.Saturday.overTime+ wtList.weekend.Sunday.overTime )+''+ ' '+convertMinsToHrsMins(wtList.month.fullWorkHours+ wtList.weekend.Saturday.fullWorkHours+ wtList.weekend.Sunday.fullWorkHours )+''+ //''+''+ /*' '+convertMinsToHrsMins(wtList.month.fullWorkHours+ (wtList.weekend.Saturday.fullWorkHours*1.5)+ (wtList.weekend.Sunday.fullWorkHours*2) )+''*/+ '"' ); } $('#monthSumTable > tbody:last-child').append (newRow); }); } $("#monthHoursTable").on('click','tr',function(ev) { //console.log($(this).attr("data-href")); document.location = $(this).attr("data-href"); });