2020年4月2日木曜日

休みの数だけ公休取得

月毎に公休数が変わる職場が多いと思いますが、各月毎に公休数を設定するのが面倒という方のためのスニペットが以下になります。今月の休診日数を取得して、同じ数だけ、公休数を取得するという制約になります。


import sc3
def 今月休診日数():
    休診日数=0
    for day in 全日:
        if day < 制約開始日:
            continue
        if day in 休日:
            休診日数+=1
    return 休診日数

def 休診日の数だけ公休を取る():
    休診日数=今月休診日数()
    for person in 全スタッフ:
        vlist=[]
        for day in 今月:
            v1=sc3.GetShiftVar(person,day,'公休')
            vlist.append(v1)
        s='公休数を休診日数だけ取る '+staffdef[person]
        sc3.AddHard(sc3.SeqLE(休診日数,休診日数,vlist),s)

休診日の数だけ公休を取る()

0 件のコメント:

コメントを投稿