41 lines
1.3 KiB
Markdown
41 lines
1.3 KiB
Markdown
# 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:
|
|
|
|
```yaml
|
|
dip:
|
|
time:
|
|
leitstand:
|
|
startup-selective-materialization-enabled: true
|
|
selective-materialization-person-dbk: 100919970619190804070001
|
|
selective-materialization-build-projection: true
|
|
```
|
|
|
|
or:
|
|
|
|
```yaml
|
|
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
|