Git Product home page Git Product logo

badger2018's People

Contributors

knightofnet avatar

Watchers

 avatar

badger2018's Issues

Transformer dernier badgeage début de pause en fin de journée

Dans certains cas, le dernier badgeage d'une journée peut-être un "début de pause".

Dans la fenêtre "Résumé détaillée de la journée", rendre possible la transformation de ce badgeage en badgeage de fin de journée, pour les jours précédents, et à condition qu'il n'existe pas d'autres badgeage ensuite.

Rappels au retour de la pause du midi : comportement plus insistant

Au retour de la pause du midi (après déverrouillage), la messageBox invitant à badger s'affiche désormais tous les 5 min.

  • Cliquer sur OK ne fait rien de particulier,
  • Fermer la messageBox avec la croix rouge annule ce comportement,
  • Badger la fin de la pause du midi annule ce comportement.

Ajout du calcul relatif du C/D à partir d'une date

Ajouter une option permettant de calculer le C/D relatif à partir d'une date.
Prévoir le cas des jours/demie journées non travaillées
Afficher le résultat sous forme d'une fenetre de dialogue.

Le jour pourrait être sélectionné à partir de la fenêtre "Mes pointages"
Possibilité d'appliquer le C/D calculé à celui courant.

Heures avec millisecondes en BDD

Dans certaines situation, l'heure enregistrée en BDD contient en plus des ms.

  • Si l'heure badgée n'a pas été relevée,
  • si C/D appliqué à partir d'une période où l'heure badgée n'a pas été relevée

Cela pose problème pour certains calculs.

A voir : arrondir systématiquement : AppDateUtils.DtNow()

Ajouter une option : heure de fin de badgeage possible

Ajouter une option à l'outil, permettant de définir une heure de fin, au délà de laquelle il n'est plus possible de badger.
Ajouter un/des rappels avant (-15, -5 et -1 min)
Bloquer le compteur d'accumulation de temps à cette heure là.

Bug au moment de la sauvegarde des temps

Bug avec le temps TT : #26

