Så är ligger det till!
Morsan sitter och ska göra ett schema till jobbet. Hon säger att det är rejält med fixande hit och dit så du kom jag på den briljanta ideén att man kanske kunde skiva ett litet program som fixar detta.
Jag har kommit så långt så att jag sparar de anställdas namn och arbetsprocent, dvs hur många timmar de ska arbeta i veckan i en databas och att man kan välja vilka som ska arbeta.
Nu till problemet och det som är själva grejen, generering av schemat.
Morsan har mängder av krav, tex kan nämnas:
Man ska inte få börja tidigt eller stänga varje dag
Det finns tre avdelningar, man ska kunna jobba tex 70 % på den ena och 30 på den andra
Det ska vara inräknat 30 minuters rast varje dag
En person ska börja 6.00, nästa 6.30, nästa 7.30 och nästa 8.30
En person ska inte jobba mera än antalet timmar de ska jobba
På förmiddagen måste det vara 3 personer på varje avdelning och likadant på eftermiddagen
Det ska vara inlagt en timme friskvård varje vecka per person
Det borde väl gå att fixa om man loopar genom att runt en 10 000 gånger. Då borde man kanske få en eller ett par scheman som passar.
Funderar alltså på detta och hur man ska lösa det och kan behöva alla tips som bara går. Hade först tänkt mig att börja med så att varje anställd får de antalet arbetstimmar de ska ha.
Hmm, jag antar att det skall vara helt olika scheman varje vecka för olika personer. Eller varför göra om ett schema hela tiden ?
Hur fungerar omvandlingen av schemat ? (alltså vad skiljer sig från vecka till vecka)
Det som skiljer sig från vecka till vecka är att du ena veckan kanske börjar 06.00 och andra veckan 8.00 . Då tycker ju du att det är orättvist att alltid få börja 06.00, så därför rullar man runt ;)
Vad vill du åstadkomma? Vad får du för värde och vad hade du förväntat dig?
Jag har iofs aldrig använt TimeSpan men jag skulle trott att TotalHours i första varvet i loopen blir 0... tsHours blir ju en "New TimeSpan(40, 0, 0)" eftersom TotalHours.Hours = 40 och k = 1 och 40/1 = 40... och sedan fortsätter den förstås att vara 0... Rätta mig om jag har fel...