AddressCampaignValueExport.ktAnnotationen: author, Suppress, Service, micromata
Klassen: AddressCampaignValueExport
Supertyp(en): AddressExport
Funktionen (4): export, registerAdditionalCols, handleAddressCampaign, configureSheet
Eigenschaften (3): addressCampaignSupported, addressCampaignValue, sheetTitle
Importe: 7 Pakete
Paket: org.projectforge.plugins.marketing
package org.projectforge.plugins.marketing
import de.micromata.merlin.excel.ExcelRow
import de.micromata.merlin.excel.ExcelSheet
import mu.KotlinLogging
import org.projectforge.business.address.AddressDO
import org.projectforge.business.address.AddressExport
import org.projectforge.business.address.PersonalAddressDO
import org.springframework.stereotype.Service
private val log = KotlinLogging.logger {}
/**
* Für den Excel-Export. export muss mit zwei Parametern aufgerufen werden, der erste ist die AddressCampaignValue-Map und der zweite der
* Titel der Adresskampagne.
*
* @author Kai Reinhard (k.reinhard@micromata.de)
*/
@Service("addressCampaignValueExport")
open class AddressCampaignValueExport : AddressExport() {
override val addressCampaignSupported = true
override fun export(
origList: List<AddressDO>,
personalAddressMap: Map<Long, PersonalAddressDO>,
vararg params: Any
): ByteArray? {
log.info { "Exportiere Kampagne '${params[1]}'..." }
return super.export(origList, personalAddressMap, *params)
}
override fun registerAdditionalCols(sheet: ExcelSheet) {
register(sheet, "value", "campaignValue")
register(sheet, "comment", "campaignComment")
}
override fun handleAddressCampaign(row: ExcelRow, address: AddressDO, vararg params: Any) {
@Suppress("UNCHECKED_CAST")
val addressCampaignValue = (params[0] as Map<Long, AddressCampaignValueDO>).get(address.id)
row.getCell("campaignValue")?.setCellValue(addressCampaignValue?.value)
row.getCell("campaignComment")?.setCellValue(addressCampaignValue?.comment)
}
override val sheetTitle = "plugins.marketing.addressCampaign"
override fun configureSheet(sheet: ExcelSheet, vararg params: Any) {
sheet.setMergedRegion(
0, 0,
sheet.getColNumber("campaignValue")!!,
sheet.getColNumber("campaignComment")!!,
params[1]
)
}
}
868d6abb7 2025 -> 2026 63081666f Quellcode-Dateiköpfe: 2024 -> 2025. 4c04cfd65 MAJOR-CHANGE! Migration von Integer-IDs zu Long-IDs (inkl. Fremdschlüssel etc.) b1560ca43 Migration in Arbeit... b6092df09 Copyright 2023 -> 2024