Update service monitoring absensi

Penerapan informasi untuk laporan kehadian BPK
This commit is contained in:
Salman Manoe 2025-03-19 10:02:47 +07:00
parent e113d150de
commit fb3fec5fda
3 changed files with 55 additions and 1 deletions

View File

@ -1,5 +1,6 @@
package com.jasamedika.medifirst2000.dao;
import com.jasamedika.medifirst2000.dto.PegawaiStatusDto;
import com.jasamedika.medifirst2000.entities.Jabatan;
import com.jasamedika.medifirst2000.entities.Pegawai;
import com.jasamedika.medifirst2000.vo.PegawaiVO;
@ -1051,4 +1052,18 @@ public interface PegawaiDao extends JpaRepository<Pegawai, Integer>, JpaSpecific
+ "and pg.objectjenispegawaifk = 1 " + "and pg.idfinger is not null " + "and pg.idfinger <> '9999999' "
+ "and pg.idfinger <> '' " + "order by cast(pg.idfinger as int)", nativeQuery = true)
List<String> findLabelFaceByJenisPegawaiDokter();
@Query("select new com.jasamedika.medifirst2000.dto.PegawaiStatusDto(" +
"pg.idFinger as idFinger," +
"kp.kategoryPegawai as kategori," +
"pk.namaPangkat as pangkat," +
"gp.golonganPegawai as golongan," +
"pg.tglMasuk as tmtMasuk," +
"pg.tglPensiun as tmtPensiun) " +
"from Pegawai pg " +
"left join pg.kategoryPegawai kp " +
"left join pg.pangkat pk " +
"left join pk.kdGolonganPegawai gp " +
"where pg.id = :pegawaiId")
PegawaiStatusDto findStatusById(@Param("pegawaiId") Integer idPegawai);
}

View File

@ -4,6 +4,7 @@ import com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.dao.*;
import com.jasamedika.medifirst2000.dao.custom.PegawaiDaoCustom;
import com.jasamedika.medifirst2000.dto.PegawaiStatusDto;
import com.jasamedika.medifirst2000.entities.*;
import com.jasamedika.medifirst2000.service.MonitoringAbsenService;
import com.jasamedika.medifirst2000.util.CommonUtil;
@ -1390,7 +1391,8 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
}
for (Integer id : listIdPegawaiFilter) {
String idFinger = pegawaiDao.getidFinger(id);
PegawaiStatusDto pegawaiStatus = pegawaiDao.findStatusById(id);
String idFinger = pegawaiStatus.getIdFinger();
Map<String, Object> rsMap = new HashMap<>();
List<Map<String, Object>> listkehadiran = new ArrayList<>();
Integer harikerja = 0;
@ -1487,6 +1489,11 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
data.put("jadwalMasuk", jamMasuk);
data.put("jadwalPulang", jamPulang);
data.put("idFinger", idFinger);
data.put("kategori", pegawaiStatus.getKategori());
data.put("pangkat", pegawaiStatus.getPangkat());
data.put("golongan", pegawaiStatus.getGolongan());
data.put("tmtMasuk", pegawaiStatus.getTmtMasuk());
data.put("tmtPensiun", pegawaiStatus.getTmtPensiun());
List<Map<String, Object>> listAbsensi;
if (tanggal.equals(tglRilisFiturPresensi) || tanggal.after(tglRilisFiturPresensi)) {

View File

@ -0,0 +1,32 @@
package com.jasamedika.medifirst2000.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @author Salman
* @version 1.0.0
* @since 3/19/2025
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class PegawaiStatusDto {
private String idFinger;
private String kategori;
private String pangkat;
private String golongan;
private Date tmtMasuk;
private Date tmtPensiun;
}