AddressCampaignValueExport.ktАннотации: author, Suppress, Service, micromata
Классы: AddressCampaignValueExport
Супертип(ы): AddressExport
Функции (4): export, registerAdditionalCols, handleAddressCampaign, configureSheet
Свойства (3): addressCampaignSupported, addressCampaignValue, sheetTitle
Импорты: 7 пакетов
Пакет: 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 {}
/**
* Для экспорта в Excel. export должен вызываться с двумя параметрами: первый — это карта AddressCampaignValue, второй —
* название кампании адресов.
*
* @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 { "Экспорт кампании '${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 Заголовки исходных файлов: 2024 -> 2025. 4c04cfd65 КРУПНОЕ ИЗМЕНЕНИЕ! Миграция целочисленных id на Long id (включая внешние ключи и т.д.) b1560ca43 Миграция в процессе... b6092df09 Авторские права 2023 -> 2024