Sfoglia il codice sorgente

update edit team

tags/Baseline_30082024_BACKEND_UAT
MSI\derek 1 anno fa
parent
commit
7546867568
4 ha cambiato i file con 18 aggiunte e 11 eliminazioni
  1. +3
    -1
      src/main/java/com/ffii/tsms/modules/data/entity/Staff.java
  2. +2
    -0
      src/main/java/com/ffii/tsms/modules/data/entity/Team.java
  3. +11
    -8
      src/main/java/com/ffii/tsms/modules/data/service/TeamService.kt
  4. +2
    -2
      src/main/java/com/ffii/tsms/modules/data/web/models/NewTeamRequest.kt

+ 3
- 1
src/main/java/com/ffii/tsms/modules/data/entity/Staff.java Vedi File

@@ -5,6 +5,7 @@ import com.ffii.core.entity.BaseEntity;
import com.ffii.tsms.modules.user.entity.User; import com.ffii.tsms.modules.user.entity.User;
import jakarta.persistence.*; import jakarta.persistence.*;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonInclude;


import java.time.LocalDate; import java.time.LocalDate;
import java.util.HashSet; import java.util.HashSet;
@@ -59,7 +60,8 @@ public class Staff extends BaseEntity<Long> {
// @JoinColumn(name = "salaryEffId") // @JoinColumn(name = "salaryEffId")
// private SalaryEffective salaryEffective; // private SalaryEffective salaryEffective;
@OneToMany(mappedBy = "staff", cascade = CascadeType.ALL, orphanRemoval = true) @OneToMany(mappedBy = "staff", cascade = CascadeType.ALL, orphanRemoval = true)
@JsonManagedReference("staff")
@JsonManagedReference("staff-team")
@JsonInclude(JsonInclude.Include.NON_NULL)
private Set<StaffSkillset> skillset = new HashSet<>(); private Set<StaffSkillset> skillset = new HashSet<>();


@NotNull @NotNull


+ 2
- 0
src/main/java/com/ffii/tsms/modules/data/entity/Team.java Vedi File

@@ -1,5 +1,6 @@
package com.ffii.tsms.modules.data.entity; package com.ffii.tsms.modules.data.entity;


import com.fasterxml.jackson.annotation.JsonBackReference;
import com.ffii.core.entity.BaseEntity; import com.ffii.core.entity.BaseEntity;
import com.ffii.tsms.modules.user.entity.User; import com.ffii.tsms.modules.user.entity.User;
import jakarta.persistence.*; import jakarta.persistence.*;
@@ -21,6 +22,7 @@ public class Team extends BaseEntity<Long> {


@NotNull @NotNull
@OneToOne @OneToOne
@JsonBackReference("staff-team")
@JoinColumn(name = "teamLead", unique = true) @JoinColumn(name = "teamLead", unique = true)
private Staff staff; private Staff staff;




+ 11
- 8
src/main/java/com/ffii/tsms/modules/data/service/TeamService.kt Vedi File

@@ -39,6 +39,7 @@ open class TeamService(
@Transactional(rollbackFor = [Exception::class]) @Transactional(rollbackFor = [Exception::class])
open fun saveTeam(req: NewTeamRequest): Team { open fun saveTeam(req: NewTeamRequest): Team {
val ids = req.addStaffIds!! val ids = req.addStaffIds!!
println(ids)
val teamLead = staffRepository.findById(ids[0]).orElseThrow() val teamLead = staffRepository.findById(ids[0]).orElseThrow()
val teamName = "Team " + teamLead.name val teamName = "Team " + teamLead.name


@@ -46,6 +47,7 @@ open class TeamService(
val teamCode = initials.joinToString("") val teamCode = initials.joinToString("")


val team = Team().apply { val team = Team().apply {
this.staff = teamLead
name = teamName name = teamName
code = teamCode code = teamCode
description = req.description description = req.description
@@ -88,7 +90,15 @@ open class TeamService(
code = teamCode code = teamCode
description = req.description description = req.description
} }
// println(!req.deleteStaffIds.isNullOrEmpty())

for (id in addIds) {
val staff = staffRepository.findById(id.toLong()).orElseThrow()
staff.apply {
this.team = team
}
staffRepository.save(staff)
}

if (!req.deleteStaffIds.isNullOrEmpty()) { if (!req.deleteStaffIds.isNullOrEmpty()) {
for (id in req.deleteStaffIds) { for (id in req.deleteStaffIds) {
val staff = staffRepository.findById(id).orElseThrow() val staff = staffRepository.findById(id).orElseThrow()
@@ -99,13 +109,6 @@ open class TeamService(
} }
} }


for (id in addIds) {
val staff = staffRepository.findById(id.toLong()).orElseThrow()
staff.apply {
this.team = team
}
staffRepository.save(staff)
}
return team return team
} }




+ 2
- 2
src/main/java/com/ffii/tsms/modules/data/web/models/NewTeamRequest.kt Vedi File

@@ -5,9 +5,9 @@ import jakarta.validation.constraints.NotNull
import java.time.LocalDate import java.time.LocalDate


data class NewTeamRequest ( data class NewTeamRequest (
@field:NotNull(message = "ids cannot be empty")
val addStaffIds: List<Long>?, val addStaffIds: List<Long>?,

val deleteStaffIds: List<Long>?, val deleteStaffIds: List<Long>?,
val description: String,
val description: String?,
val id: Long? val id: Long?
) )

Caricamento…
Annulla
Salva