我需要为任务创建一个调度程序。在创建任何计划时,您可以指定计划的开始日期和结束日期。您还可以将员工添加到计划中。 但是,如果对于员工,新创建的计划与现有计划冲突,则系统应将日期范围拆分为可用日期并计划任务。
例如:
附表1:1月10日至1月20日:将员工E1添加到附表1.现在 创建时间表2,从1月1日至1月25日运行并添加 同一名员工,E1到此时间表。保存时,系统应该 将日期分为1月1日至1月9日和1月21日至1月25日。类似地,如果 同一雇员的另一个时间表是1月22日至1月的日期范围 29,它应该将范围分为1月25日 - 1月29日。
在Java中实现这一目标的最佳方法是什么?
我现在可以想到的逻辑:
当新计划到来时,迭代所有先前的计划并比较日期范围并根据可用性(使用for循环)拆分日期。但如果有许多冲突的时间表,它看起来非常难看。
是否有可用于执行此类日期范围操作的库?