From ef53d9a82b25655c2126a6779c2803b2c59f6e2e Mon Sep 17 00:00:00 2001 From: adesyawal <52590145+adesyawal@users.noreply.github.com> Date: Thu, 30 Jul 2026 14:43:59 +0700 Subject: [PATCH] Bug Fixing Monitoring Absensi Pagi Malam --- .../medifirst2000/dao/MonitoringAbsenDao.java | 10 ++++++++++ .../service/impl/MonitoringAbsenServiceImpl.java | 13 ++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MonitoringAbsenDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MonitoringAbsenDao.java index f884c5d5..daaa734d 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MonitoringAbsenDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MonitoringAbsenDao.java @@ -257,6 +257,16 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository findShiftPMDetail(@Param("idKelompokShift") Integer idKelompokShift, @Param("namaShift") String namaShift, @Param("kodeExternal") String kodeExternal); + @Query("select new map(shiftKerja.jamMasuk as jamMasuk, " + "shiftKerja.jamPulang as jamPulang, " + + "shiftKerja.jamBreakAkhir as jamBreakAkhir, " + "shiftKerja.jamBreakAwal as jamBreakAwal, " + + "shiftKerja.factorRate as factorRate, " + "shiftKerja.operatorFactorRate as operatorFactorRate, " + + "shiftKerja.komponenIndexId as komponenIndexId, " + "shiftKerja.waktuIstirahat as waktuIstirahat) " + + "from ShiftKerja shiftKerja " + "left join shiftKerja.kelompokShift kelompokShift " + + "left join shiftKerja.komponenIndex komponenIndex " + "where kelompokShift.id = :idKelompokShift " + + "and shiftKerja.namaShift = :namaShift " + "and shiftKerja.kodeExternal = :kodeExternal " + "and shiftKerja.statusEnabled is true") + Map findShiftPMDetailWithStatusEnableTrue(@Param("idKelompokShift") Integer idKelompokShift, + @Param("namaShift") String namaShift, @Param("kodeExternal") String kodeExternal); + @Query("select distinct new map(pegawaiHistoriRekapIndex.nilaiIndex as nilaiIndex, " + "pegawaiHistoriRekapIndex.nilaiIndexTotal as nilaiIndexTotal, " + "komponenIndex.komponenIndex as namaKomponenIndex, " + "komponenIndex.id as idKomponenIndex, " diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MonitoringAbsenServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MonitoringAbsenServiceImpl.java index f3c5ee1c..4027c1c1 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MonitoringAbsenServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MonitoringAbsenServiceImpl.java @@ -1695,10 +1695,17 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon Map detailShiftPMMalam = new HashMap<>(); if ((data.get("namaShift").equals("Pagi Malam")) || (data.get("namaShift").equals("Pagi Malam 2"))) { - detailShiftPMPagi = monitoringAbsenDao.findShiftPMDetail( + if((tanggal.before(new Date(1780272000000L)) || tanggal.equals(new Date(1780272000000L)))){ + detailShiftPMPagi = monitoringAbsenDao.findShiftPMDetail( Integer.parseInt(data.get("idKelompokShiftKerja").toString()), "Pagi", "P"); - detailShiftPMMalam = monitoringAbsenDao.findShiftPMDetail( - Integer.parseInt(data.get("idKelompokShiftKerja").toString()), "Malam", "M"); + detailShiftPMMalam = monitoringAbsenDao.findShiftPMDetail( + Integer.parseInt(data.get("idKelompokShiftKerja").toString()), "Malam", "M"); + }else{ + detailShiftPMPagi = monitoringAbsenDao.findShiftPMDetailWithStatusEnableTrue( + Integer.parseInt(data.get("idKelompokShiftKerja").toString()), "Pagi 1", "P1"); + detailShiftPMMalam = monitoringAbsenDao.findShiftPMDetailWithStatusEnableTrue( + Integer.parseInt(data.get("idKelompokShiftKerja").toString()), "Malam", "M"); + } } else if ((data.get("namaShift").equals("Non Shift MOD"))) { if (data.get("namaHari").equals("Senin") || data.get("namaHari").equals("Selasa") || data.get("namaHari").equals("Rabu") || data.get("namaHari").equals("Kamis")) {