Codecr-ft / TurnoGen

"TurnoGen: Una aplicación para generar horarios de turnos de manera rápida y eficiente. Este repositorio contiene el código fuente y la documentación necesaria para implementar la aplicación.
GNU General Public License v3.0
0 stars 1 forks source link

Corrección calendario #54

Closed Patacabra closed 7 months ago

Patacabra commented 7 months ago

Describe your changes

He añadido código para contabilizar cada día del año y tener en cuenta cuando el año es bisiesto o no.

Issue ticket number and link

52

Checklist before requesting a review

lugaresdev commented 7 months ago

@Patacabra no habías asignado este pullrequest a nadie hay que referenciar también a @JJ para que revise esto también. (Que ya queda hecho en este comentario)

JJ commented 7 months ago

¿Seguro que esto debe estar en un producto mínimamente viable?

lugaresdev commented 7 months ago

@Patacabra Me gusta el enfoque que has utilizado me parece buena idea que hayas definido las clases Day y Month. Ya que la clase Month tiene la responsabilidad de determinar la cantidad de días en un mes específico, considerando si el año es bisiesto o no y luego crea una lista de objetos me parece más practico el uso de Day para representar los días del mes que como estaba anteriormente.

JJ commented 7 months ago

De veras que independientemente de que esté o no esté deberíais de considerar si lo que queréis meter en un restaurante es un calendario anual o simplemente uno semanal. Si se va a repetir el calendario semanal, o al menos se va a planificar sólo con una semana de antelación, quizás deberíais tenerlo en cuenta. No sé qué dirá el experto @maguilerafr pero me da la impresión de que no hay restaurante que planifique los turnos con más de una semana o un mes de antelación.

maguilerafr commented 7 months ago

De veras que independientemente de que esté o no esté deberíais de considerar si lo que queréis meter en un restaurante es un calendario anual o simplemente uno semanal. Si se va a repetir el calendario semanal, o al menos se va a planificar sólo con una semana de antelación, quizás deberíais tenerlo en cuenta. No sé qué dirá el experto @maguilerafr pero me da la impresión de que no hay restaurante que planifique los turnos con más de una semana o un mes de antelación.

Realmente no hay ningún restaurante que planifique más allá de una semana o un mes (esto segundo ya es complicado). Entiendo que la necesidad de tener en cuenta el calendario anual tiene otras pretensiones más allá de asignar turnos, que va más relacionado con poder planificar vacaciones de trabajadores y poder tener en cuenta posibles festivos/puentes.

Patacabra commented 7 months ago

Entiendo el punto de las planificaciones a corto plazo por parte de los restaurantes. Sin embargo, considero que sería ventajoso disponer de un calendario anual o, al menos, mensual. A pesar de planificar con una semana de antelación. Esto no solo ayudaría a tener una visión más amplia de los turnos sino que también facilitaría la gestión anticipada de ausencias y vacaciones del personal. De esta manera, se minimizarían los malentendidos y se fomentaría una organización más eficiente, permitiendo al personal adaptarse mejor a las necesidades futuras.

JJ commented 7 months ago

@Patacabra aquí @maguilerafr es el cliente. Si el cliente te dice que no necesita una cosa, es que no la necesita. En desarrollo ágil hay que hacer sólo y exclusivamente lo que el cliente pide.

lugaresdev commented 7 months ago

@Patacabra Propongo entonces para la milestone 0 dejar solo el calendario semanal para más adelante incluir en la milestone 1 el mensual y posterior mente el anual y asociar en un futuro en sus correspondientes issues.

Patacabra commented 7 months ago

Aquí #32 se especifica literalmente la necesidad por parte de María, la cliente, de tener "un calendario específico anual que proporcione año, meses y días, marcando los días festivos como un dato especial, ya que es un factor a tomar en cuenta en el futuro para la asignación de turnos de los empleados."

Patacabra commented 7 months ago

@lugaresdev Muy bien visto compañero, podemos dejar simplemente el calendario semanal para el milestone 0

JJ commented 7 months ago

Podéis dejar esto abierto y simplemente asignarlo a otro milestone (con los issues correspondientes)

Patacabra commented 7 months ago

Asignado al milestone 1.

En #34 Ya se ha definido calendario semanal.