一、全局判斷(延遲)補填天數(shù)限制(表 ent_sys_setting setting_key=wwdl)
二净宵、調(diào)班---數(shù)據(jù)驗證
1.驗證原上班時間(data_7)敲才,調(diào)班后上班時間(data_8)--為空或者是不是相同
2.驗證申請人的工作日信息 // 申請要休息時間 - 申請人是上班日, 申請要上班時間 - 申請人需要是休息日<strong>驗證申請人是否工作日</strong> -- 全局工作日和個人工作日合并查詢
3.驗證調(diào)班對象的工作日信息 //申請人要休息時間 - 對象是休息日, 申請人要上班時間 - 調(diào)整對象需要是工作日
<strong>驗證調(diào)班對象是否工作日</strong> -- 全局工作日和個人工作日合并查詢
三裹纳、加班/調(diào)休/請假/出差
1.驗證開始時間(data_7)是否大于結(jié)束時間(data_8)
2.刪除流程對應(yīng)的使用記錄(表 oa_attendance_used 和 表 oa_attendance)-->流程id
3.根據(jù)系統(tǒng)設(shè)置的工作時長(表 ent_sys_setting setting_key=wdh 默認8小時)計算累計小時
4.調(diào)休、請假归斤、特別休假最小額限制(表 ent_sys_setting setting_key=shml)<strong>調(diào)休</strong>
①.累計時間不能為0
②.計算申請人的加班剩余時間 判斷是否還剩時間可以調(diào)休部門加班有效期-月 (表 ent_sys_setting setting_key=sovd)
單位加班有效期-月 (表 ent_sys_setting setting_key=sovt)
基礎(chǔ)(全局)加班有效期-月 (表 ent_sys_setting setting_key=bovt)
設(shè)置的是自然月或非自然月 (表 ent_sys_setting setting_key=ovmt)
有效時間 = 申請時間開始 (非自然月)/ 當(dāng)月1日開始 (自然月)
從表(oa_attendance)查出有效時間內(nèi)的加班數(shù)據(jù)痊夭,判斷剩余可用加班時間
③.更新自定義表單數(shù)據(jù)(data_15 日期使用記錄 數(shù)據(jù)用 ` 隔開 ,第一值代表使用 日期脏里, 第二個值代表加班時間她我, 第三值代表 可使用時間 第四值代表 使用時間)
④.重新生成加班日期使用記錄 (表 oa_attendance_used)
條件一 調(diào)休時間不能大于可用時間
條件二 使用時間不能大于可用時間
<strong>請假</strong>
①.年假
獲取年假是否開啟 (表 ent_sys_setting setting_key=als)
年假方案判斷 (指定日期/自然年/非自然年-按入職時間) (表 ent_sys_setting setting_key=acs)
添加年假使用記錄根據(jù)系統(tǒng)設(shè)置計算 是否可使用年假和可使用天數(shù)
<strong>按入職時間(J)</strong> (表 ent_sys_setting setting_key=alv)
根據(jù)時間判斷入職年數(shù) 獲取設(shè)置的年假天數(shù)
<strong>按自然年(Y)</strong> (表 ent_sys_setting setting_key=alvy)
根據(jù)時間判斷入職年數(shù) 獲取設(shè)置的年假天數(shù) 沒滿一年按比例計算
<strong>按指定日期(D)</strong> (表 ent_sys_setting setting_key=alvd)
直接根據(jù)時間獲取設(shè)置的年假天數(shù)
添加考勤記錄
查詢已經(jīng)使用的年假記錄,判斷剩余的年假,插入年假記錄
②.特殊休假
獲取特殊休假是否開啟 (表 ent_sys_setting setting_key=shv)
獲取可用特殊假期數(shù)據(jù) (表 ent_holiday)
添加特殊假期使用記錄 (表 oa_attendance_used)
5.添加考勤記錄
設(shè)置代理人ID, 加班無代理人
為防止用戶忘記填 首日小時和未日小時數(shù) 的驗證 (婚嫁绊困,喪假不考慮休息日)婚假/喪假/產(chǎn)假/陪產(chǎn)假 判斷是否累計休息 根據(jù)系統(tǒng)設(shè)置 (表 ent_sys_setting setting_key=mfvah)
單天判斷請假判斷是不是休息日 是的話拋出異常
請假/調(diào)休/出差 判斷首日苗踪,尾日是否工作日怀跛,如果是,首尾日時間才有效
加班/出差/婚假/喪假/產(chǎn)假/陪產(chǎn)假 不考慮節(jié)假日
請假/調(diào)休 需要考慮節(jié)假日
累計小時數(shù) 不等于 實際小時數(shù) 拋出異常
如果是加班計算加班小時數(shù)
如果是請假設(shè)置對應(yīng)的請假類別
如果是出差設(shè)置是否有無網(wǎng)絡(luò)