diff --git a/src/main/java/com/ffii/tsms/modules/data/entity/Customer.java b/src/main/java/com/ffii/tsms/modules/data/entity/Customer.java index 0731801..01a2a0f 100644 --- a/src/main/java/com/ffii/tsms/modules/data/entity/Customer.java +++ b/src/main/java/com/ffii/tsms/modules/data/entity/Customer.java @@ -30,6 +30,7 @@ public class Customer extends BaseEntity { private String brNo; @OneToOne + @NotNull @JoinColumn(name = "typeId") private CustomerType customerType; diff --git a/src/main/java/com/ffii/tsms/modules/data/service/CustomerService.kt b/src/main/java/com/ffii/tsms/modules/data/service/CustomerService.kt index b5a3b72..31dfc5a 100644 --- a/src/main/java/com/ffii/tsms/modules/data/service/CustomerService.kt +++ b/src/main/java/com/ffii/tsms/modules/data/service/CustomerService.kt @@ -24,12 +24,15 @@ class CustomerService(private val customerRepository: CustomerRepository, privat fun saveCustomer(saveCustomer: SaveCustomerRequest): Customer { + val customerType = customerTypeRepository.findById(saveCustomer.typeId).orElseThrow() + val customer = customerRepository.saveAndFlush( Customer().apply { id = saveCustomer.id code = saveCustomer.code name = saveCustomer.name + this.customerType = customerType address = saveCustomer.address district = saveCustomer.district brNo = saveCustomer.brNo diff --git a/src/main/java/com/ffii/tsms/modules/data/web/models/SaveCustomerRequest.kt b/src/main/java/com/ffii/tsms/modules/data/web/models/SaveCustomerRequest.kt index c1146b2..2b4f4ff 100644 --- a/src/main/java/com/ffii/tsms/modules/data/web/models/SaveCustomerRequest.kt +++ b/src/main/java/com/ffii/tsms/modules/data/web/models/SaveCustomerRequest.kt @@ -1,12 +1,15 @@ package com.ffii.tsms.modules.project.web.models import jakarta.validation.constraints.NotBlank +import jakarta.validation.constraints.NotNull data class SaveCustomerRequest( @field:NotBlank(message = "customer code cannot be empty") val code: String, @field:NotBlank(message = "customer name cannot be empty") val name: String, + @field:NotNull(message = "customer name cannot be empty") + val typeId: Long, val brNo: String?, val address: String?, diff --git a/src/main/java/com/ffii/tsms/modules/project/service/ProjectsService.kt b/src/main/java/com/ffii/tsms/modules/project/service/ProjectsService.kt index 0ad7e09..56e96f6 100644 --- a/src/main/java/com/ffii/tsms/modules/project/service/ProjectsService.kt +++ b/src/main/java/com/ffii/tsms/modules/project/service/ProjectsService.kt @@ -31,21 +31,21 @@ class ProjectsService( projectCategoryRepository.findById(request.projectCategoryId).orElseThrow() val teamLead = staffRepository.findById(request.projectLeadId).orElseThrow() - val _customer = - SaveCustomerRequest( - name = request.clientName, - code = request.clientCode, - // email = request.clientEmail, - // phone = request.clientPhone, - // contactName = request.clientContactName, - brNo = null, - address = null, - district = null, - deleteSubsidiaryIds = emptyList(), - addSubsidiaryIds = emptyList(), - id = null - ) - val customer = customerService.saveCustomer(_customer) + // val _customer = + // SaveCustomerRequest( + // name = request.clientName, + // code = request.clientCode, + // // email = request.clientEmail, + // // phone = request.clientPhone, + // // contactName = request.clientContactName, + // brNo = null, + // address = null, + // district = null, + // deleteSubsidiaryIds = emptyList(), + // addSubsidiaryIds = emptyList(), + // id = null + // ) + // val customer = customerService.saveCustomer(_customer) // TODO: Add tasks, milestones, allocated val project = @@ -55,7 +55,7 @@ class ProjectsService( code = request.projectCode this.projectCategory = projectCategory this.teamLead = teamLead - this.customer = customer + // this.customer = customer } return projectRepository.save(project)