|
|
@@ -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) |
|
|
|
} |
|
|
|