浏览代码

update tasks & staffs

tags/Baseline_30082024_BACKEND_UAT
cyril.tsui 1年前
父节点
当前提交
ec7dc35b80
共有 4 个文件被更改,包括 39 次插入16 次删除
  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 查看文件

@@ -34,7 +34,8 @@ open class StaffsService(
) : AbstractBaseEntityService<Staff, Long, StaffRepository>(jdbcDao, staffRepository) { ) : AbstractBaseEntityService<Staff, Long, StaffRepository>(jdbcDao, staffRepository) {
open fun getTeamLeads(): List<StaffSearchInfo> { open fun getTeamLeads(): List<StaffSearchInfo> {
// TODO: Replace by actual logic // 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> { open fun allStaff(): List<StaffSearchInfo> {


+ 16
- 5
src/main/java/com/ffii/tsms/modules/project/service/TasksService.kt 查看文件

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


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


@Service @Service
class TasksService( 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> { fun allTasks(): List<Task> {
return taskRepository.findAll() return taskRepository.findAll()
@@ -17,9 +19,18 @@ class TasksService(
return taskTemplateRepository.findAll() 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>( return taskTemplateRepository.save<TaskTemplate>(
TaskTemplate().apply {
taskTemplate.apply {
this.name = name this.name = name
this.code = code this.code = code
this.tasks = taskRepository.findAllById(taskIds) this.tasks = taskRepository.findAllById(taskIds)


+ 18
- 9
src/main/java/com/ffii/tsms/modules/project/web/TasksController.kt 查看文件

@@ -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.service.TasksService
import com.ffii.tsms.modules.project.web.models.NewTaskTemplateRequest import com.ffii.tsms.modules.project.web.models.NewTaskTemplateRequest
import jakarta.validation.Valid 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 @RestController
@RequestMapping("/tasks") @RequestMapping("/tasks")
@@ -24,12 +21,24 @@ class TasksController(private val tasksService: TasksService) {
return tasksService.allTaskTemplates() 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 { fun saveTaskTemplate(@Valid @RequestBody newTaskTemplate: NewTaskTemplateRequest): TaskTemplate {
return tasksService.saveTaskTemplate( 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 查看文件

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

val id: Long?
) )

正在加载...
取消
保存