Explorar el Código

update tasks & staffs

tags/Baseline_30082024_BACKEND_UAT
cyril.tsui hace 1 año
padre
commit
ec7dc35b80
Se han modificado 4 ficheros con 39 adiciones y 16 borrados
  1. +2
    -1
      src/main/java/com/ffii/tsms/modules/data/service/StaffsService.kt
  2. +16
    -5
      src/main/java/com/ffii/tsms/modules/project/service/TasksService.kt
  3. +18
    -9
      src/main/java/com/ffii/tsms/modules/project/web/TasksController.kt
  4. +3
    -1
      src/main/java/com/ffii/tsms/modules/project/web/models/NewTaskTemplateRequest.kt

+ 2
- 1
src/main/java/com/ffii/tsms/modules/data/service/StaffsService.kt Ver fichero

@@ -34,7 +34,8 @@ open class StaffsService(
) : AbstractBaseEntityService<Staff, Long, StaffRepository>(jdbcDao, staffRepository) {
open fun getTeamLeads(): List<StaffSearchInfo> {
// TODO: Replace by actual logic
return staffRepository.findAllStaffSearchInfoByIdIn(listOf(1, 2))
val teamIds = teamRepository.findAll().map { team -> team.staff.id }
return staffRepository.findAllStaffSearchInfoByIdIn(teamIds)
}

open fun allStaff(): List<StaffSearchInfo> {


+ 16
- 5
src/main/java/com/ffii/tsms/modules/project/service/TasksService.kt Ver fichero

@@ -1,13 +1,15 @@
package com.ffii.tsms.modules.project.service

import com.ffii.core.support.JdbcDao
import com.ffii.tsms.modules.project.entity.*
import org.springframework.stereotype.Service

@Service
class TasksService(
private val taskTemplateRepository: TaskTemplateRepository,
private val taskRepository: TaskRepository,
private val taskGroupRepository: TaskGroupRepository
private val taskTemplateRepository: TaskTemplateRepository,
private val taskRepository: TaskRepository,
private val taskGroupRepository: TaskGroupRepository,
private val jdbcDao: JdbcDao,
) {
fun allTasks(): List<Task> {
return taskRepository.findAll()
@@ -17,9 +19,18 @@ class TasksService(
return taskTemplateRepository.findAll()
}

fun saveTaskTemplate(code: String, name: String, taskIds: List<Long>): TaskTemplate {
fun findTaskTemplate(id: Long): TaskTemplate {
return taskTemplateRepository.findById(id).orElse(TaskTemplate())
}

fun deleteTaskTemplate(id: Long) {
taskTemplateRepository.deleteById(id)
}
fun saveTaskTemplate(code: String, name: String, taskIds: List<Long>, id: Long?): TaskTemplate {
val taskTemplate = if (id != null && id > 0) findTaskTemplate(id) else TaskTemplate()

return taskTemplateRepository.save<TaskTemplate>(
TaskTemplate().apply {
taskTemplate.apply {
this.name = name
this.code = code
this.tasks = taskRepository.findAllById(taskIds)


+ 18
- 9
src/main/java/com/ffii/tsms/modules/project/web/TasksController.kt Ver fichero

@@ -5,11 +5,8 @@ import com.ffii.tsms.modules.project.entity.TaskTemplate
import com.ffii.tsms.modules.project.service.TasksService
import com.ffii.tsms.modules.project.web.models.NewTaskTemplateRequest
import jakarta.validation.Valid
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.PostMapping
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
import org.springframework.http.HttpStatus
import org.springframework.web.bind.annotation.*

@RestController
@RequestMapping("/tasks")
@@ -24,12 +21,24 @@ class TasksController(private val tasksService: TasksService) {
return tasksService.allTaskTemplates()
}

@PostMapping("/templates/new")
@GetMapping("/templates/{id}")
fun findTaskTemplate(@PathVariable id: Long): TaskTemplate {
return tasksService.findTaskTemplate(id)
}

@DeleteMapping("/templates/{id}")
@ResponseStatus(HttpStatus.NO_CONTENT)
fun deleteTaskTemplate(@PathVariable id: Long) {
tasksService.deleteTaskTemplate(id)
}

@PostMapping("/templates/save")
fun saveTaskTemplate(@Valid @RequestBody newTaskTemplate: NewTaskTemplateRequest): TaskTemplate {
return tasksService.saveTaskTemplate(
newTaskTemplate.code,
newTaskTemplate.name,
newTaskTemplate.taskIds
newTaskTemplate.code,
newTaskTemplate.name,
newTaskTemplate.taskIds,
newTaskTemplate.id
)
}
}

+ 3
- 1
src/main/java/com/ffii/tsms/modules/project/web/models/NewTaskTemplateRequest.kt Ver fichero

@@ -7,5 +7,7 @@ data class NewTaskTemplateRequest(
val code: String,
@field:NotBlank(message = "name cannot be empty")
val name: String,
val taskIds: List<Long> = emptyList()
val taskIds: List<Long> = emptyList(),

val id: Long?
)

Cargando…
Cancelar
Guardar