|
|
@@ -6,7 +6,10 @@ import com.ffii.tsms.modules.data.entity.Department |
|
|
|
import com.ffii.tsms.modules.data.entity.DepartmentRepository |
|
|
|
import com.ffii.tsms.modules.data.entity.projections.DepartmentSearchInfo |
|
|
|
import com.ffii.tsms.modules.data.web.models.NewDepartmentRequest |
|
|
|
import com.ffii.tsms.modules.project.web.models.EditProjectDetails |
|
|
|
import org.springframework.beans.BeanUtils |
|
|
|
import org.springframework.stereotype.Service |
|
|
|
import kotlin.jvm.optionals.getOrNull |
|
|
|
|
|
|
|
@Service |
|
|
|
open class DepartmentService( |
|
|
@@ -14,20 +17,32 @@ open class DepartmentService( |
|
|
|
private val jdbcDao: JdbcDao, |
|
|
|
) : AbstractBaseEntityService<Department, Long, DepartmentRepository>(jdbcDao, departmentRepository) { |
|
|
|
open fun allDepartments(): List<DepartmentSearchInfo>{ |
|
|
|
return departmentRepository.findDepartmentSearchInfoBy() |
|
|
|
return departmentRepository.findDepartmentSearchInfoByAndDeletedFalse() |
|
|
|
} |
|
|
|
|
|
|
|
open fun saveDepartment(request: NewDepartmentRequest): Department { |
|
|
|
val department = |
|
|
|
Department().apply { |
|
|
|
name = request.departmentName |
|
|
|
code = request.departmentCode |
|
|
|
description = request.description |
|
|
|
} |
|
|
|
var department = Department() |
|
|
|
|
|
|
|
if (request.id != null && request.id > 0) { |
|
|
|
department = departmentRepository.findById(request.id).orElseThrow() |
|
|
|
|
|
|
|
BeanUtils.copyProperties(request, department) |
|
|
|
|
|
|
|
}else{ |
|
|
|
department.name = request.name |
|
|
|
department.code = request.code |
|
|
|
department.description = request.description |
|
|
|
} |
|
|
|
|
|
|
|
return departmentRepository.save(department) |
|
|
|
} |
|
|
|
|
|
|
|
open fun getDepartmentDetails(departmentId: Long): DepartmentSearchInfo? { |
|
|
|
val department = departmentRepository.findDepartmentSearchInfoById(departmentId).orElseThrow() |
|
|
|
|
|
|
|
return department |
|
|
|
} |
|
|
|
|
|
|
|
open fun combo(args: Map<String, Any>): List<Map<String, Any>> { |
|
|
|
val sql = StringBuilder("select" |
|
|
|
+ " d.id as id," |
|
|
|