Ben otomatik olarak dönen bir programa üyeleri için işleri planlamak için gereken bir uygulama üzerinde çalışıyorum. Ben kuralları açıklayan çok iyi değilim, bu nedenle burada yardım için bazı veriler var:
Positions: A job title, with rules such as Mondays and Wednesdays weekly.
Categories: A set of positions
Groups: Another set of positions. Positions in the same group cannot be assigned on the same day
Members: Users assigned to positions on a given date.
Ayın her bir tarih için, üyeler (artan hem de) pozisyonlara atanır. Bir üye bir kategoride bir konuma, aynı kategoride bir pozisyon gelir sonraki zaman, alfabetik bir sonraki üyesi (veya listenin başında) atanmış ise örneğin atanır.
Members: M1, M2, M3, M4
Positions in Category C1: P1, P2, P3
Members in Position P1: M1, M2, M3, M4
Members in Position P2: M1, M2, M3
Members in Position P2: M1, M3, M4
M1, P1 için atanmış ise P2 sonraki gelirse, M2 atanacaktır. Karmaşıklık ek bir katman aşağıdaki P3 yerine gelirse, M3 atanır yere sokulur. Sistem M2 'atlanır' ve 'çok atlanır olduğunda bu ek karmaşık hale gelir (eğer varsa, o zaman bir sonraki M4 atamak, ya da M2 kullanılabilir bir konuma gelene kadar bekleyin sonraki M2 atamak olduğu gerçeği takip etmek için vardır 'üyeleri).
O bu tarihte geçerli olmayacaktır belirtti eğer bir üye de atlanır. Sistem nasılsa onlar gelip onları tanımlamak ve sonra listedeki bir sonraki mantıksal kişiye atlamak, Atlanan üyeleri öncelik gerekiyor. Atlama nedeniyle de tarih çatışmalar gruplar için de geçerlidir.
Zaten ben artık her adımı açıklayan içinde bir sürü yorum var olsa bile anlamak geçici [ve dağınık] çözüm var. Onun zayıflıkları atlanan üyeleri ile ilgili bulunmaktadır.
Eğer kod gidiyor olsaydı bu bunu nasıl hakkında gitmek istiyorsunuz? PHP bu uygulama yaşıyorum ama yalancı de çalışmak.