Ver a proveniência

Fix project saving

tags/Baseline_30082024_BACKEND_UAT
Wayne há 1 ano
ascendente
cometimento
f1c3787ac7
4 ficheiros alterados com 26 adições e 5 eliminações
  1. +1
    -1
      src/main/java/com/ffii/tsms/modules/project/entity/ProjectRepository.kt
  2. +13
    -3
      src/main/java/com/ffii/tsms/modules/project/service/ProjectsService.kt
  3. +2
    -1
      src/main/java/com/ffii/tsms/modules/project/web/ProjectsController.kt
  4. +10
    -0
      src/main/java/com/ffii/tsms/modules/project/web/models/NewProjectResponse.kt

+ 1
- 1
src/main/java/com/ffii/tsms/modules/project/entity/ProjectRepository.kt Ver ficheiro

@@ -6,7 +6,7 @@ import com.ffii.tsms.modules.project.entity.projections.InvoiceSearchInfo
import com.ffii.tsms.modules.project.entity.projections.ProjectSearchInfo

interface ProjectRepository : AbstractRepository<Project, Long> {
fun findProjectSearchInfoBy(): List<ProjectSearchInfo>
fun findProjectSearchInfoByOrderByCreatedDesc(): List<ProjectSearchInfo>

fun findInvoiceSearchInfoBy(): List<InvoiceSearchInfo>



+ 13
- 3
src/main/java/com/ffii/tsms/modules/project/service/ProjectsService.kt Ver ficheiro

@@ -12,6 +12,7 @@ import com.ffii.tsms.modules.project.entity.projections.InvoiceSearchInfo
import com.ffii.tsms.modules.project.web.models.AssignedProject
import com.ffii.tsms.modules.project.web.models.MilestoneInfo
import com.ffii.tsms.modules.project.web.models.NewProjectRequest
import com.ffii.tsms.modules.project.web.models.NewProjectResponse
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
import java.time.LocalDate
@@ -40,7 +41,7 @@ open class ProjectsService(
private val projectTaskRepository: ProjectTaskRepository
) {
open fun allProjects(): List<ProjectSearchInfo> {
return projectRepository.findProjectSearchInfoBy()
return projectRepository.findProjectSearchInfoByOrderByCreatedDesc()
}

open fun allInvoices(): List<InvoiceSearchInfo> {
@@ -87,7 +88,7 @@ open class ProjectsService(
}

@Transactional
open fun saveProject(request: NewProjectRequest): Project {
open fun saveProject(request: NewProjectRequest): NewProjectResponse {
val projectCategory =
projectCategoryRepository.findById(request.projectCategoryId).orElseThrow()
val fundingType = fundingTypeRepository.findById(request.fundingTypeId).orElseThrow()
@@ -184,7 +185,16 @@ open class ProjectsService(
} }
staffAllocationRepository.saveAll(staffAllocations)

return savedProject
return savedProject.let {
NewProjectResponse(
id = it.id,
code = it.code,
name = it.name,
client = it.customer?.name,
category = it.projectCategory?.name,
team = it.teamLead?.team?.code
)
}
}

open fun allFundingTypes(): List<FundingType> {


+ 2
- 1
src/main/java/com/ffii/tsms/modules/project/web/ProjectsController.kt Ver ficheiro

@@ -7,6 +7,7 @@ import com.ffii.tsms.modules.project.entity.ProjectCategory
import com.ffii.tsms.modules.project.service.ProjectsService
import com.ffii.tsms.modules.project.web.models.AssignedProject
import com.ffii.tsms.modules.project.web.models.NewProjectRequest
import com.ffii.tsms.modules.project.web.models.NewProjectResponse
import jakarta.validation.Valid
import org.springframework.web.bind.annotation.*

@@ -29,7 +30,7 @@ class ProjectsController(private val projectsService: ProjectsService) {
}

@PostMapping("/new")
fun saveProject(@Valid @RequestBody newProject: NewProjectRequest): Project {
fun saveProject(@Valid @RequestBody newProject: NewProjectRequest): NewProjectResponse {
return projectsService.saveProject(newProject)
}



+ 10
- 0
src/main/java/com/ffii/tsms/modules/project/web/models/NewProjectResponse.kt Ver ficheiro

@@ -0,0 +1,10 @@
package com.ffii.tsms.modules.project.web.models

data class NewProjectResponse(
val id: Long?,
val name: String?,
val code: String?,
val category: String?,
val team: String?,
val client: String?,
)

Carregando…
Cancelar
Guardar