Autor Zpráva
NouF
Profil
Ahoj,

mám takový problém. Pracuji na takovém plánovači docházky. Máme 4 směny a toto nám má pomoct s přehledností obsazenosti směn.

Ukladám si do DB informace o pracovníkovi a jeho aktivitách v minulosti...

Současnost a budoucnost bude jen vyzobrazená podle řady 2dny denní, 2dny noční, 4dny volna.

Ale to mám problém s tím jak "dopočítávat" jakou bude mít šichtu.




Můžete mi pomoct jak toto řešit?

Moc děkuju


Máme 8 dení cykl. Takže Každých 8 dní se to opakuje.
Jak začít?
midlan
Profil
Vytvořil bych v databázi další tabulku kde by byly uloženy směny a ty by se přiřazovaly jednotlivým pracovníkům + u každé směny by se zadal datum, kdy ta směna začala (fakticky to nemusí být začátek té směny, ale prostě den kdy šli po 4 dením volnu pracovníci do práce). Pak už pomocí modulo 8 rozdílu aktuálního dne a začátku dané směny ve dnech zjistíš jaký den dané směny v aktuálním dni probíhá. Aby byly podchycené všechny situace tak by měl být ten 8 denní rozvrh směny samozřejmě uložen v databázi (aby šlo v budoucnu přidávat i jiné než 8 denní směny, ale to zvaž už sám jestli taková situace někdy vznikne).
nastevnik
Profil *
midlan:
mohli by ste sem prosím uviesť matematický zápis
NouF
Profil
midlan:
Děkuju. Ješte si to 2x přečtu a zkusím něco napsat. Zatim díky.
bestik_63
Profil
Zkusil bych poradit toto:
Vytvořil bych si pole
$arr = array(1 => "V", 2 => "V", 3 => "V", 4 => "V", 5 => "R", 6 => "R", 7 => "N", 8 => "N");
Pak bych si u každého napsal datum kdy začínal směny V. Pak v jakýkoliv datum můžeš spočítat počet dní, který vydělíš 8 a ze zbytku ti vyjde směna.
Př. uběhlo 20 dní. Tj. 4. den směny (20/8= 2 a zbytek 4)

Nicméně u tohoto bych čekal, že to budeš mít v databázi, tak nechápu proč to potřebuješ dopočítávat. Nehledě např. na dovolenou nebo jiné důvody nepřítomnosti v práci také nevypočítáš.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: