浏览代码

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" private val COMPLETION_PROJECT = "templates/report/AR05_Project Completion Report.xlsx"


// ==============================|| GENERATE REPORT ||============================== // // ==============================|| 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 { fun genFinancialStatusReport(teamLeadId: Long): ByteArray {


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


rowIndex = 5 rowIndex = 5
columnIndex = 0 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 return workbook
} }


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


rowIndex = 6 rowIndex = 6
columnIndex = 0 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 sheetCF = sheet.sheetConditionalFormatting
val rule1 = sheetCF.createConditionalFormattingRule("AND(J7 >= $lowerLimit, J7 <= 1)") val rule1 = sheetCF.createConditionalFormattingRule("AND(J7 >= $lowerLimit, J7 <= 1)")


正在加载...
取消
保存