Sfoglia il codice sorgente

update

tags/Baseline_30082024_BACKEND_UAT
MSI\derek 1 anno fa
parent
commit
0227099cc4
5 ha cambiato i file con 33 aggiunte e 13 eliminazioni
  1. +3
    -0
      src/main/java/com/ffii/tsms/modules/data/entity/projections/StaffSearchInfo.kt
  2. +8
    -2
      src/main/java/com/ffii/tsms/modules/data/service/StaffsService.kt
  3. +1
    -1
      src/main/java/com/ffii/tsms/modules/data/service/TeamService.kt
  4. +6
    -0
      src/main/java/com/ffii/tsms/modules/data/web/SkillController.kt
  5. +15
    -10
      src/main/java/com/ffii/tsms/modules/data/web/models/NewStaffRequest.kt

+ 3
- 0
src/main/java/com/ffii/tsms/modules/data/entity/projections/StaffSearchInfo.kt Vedi File

@@ -22,4 +22,7 @@ interface StaffSearchInfo {
@get:Value("#{target.currentPosition?.name}")
val currentPosition: String?

@get:Value("#{target.user?.id}")
val userId: Long?

}

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

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

import com.ffii.core.exception.UnprocessableEntityException
import com.ffii.core.support.AbstractBaseEntityService
import com.ffii.core.support.JdbcDao
import com.ffii.tsms.modules.common.SecurityUtils
@@ -8,12 +9,10 @@ import com.ffii.tsms.modules.data.entity.projections.StaffSearchInfo
import com.ffii.tsms.modules.data.web.models.NewStaffRequest
import com.ffii.tsms.modules.user.entity.User
import com.ffii.tsms.modules.user.entity.UserRepository
import org.springframework.data.jpa.domain.AbstractPersistable_.id
import org.springframework.security.crypto.password.PasswordEncoder
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
import java.util.*
import java.util.stream.Collectors
import kotlin.jvm.optionals.getOrNull


@@ -96,6 +95,13 @@ open class StaffsService(

@Transactional(rollbackFor = [Exception::class])
open fun saveStaff(req: NewStaffRequest): Staff {
// if (req.staffId)
val checkStaffIdList: List<StaffSearchInfo> = staffRepository.findStaffSearchInfoByAndDeletedFalse()
checkStaffIdList.forEach{ s ->
if (s.staffId == req.staffId) {
throw UnprocessableEntityException("Duplicated StaffId Found")
}
}
val currentPosition = positionRepository.findById(req.currentPositionId).orElseThrow()
val joinPosition = positionRepository.findById(req.joinPositionId).orElseThrow()
val company = companyRepository.findById(req.companyId).orElseThrow()


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

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



+ 6
- 0
src/main/java/com/ffii/tsms/modules/data/web/SkillController.kt Vedi File

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

@@ -25,6 +26,11 @@ class SkillController(private val skillService: SkillService) {
args["id"] = id
return skillService.list(args);
}
@DeleteMapping("/delete/{id}")
@ResponseStatus(HttpStatus.NO_CONTENT)
fun delete(@PathVariable id: Long?) {
skillService.markDelete(id)
}

@GetMapping
fun list(): List<Map<String, Any>> {


+ 15
- 10
src/main/java/com/ffii/tsms/modules/data/web/models/NewStaffRequest.kt Vedi File

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

data class NewStaffRequest(
val id: Long?,

// @field:NotNull(message = "Staff userId cannot be empty")
// val userId: Long,
@field:NotBlank(message = "Staff name cannot be empty")
val name: String,
@field:NotBlank(message = "Staff staffId cannot be empty")
@@ -17,21 +13,30 @@ data class NewStaffRequest(
val companyId: Long,
@field:NotNull(message = "Staff salaryId cannot be empty")
val salaryId: Long,
// @field:NotNull(message = "Staff skillSetId cannot be empty")
val skillSetId: List<Long>?,
@field:NotNull(message = "joinDate cannot be empty")
val joinDate: LocalDate,
@field:NotNull(message = "Staff currentPositionId cannot be empty")
val currentPositionId: Long,
// val salaryEffId: Long,
@field:NotNull(message = "Staff joinPositionId cannot be empty")
val joinPositionId: Long,
val gradeId: Long?,
val teamId: Long?,
@field:NotNull(message = "Staff departmentId cannot be empty")
val departmentId: Long,
@field:NotBlank(message = "Staff phone1 cannot be empty")
val phone1: String,
val phone2: String?,
@field:NotBlank(message = "Staff email cannot be empty")
val email: String,
@field:NotBlank(message = "Staff emergContactName cannot be empty")
val emergContactName: String,
@field:NotBlank(message = "Staff emergContactPhone cannot be empty")
val emergContactPhone: String,
@field:NotBlank(message = "Staff employType cannot be empty")
val employType: String,

val id: Long?,
val skillSetId: List<Long>?,
val gradeId: Long?,
val phone2: String?,
val teamId: Long?,
val departDate: LocalDate?,
val departReason: String?,
val remark: String?,

Caricamento…
Annulla
Salva