06/09/2021 12:02:20 : [DEBUG] : Sauvegarde en BDD du badgage du matin (06/09/2021 07:00:00)
06/09/2021 12:02:20 : [DEBUG] : AddBadgeage (typeBadgeage: 0, dtTimeHeureBadgeage: 06/09/2021 07:00:00, relationKey: )
06/09/2021 12:02:20 : [DEBUG] : InsertNewBadgeage : [DATE_BADGE:2021-09-06][TYPE_BADGE:0][TIME_BADGE:07:00:00][RELATION_KEY:null][DT_ADDED:2021-09-06 12:02][CD_AT_TIME:07:03:00]
06/09/2021 12:02:20 : [DEBUG] : FIN - AddBadgeage(...)
06/09/2021 12:02:20 : [DEBUG] : Sauvegarde en BDD du badgage de fin de matinée (01/01/0001 00:00:00)
06/09/2021 12:02:20 : [DEBUG] : AddBadgeage (typeBadgeage: 1, dtTimeHeureBadgeage: 01/01/0001 00:00:00, relationKey: )
06/09/2021 12:02:20 : [DEBUG] : InsertNewBadgeage : [DATE_BADGE:0001-01-01][TYPE_BADGE:1][TIME_BADGE:00:00:00][RELATION_KEY:null][DT_ADDED:2021-09-06 12:02][CD_AT_TIME:07:03:00]
06/09/2021 12:02:20 : [DEBUG] : FIN - AddBadgeage(...)
06/09/2021 12:02:20 : [DEBUG] : Sauvegarde en BDD du badgage du début d'après-midi (01/01/0001 00:00:00)
06/09/2021 12:02:20 : [DEBUG] : AddBadgeage (typeBadgeage: 2, dtTimeHeureBadgeage: 01/01/0001 00:00:00, relationKey: )
06/09/2021 12:02:20 : [DEBUG] : InsertNewBadgeage : [DATE_BADGE:0001-01-01][TYPE_BADGE:2][TIME_BADGE:00:00:00][RELATION_KEY:null][DT_ADDED:2021-09-06 12:02][CD_AT_TIME:07:03:00]
06/09/2021 12:02:20 : [DEBUG] : FIN - AddBadgeage(...)
06/09/2021 12:02:20 : [DEBUG] : Sauvegarde en BDD du badgage de fin d'après-midi (06/09/2021 12:02:00)
06/09/2021 12:02:20 : [DEBUG] : AddBadgeage (typeBadgeage: 3, dtTimeHeureBadgeage: 06/09/2021 12:02:00, relationKey: )
06/09/2021 12:02:20 : [DEBUG] : InsertNewBadgeage : [DATE_BADGE:2021-09-06][TYPE_BADGE:3][TIME_BADGE:12:02:00][RELATION_KEY:null][DT_ADDED:2021-09-06 12:02][CD_AT_TIME:07:03:00]
06/09/2021 12:02:20 : [DEBUG] : FIN - AddBadgeage(...)
06/09/2021 12:02:20 : [DEBUG] : IsJourExistFor(dtNow : 06/09/2021 12:02:20)
06/09/2021 12:02:20 : [DEBUG] : FIN - IsJourExistFor(...) => True
06/09/2021 12:02:20 : [DEBUG] : Sauvegarde en BDD du jour. Le jour existe déjà, on le mets à jour
06/09/2021 12:02:20 : [DEBUG] : UpdateJourWithPointageElt(date: 06/09/2021 12:02:20, PointageElt: IsComplete: False, DateDay: 06/09/2021 12:02:20, EtatBadger: 3, OldEtatBadger: 0, B0: , B1: , B2: , B3: , TypeJournee: 1, IsNotif1Showed: False, IsNotif2Showed: False, Pauses: , WorkAtHomeCpt: 0,5)
06/09/2021 12:02:20 : [DEBUG] : FIN - UpdateJourWithPointageElt(...)
06/09/2021 12:02:20 : [DEBUG] : UpdateTpsTravaille (dateJourToUpdate: 06/09/2021 12:02:20, tpsTravaille: 05:02:00)
06/09/2021 12:02:20 : [DEBUG] : EXCEPTION CATCHEE : SaveCurrentDayTimes() => System.FormatException
06/09/2021 12:02:20 : [ERROR] : Erreur :
06/09/2021 12:02:20 : [ERROR] : Type d'exception : FormatException, Message : Le format de la chaîne d'entrée est incorrect.
06/09/2021 12:02:20 : [ERROR] : Stack Trace : à System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
à System.Number.ParseDecimal(String value, NumberStyles options, NumberFormatInfo numfmt)
à System.Data.SQLite.SQLiteDataReader.GetDecimal(Int32 i)
à Badger2018.services.bddLastLayer.JoursBddLayer.GetJourDataNext(DbbAccessManager dbbManager, DateTime date)
à Badger2018.services.JoursServices.UpdateTpsTravaille(DateTime dateJourToUpdate, TimeSpan tpsTravaille)
à Badger2018.business.saver.BddPointageWriterReader.SaveDayTimes(DataBadgeageVehicle data)
06/09/2021 12:02:20 : [DEBUG] : Rollback !
06/09/2021 12:02:20 : [DEBUG] : FIN : SaveCurrentDayTimes()
06/09/2021 12:02:20 : [DEBUG] : Sauvegarde des options
06/09/2021 12:02:20 : [DEBUG] : Sending : EXIT
06/09/2021 12:02:21 : [INFO ] : Sauvegarde de la session (EtatBadger: 3)
06/09/2021 12:02:21 : [DEBUG] : DEBUT : SaveCurrentDayTimes()
06/09/2021 12:02:21 : [DEBUG] : RemoveBadgeagesOfADay(date: 06/09/2021 12:02:21)
06/09/2021 12:02:21 : [DEBUG] : FIN - RemoveBadgeagesOfADay(...)
06/09/2021 12:02:21 : [DEBUG] : Sauvegarde en BDD du badgage du matin (06/09/2021 07:00:00)
06/09/2021 12:02:21 : [DEBUG] : AddBadgeage (typeBadgeage: 0, dtTimeHeureBadgeage: 06/09/2021 07:00:00, relationKey: )
06/09/2021 12:02:21 : [DEBUG] : InsertNewBadgeage : [DATE_BADGE:2021-09-06][TYPE_BADGE:0][TIME_BADGE:07:00:00][RELATION_KEY:null][DT_ADDED:2021-09-06 12:02][CD_AT_TIME:07:03:00]
06/09/2021 12:02:21 : [DEBUG] : FIN - AddBadgeage(...)
06/09/2021 12:02:21 : [DEBUG] : Sauvegarde en BDD du badgage de fin de matinée (01/01/0001 00:00:00)
06/09/2021 12:02:21 : [DEBUG] : AddBadgeage (typeBadgeage: 1, dtTimeHeureBadgeage: 01/01/0001 00:00:00, relationKey: )
06/09/2021 12:02:21 : [DEBUG] : InsertNewBadgeage : [DATE_BADGE:0001-01-01][TYPE_BADGE:1][TIME_BADGE:00:00:00][RELATION_KEY:null][DT_ADDED:2021-09-06 12:02][CD_AT_TIME:07:03:00]
06/09/2021 12:02:21 : [DEBUG] : FIN - AddBadgeage(...)
06/09/2021 12:02:21 : [DEBUG] : Sauvegarde en BDD du badgage du début d'après-midi (01/01/0001 00:00:00)
06/09/2021 12:02:21 : [DEBUG] : AddBadgeage (typeBadgeage: 2, dtTimeHeureBadgeage: 01/01/0001 00:00:00, relationKey: )
06/09/2021 12:02:21 : [DEBUG] : InsertNewBadgeage : [DATE_BADGE:0001-01-01][TYPE_BADGE:2][TIME_BADGE:00:00:00][RELATION_KEY:null][DT_ADDED:2021-09-06 12:02][CD_AT_TIME:07:03:00]
06/09/2021 12:02:21 : [DEBUG] : FIN - AddBadgeage(...)
06/09/2021 12:02:21 : [DEBUG] : Sauvegarde en BDD du badgage de fin d'après-midi (06/09/2021 12:02:00)
06/09/2021 12:02:21 : [DEBUG] : AddBadgeage (typeBadgeage: 3, dtTimeHeureBadgeage: 06/09/2021 12:02:00, relationKey: )
06/09/2021 12:02:21 : [DEBUG] : InsertNewBadgeage : [DATE_BADGE:2021-09-06][TYPE_BADGE:3][TIME_BADGE:12:02:00][RELATION_KEY:null][DT_ADDED:2021-09-06 12:02][CD_AT_TIME:07:03:00]
06/09/2021 12:02:21 : [DEBUG] : FIN - AddBadgeage(...)
06/09/2021 12:02:21 : [DEBUG] : IsJourExistFor(dtNow : 06/09/2021 12:02:21)
06/09/2021 12:02:21 : [DEBUG] : FIN - IsJourExistFor(...) => True
06/09/2021 12:02:21 : [DEBUG] : Sauvegarde en BDD du jour. Le jour existe déjà, on le mets à jour
06/09/2021 12:02:21 : [DEBUG] : UpdateJourWithPointageElt(date: 06/09/2021 12:02:21, PointageElt: IsComplete: False, DateDay: 06/09/2021 12:02:21, EtatBadger: 3, OldEtatBadger: 0, B0: , B1: , B2: , B3: , TypeJournee: 1, IsNotif1Showed: False, IsNotif2Showed: False, Pauses: , WorkAtHomeCpt: 0,5)
06/09/2021 12:02:21 : [DEBUG] : FIN - UpdateJourWithPointageElt(...)
06/09/2021 12:02:21 : [DEBUG] : UpdateTpsTravaille (dateJourToUpdate: 06/09/2021 12:02:21, tpsTravaille: 05:02:00)
06/09/2021 12:02:21 : [DEBUG] : EXCEPTION CATCHEE : SaveCurrentDayTimes() => System.FormatException
06/09/2021 12:02:21 : [ERROR] : Erreur :
06/09/2021 12:02:21 : [ERROR] : Type d'exception : FormatException, Message : Le format de la chaîne d'entrée est incorrect.
06/09/2021 12:02:21 : [ERROR] : Stack Trace : à System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
à System.Number.ParseDecimal(String value, NumberStyles options, NumberFormatInfo numfmt)
à System.Data.SQLite.SQLiteDataReader.GetDecimal(Int32 i)
à Badger2018.services.bddLastLayer.JoursBddLayer.GetJourDataNext(DbbAccessManager dbbManager, DateTime date)
à Badger2018.services.JoursServices.UpdateTpsTravaille(DateTime dateJourToUpdate, TimeSpan tpsTravaille)
à Badger2018.business.saver.BddPointageWriterReader.SaveDayTimes(DataBadgeageVehicle data)

