DIP/docs/TIME_SELECTIVE_MATERIALIZAT...

1.3 KiB

TIME selective materialization by person

This NEW-only patch adds the ability to materialize canonical TIME.time_entry rows and refresh projection/representations only for Leitstand time recordings that belong to one selected person after the raw TIME.ls_* import is already present.

Service methods

  • LeitstandTimeImportService.materializeCanonicalTimeEntriesForPersonDbk(String personDbk, boolean rebuildProjection)
  • LeitstandTimeImportService.materializeCanonicalTimeEntriesForPersonNumber(Integer personNumber, boolean rebuildProjection)
  • LeitstandTimeProjectionService.refreshForPersonDbk(String personDbk)

Optional startup runner

Enable with:

dip:
  time:
    leitstand:
      startup-selective-materialization-enabled: true
      selective-materialization-person-dbk: 100919970619190804070001
      selective-materialization-build-projection: true

or:

dip:
  time:
    leitstand:
      startup-selective-materialization-enabled: true
      selective-materialization-person-number: 12345
      selective-materialization-build-projection: true

Notes

  • intended for already imported TIME.ls_* rows
  • no legacy code changes
  • no raw source sync is triggered by this runner
  • if projection rebuild is enabled, representations/embedding enqueueing continue to use the existing T3 behavior