Advertisement
Guest User

Untitled

a guest
May 26th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.01 KB | None | 0 0
  1. // ==UserScript==
  2. // @name YOUR_SCRIPT_NAME
  3. // @include https://dochazka.lan.ufe.cz/*
  4. // @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
  5. // @grant GM_addStyle
  6. // ==/UserScript==
  7. //--- The @grant directive is used to restore the proper sandbox.
  8.  
  9. var hrsNode = document.querySelector("body > div:nth-child(7) > table:nth-child(1) > tbody > tr:nth-child(2) > td:nth-child(1)");
  10. var minsNode = document.querySelector("body > div:nth-child(7) > table:nth-child(1) > tbody > tr:nth-child(2) > td:nth-child(2)");
  11. var secsNode = document.querySelector("body > div:nth-child(7) > table:nth-child(1) > tbody > tr:nth-child(2) > td:nth-child(3)");
  12. var workedDaysNode = document.querySelector("body > div:nth-child(7) > table:nth-child(3) > tbody > tr:nth-child(2) > td:nth-child(1)");
  13. var workDaysNode = document.querySelector("body > div:nth-child(7) > p > strong > i > font:nth-child(1)");
  14. var sickDaysNode = document.querySelector("body > div:nth-child(7) > table:nth-child(3) > tbody > tr:nth-child(2) > td:nth-child(3)");
  15. var vacaDaysNode = document.querySelector("body > div:nth-child(7) > table:nth-child(3) > tbody > tr:nth-child(2) > td:nth-child(4)");
  16. var appender = document.querySelector("body > div:nth-child(7)");
  17.  
  18. // Parametry
  19. var UVAZEK = 0.4;
  20. var DNY_ZA_TYDEN = 3;
  21.  
  22. // Ze stránky
  23. var workedHours = Number(hrsNode.innerHTML.replace(/\ /g, ''));
  24. var workedMinutes = Number(minsNode.innerHTML.replace(/\ /g, ''));
  25. var workedSeconds = Number(secsNode.innerHTML.replace(/\ /g, ''));
  26. var workedDays = Number(workedDaysNode.innerHTML.replace(/\ /g, ''));
  27. var sickDays = Number(sickDaysNode.innerHTML.replace(/\ /g, ''));
  28. var vacaDays = Number(vacaDaysNode.innerHTML.replace(/\ /g, ''));
  29. var workDays = Number(workDaysNode.innerHTML.replace(/\ /g, ''));
  30.  
  31. // Výpočty
  32. var workedTime = workedHours+workedMinutes/60+workedSeconds/3600;
  33. var myWorkDays = workDays*UVAZEK;
  34.  
  35. // Current
  36. var requiredHours = (myWorkDays-sickDays-vacaDays)*8+0.5*workedDays;
  37. var missingHours = requiredHours-workedTime;
  38.  
  39. // Guessed
  40. var guessedLunchDays = Math.ceil((myWorkDays-sickDays-vacaDays)*DNY_ZA_TYDEN/(UVAZEK*5));
  41. var guessedRequiredHours = (myWorkDays-sickDays-vacaDays)*8+0.5*guessedLunchDays;
  42. var guessedMissingHours = guessedRequiredHours-workedTime;
  43.  
  44.  
  45. appender.insertAdjacentHTML( 'beforebegin', `
  46. <center>
  47. <table border="1" cellpadding="3" cellspacing="0" width="35%" style="margin-bottom:20px;">
  48. <tr><td bgcolor=#90ee90><strong>Zbývá&nbsp;odchodit</strong></td><td>${Math.round(missingHours*10, 2)/10}&nbsp;hodin</td></tr>
  49. <tr><td bgcolor=#90ee90><strong>Pracovních&nbsp;dní</strong></td><td>${Math.round(missingHours/24*10, 2)/10}</td></tr>
  50. <tr><td bgcolor=#90ee90><strong>Zbývá&nbsp;odch.&nbsp;<sup>odhad</sup></strong></td><td>${Math.round(guessedMissingHours*10, 2)/10}&nbsp;hodin</td></tr>
  51. <tr><td bgcolor=#90ee90><strong>Prac.&nbsp;dní&nbsp;<sup>odhad</sup></strong></td><td>${Math.round(guessedMissingHours/24*10, 2)/10}</td></tr>
  52. </table>
  53. </center>
  54. ` );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement