瀏覽代碼

Merge branch 'master' of https://git.2fi-solutions.com/davidhui/TSMS-backend

tags/Baseline_30082024_BACKEND_UAT
MSI\2Fi 1 年之前
父節點
當前提交
dd54e18786
共有 4 個檔案被更改,包括 8 行新增5 行删除
  1. +5
    -3
      src/main/java/com/ffii/tsms/modules/report/service/ReportService.kt
  2. +1
    -1
      src/main/java/com/ffii/tsms/modules/report/web/ReportController.kt
  3. +2
    -1
      src/main/java/com/ffii/tsms/modules/report/web/model/ReportRequest.kt
  4. 二進制
      src/main/resources/templates/report/EX02_Project Cash Flow Report.xlsx

+ 5
- 3
src/main/java/com/ffii/tsms/modules/report/service/ReportService.kt 查看文件

@@ -103,10 +103,11 @@ open class ReportService(
fun generateProjectCashFlowReport(
project: Project,
invoices: List<Invoice>,
timesheets: List<Timesheet>
timesheets: List<Timesheet>,
dateType: String
): ByteArray {
// Generate the Excel report with query results
val workbook: Workbook = createProjectCashFlowReport(project, invoices, timesheets, PROJECT_CASH_FLOW_REPORT)
val workbook: Workbook = createProjectCashFlowReport(project, invoices, timesheets, dateType, PROJECT_CASH_FLOW_REPORT)

// Write the workbook to a ByteArrayOutputStream
val outputStream: ByteArrayOutputStream = ByteArrayOutputStream()
@@ -487,6 +488,7 @@ open class ReportService(
project: Project,
invoices: List<Invoice>,
timesheets: List<Timesheet>,
dateType: String,
templatePath: String,
): Workbook {
// please create a new function for each report template
@@ -572,7 +574,7 @@ open class ReportService(
rowIndex = 15


val dateFormatter = DateTimeFormatter.ofPattern("MMM YYYY")
val dateFormatter = if (dateType == "Date") DateTimeFormatter.ofPattern("yyyy/MM/dd") else DateTimeFormatter.ofPattern("MMM YYYY")
val combinedResults =
(invoices.map { it.receiptDate } + timesheets.map { it.recordDate }).filterNotNull().sortedBy { it }
.map { it.format(dateFormatter) }.distinct()


+ 1
- 1
src/main/java/com/ffii/tsms/modules/report/web/ReportController.kt 查看文件

@@ -63,7 +63,7 @@ class ReportController(
val invoices = invoiceService.findAllByProjectAndPaidAmountIsNotNull(project)
val timesheets = timesheetRepository.findAllByProjectTaskIn(projectTasks)

val reportResult: ByteArray = excelReportService.generateProjectCashFlowReport(project, invoices, timesheets)
val reportResult: ByteArray = excelReportService.generateProjectCashFlowReport(project, invoices, timesheets, request.dateType)
// val mediaType: MediaType = MediaType.parseMediaType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
return ResponseEntity.ok()
// .contentType(mediaType)


+ 2
- 1
src/main/java/com/ffii/tsms/modules/report/web/model/ReportRequest.kt 查看文件

@@ -6,7 +6,8 @@ data class FinancialStatusReportRequest (
val teamLeadId: Long
)
data class ProjectCashFlowReportRequest (
val projectId: Long
val projectId: Long,
val dateType: String, // "Date", "Month"
)

data class StaffMonthlyWorkHourAnalysisReportRequest (


二進制
src/main/resources/templates/report/EX02_Project Cash Flow Report.xlsx 查看文件


Loading…
取消
儲存