Ver a proveniência

Update Report Service

tags/Baseline_30082024_BACKEND_UAT
MSI\2Fi há 1 ano
ascendente
cometimento
5687e4df3c
1 ficheiros alterados com 20 adições e 10 eliminações
  1. +20
    -10
      src/main/java/com/ffii/tsms/modules/report/service/ReportService.kt

+ 20
- 10
src/main/java/com/ffii/tsms/modules/report/service/ReportService.kt Ver ficheiro

@@ -1,11 +1,7 @@
package com.ffii.tsms.modules.report.service

import com.ffii.core.support.JdbcDao
import com.ffii.tsms.modules.data.entity.Customer
import com.ffii.tsms.modules.data.entity.Grade
import com.ffii.tsms.modules.data.entity.Salary
import com.ffii.tsms.modules.data.entity.Staff
import com.ffii.tsms.modules.data.entity.Team
import com.ffii.tsms.modules.data.entity.*
import com.ffii.tsms.modules.data.service.SalaryEffectiveService
import com.ffii.tsms.modules.project.entity.Invoice
import com.ffii.tsms.modules.project.entity.Milestone
@@ -47,7 +43,7 @@ data class DayInfo(val date: String?, val weekday: String?)
open class ReportService(
private val jdbcDao: JdbcDao,
private val projectRepository: ProjectRepository,
private val salaryEffectiveService: SalaryEffectiveService
private val salaryEffectiveService: SalaryEffectiveService, private val salaryRepository: SalaryRepository
) {
private val logger: Log = LogFactory.getLog(javaClass)
private val DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy/MM/dd")
@@ -2419,9 +2415,9 @@ open class ReportService(
val staffId = staffInfo["staffId"] as String
val staffSalaryData = staffSalaryDataList.find { it.staffId == staffId }

if (staffSalaryData != null) {
// if (staffSalaryData != null) {
val updatedFinancialYears = (staffInfo["financialYears"] as List<FinancialYear>).map { financialYear ->
updateFinancialYear(financialYear, staffSalaryData.salaryData)
updateFinancialYear(financialYear, staffSalaryData?.salaryData, staffInfo)
}

val updatedStaffInfo = staffInfo.toMutableMap().apply {
@@ -2429,16 +2425,27 @@ open class ReportService(
}

staffInfoList[index] = updatedStaffInfo
}
// }
}
}

fun updateFinancialYear(financialYear: FinancialYear, salaryDataList: List<SalaryEffectiveService.SalaryData>): FinancialYear {
fun updateFinancialYear(financialYear: FinancialYear, salaryDataList: List<SalaryEffectiveService.SalaryData>?, staffInfo: Map<String, Any>): FinancialYear {
println("====================== staffInfo: $staffInfo ===============================")

if(salaryDataList == null){
return financialYear.copy(
hourlyRate = (staffInfo["hourlyRate"] as BigDecimal).toDouble(),
salaryPoint = (staffInfo["salaryPoint"] as Long).toInt()
)
}

val relevantSalaryData = salaryDataList.find { salaryData ->
val salaryYearMonth = YearMonth.from(salaryData.financialYear)
salaryYearMonth >= financialYear.start && salaryYearMonth <= financialYear.end
}

println("====================== relevantSalaryData: $relevantSalaryData ===============================")

if (relevantSalaryData != null) {
return financialYear.copy(
hourlyRate = relevantSalaryData.hourlyRate.toDouble(),
@@ -2448,6 +2455,7 @@ open class ReportService(
val previousHourlyRate = findPreviousValue(salaryDataList, financialYear.start) { it.hourlyRate }
val previousSalaryPoint = findPreviousValue(salaryDataList, financialYear.start) { it.salaryPoint }

println("====================== staffInfo: $staffInfo ===============================")
return financialYear.copy(
hourlyRate = previousHourlyRate?.toDouble() ?: financialYear.hourlyRate,
salaryPoint = previousSalaryPoint ?: financialYear.salaryPoint
@@ -2745,6 +2753,8 @@ open class ReportService(
val row9Cell2 = row9.getCell(column+1) ?: row9.createCell(column+1)
sheet.addMergedRegion(CellRangeAddress(rowNum, rowNum, column, column + 1))
row9Cell.setCellValue("${financialYears[i].start.format(monthFormat)} - ${financialYears[i].end.format(monthFormat)}")
CellUtil.setAlignment(row9Cell, HorizontalAlignment.CENTER);
CellUtil.setVerticalAlignment(row9Cell, VerticalAlignment.CENTER);
CellUtil.setCellStyleProperty(row9Cell, "borderBottom", BorderStyle.THIN)
CellUtil.setCellStyleProperty(row9Cell2, "borderBottom", BorderStyle.THIN)
column = column.plus(2)


Carregando…
Cancelar
Guardar