ソースを参照

update report

tags/Baseline_30082024_BACKEND_UAT
MSI\derek 1年前
コミット
194c69b125
1個のファイルの変更29行の追加27行の削除
  1. +29
    -27
      src/main/java/com/ffii/tsms/modules/report/service/ReportService.kt

+ 29
- 27
src/main/java/com/ffii/tsms/modules/report/service/ReportService.kt ファイルの表示

@@ -60,6 +60,30 @@ open class ReportService(
private val COMPLETION_PROJECT = "templates/report/AR05_Project Completion Report.xlsx"

// ==============================|| GENERATE REPORT ||============================== //
fun generalCreateReportIndexed( // just loop through query records one by one, return rowIndex
sheet: Sheet,
result: List<Map<String, Any>>,
startRow: Int,
startColumn: Int
): Int {
var rowIndex = startRow
var columnIndex = startColumn
result.forEachIndexed { index, obj ->
var tempCell = sheet.getRow(rowIndex).createCell(columnIndex)
tempCell.setCellValue((index + 1).toDouble())
val keys = obj.keys.toList()
keys.forEachIndexed { keyIndex, key ->
tempCell = sheet.getRow(rowIndex).getCell(columnIndex + keyIndex + 1) ?: sheet.getRow(rowIndex)
.createCell(columnIndex + keyIndex + 1)
when (obj[key]) {
is Double -> tempCell.setCellValue(obj[key] as Double)
else -> tempCell.setCellValue(obj[key] as String)
}
}
rowIndex++
}
return rowIndex
}

fun genFinancialStatusReport(teamLeadId: Long): ByteArray {

@@ -1286,19 +1310,8 @@ open class ReportService(

rowIndex = 5
columnIndex = 0
result.forEachIndexed { index, obj ->
tempCell = sheet.getRow(rowIndex).createCell(columnIndex)
tempCell.setCellValue((index + 1).toDouble())
val keys = obj.keys.toList()
keys.forEachIndexed { keyIndex, key ->
tempCell = sheet.getRow(rowIndex).getCell(columnIndex + keyIndex + 1) ?: sheet.getRow(rowIndex).createCell(columnIndex + keyIndex + 1)
when (obj[key]) {
is Double -> tempCell.setCellValue(obj[key] as Double)
else -> tempCell.setCellValue(obj[key] as String )
}
}
rowIndex++
}

generalCreateReportIndexed(sheet, result, rowIndex, columnIndex)
return workbook
}

@@ -1337,20 +1350,9 @@ open class ReportService(

rowIndex = 6
columnIndex = 0
result.forEachIndexed { index, obj ->
tempCell = sheet.getRow(rowIndex).createCell(columnIndex)
tempCell.setCellValue((index + 1).toDouble())
val keys = obj.keys.toList()
keys.forEachIndexed { keyIndex, key ->
tempCell = sheet.getRow(rowIndex).getCell(columnIndex + keyIndex + 1) ?: sheet.getRow(rowIndex)
.createCell(columnIndex + keyIndex + 1)
when (obj[key]) {
is Double -> tempCell.setCellValue(obj[key] as Double)
else -> tempCell.setCellValue(obj[key] as String)
}
}
rowIndex++
}

// val currRow = generalCreateReportIndexed(sheet, result, rowIndex, columnIndex)
generalCreateReportIndexed(sheet, result, rowIndex, columnIndex)

val sheetCF = sheet.sheetConditionalFormatting
val rule1 = sheetCF.createConditionalFormattingRule("AND(J7 >= $lowerLimit, J7 <= 1)")


読み込み中…
キャンセル
保存