[Fix][Task] Fix dependent task can not predicate the status of the corresponding task correctly (#12253) (#12792)

* [Fix][Task] dependent task can not predicate the status of the corresponding task correctly

Co-authored-by: insist777 <84278047+insist777@users.noreply.github.com>
This commit is contained in:
Eric Gao 2022-11-07 19:26:54 +08:00 committed by GitHub
parent ace49b9fb6
commit d034f3c869
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 6 deletions

View File

@ -128,16 +128,17 @@ public class DependentDateUtils {
}
/**
* get interval on first/last day of the last month
* get interval on first/last day of the needed month
* @param businessDate businessDate
* @param isBeginDay isBeginDay
* @return DateInterval list
*/
public static List<DateInterval> getLastMonthBeginInterval(Date businessDate,
boolean isBeginDay) {
public static List<DateInterval> getNeededMonthBeginInterval(Date businessDate,
boolean isBeginDay,
int neededMonth) {
Date firstDayThisMonth = DateUtils.getFirstDayOfMonth(businessDate);
Date lastDay = DateUtils.getSomeDay(firstDayThisMonth, -1);
Date lastDay = DateUtils.getSomeDay(firstDayThisMonth, neededMonth);
Date firstDay = DateUtils.getFirstDayOfMonth(lastDay);
if (isBeginDay) {
return getDateIntervalListBetweenTwoDates(firstDay, firstDay);

View File

@ -130,14 +130,20 @@ public class DependentUtils {
case "thisMonth":
result = DependentDateUtils.getThisMonthInterval(businessDate);
break;
case "thisMonthBegin":
result = DependentDateUtils.getNeededMonthBeginInterval(businessDate, true, 0);
break;
case "thisMonthEnd":
result = DependentDateUtils.getNeededMonthBeginInterval(businessDate, false, 0);
break;
case "lastMonth":
result = DependentDateUtils.getLastMonthInterval(businessDate);
break;
case "lastMonthBegin":
result = DependentDateUtils.getLastMonthBeginInterval(businessDate, true);
result = DependentDateUtils.getNeededMonthBeginInterval(businessDate, true, -1);
break;
case "lastMonthEnd":
result = DependentDateUtils.getLastMonthBeginInterval(businessDate, false);
result = DependentDateUtils.getNeededMonthBeginInterval(businessDate, false, -1);
break;
default:
break;