Преглед на файлове

Return full timesheet for team member

tags/Baseline_30082024_BACKEND_UAT
Wayne преди 1 година
родител
ревизия
7a9ff4c63c
променени са 3 файла, в които са добавени 12 реда и са изтрити 14 реда
  1. +6
    -11
      src/main/java/com/ffii/tsms/modules/timesheet/service/TimesheetsService.kt
  2. +4
    -2
      src/main/java/com/ffii/tsms/modules/timesheet/web/TimesheetsController.kt
  3. +2
    -1
      src/main/java/com/ffii/tsms/modules/timesheet/web/models/TeamTimeEntry.kt

+ 6
- 11
src/main/java/com/ffii/tsms/modules/timesheet/service/TimesheetsService.kt Целия файл

@@ -57,11 +57,13 @@ open class TimesheetsService(
}

@Transactional
open fun saveMemberTimeEntry(staffId: Long, entry: TimeEntry): TimeEntry {
open fun saveMemberTimeEntry(staffId: Long, entry: TimeEntry, recordDate: LocalDate?): Map<String, List<TimeEntry>> {
val currentStaff = staffsService.currentStaff() ?: throw BadRequestException()
// Make sure current staff is a team lead
teamService.getMyTeamForStaff(currentStaff) ?: throw BadRequestException()

val memberStaff = staffsService.getStaff(staffId)

val timesheet = timesheetRepository.findById(entry.id).getOrDefault(Timesheet()).apply {
val task = entry.taskId?.let { taskRepository.findById(it).getOrNull() }
val project = entry.projectId?.let { projectRepository.findById(it).getOrNull() }
@@ -71,19 +73,12 @@ open class TimesheetsService(
this.otConsumed = entry.otHours
this.projectTask = projectTask
this.remark = entry.remark
this.recordDate = this.recordDate ?: recordDate
this.staff = this.staff ?: memberStaff
}

timesheetRepository.save(timesheet)

return TimeEntry(
id = timesheet.id!!,
projectId = timesheet.projectTask?.project?.id,
taskId = timesheet.projectTask?.task?.id,
taskGroupId = timesheet.projectTask?.task?.taskGroup?.id,
inputHours = timesheet.normalConsumed ?: 0.0,
otHours = timesheet.otConsumed ?: 0.0,
remark = timesheet.remark
)
return transformToTimeEntryMap(timesheetRepository.findAllByStaff(memberStaff))
}

open fun getTimesheet(): Map<String, List<TimeEntry>> {


+ 4
- 2
src/main/java/com/ffii/tsms/modules/timesheet/web/TimesheetsController.kt Целия файл

@@ -51,8 +51,10 @@ class TimesheetsController(private val timesheetsService: TimesheetsService, pri
}

@PostMapping("/saveMemberEntry")
fun saveMemberEntry(@Valid @RequestBody request: TeamTimeEntry): TimeEntry {
return timesheetsService.saveMemberTimeEntry(request.staffId, request.entry)
fun saveMemberEntry(@Valid @RequestBody request: TeamTimeEntry): Map<String, List<TimeEntry>> {
return timesheetsService.saveMemberTimeEntry(request.staffId, request.entry, runCatching {
LocalDate.parse(request.recordDate, DateTimeFormatter.ISO_LOCAL_DATE)
}.getOrNull())
}

@GetMapping("/leaves")


+ 2
- 1
src/main/java/com/ffii/tsms/modules/timesheet/web/models/TeamTimeEntry.kt Целия файл

@@ -2,5 +2,6 @@ package com.ffii.tsms.modules.timesheet.web.models

data class TeamTimeEntry(
val staffId: Long,
val entry: TimeEntry
val entry: TimeEntry,
val recordDate: String,
)

Зареждане…
Отказ
Запис