jourEntryDto.WorkAtHomeCpt = Decimal.ToDouble(reader.GetDecimalByColName("WORK_AT_HOME_CPT"));

Badgeage 0 manuel - retenir le choix

Actuellement, pour le 1er badgeage du matin, si ce dernier est fait manuellement, l'app demande une confirmation de ce que souhaite faire l'utilisateur (badger ou reporter l'heure).
Ce choix pourrait être retenu (dans une option) afin de ne plus demander à l'utilisateur qui le souhaite.

Demander à l'utilisateur s'il est en TT

Après le 1er badgeage, demander à l'utilisateur s'il est en TT (ou non).
Possibilité de ne plus demander de la semaine
Possibilité de ne plus demander du tout

modifiable dans les options

Ajouter une façon de tester la connexion avant de badger

Avec le TT, la connexion collibri obligatoire pour badger n'est pas forcément active au démarrage de l'ordinateur.
Aussi, il faudrait ajouter le scénario suivant :

  • L'autobadgeage / le badgeage est lancé,
  • Un test de réponse d'un site (TamTam ?) est fait :
    -- Si négatif : un message s'affiche informant l'utilisateur. Il peut ignorer le message et lancer le badgeage (risque d'échec, mais c'est géré). Le message pourrait se retirer au bout d'un certain nombre de seconde (10 ? 20 ? 30 ?), sauf interaction utilisateur.
    -- Si positif : on continue la procédure classique de badgage.

Avertissement lorsque le C/D relevé lors du badgeage diffère de celui de la veille

Après le 1er badgeage de la journée, lorsque le C/D relevé diffère avec (celui de la veille + tps trav de la veille), alors avertir l'utilisateur.

On pourrait ensuite lui laisser choisir :

  • de garder le C/D relevé
  • de prendre le C/D calculé
  • de prendre un C/D personnalisé
  • d'ouvrir la fenêtre de calcul C/D

Fonction désactivable.

L'avertissement pourrait être une icone triangle, rouge, à coté de la zone d'affiche du C/D

Modification d'un jour passé - CD non pris en compte

Lors de la modification d'un jour précédent, le C/D n'est pas pris en compte :

  • Il n'est pas chargé correctement (c'est celui des option PrgOptions.LastCdSeen qui l'est)
  • Il n'est pas modifié correctement (c'est celui des option PrgOptions.LastCdSeen qui l'est)

Ajouter une seconde tentative pour la récupération de l'heure badgée

Liée à l'issue #39

Si l'heure badgée n'a pas été recupérée correctement (ex: si la derniere heure est dans une sous-page, donc non visible directement), prévoir une 2nd tentative en allant la rechercher ailleurs :

Exemple sous-page : (l'heure badgée est en page2)
image

Tentative 2 :
image

Sélecteur HTML :
#dejaBadger #lbl_heureBadgee

image

Ajouter un changelog

Ajouter un journal des changements.
Accessible depuis la fenêtre "A propos" / F1

Personnalisation : modes couleur personnalisable

Ajouter une option de personnalisation sur la couleur du bandeau de l'outil :

  • soit couleur fixe : par défaut bleue
  • soit couleur changeante en fonction de l'heure (et de la saison ?)
  • soit un fond (perso ? selon l'heure ?)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.