Riku
2025-07-13 37d47c6a7ab0f454b948b68c987146b261117993
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package com.flightfeather.uav.biz.report
 
import com.flightfeather.uav.common.pdf.DynamicParam
 
/**
 * 走航报告模板
 */
class ReportTemplate(
    private val templateName:String,
    private val outPath:String,
    private val outName:String,
) {
    // 确定模板路径
    private val templatePath = (Thread.currentThread().contextClassLoader?.getResource("/")?.path ?: "src/main/resources") + "/templates/"
 
    // 确定输入参数
    fun getParam(obj: Any): DynamicParam {
        val params = mutableMapOf<String, Any>()
        val clz = obj.javaClass
        clz.declaredFields.forEach {f->
            f.isAccessible = true
            params[f.name] = f.get(obj)
        }
        return DynamicParam(templatePath, templateName, outPath, outName, params)
    }
}