868d6abb7 2025 -> 2026
63081666f Encabezados de archivos fuente: 2024 -> 2025.
27a5e6cad Visitorbook: corrección de errores en contactPersons. También afecta: vacation, AbstractPagesrest, PagesResolver
22ccc4877 WIP: Scripting
caea043eb Trabajo de migración en curso... (todas las pruebas de todos los paquetes: OK).
868d6abb7
2025 -> 2026868d6abb75cd191a892911ac8e45058932cf9074
diff --git a/projectforge-business/src/main/kotlin/org/projectforge/business/PfCaches.kt b/projectforge-business/src/main/kotlin/org/projectforge/business/PfCaches.kt
index 159dec1fb..bcc543053 100644
--- a/projectforge-business/src/main/kotlin/org/projectforge/business/PfCaches.kt
+++ b/projectforge-business/src/main/kotlin/org/projectforge/business/PfCaches.kt
@@ -3,7 +3,7 @@
// Project ProjectForge Community Edition
// www.projectforge.org
//
-// Copyright (C) 2001-2025 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2026 Micromata GmbH, Germany (www.micromata.com)
//
// ProjectForge tiene doble licencia.
//
63081666f
Encabezados de archivos fuente: 2024 -> 2025.63081666f620fb87315f01b817e560e0b2f6a33a
diff --git a/projectforge-business/src/main/kotlin/org/projectforge/business/PfCaches.kt b/projectforge-business/src/main/kotlin/org/projectforge/business/PfCaches.kt
index 3fcd09f45..159dec1fb 100644
--- a/projectforge-business/src/main/kotlin/org/projectforge/business/PfCaches.kt
+++ b/projectforge-business/src/main/kotlin/org/projectforge/business/PfCaches.kt
@@ -3,7 +3,7 @@
// Project ProjectForge Community Edition
// www.projectforge.org
//
-// Copyright (C) 2001-2024 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2025 Micromata GmbH, Germany (www.micromata.com)
//
// ProjectForge tiene doble licencia.
//
27a5e6cad
Visitorbook: corrección de errores en contactPersons. También afecta: vacation, AbstractPagesrest, PagesResolver27a5e6cad8d0bc0ee0578fb9fb812e3caff1ab0f
diff --git a/projectforge-business/src/main/kotlin/org/projectforge/business/PfCaches.kt b/projectforge-business/src/main/kotlin/org/projectforge/business/PfCaches.kt
index d8f6c502b..3fcd09f45 100644
--- a/projectforge-business/src/main/kotlin/org/projectforge/business/PfCaches.kt
+++ b/projectforge-business/src/main/kotlin/org/projectforge/business/PfCaches.kt
@@ -28,6 +28,7 @@ import org.projectforge.business.address.AddressbookCache
import org.projectforge.business.address.AddressbookDO
import org.projectforge.business.fibu.*
import org.projectforge.business.fibu.kost.*
+import org.projectforge.business.orga.VisitorbookDO
import org.projectforge.business.task.TaskDO
import org.projectforge.business.task.TaskTree
import org.projectforge.business.teamcal.admin.TeamCalCache
@@ -165,6 +166,17 @@ class PfCaches {
return vacation
}
+ /**
+ * Rellena las personas de contacto (empleados).
+ * @param visitorbook El libro de visitas a rellenar.
+ * @return El libro de visitas rellenado para encadenamiento.
+ */
+ fun initialize(visitorbook: VisitorbookDO): VisitorbookDO {
+ visitorbook.contactPersons =
+ visitorbook.contactPersons?.mapNotNull { getEmployeeIfNotInitialized(it) }?.toMutableSet()
+ return visitorbook
+ }
+
fun initialize(satz: BuchungssatzDO): BuchungssatzDO {
satz.konto = getKontoIfNotInitialized(satz.konto)
satz.gegenKonto = getKontoIfNotInitialized(satz.gegenKonto) 22ccc4877
WIP: Scripting22ccc487728cb7ca4fa66ae3fcaae5a98d6c59bd
diff --git a/projectforge-business/src/main/kotlin/org/projectforge/business/PfCaches.kt b/projectforge-business/src/main/kotlin/org/projectforge/business/PfCaches.kt
index fadf41fe1..d8f6c502b 100644
--- a/projectforge-business/src/main/kotlin/org/projectforge/business/PfCaches.kt
+++ b/projectforge-business/src/main/kotlin/org/projectforge/business/PfCaches.kt
@@ -35,6 +35,7 @@ import org.projectforge.business.teamcal.admin.model.TeamCalDO
import org.projectforge.business.timesheet.TimesheetDO
import org.projectforge.business.user.UserGroupCache
import org.projectforge.business.vacation.model.VacationDO
+import org.projectforge.framework.persistence.api.BaseDO
import org.projectforge.framework.persistence.user.entities.GroupDO
import org.projectforge.framework.persistence.user.entities.PFUserDO
import org.springframework.beans.factory.annotation.Autowired
@@ -64,6 +65,9 @@ class PfCaches {
@Autowired
private lateinit var projektCache: ProjektCache
+ @Autowired
+ private lateinit var rechnungCache: RechnungCache
+
@Autowired
private lateinit var taskTree: TaskTree
@@ -78,6 +82,23 @@ class PfCaches {
instance = this
}
+ /**
+ * Rellena el kunde, projekt y usuarios de la orden dada.
+ * @param order La orden a rellenar.
+ * @return La orden rellenada para encadenamiento.
+ */
+ fun initialize(order: AuftragDO): AuftragDO {
+ order.kunde = getKundeIfNotInitialized(order.kunde)
+ order.projekt = getProjektIfNotInitialized(order.projekt)
+ order.contactPerson = getUserIfNotInitialized(order.contactPerson)
+ order.headOfBusinessManager = getUserIfNotInitialized(order.headOfBusinessManager)
+ order.projectManager = getUserIfNotInitialized(order.projectManager)
+ order.salesManager = getUserIfNotInitialized(order.salesManager)
+ // order.paymentSchedules
+ // order.positionen
+ return order
+ }
+
/**
* Rellena el usuario y kost1 del empleado dado.
* @param employee El empleado a rellenar.
@@ -144,6 +165,43 @@ class PfCaches {
return vacation
}
+ fun initialize(satz: BuchungssatzDO): BuchungssatzDO {
+ satz.konto = getKontoIfNotInitialized(satz.konto)
+ satz.gegenKonto = getKontoIfNotInitialized(satz.gegenKonto)
+ satz.kost1 = getKost1IfNotInitialized(satz.kost1)
+ satz.kost2 = getKost2IfNotInitialized(satz.kost2)
+ return satz
+ }
+
+ fun initialize(invoice: RechnungDO): RechnungDO { caea043eb
Trabajo de migración en curso... (todas las pruebas de todos los paquetes: OK).caea043eb1c6d1752322fcbe2de762f9b5e6946d
diff --git a/projectforge-business/src/main/kotlin/org/projectforge/business/PfCaches.kt b/projectforge-business/src/main/kotlin/org/projectforge/business/PfCaches.kt
index 536145855..fadf41fe1 100644
--- a/projectforge-business/src/main/kotlin/org/projectforge/business/PfCaches.kt
+++ b/projectforge-business/src/main/kotlin/org/projectforge/business/PfCaches.kt
@@ -83,7 +83,7 @@ class PfCaches {
* @param employee El empleado a rellenar.
* @return El empleado rellenado para encadenamiento.
*/
- fun populate(employee: EmployeeDO): EmployeeDO {
+ fun initialize(employee: EmployeeDO): EmployeeDO {
employee.user = getUserIfNotInitialized(employee.user)
employee.kost1 = getKost1IfNotInitialized(employee.kost1)
return employee
@@ -94,7 +94,7 @@ class PfCaches {
* @param kost2 El kost2 a rellenar.
* @return El kost2 rellenado para encadenamiento.
*/
- fun populate(kost2: Kost2DO): Kost2DO {
+ fun initialize(kost2: Kost2DO): Kost2DO {
val projekt = getProjektByKost2(kost2.id)
val kunde = getKunde(projekt?.kunde?.nummer)
projekt?.let { it.kunde = kunde }
@@ -107,7 +107,7 @@ class PfCaches {
* @param project El proyecto a rellenar.
* @return El proyecto rellenado para encadenamiento.
*/
- fun populate(project: ProjektDO): ProjektDO {
+ fun initialize(project: ProjektDO): ProjektDO {
project.headOfBusinessManager = getUserIfNotInitialized(project.headOfBusinessManager)
project.konto = getKontoIfNotInitialized(project.konto)
project.kunde = getKundeIfNotInitialized(project.kunde)
@@ -123,10 +123,10 @@ class PfCaches {
* @param timesheet La hoja de tiempos a rellenar.
* @return La hoja de tiempos rellenada para encadenamiento.
*/
- fun populate(timesheet: TimesheetDO): TimesheetDO {
+ fun initialize(timesheet: TimesheetDO): TimesheetDO {
timesheet.user = getUser(timesheet.userId)
timesheet.task = getTask(timesheet.taskId)
- timesheet.kost2 = getKost2(timesheet.kost2Id)?.also { populate(it) }
+ timesheet.kost2 = getKost2(timesheet.kost2Id)?.also { initialize(it) }
return timesheet
}
@@ -135,7 +135,7 @@ class PfCaches {
* @param vacation Las vacaciones a rellenar.
* @return El kost2 rellenado para encadenamiento.
*/
- fun populate(vacation: VacationDO): VacationDO {
+ fun initialize(vacation: VacationDO): VacationDO {
vacation.employee = getEmployeeIfNotInitialized(vacation.employee)
vacation.manager = getEmployeeIfNotInitialized(vacation.manager)
vacation.replacement = getEmployeeIfNotInitialized(vacation.replacement)
@@ -149,7 +149,7 @@ class PfCaches {
* @param kost2Id El kost2Id a rellenar.
*/
fun getAndPopulateKost2(kost2Id: Long?): Kost2DO? {
- return getKost2(kost2Id)?.also { populate(it) }
+ return getKost2(kost2Id)?.also { initialize(it) }