Browse Source

Remove time entry merging

tags/Baseline_30082024_BACKEND_UAT
Wayne 1 year ago
parent
commit
f3fbc38118
2 changed files with 2 additions and 23 deletions
  1. +1
    -9
      src/main/java/com/ffii/tsms/modules/timesheet/service/LeaveService.kt
  2. +1
    -14
      src/main/java/com/ffii/tsms/modules/timesheet/service/TimesheetsService.kt

+ 1
- 9
src/main/java/com/ffii/tsms/modules/timesheet/service/LeaveService.kt View File

@@ -39,7 +39,7 @@ open class LeaveService(
// Replace db leave entries by deleting and then adding back // Replace db leave entries by deleting and then adding back
leaveRepository.deleteAllByStaffAndRecordDate(currentStaff, entryDate) leaveRepository.deleteAllByStaffAndRecordDate(currentStaff, entryDate)


mergeLeaveEntriesByType(leaveEntries).map { leaveEntry ->
leaveEntries.map { leaveEntry ->
Leave().apply { Leave().apply {
this.staff = currentStaff this.staff = currentStaff
this.recordDate = entryDate this.recordDate = entryDate
@@ -130,12 +130,4 @@ open class LeaveService(
) )
} } } }
} }

private fun mergeLeaveEntriesByType(entries: List<LeaveEntry>): List<LeaveEntry> {
return entries
.groupBy { leaveEntry -> leaveEntry.leaveTypeId }
.values.map { leaveEntires ->
leaveEntires.reduce { acc, leaveEntry -> acc.copy(inputHours = acc.inputHours + leaveEntry.inputHours) }
}
}
} }

+ 1
- 14
src/main/java/com/ffii/tsms/modules/timesheet/service/TimesheetsService.kt View File

@@ -42,7 +42,7 @@ open class TimesheetsService(
// Replace db timesheet entries by deleting and then adding back // Replace db timesheet entries by deleting and then adding back
timesheetRepository.deleteAllByStaffAndRecordDate(currentStaff, entryDate) timesheetRepository.deleteAllByStaffAndRecordDate(currentStaff, entryDate)


mergeTimeEntriesByProjectAndTask(timeEntries).map { timeEntry ->
timeEntries.map { timeEntry ->
val task = timeEntry.taskId?.let { taskRepository.findById(it).getOrNull() } val task = timeEntry.taskId?.let { taskRepository.findById(it).getOrNull() }
val project = timeEntry.projectId?.let { projectRepository.findById(it).getOrNull() } val project = timeEntry.projectId?.let { projectRepository.findById(it).getOrNull() }
val projectTask = val projectTask =
@@ -162,19 +162,6 @@ open class TimesheetsService(
} }
} }


private fun mergeTimeEntriesByProjectAndTask(entries: List<TimeEntry>): List<TimeEntry> {
return entries
.groupBy { timeEntry -> Pair(timeEntry.projectId, timeEntry.taskId) }
.values.map { timeEntries ->
timeEntries.reduce { acc, timeEntry ->
acc.copy(
inputHours = (acc.inputHours ?: 0.0) + (timeEntry.inputHours ?: 0.0),
otHours = (acc.otHours ?: 0.0) + (timeEntry.otHours ?: 0.0)
)
}
}
}

@Transactional(rollbackFor = [Exception::class]) @Transactional(rollbackFor = [Exception::class])
open fun importFile(workbook: Workbook?): String { open fun importFile(workbook: Workbook?): String {
val logger = LogFactory.getLog(javaClass) val logger = LogFactory.getLog(javaClass)


Loading…
Cancel
Save