Selaa lähdekoodia

update cross team report

add_swagger
MSI\derek 11 kuukautta sitten
vanhempi
commit
7b0c1a4f2c
2 muutettua tiedostoa jossa 22 lisäystä ja 14 poistoa
  1. +22
    -14
      src/main/java/com/ffii/tsms/modules/report/service/ReportService.kt
  2. BIN
      src/main/resources/templates/report/Cross Team Charge Report.xlsx

+ 22
- 14
src/main/java/com/ffii/tsms/modules/report/service/ReportService.kt Näytä tiedosto

@@ -3633,23 +3633,29 @@ open class ReportService(
sortedTeams.forEach { team ->
val currentTeam = team.code
val _timesheets = timesheets.filter { ts ->
// for team log
// val thisTeam = teamlog.filter {
// for after team log is implemented
// val thisStaffTeam = teamlog.filter {
// it.from.isBefore(ts.recordDate)
// && it.to != null
// && it.staff.id == ts.staff!!.id
// }.maxByOrNull { it.from }
ts.project!!.teamLead!!.team.code == currentTeam // check isChargingTeam
&&
ts.project!!.teamLead!!.team.code != ts.staff!!.team.code // check isCrossTeam
// ts.project!!.teamLead!!.team.id != thisTeam!!.team.id // for team log
// val thisProjectTeam = teamlog.filter {
// it.from.isBefore(ts.recordDate)
// && it.to != null
// && it.staff.id == ts.project!!.teamLead!!.team.id
// }.maxByOrNull { it.from }
val staffTeam = ts.staff!!.team.code
val projectTeam = ts.project!!.teamLead!!.team.code
(staffTeam == currentTeam && projectTeam != staffTeam)
|| (projectTeam == currentTeam && projectTeam != staffTeam) // check isCrossTeam
// ts.project!!.teamLead!!.team.id != thisStaffTeam!!.team.id // for team log
}
_timesheets.forEach {ts ->
// this team charging others
// get the grade and salary data of the record
val _grade = gradeLog.find { it.staff.id == ts.staff!!.id }
val gradeCode = _grade!!.grade.code
val otMultiplier = 1
val otMultiplier = 1.15
val thisSE = salaryEffective.filter {
it.staff.id == ts.staff!!.id
&&
@@ -3889,9 +3895,9 @@ open class ReportService(
grades: List<Grade>,
teamId: String,
gradeLog: List<GradeLog>,
isTeamLead: Boolean,
salaryEffective: List<SalaryEffective>,
) {
val salaryEffective = salaryEffectiveRepository.findAll()
// val salaryEffective = salaryEffectiveRepository.findAll()
var sheet: Sheet = workbook.getSheetAt(2)
val accountingStyle = workbook.createDataFormat().getFormat("_(* #,##0.00_);_(* (#,##0.00);_(* \"-\"??_);_(@_)")
val rowIndex = 1 // Assuming the location is in (1,2), which is the report date field
@@ -3902,10 +3908,10 @@ open class ReportService(
sheet.getRow(rowIndex).getCell(columnIndex).apply {
setCellValue(convertReportMonth)
}
var sortedTeams = teams.sortedBy { it.id }.toMutableList()
var sortedTeams = teams.toMutableList()
if (teamId.lowercase() != "all") {
// sortedTeams = teams.sortedWith(compareBy { if (it.id == teamId.toLong()) 0 else 1 }).toMutableList()
sortedTeams = mutableListOf(sortedTeams.find { teamId.toLong() == it.id }!!)
sortedTeams = mutableListOf(teams.find { teamId.toLong() == it.id }!!)
}
//// generate info map /////
val teamsInOutMap: MutableMap<String, MutableMap<String, InOut>> = generateTeamBlock(
@@ -4503,18 +4509,20 @@ open class ReportService(
}
}
}
val isTeamLead = false
conditionalFormattingNegative(sheet)
conditionalFormattingPositive(sheet)
val _teams = teams.sortedBy { it.id }
val salaryEffective = salaryEffectiveRepository.findAll()
// page 3
createThirdSheetTeamChargeReport(
month,
workbook,
timesheets,
teams,
_teams,
grades,
teamId,
gradeLog,
isTeamLead,
salaryEffective
)
return workbook
}


BIN
src/main/resources/templates/report/Cross Team Charge Report.xlsx Näytä tiedosto


Ladataan…
Peruuta
Tallenna