diff --git a/src/main/java/com/ffii/tsms/modules/data/service/TeamService.kt b/src/main/java/com/ffii/tsms/modules/data/service/TeamService.kt index 22c9318..b77ce64 100644 --- a/src/main/java/com/ffii/tsms/modules/data/service/TeamService.kt +++ b/src/main/java/com/ffii/tsms/modules/data/service/TeamService.kt @@ -109,6 +109,14 @@ open class TeamService( return team } + @Transactional(rollbackFor = [Exception::class]) + open fun setTeamLeadToNull(id: Long) { + val team = teamRepository.findById(id).orElseThrow() + team.apply { + this.staff = null + } + } + @Transactional(rollbackFor = [Exception::class]) open fun setStaffTeamIdToNull(id: Long) { val staffList: List? = staffsService.findAllByTeamId(id).orElseThrow() diff --git a/src/main/java/com/ffii/tsms/modules/data/web/TeamController.kt b/src/main/java/com/ffii/tsms/modules/data/web/TeamController.kt index 66bbcb3..69db653 100644 --- a/src/main/java/com/ffii/tsms/modules/data/web/TeamController.kt +++ b/src/main/java/com/ffii/tsms/modules/data/web/TeamController.kt @@ -54,6 +54,7 @@ class TeamController( @DeleteMapping("/delete/{id}") @ResponseStatus(HttpStatus.NO_CONTENT) fun delete(@PathVariable id: Long) { + teamService.setTeamLeadToNull(id) teamService.markDelete(id) teamService.setStaffTeamIdToNull(id) }