|
|
@@ -20,8 +20,20 @@ open class TeamService( |
|
|
|
private val jdbcDao: JdbcDao, |
|
|
|
) : AbstractBaseEntityService<Team, Long, TeamRepository>(jdbcDao, teamRepository) { |
|
|
|
|
|
|
|
open fun allTeam(): List<Team> { |
|
|
|
return teamRepository.findByDeletedFalse(); |
|
|
|
// open fun allTeam(): List<Team> { |
|
|
|
// return teamRepository.findByDeletedFalse(); |
|
|
|
// } |
|
|
|
|
|
|
|
open fun allTeam(args: Map<String, Any>): List<Map<String, Any>> { |
|
|
|
val sql = StringBuilder("select" |
|
|
|
+ " t.*, " |
|
|
|
+ " s.staffId, " |
|
|
|
+ " s.name as staffName" |
|
|
|
+ " from team t " |
|
|
|
+ " left join staff s on t.teamLead = s.id " |
|
|
|
+ " where t.deleted = false " |
|
|
|
) |
|
|
|
return jdbcDao.queryForList(sql.toString(), args) |
|
|
|
} |
|
|
|
|
|
|
|
@Transactional(rollbackFor = [Exception::class]) |
|
|
@@ -53,21 +65,25 @@ open class TeamService( |
|
|
|
open fun updateTeam(req: NewTeamRequest, team: Team): Team { |
|
|
|
val addIds = req.addStaffIds ?: listOf<Int>() |
|
|
|
|
|
|
|
val teamLead: Staff |
|
|
|
val teamName: String |
|
|
|
val teamCode: String |
|
|
|
|
|
|
|
if (addIds.isNotEmpty()) { |
|
|
|
val teamLead = staffRepository.findById(addIds[0].toLong()).orElseThrow() |
|
|
|
teamName = "Team " + teamLead.name |
|
|
|
val leader = staffRepository.findById(addIds[0].toLong()).orElseThrow() |
|
|
|
teamName = "Team " + leader.name |
|
|
|
teamLead = leader; |
|
|
|
|
|
|
|
val initials = teamLead.name.split(" ").map { it.first() } |
|
|
|
val initials = leader.name.split(" ").map { it.first() } |
|
|
|
teamCode = initials.joinToString("") |
|
|
|
} else { |
|
|
|
teamLead = team.staff |
|
|
|
teamName = team.name |
|
|
|
teamCode = team.code |
|
|
|
} |
|
|
|
|
|
|
|
team.apply { |
|
|
|
this.staff = teamLead |
|
|
|
name = teamName |
|
|
|
code = teamCode |
|
|
|
description = req.description |
|
|
|