Merge branch 'ade/absensi/remove-keterlambatan' into prod/no-cron

This commit is contained in:
adesyawal 2026-06-02 13:52:46 +07:00
commit f9c60273f3
2 changed files with 111 additions and 34 deletions

View File

@ -276,6 +276,7 @@ public final class Master {
public static final class MonitoringAbsensi { public static final class MonitoringAbsensi {
public static final Integer BATAS_MULTI_FINGERPRINT = 10; // 10_Menit public static final Integer BATAS_MULTI_FINGERPRINT = 10; // 10_Menit
public static final Long BATAS_TERLAMBAT = 15L; // 15_Menit public static final Long BATAS_TERLAMBAT = 15L; // 15_Menit
public static final Long BATAS_TERLAMBAT_01062026 = 0L; // 15_Menit
} }
public static final class NilaiKelompokJabatan { public static final class NilaiKelompokJabatan {

View File

@ -512,8 +512,15 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
if (((Integer) jamEfektif.get("hariKerja")) != 0) { if (((Integer) jamEfektif.get("hariKerja")) != 0) {
harikerja += (Integer) jamEfektif.get("hariKerja"); harikerja += (Integer) jamEfektif.get("hariKerja");
kehadiran.put("pulangAwal", reduceTime(jadwalPulang, absensiDate)); kehadiran.put("pulangAwal", reduceTime(jadwalPulang, absensiDate));
if (terlambat > 15) {
kehadiran.put("terlambat", terlambat); if((absensiMasuk.before(new Date(1780272000000L)) || absensiMasuk.equals(new Date(1780272000000L)))){
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) {
kehadiran.put("terlambat", terlambat);
}
}else{
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT_01062026) {
kehadiran.put("terlambat", terlambat);
}
} }
} }
} }
@ -1046,11 +1053,21 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
dataPM.put("absensiMasuk", sdf.format(time)); dataPM.put("absensiMasuk", sdf.format(time));
terlambat = reduceTime(absensiDate, jadwalMasuk); terlambat = reduceTime(absensiDate, jadwalMasuk);
absensiMasuk = absensiDate; absensiMasuk = absensiDate;
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) {
jumlahCountTerlambat += 1; if((absensiMasuk.before(new Date(1780272000000L)) || absensiMasuk.equals(new Date(1780272000000L)))){
jumlahTerlambat += terlambat; if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) {
dataPM.put("terlambat", terlambat); jumlahCountTerlambat += 1;
dataPM.put("telat", terlambat.toString()); jumlahTerlambat += terlambat;
dataPM.put("terlambat", terlambat);
dataPM.put("telat", terlambat.toString());
}
}else{
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT_01062026) {
jumlahCountTerlambat += 1;
jumlahTerlambat += terlambat;
dataPM.put("terlambat", terlambat);
dataPM.put("telat", terlambat.toString());
}
} }
} else if (count == index) { } else if (count == index) {
dataPM.put("absensiPulang", sdf.format(time)); dataPM.put("absensiPulang", sdf.format(time));
@ -1198,12 +1215,23 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
data.put("absensiMasuk", sdf.format(time)); data.put("absensiMasuk", sdf.format(time));
terlambat = reduceTime(absensiDate, jadwalMasuk); terlambat = reduceTime(absensiDate, jadwalMasuk);
absensiMasuk = absensiDate; absensiMasuk = absensiDate;
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) {
jumlahCountTerlambat += 1; if((absensiMasuk.before(new Date(1780272000000L)) || absensiMasuk.equals(new Date(1780272000000L)))){
jumlahTerlambat += terlambat; if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) {
data.put("terlambat", terlambat); jumlahCountTerlambat += 1;
data.put("telat", terlambat.toString()); jumlahTerlambat += terlambat;
data.put("terlambat", terlambat);
data.put("telat", terlambat.toString());
}
}else{
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT_01062026) {
jumlahCountTerlambat += 1;
jumlahTerlambat += terlambat;
data.put("terlambat", terlambat);
data.put("telat", terlambat.toString());
}
} }
} else if (count == index) { } else if (count == index) {
data.put("absensiPulang", sdf.format(time)); data.put("absensiPulang", sdf.format(time));
kelebihanJamKerja = reduceTime(absensiDate, jadwalPulang); kelebihanJamKerja = reduceTime(absensiDate, jadwalPulang);
@ -1782,11 +1810,21 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
} }
terlambat = reduceTime(absensiDate, jadwalMasuk); terlambat = reduceTime(absensiDate, jadwalMasuk);
absensiMasuk = absensiDate; absensiMasuk = absensiDate;
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) {
jumlahCountTerlambat += 1; if((absensiMasuk.before(new Date(1780272000000L)) || absensiMasuk.equals(new Date(1780272000000L)))){
jumlahTerlambat += terlambat; if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) {
dataPM.put("terlambat", terlambat); jumlahCountTerlambat += 1;
dataPM.put("telat", terlambat.toString()); jumlahTerlambat += terlambat;
dataPM.put("terlambat", terlambat);
dataPM.put("telat", terlambat.toString());
}
}else{
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT_01062026) {
jumlahCountTerlambat += 1;
jumlahTerlambat += terlambat;
dataPM.put("terlambat", terlambat);
dataPM.put("telat", terlambat.toString());
}
} }
} else if (count == index) { } else if (count == index) {
listTrNo.add(Integer.parseInt(temp.get("tr_no").toString())); listTrNo.add(Integer.parseInt(temp.get("tr_no").toString()));
@ -2091,12 +2129,23 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
} }
terlambat = reduceTime(absensiDate, jadwalMasuk); terlambat = reduceTime(absensiDate, jadwalMasuk);
absensiMasuk = absensiDate; absensiMasuk = absensiDate;
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) {
jumlahCountTerlambat += 1; if((absensiMasuk.before(new Date(1780272000000L)) || absensiMasuk.equals(new Date(1780272000000L)))){
jumlahTerlambat += terlambat; if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) {
data.put("terlambat", terlambat); jumlahCountTerlambat += 1;
data.put("telat", terlambat.toString()); jumlahTerlambat += terlambat;
data.put("terlambat", terlambat);
data.put("telat", terlambat.toString());
}
}else{
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT_01062026) {
jumlahCountTerlambat += 1;
jumlahTerlambat += terlambat;
data.put("terlambat", terlambat);
data.put("telat", terlambat.toString());
}
} }
} else if (count == index) { } else if (count == index) {
listTrNo.add(Integer.parseInt(temp.get("tr_no").toString())); listTrNo.add(Integer.parseInt(temp.get("tr_no").toString()));
data.put("absensiPulang", sdf.format(time)); data.put("absensiPulang", sdf.format(time));
@ -3662,10 +3711,19 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
kehadiran.put("pulangAwal", reduceTime(jadwalPulang, absensiDate)); kehadiran.put("pulangAwal", reduceTime(jadwalPulang, absensiDate));
kehadiran.put("pulangCepat", (reduceTime(jadwalPulang, absensiDate)).toString()); kehadiran.put("pulangCepat", (reduceTime(jadwalPulang, absensiDate)).toString());
jumlahPulangAwal += reduceTime(jadwalPulang, absensiDate); jumlahPulangAwal += reduceTime(jadwalPulang, absensiDate);
if (terlambat > 15) {
jumlahTerlambat += terlambat; if((absensiMasuk.before(new Date(1780272000000L)) || absensiMasuk.equals(new Date(1780272000000L)))){
kehadiran.put("terlambat", terlambat); if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) {
kehadiran.put("telat", terlambat.toString()); jumlahTerlambat += terlambat;
kehadiran.put("terlambat", terlambat);
kehadiran.put("telat", terlambat.toString());
}
}else{
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT_01062026) {
jumlahTerlambat += terlambat;
kehadiran.put("terlambat", terlambat);
kehadiran.put("telat", terlambat.toString());
}
} }
if (CommonUtil.isNotNullOrEmpty(data.get("idKelompokShiftKerja"))) { if (CommonUtil.isNotNullOrEmpty(data.get("idKelompokShiftKerja"))) {
@ -4204,10 +4262,19 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
kehadiran.put("pulangAwal", reduceTime(jadwalPulang, absensiDate)); kehadiran.put("pulangAwal", reduceTime(jadwalPulang, absensiDate));
kehadiran.put("pulangCepat", (reduceTime(jadwalPulang, absensiDate)).toString()); kehadiran.put("pulangCepat", (reduceTime(jadwalPulang, absensiDate)).toString());
jumlahPulangAwal += reduceTime(jadwalPulang, absensiDate); jumlahPulangAwal += reduceTime(jadwalPulang, absensiDate);
if (terlambat > 15) {
jumlahTerlambat += terlambat; if((absensiMasuk.before(new Date(1780272000000L)) || absensiMasuk.equals(new Date(1780272000000L)))){
kehadiran.put("terlambat", terlambat); if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) {
kehadiran.put("telat", terlambat.toString()); jumlahTerlambat += terlambat;
kehadiran.put("terlambat", terlambat);
kehadiran.put("telat", terlambat.toString());
}
}else{
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT_01062026) {
jumlahTerlambat += terlambat;
kehadiran.put("terlambat", terlambat);
kehadiran.put("telat", terlambat.toString());
}
} }
if (CommonUtil.isNotNullOrEmpty(data.get("idKelompokShiftKerja"))) { if (CommonUtil.isNotNullOrEmpty(data.get("idKelompokShiftKerja"))) {
@ -4585,10 +4652,19 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
data.put("pulangAwal", reduceTime(jadwalPulang, absensiDate)); data.put("pulangAwal", reduceTime(jadwalPulang, absensiDate));
data.put("pulangCepat", (reduceTime(jadwalPulang, absensiDate)).toString()); data.put("pulangCepat", (reduceTime(jadwalPulang, absensiDate)).toString());
jumlahPulangAwal += reduceTime(jadwalPulang, absensiDate); jumlahPulangAwal += reduceTime(jadwalPulang, absensiDate);
if (terlambat > 15) {
jumlahTerlambat += terlambat; if((absensiMasuk.before(new Date(1780272000000L)) || absensiMasuk.equals(new Date(1780272000000L)))){
data.put("terlambat", terlambat); if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) {
data.put("telat", terlambat.toString()); jumlahTerlambat += terlambat;
data.put("terlambat", terlambat);
data.put("telat", terlambat.toString());
}
}else{
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT_01062026) {
jumlahTerlambat += terlambat;
data.put("terlambat", terlambat);
data.put("telat", terlambat.toString());
}
} }
if (CommonUtil.isNotNullOrEmpty(data.get("idKelompokShiftKerja"))) { if (CommonUtil.isNotNullOrEmpty(data.get("idKelompokShiftKerja"))) {