设为首页 | 收藏本站
18515218668

休假申请天数计算模型

发表时间:2025-11-19 16:59作者:Together规则引擎
文章附图

计算员工的休假天数是一个常见的人事考勤场景,需要统计每个员工休假的自然天数周期,在这个周期内要扣除非工作日周末天数(周六日)、法定假日天数,然后计算出员工最终的休假天数。人事部门每次都需要,单独为每一位休假员工统计计算,当组织人员人数多时这需要很大的工作量且费时费力,现在我们可以通过Together规则引擎轻松实现这一算法。

首先我们在Together建模器中定义休假申请(即休假开始时间和休假返回时间)、法定假日表,休假日期三个数据结构,这里要注意法定假日表只包含法定假日时间,不包含其中的周六日的周末时间,因为通常国家为了让大家享受一个连续的假期会根据日期的情况,利用假期前后的周末进行替换补班,本质上大家获得的仍旧是原来的假期时间。所以在录入法定假期日时候要去除其中的周末日期,避免算法模型中周末时间重复计算和计算复杂化。

图1.png

然后我们在建模器画布,构建决策模型的逻辑结构,包括一个输入块和7个决策块。要最终实现员工最终的申请假期天数的计算,有2个方面的天数要从原始天数中扣除,一个是法定假日,另一个是周末。因此要统计出它们的值后从原始天数中扣除才能计算出正确结果。

图2.png

然后将数据类型与输入块和决策块进行绑定,休假申请数据类型绑定休假申请输入块,法定假日数据类型绑定法定假日决策块。

图3.png

最后分别定义相应的决策块如下

l   法定假日

使用关系的盒装结构,将一年中法定假日作为常量表供包含假日决策块筛选调用

图4.png

l   包含假日

使用文字表达式,通过法定假日关系集合将休假申请中包含的假日筛选出来,具体的逻辑表达式如下

图5.png

l   假日合计

使用文字表达式,对包含假日决策块筛选出来的假日天数进行统计,具体逻辑表达式如下:

图6.png

l   原始天数

使用文字表达式,计算从休假开始到休假返回的原始天数,具体逻辑表达式如下:

图7.png

l   整周数

使用文字表达式,在原始天数决策块输出的原始天数结果上计算出假期周数,这里面使用了Together内置的floor函数,它的作用是对计算结果取整数,不需要四舍五入,具体逻辑表达式如下:

图8.png

l   周末调整天数

使用文字表达式,根据休假开始时间、休假返回时间、整周数计算出周末天数,具体逻辑表达式如下:

图9.png

申请天数

使用文字表达式,最终通过原始天数决策块减去周末调整天数决策块和假日合计决策块的数据计算出员工申请休假天数,具体逻辑表达式如下:

图10.png

至此我们完成了休假申请天数计算模型,打开建模器中测试表单,我们可以对模型进行快速测试,测试效果如下:

图11.png

通过测试用例,我们实现上述算法需求,业务系统只需简单的系统调用即可使用模型逻辑。我们还可以发布版本,快速迭代需求的变化。赶快联系我们,体验Together规则引擎强大功能吧!

精选文章
公众号
关于我们
联系方式
让您的业务更自动化、智能化!
联系邮箱:   zhangyi@rongtek.com      wangyilong@rongtek.com
咨询热线:185 1521 8668        183 3562 2627
电话:010-8200081