我正致力于员工管理系统,员工可以
现在,我必须在这些报告中介绍一种处理公众假期和员工缺席的方法。我在网上阅读了一些文章,如
但我无法弄明白。我的问题基本上都是。
处理员工缺席的最佳方法是什么?考虑到在特定日子,员工不会办理登机手续。
如何在报告中添加/指定周末/公共假期?由于未来改变公共/常规假期可能会影响我们前几个月的报告。
我非常感谢这里的一些帮助! 谢谢
答案 0 :(得分:2)
极少数(如果有的话)数据库将日期范围作为数据类型处理,虽然有多种方法可以计算日期范围交叉点,但它们很昂贵,并且会导致任何大型数据集进行爬网。因此,您需要交换数据存储的计算速度
因此,检查的最佳方法是使用一个存储日期的表,然后使用该表中的日期将日期范围扩展到范围内的所有日期,结构很简单只有一个日期与日期在其中
我不建议使用日期表来跟踪假期,而只是将这些作为缺席类型"公众假期"您可能希望在日期表中标记周末(或一周中的哪一天),但不要使用它来说明某人是否在那天工作或没有工作,而是使用workPattern表来说明员工factory worker
类型在星期一工作4小时,在星期二工作6小时。这将为您提供员工预期的工作时间,以及哪些日期他们预计将在一周内工作,而不会强迫每个员工遵循相同的工作模式
例如
select d.Date, a.*
from absence as a
join dates as d on d.Date between a.StartDate and a.EndDate
然后,这将为您提供该人缺席的每个日期,让您可以非常轻松地将不同的缺勤时间进行比较
大多数雇用系统很少允许员工提前一年以上工作,因此我建议每月有一份工作,运行并填充日期表,所有日期都在(Today + 12 months)
之间(Today + 13 months)
您也可以删除旧日期,但在此之前请确保您不需要查询数据。即你要离开的最后日期之前的所有内容都已归档。
接下来要记住的是人的因素,人们会忘记进出时间,所以你需要牢记这一点,并且每天都要找工作,找出匹配的时钟输出,反之亦然,然后您可以标记这些以进行人工纠正或自动处理
一旦你对这两个元素进行了排序,就可以计算每个人每天的工作时间,将其加入到每日缺勤视图中,这样就可以检查日期表上没有时钟或缺勤的日期不一致(未经授权)缺席),可以通过适当的条目进入缺席表或冲突,如有人在他们应该休假时上班,再次你可以标记人为纠正或自动处理,比如是否存在时钟忽略缺席
您实际构建系统的方式取决于系统中的需求,但如果您不考虑系统,这些是导致系统失效的常见因素
答案 1 :(得分:1)
我正在撰写评论,但这已经走了很远,我考虑写一个答案。
如何在报告中添加/指定周末/公共假期?
您可以使用表格(如此question)来存储指定年份的所有日期,其中标记是一天工作与否。我们在我们的环境中使用这样的东西。它每年手动填充一次。
处理员工缺席的最佳方法是什么?
我打赌会有一些表格的行如下:
EmployeeID InOut Date
1 In 2016-07-24 07:00:01.000
1 Out 2016-07-24 18:00:09.908
etc
因此,如果员工缺席 - 特定日期将不会有行。
答案 2 :(得分:1)
处理员工缺席的最佳方法是什么?考虑到在特定日子,员工不会办理登机手续。
您可以为此创建初始设置/代码文件。将有一个特定的表格来保存日历年度所有公共假期的信息。它将在每年年初手动输入。
现在,当处理出勤数据时,它将检查日期。如果该代码文件中存在任何日期,它将被标记为假日。
如何在报告中添加特定假期?
请记住,您需要一个表格,其中包含一年中的每个日期,然后是每个日期的标记属性。根据工作日/假日将标志设置为true / false。
如果该标志为false,则会有假期,您将在报告中显示假期。您甚至可以在此表中设置一列来提及假日的名称。它将维护每年的日期数据。所以,如果你想看到前一年的出勤报告。数据就在那里,没有问题。