2. add create company apitags/Baseline_30082024_BACKEND_UAT
@@ -4,7 +4,10 @@ import com.ffii.core.support.AbstractBaseEntityService | |||||
import com.ffii.core.support.JdbcDao | import com.ffii.core.support.JdbcDao | ||||
import com.ffii.tsms.modules.data.entity.Company | import com.ffii.tsms.modules.data.entity.Company | ||||
import com.ffii.tsms.modules.data.entity.CompanyRepository | import com.ffii.tsms.modules.data.entity.CompanyRepository | ||||
import com.ffii.tsms.modules.data.entity.Position | |||||
import com.ffii.tsms.modules.data.entity.projections.CompanySearchInfo | import com.ffii.tsms.modules.data.entity.projections.CompanySearchInfo | ||||
import com.ffii.tsms.modules.data.web.models.NewCompanyRequest | |||||
import com.ffii.tsms.modules.data.web.models.NewPositionRequest | |||||
import org.springframework.stereotype.Service | import org.springframework.stereotype.Service | ||||
@Service | @Service | ||||
open class CompanyService( | open class CompanyService( | ||||
@@ -15,6 +18,20 @@ open class CompanyService( | |||||
return companyRepository.findCompanySearchInfoBy() | return companyRepository.findCompanySearchInfoBy() | ||||
} | } | ||||
open fun saveCompany(request: NewCompanyRequest): Company { | |||||
val company = | |||||
Company().apply { | |||||
name = request.companyName | |||||
companyCode = request.companyCode | |||||
brNo = request.brNo | |||||
contactName = request.contactName | |||||
phone = request.phone | |||||
email = request.email | |||||
} | |||||
return companyRepository.save(company) | |||||
} | |||||
open fun combo(args: Map<String, Any>): List<Map<String, Any>> { | open fun combo(args: Map<String, Any>): List<Map<String, Any>> { | ||||
val sql = StringBuilder("select" | val sql = StringBuilder("select" | ||||
@@ -16,7 +16,7 @@ open class SalaryService( | |||||
private val salaryRepository: SalaryRepository, | private val salaryRepository: SalaryRepository, | ||||
) : AbstractIdEntityService<Salary, Long, SalaryRepository>(jdbcDao, salaryRepository) { | ) : AbstractIdEntityService<Salary, Long, SalaryRepository>(jdbcDao, salaryRepository) { | ||||
fun allSalary(): List<SalarySearchInfo>{ | |||||
open fun allSalarys(): List<SalarySearchInfo>{ | |||||
return salaryRepository.findSalarySearchInfoBy() | return salaryRepository.findSalarySearchInfoBy() | ||||
} | } | ||||
@@ -2,13 +2,14 @@ package com.ffii.tsms.modules.data.web.models | |||||
import com.ffii.core.response.RecordsRes | import com.ffii.core.response.RecordsRes | ||||
import com.ffii.core.utils.CriteriaArgsBuilder | import com.ffii.core.utils.CriteriaArgsBuilder | ||||
import com.ffii.tsms.modules.data.entity.Company | |||||
import com.ffii.tsms.modules.data.entity.Position | |||||
import com.ffii.tsms.modules.data.entity.projections.CompanySearchInfo | import com.ffii.tsms.modules.data.entity.projections.CompanySearchInfo | ||||
import com.ffii.tsms.modules.data.service.CompanyService | import com.ffii.tsms.modules.data.service.CompanyService | ||||
import jakarta.servlet.http.HttpServletRequest | import jakarta.servlet.http.HttpServletRequest | ||||
import jakarta.validation.Valid | |||||
import org.springframework.web.bind.ServletRequestBindingException | 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 | @RestController | ||||
@@ -23,6 +24,11 @@ class CompanyController(private val companyService: CompanyService) { | |||||
// return companyService.allCompanys() | // return companyService.allCompanys() | ||||
// } | // } | ||||
@PostMapping("/new") | |||||
fun saveCompany(@Valid @RequestBody newCompany: NewCompanyRequest): Company { | |||||
return companyService.saveCompany(newCompany) | |||||
} | |||||
@GetMapping("/combo") | @GetMapping("/combo") | ||||
@Throws(ServletRequestBindingException::class) | @Throws(ServletRequestBindingException::class) | ||||
fun combo(request: HttpServletRequest?): RecordsRes<Map<String, Any>> { | fun combo(request: HttpServletRequest?): RecordsRes<Map<String, Any>> { | ||||
@@ -13,14 +13,14 @@ import org.springframework.web.bind.annotation.RestController | |||||
@RestController | @RestController | ||||
@RequestMapping("/salary") | |||||
@RequestMapping("/salarys") | |||||
class SalaryController( | class SalaryController( | ||||
private val salaryService: SalaryService | private val salaryService: SalaryService | ||||
) { | ) { | ||||
@GetMapping | @GetMapping | ||||
fun allSalarys(): List<SalarySearchInfo> { | fun allSalarys(): List<SalarySearchInfo> { | ||||
return salaryService.allSalary() | |||||
return salaryService.allSalarys() | |||||
} | } | ||||
@GetMapping("/combo") | @GetMapping("/combo") | ||||
@@ -0,0 +1,15 @@ | |||||
package com.ffii.tsms.modules.data.web.models | |||||
import jakarta.validation.constraints.NotBlank | |||||
data class NewCompanyRequest ( | |||||
@field: NotBlank(message = "Company code cannot be empty") | |||||
val companyCode: String, | |||||
@field:NotBlank(message = "Company name cannot be empty") | |||||
val companyName: String, | |||||
@field:NotBlank(message = "brNo cannot be empty") | |||||
val brNo: String, | |||||
val contactName: String, | |||||
val phone: String, | |||||
val email: String | |||||
) |