EmployeeSalaryExcelImporter.ktImports employee salaries from an Excel workbook sheet named "employeeSalaries". Maps employee records by staff number (Personalnummer), validation includes checking that the employee exists in the database.
| Dependency | Role |
|---|---|
EmployeeCache | Fast cached lookup by staff number |
EmployeeService | Direct database lookup if cache miss |
Cols)| Enum | Header | Validator | Target Property |
|---|---|---|---|
PERSONALNUMMER | Personalnummer | NumberValidator (>=1, required, unique) | Used for employee lookup |
GESAMT_BRUTTO | Gesamtbrutto | Validator (required) | bruttoMitAgAnteil |
The GESAMT_BRUTTO column accepts the aliases "bruttoMitAgAnteil" and "Gesamt-".
"employeeSalaries" — throws UserException if not found.sheet.analyze(true).ImportedSheet with warning-level logging.MyImportedElement for diff tracking.EmployeeSalaryDO and fills from row via ImportHelper.fillBean().year and month on the salary record.SALARY_DIFF_PROPERTIES = ["bruttoMitAgAnteil"]
Contains the sheet name constant NAME_OF_EXCEL_SHEET = "employeeSalaries" and SALARY_DIFF_PROPERTIES.
868d6abb7 2025 -> 2026 312d5e61c Clean-up 63081666f Source file headers: 2024-> 2025. 1012e347a Migration stuff in progress... (all tests of all packages: OK).