Selaa lähdekoodia

Edit Company

tags/Baseline_30082024_BACKEND_UAT
MSI\2Fi 1 vuosi sitten
vanhempi
commit
01634fa17b
4 muutettua tiedostoa jossa 52 lisäystä ja 16 poistoa
  1. +4
    -0
      src/main/java/com/ffii/tsms/modules/data/entity/CompanyRepository.java
  2. +32
    -16
      src/main/java/com/ffii/tsms/modules/data/service/CompanyService.kt
  3. +15
    -0
      src/main/java/com/ffii/tsms/modules/data/web/CompanyController.kt
  4. +1
    -0
      src/main/java/com/ffii/tsms/modules/data/web/models/NewCompanyRequest.kt

+ 4
- 0
src/main/java/com/ffii/tsms/modules/data/entity/CompanyRepository.java Näytä tiedosto

@@ -2,9 +2,13 @@ package com.ffii.tsms.modules.data.entity;

import com.ffii.core.support.AbstractRepository;
import com.ffii.tsms.modules.data.entity.projections.CompanySearchInfo;
import com.ffii.tsms.modules.data.entity.projections.DepartmentSearchInfo;

import java.util.List;
import java.util.Optional;

public interface CompanyRepository extends AbstractRepository<Company, Long> {
List<CompanySearchInfo> findCompanySearchInfoBy();

Optional<Company> findCompanyByIdAndDeletedFalse(Long companyId);
}

+ 32
- 16
src/main/java/com/ffii/tsms/modules/data/service/CompanyService.kt Näytä tiedosto

@@ -4,10 +4,13 @@ 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.Department
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.DepartmentSearchInfo
import com.ffii.tsms.modules.data.web.models.NewCompanyRequest
import com.ffii.tsms.modules.data.web.models.NewPositionRequest
import org.springframework.beans.BeanUtils
import org.springframework.stereotype.Service
@Service
open class CompanyService(
@@ -18,23 +21,36 @@ open class CompanyService(
return companyRepository.findCompanySearchInfoBy()
}

open fun getCompanyDetails(companyId: Long): Company? {
val company = companyRepository.findCompanyByIdAndDeletedFalse(companyId).orElseThrow()

return company
}

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
normalHourTo = request.normalHourTo
normalHourFrom = request.normalHourFrom
otHourTo = request.otHourTo
otHourFrom = request.otHourFrom
address = request.address
district = request.district
currency = request.currency
}
var company = Company()

if (request.id != null && request.id > 0) {
company = companyRepository.findById(request.id).orElseThrow()

BeanUtils.copyProperties(request, company)
company.name = request.companyName

}else{
company.name = request.companyName
company.companyCode = request.companyCode
company.brNo = request.brNo
company.contactName = request.contactName
company.phone = request.phone
company.email = request.email
company.normalHourTo = request.normalHourTo
company.normalHourFrom = request.normalHourFrom
company.otHourTo = request.otHourTo
company.otHourFrom = request.otHourFrom
company.address = request.address
company.district = request.district
company.currency = request.currency
}

return companyRepository.save(company)
}


+ 15
- 0
src/main/java/com/ffii/tsms/modules/data/web/CompanyController.kt Näytä tiedosto

@@ -1,13 +1,16 @@
package com.ffii.tsms.modules.data.web.models

import com.ffii.core.exception.NotFoundException
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.entity.projections.DepartmentSearchInfo
import com.ffii.tsms.modules.data.service.CompanyService
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.*

@@ -24,11 +27,23 @@ class CompanyController(private val companyService: CompanyService) {
// return companyService.allCompanys()
// }

@GetMapping("/companyDetails/{id}")
fun departmentDetails(@PathVariable id: Long): Company {
return companyService.getCompanyDetails(id) ?: throw NotFoundException()
}

@PostMapping("/new")
fun saveCompany(@Valid @RequestBody newCompany: NewCompanyRequest): Company {

return companyService.saveCompany(newCompany)
}

@DeleteMapping("/{id}")
@ResponseStatus(HttpStatus.NO_CONTENT)
fun deleteCompany(@PathVariable id: Long) {
companyService.markDelete(id)
}

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


+ 1
- 0
src/main/java/com/ffii/tsms/modules/data/web/models/NewCompanyRequest.kt Näytä tiedosto

@@ -4,6 +4,7 @@ import jakarta.validation.constraints.NotBlank
import java.time.LocalTime

data class NewCompanyRequest (
val id: Long?,
@field: NotBlank(message = "Company code cannot be empty")
val companyCode: String,
@field:NotBlank(message = "Company name cannot be empty")


Ladataan…
Peruuta
Tallenna