#1015: HRPlanningEntryDO.kt

projectforge-business/src/main/kotlin/org/projectforge/business/humanresources/HRPlanningEntryDO.kt JPA Entity (HR Planning Entry), projectforge-business/src/main/kotlin/org/projectforge/business/humanresources/HRPlanningEntryDO.kt 326 lines · 252 code · 45 comments · 29 blank
Child entity of HRPlanningDO representing a single project assignment or status entry within a planned week. Stores hours per day of week (Mon-Fri + weekend), project reference, status, priority, and probability.

Entity Design

Maps to T_HR_PLANNING_ENTRY with indexes on planning_fk and projekt_fk. Key fields:

Computed Properties

totalHours sums all seven hour fields. projektNameOrStatus returns localized status label or project name. projektKundeAsString delegates to ProjektFormatter.

Equality

Custom equals/hashCode based on entity ID when persisted, or field-by-field comparison (hasNoFieldChanges) for transient entries. The isEmpty check uses ObjectHelper.isEmpty across all editable fields.

Key Decisions

Git History

868d6abb7 2025 -> 2026
9c40a8d53 Claude-Code: jiraPreservingAnalyzer for Lucene for preserving ACME-12345
63081666f Source file headers: 2024-> 2025.
0237d5eba Json serialization refactored: IdOnlySerializer and IdsOnlySerializer introduced.
eafcb33e5 Migration stuff in progress...
c8f8ed935 Declared all entities as FetchType.LAZY (was EAGER).
4c04cfd65 MAJOR-CHANGE! Migration of integer id's to Long id's (including fk's etc.)
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.
b78b870bd ShortDisplayNameCapable -> DisplayNameCapable.
7c79f1922 Copyright of source header -> 2020.
8241700f0 ShortDisplayNameCapable converted to Kotlin.
e92b3afd0 Jackson: JsonBackReference/JsonManagedReference -> JsonIdentityInfo
8675a1dbe Found big performance issue: Declared all Kotlin JPA entities and their properties as open.
29e3c0399 GanttChartDO, HRPlanningDO: PropertyInfos added
3223972db HRPlanningDO.java -> HRPlanningDO.kt