AddressCampaignValueExport.ktAnnotations: author, Suppress, Service, micromata
Classes: AddressCampaignValueExport
Supertype(s): AddressExport
Functions (4): export, registerAdditionalCols, handleAddressCampaign, configureSheet
Properties (3): addressCampaignSupported, addressCampaignValue, sheetTitle
Imports: 7 packages
Package: 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 {}
/**
* For excel export. export must be called with two params, the first is the AddressCampaignValue map and the second the
* title of the address campaign.
*
* @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 { "Exporting campaign '${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 Source file headers: 2024-> 2025. 4c04cfd65 MAJOR-CHANGE! Migration of integer id's to Long id's (including fk's etc.) b1560ca43 Migration stuff in progress... b6092df09 Copyright 2023 -> 2024