feat: 任务时效增加最低1小时限制
如果任务汇总时效不足1小时,自动使用1小时作为最低时效 分部门计算,每个部门的子任务都有独立的最低时效限制
This commit is contained in:
parent
88050b8086
commit
3d5026b512
@ -69,6 +69,9 @@ public class WorkHoursCalculator {
|
||||
return config;
|
||||
}
|
||||
|
||||
// 最低任务时效(小时)
|
||||
private static final BigDecimal MIN_WORK_HOURS = BigDecimal.ONE;
|
||||
|
||||
/**
|
||||
* 计算截止时间(只计算工作时间段)
|
||||
* @param startTime 开始时间(接单时间)
|
||||
@ -80,6 +83,13 @@ public class WorkHoursCalculator {
|
||||
return null;
|
||||
}
|
||||
|
||||
// 🔥 应用最低时效:如果任务时效不足1小时,使用1小时
|
||||
BigDecimal effectiveWorkHours = workHours;
|
||||
if (workHours.compareTo(MIN_WORK_HOURS) < 0) {
|
||||
log.info("任务时效 {} 小时不足最低时效 {} 小时,使用最低时效", workHours, MIN_WORK_HOURS);
|
||||
effectiveWorkHours = MIN_WORK_HOURS;
|
||||
}
|
||||
|
||||
WorkHoursConfig config = getWorkHoursConfig();
|
||||
LocalTime workStart = config.getStartTime();
|
||||
LocalTime workEnd = config.getEndTime();
|
||||
@ -97,8 +107,8 @@ public class WorkHoursCalculator {
|
||||
current = current.toLocalDate().plusDays(1).atTime(workStart);
|
||||
}
|
||||
|
||||
// 计算剩余工时
|
||||
BigDecimal remainingHours = workHours;
|
||||
// 计算剩余工时(使用应用最低时效后的值)
|
||||
BigDecimal remainingHours = effectiveWorkHours;
|
||||
|
||||
// 循环累加工时,只在工作时间段内计算
|
||||
while (remainingHours.compareTo(BigDecimal.ZERO) > 0) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user