#1013: HRPlanningDO.kt

projectforge-business/src/main/kotlin/org/projectforge/business/humanresources/HRPlanningDO.kt JPA Entity (HR Planning), projectforge-business/src/main/kotlin/org/projectforge/business/humanresources/HRPlanningDO.kt 394 lines · 269 code · 95 comments · 30 blank
Central entity for weekly HR resource planning. Maps to T_HR_PLANNING table, uniquely constrained by user+week. Holds a list of HRPlanningEntryDO child entities and computes aggregate hour totals (daily, unassigned, weekend).

Entity Design

Extends DefaultBaseDO. Key relationships:

Computed Properties

All @Transient properties compute aggregates from entries: totalHours, totalUnassignedHours, totalMondayHours through totalWeekendHours. Each skips deleted entries via entry.deleted check. The formattedWeekOfYear property delegates to DateTimeFormatter.

Key Decisions

Git History

868d6abb7 2025 -> 2026
63081666f Source file headers: 2024-> 2025.
0237d5eba Json serialization refactored: IdOnlySerializer and IdsOnlySerializer introduced.
4bc37b3a1 Migration stuff in progress...
c8f8ed935 Declared all entities as FetchType.LAZY (was EAGER).
fa194d7f8 Migration stuff in progress...
4c04cfd65 MAJOR-CHANGE! Migration of integer id's to Long id's (including fk's etc.)
3cde2b1f6 Migration stuff in progress...
f5c09f87f Migration stuff in progress...
c04fb0d51 Migration stuff in progress...
06828f490 Migration stuff in progress...
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.
5f7ef41b8 Copyright 2021 -> 2022
c0f2b9de0 Tenants functionality removed everywhere (untested).
ceb63e8a1 Source code header: (C) 2001-2021.
daa67db68 HRPlanning(Entry): Added DTOs and fix column ids on their respective list pages.
878cb7169 Lots of compiler warnings fixed.
ca0d5470e Remove DateBridges from DOs.
00d898341 Add HRPlanningList Restpoint
7c1c48782 Replacing more instance of java.sql.Date with java.time.LocalDate
7c79f1922 Copyright of source header -> 2020.
a1c287b49 Week of year is now globally the same.
19b97fcc3 DateBridge: encoding = EncodingType.STRING for all DateBridges.
e92b3afd0 Jackson: JsonBackReference/JsonManagedReference -> JsonIdentityInfo
8675a1dbe Found big performance issue: Declared all Kotlin JPA entities and their properties as open.
39cdd224c Hibernate search: DateBridge...
fe5a7c982 Heavy WIP: NamedQueries everywhere...
29e3c0399 GanttChartDO, HRPlanningDO: PropertyInfos added
3223972db HRPlanningDO.java -> HRPlanningDO.kt