Kaynağa Gözat

Update the email reminder to check the working day within 7 - 10 before calender days

develop
MSI\2Fi 6 ay önce
ebeveyn
işleme
9e1d30b4ef
1 değiştirilmiş dosya ile 18 ekleme ve 15 silme
  1. +18
    -15
      src/main/java/com/ffii/tsms/modules/common/mail/service/MailReminderService.kt

+ 18
- 15
src/main/java/com/ffii/tsms/modules/common/mail/service/MailReminderService.kt Dosyayı Görüntüle

@@ -272,30 +272,33 @@ open class MailReminderService(

if (!allHolidaysList.contains(today) && dayOfWeek != DayOfWeek.SATURDAY && dayOfWeek != DayOfWeek.SUNDAY) {
// get working day
var daysChecking: Int = 0
var fourDaysBefore: LocalDate = today
var daysChecking: Int = 2 // check the date from the day before
var tenDaysBefore: LocalDate = today
var sevenDaysBefore: LocalDate = today
var daysBefore: LocalDate = today.minusDays(1)
val workingDaysList = mutableListOf<LocalDate>()
while (true) {
while (daysChecking <= 10) {
// println("daysChecking: $daysChecking --- daysBefore: $daysBefore")
if (!allHolidaysList.contains(daysBefore) && daysBefore.dayOfWeek != DayOfWeek.SATURDAY && daysBefore.dayOfWeek != DayOfWeek.SUNDAY) {
daysChecking++
if (daysChecking in 4..7) {
if (daysChecking in 7 .. 10) {
workingDaysList.add(daysBefore)
}
if (daysChecking == 4) {
fourDaysBefore = daysBefore
} else if (daysChecking == 7) {
// 7 days before
if (daysChecking == 7) {
sevenDaysBefore = daysBefore
}
else if (daysChecking == 10) { // 10 days before
tenDaysBefore = daysBefore
break
}
}
daysChecking ++
daysBefore = daysBefore.minusDays(1)
}

val args = mutableMapOf(
"from" to sevenDaysBefore,
"to" to fourDaysBefore,
"from" to tenDaysBefore,
"to" to sevenDaysBefore,
)

val ts = timesheetsService.workHourRecordsWithinRange(args)
@@ -306,7 +309,7 @@ open class MailReminderService(
hours = it["hours"].toString().toDouble()
)
}
// val timesheet = timesheetRepository.findByDeletedFalseAndRecordDateBetweenOrderByRecordDate(sevenDaysBefore, fourDaysBefore)
// val timesheet = timesheetRepository.findByDeletedFalseAndRecordDateBetweenOrderByRecordDate(tenDaysBefore, sevenDaysBefore)
val staffs = staffRepository.findAllByEmployTypeAndDeletedFalseAndDepartDateIsNull(FULLTIME).filter { it.staffId != "A003" && it.staffId != "A004" && it.staffId != "B011" }.filter{ it.team?.code != "HO"}
val staffIds: List<Long> = staffs.map { it.id as Long }
val timesheetByIdAndRecord = timesheet.groupBy {
@@ -357,8 +360,8 @@ open class MailReminderService(
if (!allHolidaysList.contains(today) && dayOfWeek != DayOfWeek.SATURDAY && dayOfWeek != DayOfWeek.SUNDAY) {
// get working day
var daysChecking: Int = 0
var fourDaysBefore: LocalDate = today
var sevenDaysBefore: LocalDate = today
var tenDaysBefore: LocalDate = today
var daysBefore: LocalDate = today.minusDays(1)

val workingDaysList = mutableListOf<LocalDate>()
@@ -370,16 +373,16 @@ open class MailReminderService(
workingDaysList.add(daysBefore)
}
if (daysChecking == 4) {
fourDaysBefore = daysBefore
} else if (daysChecking == 7) {
sevenDaysBefore = daysBefore
} else if (daysChecking == 7) {
tenDaysBefore = daysBefore
break
}
}
daysBefore = daysBefore.minusDays(1)
}

val timesheet = timesheetRepository.findByDeletedFalseAndRecordDateBetweenOrderByRecordDate(sevenDaysBefore,fourDaysBefore)
val timesheet = timesheetRepository.findByDeletedFalseAndRecordDateBetweenOrderByRecordDate(tenDaysBefore,sevenDaysBefore)
// just getting my own staff record
// change it back later
val staffs = staffRepository.findAllByEmployTypeAndDeletedFalseAndDepartDateIsNull(FULLTIME)


Yükleniyor…
İptal
Kaydet