逻辑午夜缺省计算与验证

逻辑午夜值由 Factory Track 计划使用,后续将用于实现考勤与作业的时间阈值增强功能。为了支持该功能,已在班次表单中新增此字段。该值在“数据同步控制”处理的逻辑如下:

  • 如果已设定值,系统将验证当前“逻辑午夜”是否仍位于更新后班次日的轮班时数范围外。若不符合,将生成一条状态为完成时出错的待处理班次记录。显示逻辑午夜必须在正常轮班时数范围外错误消息。
  • 如果尚未设定值,Factory Track 将按照以下计算逻辑生成缺省值:
    • 最早开始:所有非跨自然日配置的班次日中,最早的班次开始时间。
    • 最晚结束:所有非跨自然日配置的班次日中,最晚的班次结束时间。
    • 时间差:从最早开始时间到最晚结束时间之间的时间跨度。
    • Default Logical Midnight = (Time Difference / 2) + Earliest Start + 12 hours
      。例如,
      • Earliest Start = 7:00am
      • Latest End = 4:00pm
      • Time Difference = from 4:00pm to 7:00am = 9.0 hours
      • Default Logical Midnight = (9.0/2) + 7:00am = 11.30 AM (+ 12 hours) = 11:30 PM
  • 用户可将此缺省值覆盖为 12 小时制(含 AM/PM)或 24 小时制。离开该字段时,Factory Track 将验证以下条件并显示相应错误消息:
    • 留空:“逻辑午夜”为必填字段。
    • 无效时间:逻辑午夜条目无效
    • 在任意一天的轮班时数范围内:逻辑午夜必须在正常轮班时数范围外。
注意

Factory Track 会将有效输入转换为 {hh:mm:ss xm} 格式显示。