Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Aplikacja do układania grafików, zapraszam do dyskusji
Jarod
post 3.12.2007, 21:06:01
Post #1





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

Ostrzeżenie: (0%)
-----


Stanąłem przed nie lada wyzwaniem - do aplikacji, którą rozwijam w firmie dorobić moduł pozwalający układać grafiki. Postaram się w skrócie opisać jakie są wymagania i problemy, które po wstępnym przemyśleniach nasuwają mi się do głowy. Cały czas zastanawiam się czy się tego podjąć - naprawdę dużo warunków, praca zmianowa, dużo działów, rozliczanie ilości godzin w trybie 3-miesięcznym z czego są 4 grupy pracowników (tzn nie wszyscy pracownicy zerują się w tych samych miesiącach), nadgodziny, połączone z modułem RCP, który pisałem wcześniej...

Na końcu posta zamieszczam przykładowy plik w excelu (osoby odpowiedzialne za układanie grafików przygotowywały je w excelu a następnie przenosiły do systemu stworzonego przez jedną ze znanych firm programistycznych). Aplikacja ta niestety nie wystarcza, nie sprawdza wszystkich warunków a ta firma chce choooore pieniądze że dorobienie modułu/poprawek - podejrzewam, że czują jakie to bagno i dlatego dali taką cenę - nikt o zdrowych zmysłach nie zgodziły się na to. Do rzeczy.

Opis czynności
-----------------
1. Po wejściu w moduł, dany użytkownik wybiera z listy rozwijanej dział, dla którego chce układać grafik (niektórzy będą mieli dostęp do więcej niż jednego/swojego działu), wybiera miesiąc i rok na który chce układać grafik a następnie klika pobierz/wygeneruj nowy grafik.
2. Domyślnie zostaje wyświetlona lista wszystkich pracowników danego działu (będzie istniała możliwość filtrowania po stanowisku i/lub konkretnym pracowniku).

Pracownicy są wyświetlani jeden pod drugim po lewej stronie natomiast na samej górze jest zakres dni danego miesiąca (np. jeśli tworzymy grafik na grudzień jest to od 1 grudzień do 1 styczeń)

3. Przy danym pracowniku i konkretnym dniu będzie można wpisywać godziny od kiedy do kiedy dany pracownik pracuje. Muszą istnieć dwa sposoby wpisywania:
a) za pomocą kodów, np C2 (to zdefiniowany wcześniej zakres godzinowy np od 8.00 do 15.00)
b_) za pomocą godzin

4. Maksymalnie po prawej stronie podczas wpisywania kodów albo zakresów godzin, na bieżąco obliczana jest suma wpisanych godzin (konieczne zastosowania JS)

5. Powinna istnieć także możliwość zmiany zakresów godzin dla wybranego kodu tylko dla jednej wybranej daty. Tzn, jeśli kod C2 jest zdefiniowany globalnie i oznacza zakres godzin od 8.00 do 15.00, to użytkownik powinien mieć możliwość zmiany tego zakresu lokalnie dla danego dnia i danego pracownika bez wpływy na wartość globalną.. Mam nadzieje że nie zakręciłem za bardzo.

6. Po wypełnieniu klika zapisz, następuje sprawdzanie różnych warunków i jeśli wszystko jest ok to dane zostają zapisane a jeśli nie, to pojawia się komunikat o błędzie i zaznaczane są pola kolorem gdzie jest błąd.
7. Powinna też istnieć możliwość akceptacji grafika (nie wiem tylko czy każdy dzień będzie akceptowany oddzielnie czy akceptacje będą wykonywane tygodniowo - jest to konieczne ze względu na częste zmiany, zamiany, etc). Po zatwierdzeniu danego dnia/tygodnia nie będzie można edytować tego fragmentu grafika.


Problemy:
------------
1. Przejrzysty interfejs i warunki, których jest naprawdę dużo (jakoś sobie z tym poradzę)
2. JS, którego w ogóle nie znam i tu mam pytanie. Jak to rozwiązać? Wiem, że jest na pewno taka możliwość, ale jak to zrobić? Jak na bieżąco sumować godziny w danym miesiącu dla edytowanego pracownika, uwzględniając że czas pracy może być podany godzinowo albo kodami?
3. Czy jest możliwość zaznaczania konkretnych dni, konkretnemu pracownikowi kolorowymi kwadracikami? Np Sprzątaczka Janina 10 grudnia pracuje od 8-60 - zapisane kodowo, a pole dodatkowo oznaczone kolorem czerwonym co znaczy, że sprząta tylko wc smile.gif
4. W najgorszym wypadku zrobię to bez JS, czyli wszystko sprawdzane po naciśnięciu przycisku weryfikuj/przeładowaniu strony.

