Quellcode durchsuchen

update team delete

tags/Baseline_30082024_BACKEND_UAT
MSI\derek vor 1 Jahr
Ursprung
Commit
342ac097c9
4 geänderte Dateien mit 28 neuen und 0 gelöschten Zeilen
  1. +1
    -0
      src/main/java/com/ffii/tsms/modules/data/entity/StaffRepository.java
  2. +4
    -0
      src/main/java/com/ffii/tsms/modules/data/service/StaffsService.kt
  3. +13
    -0
      src/main/java/com/ffii/tsms/modules/data/service/TeamService.kt
  4. +10
    -0
      src/main/java/com/ffii/tsms/modules/data/web/TeamController.kt

+ 1
- 0
src/main/java/com/ffii/tsms/modules/data/entity/StaffRepository.java Datei anzeigen

@@ -17,4 +17,5 @@ public interface StaffRepository extends AbstractRepository<Staff, Long> {
Optional<Staff> findByStaffId(@Param("staffId") String staffId);

Optional<Staff> findByUserId(@Param("userId") Long userId);
Optional<List<Staff>> findAllByTeamIdAndDeletedFalse(Long id);
}

+ 4
- 0
src/main/java/com/ffii/tsms/modules/data/service/StaffsService.kt Datei anzeigen

@@ -74,6 +74,10 @@ open class StaffsService(
return staffRepository.findByUserId(userId);
}

open fun findAllByTeamId(id: Long): Optional<List<Staff>> {
return staffRepository.findAllByTeamIdAndDeletedFalse(id);
}

@Transactional(rollbackFor = [Exception::class])
open fun saveStaff(req: NewStaffRequest): Staff {
val user = userRepository.saveAndFlush(


+ 13
- 0
src/main/java/com/ffii/tsms/modules/data/service/TeamService.kt Datei anzeigen

@@ -10,11 +10,13 @@ import com.ffii.tsms.modules.data.entity.projections.StaffSearchInfo
import com.ffii.tsms.modules.data.web.models.NewTeamRequest
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
import java.util.Optional

@Service
open class TeamService(
private val teamRepository: TeamRepository,
private val staffRepository: StaffRepository,
private val staffsService: StaffsService,
private val jdbcDao: JdbcDao,
) : AbstractBaseEntityService<Team, Long, TeamRepository>(jdbcDao, teamRepository) {

@@ -82,6 +84,17 @@ open class TeamService(
return team
}

@Transactional(rollbackFor = [Exception::class])
open fun setStaffTeamIdToNull(id: Long) {
val staffList: List<Staff>? = staffsService.findAllByTeamId(id).orElseThrow()
if (!staffList.isNullOrEmpty()) {
for (staff in staffList) {
staff.apply {
team = null;
}
}
}
}
open fun saveOrUpdate(req: NewTeamRequest): Team {
val team = if(req.id != null) find(req.id).get() else Team()
if (req.id != null) {


+ 10
- 0
src/main/java/com/ffii/tsms/modules/data/web/TeamController.kt Datei anzeigen

@@ -7,6 +7,8 @@ import com.ffii.tsms.modules.data.service.TeamService
import com.ffii.tsms.modules.data.web.models.NewTeamRequest
import jakarta.servlet.http.HttpServletRequest
import jakarta.validation.Valid
import org.springframework.http.HttpStatus
import org.springframework.transaction.annotation.Transactional
import org.springframework.web.bind.ServletRequestBindingException
import org.springframework.web.bind.annotation.*

@@ -32,6 +34,14 @@ class TeamController(private val teamService: TeamService) {
return teamService.getTeamDetail(args);
}

// @Transactional(rollbackFor = [Exception::class])
@DeleteMapping("/delete/{id}")
@ResponseStatus(HttpStatus.NO_CONTENT)
fun delete(@PathVariable id: Long) {
teamService.markDelete(id)
teamService.setStaffTeamIdToNull(id)
}

@GetMapping("/combo")
@Throws(ServletRequestBindingException::class)
fun combo(request: HttpServletRequest?): RecordsRes<Map<String, Any>> {


Laden…
Abbrechen
Speichern