Ver código fonte

create skill api

tags/Baseline_30082024_BACKEND_UAT
MSI\derek 1 ano atrás
pai
commit
5f6b2a48e7
3 arquivos alterados com 60 adições e 9 exclusões
  1. +31
    -4
      src/main/java/com/ffii/tsms/modules/data/service/SkillService.kt
  2. +14
    -5
      src/main/java/com/ffii/tsms/modules/data/web/SkillController.kt
  3. +15
    -0
      src/main/java/com/ffii/tsms/modules/data/web/models/NewSkillRequest.kt

+ 31
- 4
src/main/java/com/ffii/tsms/modules/data/service/SkillService.kt Ver arquivo

@@ -2,10 +2,9 @@ package com.ffii.tsms.modules.data.service

import com.ffii.core.support.AbstractBaseEntityService
import com.ffii.core.support.JdbcDao
import com.ffii.tsms.modules.data.entity.Department
import com.ffii.tsms.modules.data.entity.DepartmentRepository
import com.ffii.tsms.modules.data.entity.Skill
import com.ffii.tsms.modules.data.entity.SkillRepository
import com.ffii.tsms.modules.data.entity.*
import com.ffii.tsms.modules.data.web.models.NewSkillRequest
import com.ffii.tsms.modules.data.web.models.NewTeamRequest
import org.springframework.stereotype.Service


@@ -15,6 +14,34 @@ open class SkillService(
private val jdbcDao: JdbcDao,
) : AbstractBaseEntityService<Skill, Long, SkillRepository>(jdbcDao, skillRepository) {

open fun saveSkill(req: NewSkillRequest): Skill {
val skill = Skill().apply {
name = req.name
code = req.code
description = req.description
}
skillRepository.save(skill)
return skill
}

open fun saveOrUpdate(req: NewSkillRequest): Skill {
val skill = if(req.id != null) find(req.id).get() else Skill()
if (req.id != null) {
// updateSkill(req, skill)
} else {
saveSkill(req)
}
return skill
}

open fun list(args: Map<String, Any>): List<Map<String, Any>> {
val sql = StringBuilder("select"
+ " * "
+ " from skill s "
+ " where s.deleted = false "
)
return jdbcDao.queryForList(sql.toString(), args)
}
open fun combo(args: Map<String, Any>): List<Map<String, Any>> {
val sql = StringBuilder("select"
+ " id as id,"


+ 14
- 5
src/main/java/com/ffii/tsms/modules/data/web/SkillController.kt Ver arquivo

@@ -2,19 +2,28 @@ package com.ffii.tsms.modules.data.web

import com.ffii.core.response.RecordsRes
import com.ffii.core.utils.CriteriaArgsBuilder
import com.ffii.tsms.modules.data.service.DepartmentService
import com.ffii.tsms.modules.data.entity.Skill
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.web.bind.ServletRequestBindingException
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
import org.springframework.web.bind.annotation.*


@RestController
@RequestMapping("/skill")
class SkillController(private val skillService: SkillService) {
class SkillController(private val skillService: SkillService) {

@PostMapping("/save")
fun saveSkill(@Valid @RequestBody newSkill: NewSkillRequest): Skill {
return skillService.saveOrUpdate(newSkill)
}
@GetMapping
fun list(): List<Map<String, Any>> {
val args: MutableMap<String, Any> = HashMap()
return skillService.list(args);
}
@GetMapping("/combo")
@Throws(ServletRequestBindingException::class)
fun combo(request: HttpServletRequest?): RecordsRes<Map<String, Any>> {


+ 15
- 0
src/main/java/com/ffii/tsms/modules/data/web/models/NewSkillRequest.kt Ver arquivo

@@ -0,0 +1,15 @@
package com.ffii.tsms.modules.data.web.models

import jakarta.validation.constraints.NotBlank

data class NewSkillRequest (

val id: Long?,

@field: NotBlank(message = "Position code cannot be empty")
val name: String,
@field:NotBlank(message = "Position name cannot be empty")
val code: String,

val description: String
)

Carregando…
Cancelar
Salvar