continue
This commit is contained in:
+6
-3
@@ -1,10 +1,11 @@
|
||||
import datetime
|
||||
from collections import defaultdict
|
||||
|
||||
from shifts import SingleShift, ShiftCollection, days, sites
|
||||
|
||||
|
||||
class Worker:
|
||||
def __init__(self, Shifts, id, name, site, grade, fte=100, nwd=[], end_date=None, oop=None):
|
||||
def __init__(self, Shifts, id, name, site, grade, fte=100, nwd=None, end_date=None, oop=None):
|
||||
self.id = id
|
||||
self.name = name
|
||||
self.site = site
|
||||
@@ -13,6 +14,8 @@ class Worker:
|
||||
self.nwd = nwd
|
||||
self.proportion_rota_to_work = 1
|
||||
|
||||
self.shift_target_number = defaultdict(int)
|
||||
|
||||
days_to_work = Shifts.rota_days_length
|
||||
|
||||
if end_date is None:
|
||||
@@ -28,7 +31,7 @@ class Worker:
|
||||
# add unavalabilities
|
||||
for weeks_days in Shifts.weeks_days_product[days_to_work:]:
|
||||
week, day = weeks_days
|
||||
unavailable_to_work.add((self.id, week, day))
|
||||
Shifts.unavailable_to_work.add((self.id, week, day))
|
||||
|
||||
if oop is not None:
|
||||
start_oop, end_oop = oop
|
||||
@@ -45,7 +48,7 @@ class Worker:
|
||||
|
||||
for weeks_days in Shifts.weeks_days_product[days_until_oop:days_until_oop+oop_length]:
|
||||
week, day = weeks_days
|
||||
unavailable_to_work.add((self.id, week, day))
|
||||
Shifts.unavailable_to_work.add((self.id, week, day))
|
||||
|
||||
|
||||
self.proportion_rota_to_work = days_to_work / Shifts.rota_days_length
|
||||
|
||||
Reference in New Issue
Block a user