ソースを参照

update edit team

tags/Baseline_30082024_BACKEND_UAT
MSI\derek 1年前
コミット
7546867568
4個のファイルの変更18行の追加11行の削除
  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 ファイルの表示

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

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

@NotNull


+ 2
- 0
src/main/java/com/ffii/tsms/modules/data/entity/Team.java ファイルの表示

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

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

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



+ 11
- 8
src/main/java/com/ffii/tsms/modules/data/service/TeamService.kt ファイルの表示

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

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

val team = Team().apply {
this.staff = teamLead
name = teamName
code = teamCode
description = req.description
@@ -88,7 +90,15 @@ open class TeamService(
code = teamCode
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()) {
for (id in req.deleteStaffIds) {
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
}



+ 2
- 2
src/main/java/com/ffii/tsms/modules/data/web/models/NewTeamRequest.kt ファイルの表示

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

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

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

読み込み中…
キャンセル
保存