날짜 선택시, 주말 선택 또는 주말끼고 휴가 신청 안되게 하는 방법에 대한 설명입니다.
먼저 필드들이 몇개 필요합니다.
- 아래 내용들을 해당 컨트롤의 Default Value값으로 설정해 놓습니다.
normalize-space(substring-after(substring-after(FromDate, "-"), "-"))
normalize-space(substring-before(substring-after(FromDate, "-"), "-"))
normalize-space(substring-before(FromDate, "-"))
(MyDay + (MyYear - floor((14 - MyMonth) / 12)) + floor((MyYear - floor((14 - MyMonth) / 12)) / 4) - floor((MyYear - floor((14 - MyMonth) / 12)) / 100) + floor((MyYear - number((14 - MyMonth) / 12)) / 400) + floor(31 * (MyMonth + (12 * floor((14 - MyMonth) / 12)) - 2) / 12)) mod 7
- 아래와 같이 Control에 Rules을 추가합니다.
- 참고로 AbsenceDays 셋팅하는 로직도 추가합니다.
number(substring(ToDate, 9, 2)) + floor((153 * (number(substring(ToDate, 6, 2)) + 12 * floor((14 - number(substring(ToDate, 6, 2))) / 12) - 3) + 2) / 5) + (number(substring(ToDate, 1, 4)) + 4800 - floor((14 - number(substring(ToDate, 6, 2))) / 12)) * 365 + floor((number(substring(ToDate, 1, 4)) + 4800 - floor((14 - number(substring(ToDate, 6, 2))) / 12)) / 4) - floor((number(substring(ToDate, 1, 4)) + 4800 - floor((14 - number(substring(ToDate, 6, 2))) / 12)) / 100) + floor((number(substring(ToDate, 1, 4)) + 4800 - floor((14 - number(substring(ToDate, 6, 2))) / 12)) / 400) - 32045 - (number(substring(., 9, 2)) + floor((153 * (number(substring(., 6, 2)) + 12 * floor((14 - number(substring(., 6, 2))) / 12) - 3) + 2) / 5) + (number(substring(., 1, 4)) + 4800 - floor((14 - number(substring(., 6, 2))) / 12)) * 365 + floor((number(substring(., 1, 4)) + 4800 - floor((14 - number(substring(., 6, 2))) / 12)) / 4) - floor((number(substring(., 1, 4)) + 4800 - floor((14 - number(substring(., 6, 2))) / 12)) / 100) + floor((number(substring(., 1, 4)) + 4800 - floor((14 - number(substring(., 6, 2))) / 12)) / 400) - 32045) + 1
number(substring(., 9, 2)) + floor((153 * (number(substring(., 6, 2)) + 12 * floor((14 - number(substring(., 6, 2))) / 12) - 3) + 2) / 5) + (number(substring(., 1, 4)) + 4800 - floor((14 - number(substring(., 6, 2))) / 12)) * 365 + floor((number(substring(., 1, 4)) + 4800 - floor((14 - number(substring(., 6, 2))) / 12)) / 4) - floor((number(substring(., 1, 4)) + 4800 - floor((14 - number(substring(., 6, 2))) / 12)) / 100) + floor((number(substring(., 1, 4)) + 4800 - floor((14 - number(substring(., 6, 2))) / 12)) / 400) - 32045 - (number(substring(FromDate, 9, 2)) + floor((153 * (number(substring(FromDate, 6, 2)) + 12 * floor((14 - number(substring(FromDate, 6, 2))) / 12) - 3) + 2) / 5) + (number(substring(FromDate, 1, 4)) + 4800 - floor((14 - number(substring(FromDate, 6, 2))) / 12)) * 365 + floor((number(substring(FromDate, 1, 4)) + 4800 - floor((14 - number(substring(FromDate, 6, 2))) / 12)) / 4) - floor((number(substring(FromDate, 1, 4)) + 4800 - floor((14 - number(substring(FromDate, 6, 2))) / 12)) / 100) + floor((number(substring(FromDate, 1, 4)) + 4800 - floor((14 - number(substring(FromDate, 6, 2))) / 12)) / 400) - 32045) + 1