这里java需要读取一个文件,该文件包含契约、成员、开始日期和结束日期。如果存在日期分割/中断日期,则需要在合同级别的目标文件中填充该日期。下面提供了源文件和目标文件的示例以及预期的结果。
在本例中,合同a在成员3中有拆分,因此在目标文件中,剩余的日期范围需要在合同级别填充
合同b在成员3和4中有拆分,因此在目标文件中缺少的日期范围和剩余日期范围需要在合同级别填充。
源文件:
Contract Member StartDate EndDate
A 1 01-Jan-2020 31-Dec-2020
A 2 01-Jan-2020 31-Dec-2020
A 3 01-Jan-2020 24-Oct-2020
A 4 01-Jan-2020 31-Dec-2020
B 1 01-Jan-2020 31-Dec-2020
B 2 01-Jan-2020 31-Dec-2020
B 3 01-Jan-2020 04-Mar-2020
B 3 01-Apr-2020 31-Dec-2020
B 4 01-Jan-2020 04-Mar-2020
B 4 01-Apr-2020 31-Dec-2020
目标文件:
Contract StartDate EndDate
A 01-Jan-2020 24-Oct-2020
A 25-Oct-2020 31-Dec-2020
B 01-Jan-2020 04-Mar-2020
B 05-Mar-2020 31-Mar-2020
B 01-Apr-2020 31-Dec-2020
1条答案
按热度按时间4dbbbstv1#
下一个范围在当前范围的最后一天之后开始。您可以迭代日期范围字符串列表,并查找不符合此规则的连续范围。此时,使用此规则创建缺少的范围并中断循环。
演示:
输出: