1

我目前正在开发一个应用程序,我需要在其现有的发票系统中添加一个新功能。

员工放弃工作时间如下:

Start: 18:30 01-01-2012
End: 00:30 02-01-2012

现在,当有人从选定的日期范围创建发票时,系统会生成总工作时间 x 每小时价格。这工作正常,不是问题。

现在,如果工作时间是晚上、晚上、周末(周六/周日)和节假日,系统需要能够在每小时费率的基础上额外收取 % 的费用。

有人知道如何实现这一点吗?

周末并不难,但是当我到周末时,我还需要找出这些周末工作了多少小时……它有点多维……

我的想法是首先循环遍历时间范围,首先循环每天的日期,然后循环每天的时间,然后在每个循环中进行某种检查以检查它是否是夜间时间、晚上时间..周末时间..假期小时..

我很想听听任何想法,因为我有点卡住了..

4

1 回答 1

0

我已经找到了一个解决方案来做我想做的事。所以我想把它分享给其他必须做同样事情的人。

我在开始日期时间和结束日期时间之间创建了一个循环,间隔为 15 分钟,因为员工总是在精确的时间或 :15、:30、:45 开始或结束。

每隔 15 分钟,我检查一下日期是否属于假期、晚上时间、夜间时间或周末时间(星期六 + 星期日)。

我已将假期日期添加到数组中,与 nighthours 和 nighthours 相同。

在每个 IF 语句检查中,我做了一个计数器来跟踪每种类型、假期、晚上时间、夜间时间或周末的 15 分钟。

所以最后你得到了每种类型的小时或假期或周末的总分钟数,除以 60 即可得出每种类型的小时、假期或周末的总工作时间。基于此,我计算了如果在这些时间工作要收取的额外费用。

我可能不是最好的方法,但它对我有用。

于 2012-05-19T03:52:04.197 回答