diff --git a/src/main/java/com/ffii/tsms/modules/data/service/CompanyService.kt b/src/main/java/com/ffii/tsms/modules/data/service/CompanyService.kt index 2013bf1..a30e97b 100644 --- a/src/main/java/com/ffii/tsms/modules/data/service/CompanyService.kt +++ b/src/main/java/com/ffii/tsms/modules/data/service/CompanyService.kt @@ -4,7 +4,10 @@ import com.ffii.core.support.AbstractBaseEntityService import com.ffii.core.support.JdbcDao import com.ffii.tsms.modules.data.entity.Company 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.web.models.NewCompanyRequest +import com.ffii.tsms.modules.data.web.models.NewPositionRequest import org.springframework.stereotype.Service @Service open class CompanyService( @@ -15,6 +18,20 @@ open class CompanyService( 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): List> { val sql = StringBuilder("select" diff --git a/src/main/java/com/ffii/tsms/modules/data/service/SalaryService.kt b/src/main/java/com/ffii/tsms/modules/data/service/SalaryService.kt index 4ecda0a..b40eebf 100644 --- a/src/main/java/com/ffii/tsms/modules/data/service/SalaryService.kt +++ b/src/main/java/com/ffii/tsms/modules/data/service/SalaryService.kt @@ -16,7 +16,7 @@ open class SalaryService( private val salaryRepository: SalaryRepository, ) : AbstractIdEntityService(jdbcDao, salaryRepository) { - fun allSalary(): List{ + open fun allSalarys(): List{ return salaryRepository.findSalarySearchInfoBy() } diff --git a/src/main/java/com/ffii/tsms/modules/data/web/CompanyController.kt b/src/main/java/com/ffii/tsms/modules/data/web/CompanyController.kt index a922935..6cd4b53 100644 --- a/src/main/java/com/ffii/tsms/modules/data/web/CompanyController.kt +++ b/src/main/java/com/ffii/tsms/modules/data/web/CompanyController.kt @@ -2,13 +2,14 @@ package com.ffii.tsms.modules.data.web.models import com.ffii.core.response.RecordsRes 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.service.CompanyService 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 @@ -23,6 +24,11 @@ class CompanyController(private val companyService: CompanyService) { // return companyService.allCompanys() // } + @PostMapping("/new") + fun saveCompany(@Valid @RequestBody newCompany: NewCompanyRequest): Company { + return companyService.saveCompany(newCompany) + } + @GetMapping("/combo") @Throws(ServletRequestBindingException::class) fun combo(request: HttpServletRequest?): RecordsRes> { diff --git a/src/main/java/com/ffii/tsms/modules/data/web/SalaryController.kt b/src/main/java/com/ffii/tsms/modules/data/web/SalaryController.kt index 0d170c3..65c4feb 100644 --- a/src/main/java/com/ffii/tsms/modules/data/web/SalaryController.kt +++ b/src/main/java/com/ffii/tsms/modules/data/web/SalaryController.kt @@ -13,14 +13,14 @@ import org.springframework.web.bind.annotation.RestController @RestController -@RequestMapping("/salary") +@RequestMapping("/salarys") class SalaryController( private val salaryService: SalaryService ) { @GetMapping fun allSalarys(): List { - return salaryService.allSalary() + return salaryService.allSalarys() } @GetMapping("/combo") diff --git a/src/main/java/com/ffii/tsms/modules/data/web/models/NewCompanyRequest.kt b/src/main/java/com/ffii/tsms/modules/data/web/models/NewCompanyRequest.kt new file mode 100644 index 0000000..f6f46e8 --- /dev/null +++ b/src/main/java/com/ffii/tsms/modules/data/web/models/NewCompanyRequest.kt @@ -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 +)