如何创建时间范围列表?

问题描述 投票:0回答:2

我正试图建立一种方法,能够通过各种时间范围前后退步。

我正在为我的工作场地创建一个简单的显示器。每次用户扫描条形码时,我们的ERP系统都会生成序列号。为了跟踪一整天的进度,他们想要一个显示器,显示当天处理了多少连续剧(以及因此,有多少小部件)。显示屏还会显示上一班次的小部件。因此,在任何给定时间,您都会看到显示屏,您将看到当前班次的进度,然后是前一班次的总计。

我们整个星期都进行了3次正常班次。第一班次是早上6点到下午2点,第二班次是下午2点到晚上10点,第三班次是晚上10点到早上6点。然后在两个周末我们都有一个周末班次,运行时间为早上6点到下午6点。

我目前有一个意大利面条混乱的if / else语句使这实际上工作,但我真的想要清理它,使其更容易维持长期。

所以我们假设这是周一的第一班。我想抓住周一第一班的总数,但我也希望向后退一步到周末轮班并抓住这些总数来显示。周末轮班真的是这个循环,因为现在我必须知道一周中的哪一天。第3班也有点怀疑,因为它跨越了多个日期。有没有一个干净的方式来设置它?那里的图书馆可以让我轻松定义这些东西吗?

希望这是有道理的。很高兴澄清我错过的任何事情。在此先感谢任何指导!

php laravel time range schedule
2个回答
0
投票

也许shifts资源会很有用。

  1. shifts创建一个id, start_date, end_date, shift_type,...
  2. 扫描条形码时: 如果已创建当前班次,则将shift_id分配给条形码行 如果没有,创建移位行,并将shift_id分配给条形码行

优点:

  • 非常简单快速的查询,以获得您需要的结果
  • 如果班次发生变化(开始时间,结束时间......),它仍然可以工作(唯一需要改变的是创建班次行的方法)
  • 比较轮班结果将非常容易

0
投票

你尝试过使用CarbonPeriod吗?请注意,Carbon已包含在Laravel中,因此无需使用Composer添加它。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.