From 823b2e0cc4a843773650d9d54064ea9ab11e7f92 Mon Sep 17 00:00:00 2001 From: "MSI\\2Fi" Date: Thu, 24 Apr 2025 11:42:33 +0800 Subject: [PATCH] 1. Sort building Type 2. add testing function controller 3. null checking for join date --- .../ffii/tsms/modules/common/mail/service/MailService.kt | 2 +- .../ffii/tsms/modules/common/mail/web/MailController.kt | 5 +++++ .../com/ffii/tsms/modules/data/entity/BuildingType.kt | 5 +++++ .../ffii/tsms/modules/project/service/ProjectsService.kt | 9 ++++++++- 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/ffii/tsms/modules/common/mail/service/MailService.kt b/src/main/java/com/ffii/tsms/modules/common/mail/service/MailService.kt index 84540e6..80e5667 100644 --- a/src/main/java/com/ffii/tsms/modules/common/mail/service/MailService.kt +++ b/src/main/java/com/ffii/tsms/modules/common/mail/service/MailService.kt @@ -84,7 +84,7 @@ open class MailService( if (mailRequest.from != null) { helper.setFrom(mailRequest.from!!) } else { - helper.setFrom(settingsService.getString(SettingNames.MAIL_SMTP_USERNAME)) + helper.setFrom("Timesheet Reminder <" + settingsService.getString(SettingNames.MAIL_SMTP_USERNAME) + ">") } if (mailRequest.priority != null) helper.setPriority(mailRequest.priority!!) diff --git a/src/main/java/com/ffii/tsms/modules/common/mail/web/MailController.kt b/src/main/java/com/ffii/tsms/modules/common/mail/web/MailController.kt index 0ea91c5..406b493 100644 --- a/src/main/java/com/ffii/tsms/modules/common/mail/web/MailController.kt +++ b/src/main/java/com/ffii/tsms/modules/common/mail/web/MailController.kt @@ -48,4 +48,9 @@ class MailController( fun test7thStaffList(){ mailReminderService.test7thStaffList() } + + @GetMapping("/test15th-staff-list") + fun test15thStaffList(){ + mailReminderService.test15thStaffList() + } } \ No newline at end of file diff --git a/src/main/java/com/ffii/tsms/modules/data/entity/BuildingType.kt b/src/main/java/com/ffii/tsms/modules/data/entity/BuildingType.kt index b03c004..03ba8fa 100644 --- a/src/main/java/com/ffii/tsms/modules/data/entity/BuildingType.kt +++ b/src/main/java/com/ffii/tsms/modules/data/entity/BuildingType.kt @@ -29,4 +29,9 @@ open class BuildingType : IdEntity() { final override fun hashCode(): Int = if (this is HibernateProxy) this.hibernateLazyInitializer.persistentClass.hashCode() else javaClass.hashCode() + + fun startsWith(prefix: String, ignoreCase: Boolean = false): Boolean { + if (this.name == null) return false + return this.name!!.startsWith(prefix, ignoreCase) + } } \ No newline at end of file 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 39edddc..72a8a96 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 @@ -495,7 +495,14 @@ open class ProjectsService( } open fun allBuildingTypes(): List { - return buildingTypeRepository.findAll() + val sortedBuildingType = buildingTypeRepository.findAll().sortedBy { it.name }.sortedWith { a, b -> + when { + a.startsWith("Others") && !b.startsWith("Others") -> 1 // Move "Others" to the end + !a.startsWith("Others") && b.startsWith("Others") -> -1 // Keep non-"Others" items above + else -> 0 // Maintain relative order for other items + } + } + return sortedBuildingType; } open fun allWorkNatures(): List {