| @@ -3877,7 +3877,7 @@ open class ReportService( | |||
| } | |||
| println(_grade) | |||
| val gradeCode = _grade!!.grade.code | |||
| val otMultiplier = 1.15 | |||
| // val otMultiplier = 1.15 | |||
| val thisSE = salaryEffective.find { | |||
| it.staff.id == ts.staff!!.id | |||
| && it.startDate <= ts.recordDate && (it.endDate >= ts.recordDate || it.endDate == null) | |||
| @@ -3886,18 +3886,19 @@ open class ReportService( | |||
| val normalHour = ts.normalConsumed ?: 0.0 | |||
| val otHour = ts.otConsumed ?: 0.0 | |||
| val normalCost = normalHour.times(hourlyRate) | |||
| val otCost = otHour.times(hourlyRate).times(otMultiplier) | |||
| // val otCost = otHour.times(hourlyRate).times(otMultiplier) | |||
| val otCost = otHour.times(hourlyRate) | |||
| //assigning data | |||
| val projectTeam = ts.project!!.teamLead!!.team.code | |||
| val staffTeam = ts.staff!!.team.code | |||
| // write in | |||
| var tsInData = teamsMap[projectTeam]!![gradeCode]!!.In | |||
| tsInData.manhour += normalHour + otHour | |||
| tsInData.cost += normalCost + otCost | |||
| tsInData.cost += (normalCost + otCost) * chargeFee | |||
| // write out | |||
| val tsOutData = teamsMap[staffTeam]!!.get(gradeCode)!!.Out | |||
| tsOutData.manhour += normalHour + otHour | |||
| tsOutData.cost += normalCost + otCost | |||
| tsOutData.cost += (normalCost + otCost) * chargeFee | |||
| } | |||
| return teamsMap | |||
| @@ -4410,7 +4411,7 @@ open class ReportService( | |||
| } | |||
| } | |||
| _timesheets.forEach { ts -> | |||
| val otMultiplier = 1.15 | |||
| // val otMultiplier = 1.15 | |||
| val thisSE = salaryEffective.filter { | |||
| it.staff.id == ts.staff!!.id | |||
| && | |||
| @@ -4419,7 +4420,8 @@ open class ReportService( | |||
| val normalHour = ts.normalConsumed ?: 0.0 | |||
| val otHour = ts.otConsumed ?: 0.0 | |||
| val normalCost = normalHour.times(thisSE!!.salary.hourlyRate.toDouble()) | |||
| val otCost = otHour.times(thisSE.salary.hourlyRate.toDouble()).times(otMultiplier) | |||
| // val otCost = otHour.times(thisSE.salary.hourlyRate.toDouble()).times(otMultiplier) | |||
| val otCost = otHour.times(thisSE.salary.hourlyRate.toDouble()) | |||
| val staff = ts.staff!! | |||
| val project = ts.project!! | |||
| val projectNameCode = "${project.code}\n${project.name}" | |||
| @@ -4440,7 +4442,7 @@ open class ReportService( | |||
| tsInData[inOut_Key]!!.put(projectNameCode, TsData(0.0, 0.0)) | |||
| } | |||
| tsInData[inOut_Key]!![projectNameCode]!!.manhour += normalHour + otHour | |||
| tsInData[inOut_Key]!![projectNameCode]!!.cost += normalCost + otCost | |||
| tsInData[inOut_Key]!![projectNameCode]!!.cost += (normalCost + otCost) * chargeFee | |||
| } | |||
| return teamsMap | |||
| @@ -4687,11 +4689,11 @@ open class ReportService( | |||
| grade.id | |||
| )]?.sumOf { it.getValue("manHour") } ?: 0.0) | |||
| totalSalary += groupedTimesheets[Triple( | |||
| totalSalary += (groupedTimesheets[Triple( | |||
| team.id, | |||
| chargedTeam.id, | |||
| grade.id | |||
| )]?.sumOf { it.getValue("salary") } ?: 0.0 | |||
| )]?.sumOf { it.getValue("salary") } ?: 0.0) * chargeFee | |||
| val cloneStyle = workbook.createCellStyle() | |||
| cloneStyle.cloneStyleFrom(normalFontWithBorderStyle) | |||
| @@ -4702,11 +4704,11 @@ open class ReportService( | |||
| createCell(columnIndex++).apply { | |||
| setCellValue( | |||
| groupedTimesheets[Triple( | |||
| (groupedTimesheets[Triple( | |||
| team.id, | |||
| chargedTeam.id, | |||
| grade.id | |||
| )]?.sumOf { it.getValue("salary") } ?: 0.0) | |||
| )]?.sumOf { it.getValue("salary") } ?: 0.0) * chargeFee) | |||
| val cloneStyle = workbook.createCellStyle() | |||
| cloneStyle.cloneStyleFrom(normalFontWithBorderStyle) | |||