HRPlanningDO.ktT_HR_PLANNING table, uniquely constrained by user+week. Holds a list of HRPlanningEntryDO child entities and computes aggregate hour totals (daily, unassigned, weekend).Extends DefaultBaseDO. Key relationships:
user (PFUserDO, ManyToOne): The employee this planning week belongs to. Serialized as ID only via @IdOnlySerializer.week (LocalDate): First day of the week (Monday per Locale.GERMAN). Used in unique constraint with user.entries (List@PersistenceBehavior(autoUpdateCollectionEntries=true) for automatic cascade management.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.
PFDay.beginOfWeek with Locale.GERMAN, making Monday the first working day.deleteEntry() marks entries as deleted rather than removing them, enabling undo via re-adding the same status/project.FetchType.LAZY to avoid N+1 query problems.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