|
31 | 31 |
|
32 | 32 | import static org.hisp.dhis.analytics.table.model.AnalyticsValueType.FACT; |
33 | 33 | import static org.hisp.dhis.analytics.table.util.PartitionUtils.getLatestTablePartition; |
| 34 | +import static org.hisp.dhis.commons.util.TextUtils.SPACE; |
34 | 35 | import static org.hisp.dhis.commons.util.TextUtils.emptyIfTrue; |
35 | 36 | import static org.hisp.dhis.commons.util.TextUtils.format; |
36 | 37 | import static org.hisp.dhis.commons.util.TextUtils.replace; |
@@ -402,20 +403,29 @@ where des.valuetype in (${valTypes}) \ |
402 | 403 | "startTime", toLongDate(params.getStartTime()), |
403 | 404 | "deletedClause", sqlBuilder.isFalse("dv", "deleted")))); |
404 | 405 |
|
| 406 | + sql.append(getStartEndDatesCondition(respectStartEndDates)); |
| 407 | + |
| 408 | + if (whereClause != null) { |
| 409 | + sql.append(" and " + whereClause + " "); |
| 410 | + } |
| 411 | + |
| 412 | + invokeTimeAndLog(sql.toString(), "Populating table: '{}' {}", tableName, valueTypes); |
| 413 | + } |
| 414 | + |
| 415 | + String getStartEndDatesCondition(boolean respectStartEndDates) { |
| 416 | + StringBuilder condition = new StringBuilder(""); |
| 417 | + |
405 | 418 | if (respectStartEndDates) { |
406 | | - sql.append( |
| 419 | + condition.append(SPACE); |
| 420 | + condition.append( |
407 | 421 | """ |
408 | 422 | and (aon.startdate is null or aon.startdate <= ps.startdate) \ |
409 | 423 | and (aon.enddate is null or aon.enddate >= ps.enddate) \ |
410 | 424 | and (con.startdate is null or con.startdate <= ps.startdate) \ |
411 | 425 | and (con.enddate is null or con.enddate >= ps.enddate)\s"""); |
412 | 426 | } |
413 | 427 |
|
414 | | - if (whereClause != null) { |
415 | | - sql.append(" and " + whereClause + " "); |
416 | | - } |
417 | | - |
418 | | - invokeTimeAndLog(sql.toString(), "Populating table: '{}' {}", tableName, valueTypes); |
| 428 | + return condition.toString(); |
419 | 429 | } |
420 | 430 |
|
421 | 431 | /** |
|
0 commit comments