Pārlūkot izejas kodu

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

develop
MSI\2Fi pirms 6 mēnešiem
vecāks
revīzija
9e1d30b4ef
1 mainītis faili ar 18 papildinājumiem un 15 dzēšanām
  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 Parādīt failu

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


if (!allHolidaysList.contains(today) && dayOfWeek != DayOfWeek.SATURDAY && dayOfWeek != DayOfWeek.SUNDAY) { if (!allHolidaysList.contains(today) && dayOfWeek != DayOfWeek.SATURDAY && dayOfWeek != DayOfWeek.SUNDAY) {
// get working day // 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 sevenDaysBefore: LocalDate = today
var daysBefore: LocalDate = today.minusDays(1) var daysBefore: LocalDate = today.minusDays(1)
val workingDaysList = mutableListOf<LocalDate>() 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) { 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) workingDaysList.add(daysBefore)
} }
if (daysChecking == 4) {
fourDaysBefore = daysBefore
} else if (daysChecking == 7) {
// 7 days before
if (daysChecking == 7) {
sevenDaysBefore = daysBefore sevenDaysBefore = daysBefore
}
else if (daysChecking == 10) { // 10 days before
tenDaysBefore = daysBefore
break break
} }
} }
daysChecking ++
daysBefore = daysBefore.minusDays(1) daysBefore = daysBefore.minusDays(1)
} }


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


val ts = timesheetsService.workHourRecordsWithinRange(args) val ts = timesheetsService.workHourRecordsWithinRange(args)
@@ -306,7 +309,7 @@ open class MailReminderService(
hours = it["hours"].toString().toDouble() 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 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 staffIds: List<Long> = staffs.map { it.id as Long }
val timesheetByIdAndRecord = timesheet.groupBy { val timesheetByIdAndRecord = timesheet.groupBy {
@@ -357,8 +360,8 @@ open class MailReminderService(
if (!allHolidaysList.contains(today) && dayOfWeek != DayOfWeek.SATURDAY && dayOfWeek != DayOfWeek.SUNDAY) { if (!allHolidaysList.contains(today) && dayOfWeek != DayOfWeek.SATURDAY && dayOfWeek != DayOfWeek.SUNDAY) {
// get working day // get working day
var daysChecking: Int = 0 var daysChecking: Int = 0
var fourDaysBefore: LocalDate = today
var sevenDaysBefore: LocalDate = today var sevenDaysBefore: LocalDate = today
var tenDaysBefore: LocalDate = today
var daysBefore: LocalDate = today.minusDays(1) var daysBefore: LocalDate = today.minusDays(1)


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


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


Notiek ielāde…
Atcelt
Saglabāt