From 9ee6c2127ad7634c9bfad19ff530770dfc4466c2 Mon Sep 17 00:00:00 2001 From: Wayne Date: Wed, 24 Apr 2024 22:38:27 +0900 Subject: [PATCH] Add grades to mock staff --- .../modules/data/entity/GradeRepository.java | 4 ++++ .../data/entity/projections/GradeInfo.kt | 10 ++++++++++ .../tsms/modules/data/service/GradeService.kt | 5 +++++ .../tsms/modules/data/web/GradeController.kt | 5 +++++ .../20240424_01_wayne/03_position_data.sql | 19 +++++++++++++++++++ .../20240424_01_wayne/04_grade_data.sql | 13 +++++++++++++ .../05_mock_staff_positions.sql | 9 +++++++++ .../06_mock_staff_grades.sql | 8 ++++++++ 8 files changed, 73 insertions(+) create mode 100644 src/main/java/com/ffii/tsms/modules/data/entity/projections/GradeInfo.kt create mode 100644 src/main/resources/db/changelog/changes/20240424_01_wayne/03_position_data.sql create mode 100644 src/main/resources/db/changelog/changes/20240424_01_wayne/04_grade_data.sql create mode 100644 src/main/resources/db/changelog/changes/20240424_01_wayne/05_mock_staff_positions.sql create mode 100644 src/main/resources/db/changelog/changes/20240424_01_wayne/06_mock_staff_grades.sql diff --git a/src/main/java/com/ffii/tsms/modules/data/entity/GradeRepository.java b/src/main/java/com/ffii/tsms/modules/data/entity/GradeRepository.java index be264ea..a27e3bc 100644 --- a/src/main/java/com/ffii/tsms/modules/data/entity/GradeRepository.java +++ b/src/main/java/com/ffii/tsms/modules/data/entity/GradeRepository.java @@ -1,6 +1,10 @@ package com.ffii.tsms.modules.data.entity; import com.ffii.core.support.AbstractRepository; +import com.ffii.tsms.modules.data.entity.projections.GradeInfo; + +import java.util.List; public interface GradeRepository extends AbstractRepository { + List findGradeInfoByDeletedFalse(); } \ No newline at end of file diff --git a/src/main/java/com/ffii/tsms/modules/data/entity/projections/GradeInfo.kt b/src/main/java/com/ffii/tsms/modules/data/entity/projections/GradeInfo.kt new file mode 100644 index 0000000..83f4230 --- /dev/null +++ b/src/main/java/com/ffii/tsms/modules/data/entity/projections/GradeInfo.kt @@ -0,0 +1,10 @@ +package com.ffii.tsms.modules.data.entity.projections + +/** + * Projection for {@link com.ffii.tsms.modules.data.entity.Grade} + */ +interface GradeInfo { + val id: Long? + val name: String? + val code: String? +} diff --git a/src/main/java/com/ffii/tsms/modules/data/service/GradeService.kt b/src/main/java/com/ffii/tsms/modules/data/service/GradeService.kt index cfe4af1..36b2df7 100644 --- a/src/main/java/com/ffii/tsms/modules/data/service/GradeService.kt +++ b/src/main/java/com/ffii/tsms/modules/data/service/GradeService.kt @@ -5,6 +5,7 @@ import com.ffii.core.support.AbstractBaseEntityService import com.ffii.core.support.JdbcDao import com.ffii.tsms.modules.data.entity.Grade import com.ffii.tsms.modules.data.entity.GradeRepository +import com.ffii.tsms.modules.data.entity.projections.GradeInfo import org.springframework.stereotype.Service @Service @@ -22,4 +23,8 @@ open class GradeService( ) return jdbcDao.queryForList(sql.toString(), args) } + + open fun allGrades(): List { + return gradeRepository.findGradeInfoByDeletedFalse() + } } \ No newline at end of file diff --git a/src/main/java/com/ffii/tsms/modules/data/web/GradeController.kt b/src/main/java/com/ffii/tsms/modules/data/web/GradeController.kt index 0601653..35b4475 100644 --- a/src/main/java/com/ffii/tsms/modules/data/web/GradeController.kt +++ b/src/main/java/com/ffii/tsms/modules/data/web/GradeController.kt @@ -2,6 +2,7 @@ package com.ffii.tsms.modules.data.web import com.ffii.core.response.RecordsRes import com.ffii.core.utils.CriteriaArgsBuilder +import com.ffii.tsms.modules.data.entity.projections.GradeInfo import com.ffii.tsms.modules.data.service.GradeService import jakarta.servlet.http.HttpServletRequest import org.springframework.web.bind.ServletRequestBindingException @@ -13,6 +14,10 @@ import org.springframework.web.bind.annotation.RestController @RestController @RequestMapping("/grades") class GradeController(private val gradeService: GradeService) { + @GetMapping + fun allGrades(): List { + return gradeService.allGrades(); + } @GetMapping("/combo") @Throws(ServletRequestBindingException::class) diff --git a/src/main/resources/db/changelog/changes/20240424_01_wayne/03_position_data.sql b/src/main/resources/db/changelog/changes/20240424_01_wayne/03_position_data.sql new file mode 100644 index 0000000..cf1c2d9 --- /dev/null +++ b/src/main/resources/db/changelog/changes/20240424_01_wayne/03_position_data.sql @@ -0,0 +1,19 @@ +-- liquibase formatted sql +-- changeset wayne:position_data + +INSERT +INTO + position + (name, code) +VALUES + ('Quantity Surveying Trainee', 'QS Trainee'), + ('Assistant Quantity Surveyor', 'A. QS'), + ('Quantity Surveyor', 'QS'), + ('Senior Quantity Surveyor', 'S. QS'), + ('Assistant Manager', 'A. Manager'), + ('Deputy Manager', 'D. Manager'), + ('Manager', 'Manager'), + ('Senior Manager', 'S. Manager'), + ('Assistant Director', 'A. Director'), + ('Deputy Director', 'D. Director'), + ('Director', 'Director'); \ No newline at end of file diff --git a/src/main/resources/db/changelog/changes/20240424_01_wayne/04_grade_data.sql b/src/main/resources/db/changelog/changes/20240424_01_wayne/04_grade_data.sql new file mode 100644 index 0000000..8bc10c3 --- /dev/null +++ b/src/main/resources/db/changelog/changes/20240424_01_wayne/04_grade_data.sql @@ -0,0 +1,13 @@ +-- liquibase formatted sql +-- changeset wayne:grade_data + +INSERT +INTO + grade + (name, code) +VALUES + ('Grade 1', '1'), + ('Grade 2', '2'), + ('Grade 3', '3'), + ('Grade 4', '4'), + ('Grade 5', '5'); \ No newline at end of file diff --git a/src/main/resources/db/changelog/changes/20240424_01_wayne/05_mock_staff_positions.sql b/src/main/resources/db/changelog/changes/20240424_01_wayne/05_mock_staff_positions.sql new file mode 100644 index 0000000..53dbbc4 --- /dev/null +++ b/src/main/resources/db/changelog/changes/20240424_01_wayne/05_mock_staff_positions.sql @@ -0,0 +1,9 @@ +-- liquibase formatted sql +-- changeset wayne:mock_staff_positions + +UPDATE staff SET currentPosition = 7 WHERE id in (1,2); +UPDATE staff SET currentPosition = 1 WHERE id in (3,5,7); +UPDATE staff SET currentPosition = 2 WHERE id in (4,6,8); +UPDATE staff SET currentPosition = 3 WHERE id in (9,10); +UPDATE staff SET currentPosition = 4 WHERE id in (11,12); +UPDATE staff SET currentPosition = 5 WHERE id in (13,14); \ No newline at end of file diff --git a/src/main/resources/db/changelog/changes/20240424_01_wayne/06_mock_staff_grades.sql b/src/main/resources/db/changelog/changes/20240424_01_wayne/06_mock_staff_grades.sql new file mode 100644 index 0000000..474af21 --- /dev/null +++ b/src/main/resources/db/changelog/changes/20240424_01_wayne/06_mock_staff_grades.sql @@ -0,0 +1,8 @@ +-- liquibase formatted sql +-- changeset wayne:mock_staff_grades + +UPDATE staff SET gradeId = 4 WHERE id in (1,2); +UPDATE staff SET gradeId = 1 WHERE id in (3,4,5,6,7,8); +UPDATE staff SET gradeId = 2 WHERE id in (9,10); +UPDATE staff SET gradeId = 3 WHERE id in (11,12); +UPDATE staff SET gradeId = 4 WHERE id in (13,14); \ No newline at end of file