我正在尝试建立一种方法,能够在一组时间范围内向前和向后移动。
我正在为我的作品的生产车间创建一个简单的展示。每次用户扫描条形码时,我们的ERP系统中都会生成一个序列号。为了跟踪全天的进度,他们想要一个显示当天处理了多少序列号(因此,有多少小部件)的显示器。显示屏还将显示前一班次的窗口小部件。因此,在任何给定的时间,查看显示屏,您将看到当前班次的进度,然后是前一班次的总和。
我们整个星期有3个正常的班次。第一班早上6点到下午2点,第二班下午2点到晚上10点,第三班晚上10点到早上6点。然后在两个周末我们都有一个周末轮班,从早上6点到下午6点。
我目前有一堆if/else语句,可以让它真正工作,但我真的想把它清理干净,让它更容易长期维护。
假设今天是星期一一班。我想获取周一第一个班次的总和,但我也想后退一个班次到周末的班次,并获取这些总和来显示。周末轮班真的是把这件事搞得一团糟,因为现在我必须知道一周中的哪一天。第三个轮班也有点可疑,因为它跨越了多个日期。有没有一种干净的方法来设置它?一个可以让我轻松定义这些东西的库?
希望这是有意义的。我很乐意澄清我遗漏的任何东西。提前感谢您的指导!
发布于 2019-02-15 02:04:38
也许shifts
资源会很有用。
使用id, start_date, end_date, shift_type,...
shifts
表:- if the current shift was already created, assign a `shift_id` to the barcode row
- if not, create the shift row, and assign a `shift_id` to the barcode row
好处:
如果班次发生变化(开始时间、结束时间等),
发布于 2019-02-15 17:19:42
你试过使用CarbonPeriod吗?请注意,Carbon已经包含在Laravel中,因此没有必要使用Composer添加它。
https://stackoverflow.com/questions/54696189
复制相似问题