Dużo roboty w JS z tym?

Wogóle to jak widzicie taką aplikację? To były moje wstępne przemyślenia, może zaproponujecie coś lepszego. Za wszystkie opinie/dyskusje z góry dziękuje.

Pozdrawiam

Przykładowy grafik

Ten post edytował Jarod 3.12.2007, 21:06:55


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
DawidF
post 3.12.2007, 23:20:12
Post #2





Grupa: Zablokowani
Postów: 120
Pomógł: 2
Dołączył: 4.11.2004

Ostrzeżenie: (10%)
X----


Wbrew pozorom, nie wydaje mi się to jakoś szczególnie skomplikowane (chyba, że pominąłeś jakieś kosmiczne warunki, o których co prawda wspominasz, a które w rzeczywistości mogą utrudnić sprawę).
Co do JS, w necie można znaleźć "gotowce", które np. sumują określone pola - można je dość szybko dostosować do swoich wymagań. Właściwie starałbym się jak najwięcej warunków wrzucić właśnie do JS.

Szczerze mówiąc, ciekawe wyzwanie... Ja bym brał smile.gif
Go to the top of the page
+Quote Post
Jarod
post 4.12.2007, 07:46:26
Post #3





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

Ostrzeżenie: (0%)
-----


Cytat(DawidF @ 3.12.2007, 23:20:12 ) *
Wbrew pozorom, nie wydaje mi się to jakoś szczególnie skomplikowane (chyba, że pominąłeś jakieś kosmiczne warunki, o których co prawda wspominasz, a które w rzeczywistości mogą utrudnić sprawę).

Uwierz mi, że tylko wbrew pozorom winksmiley.jpg

Cytat(DawidF @ 3.12.2007, 23:20:12 ) *
Co do JS, w necie można znaleźć "gotowce", które np. sumują określone pola - można je dość szybko dostosować do swoich wymagań. Właściwie starałbym się jak najwięcej warunków wrzucić właśnie do JS.

Jakbym znał dobrze JS to też wszystkie warunki upchałbym w JS ale nie znam :/ Co do sumowania pól to własnie czułem, że się to da zrobić. Mam nadzieję, że z inputów. Bardziej martwi mnie problem kolorowania poszczególnych pól i możliwość zmiany zakresu kodów dla pojedynczego pola a nie dla wartości globalnej. A warunków jest b.dużo. Mam zapisane na 8 stronach A4 (czcionka 9pkt)

Cytat(DawidF @ 3.12.2007, 23:20:12 ) *
Szczerze mówiąc, ciekawe wyzwanie... Ja bym brał smile.gif

Będę się męczył z JS (nie trawie go) ale raczej podejmę się pisania tego modułu. Pierwszy raz będę coś takiego pisał.

Ten post edytował Jarod 4.12.2007, 07:47:47


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
DawidF
post 4.12.2007, 07:51:03
Post #4





Grupa: Zablokowani
Postów: 120
Pomógł: 2
Dołączył: 4.11.2004

Ostrzeżenie: (10%)
X----


smile.gif

No i słusznie. Gdyby była taka możliwość, zaprezentuj, co stworzyłeś - chętnie zobaczę.

3mam kciuki!
Go to the top of the page
+Quote Post
Jarod
post 4.12.2007, 08:08:35
Post #5





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

Ostrzeżenie: (0%)
-----


Znalazłem nawet na tym forum pisany na szybko skrypcik sumujący inputy ale wywoływany jest przez button. Niestety nie o to mi chodzi.
Załóżmy, że mamy 4 inputy. Do pierwszego wpisujesz kod albo zakres godzin, skrypt sprawdza:
- czy wprowadzony tekst jest kodem znakowym, jeśli tak to pobiera przypisany mu zakres godzin i oblicza ilość godzin dla tego dnia/inputa i wyświetla po prawej stronie
- jeśli to nie jest zdefiniowany kod to sprawdza czy zakres jest w poprawnym formacie godzinowym, oblicza ilość godzin i wyświetla sumę po prawę stronie
- sumowanie/aktualizacja odbywa się podczas wprowadzania danych

Da się taki skrypt napisać? Możesz jakoś mi pomóc?


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
gadd33
post 8.05.2011, 18:26:55
Post #6





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 27.11.2009

Ostrzeżenie: (0%)
-----


Nie jest to proste ale da się: www.planujprace.pl


--------------------
www.PlanujPrace.pl - grafik pracy online, harmonogram dyżurów, zarządzanie pracą zmianową
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2025 - 08:11