From eae76ccb69818e480b923e13489bf1dd61ec595d Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Tue, 7 Sep 2021 09:35:22 +0700 Subject: [PATCH] persiapan penyesuaian fungsi simpan monitoring absensi sebagai verifikasi indikator kehadiran --- .../dao/MapPegawaiJabatanToUnitKerjaDao.java | 20 +-- .../medifirst2000/dao/PegawaiDao.java | 2 +- .../impl/MonitoringAbsenServiceImpl.java | 25 ++-- .../vo/MonitoringAbsenCustomVO.java | 9 +- .../medifirst2000/vo/MonitoringAbsenVO.java | 135 ++++++++---------- 5 files changed, 88 insertions(+), 103 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapPegawaiJabatanToUnitKerjaDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapPegawaiJabatanToUnitKerjaDao.java index 1e127e0a..785d86b5 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapPegawaiJabatanToUnitKerjaDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapPegawaiJabatanToUnitKerjaDao.java @@ -156,16 +156,16 @@ public interface MapPegawaiJabatanToUnitKerjaDao extends CrudRepository> findUndefinedMapp(@Param("listRestrictedId") List listRestrictedId, @Param("listNonsdm") List listNonsdm); - @Query("select new map(m.id as id " + ", m.pegawaiId as pegawaiId " - + ",m.unitKerjaPegawaiId as unitKerjaPegawaiId, unitKerjaPegawai.name as nameUnitKerjaPegawai " - + ",m.subUnitKerjaPegawaiId as subUnitKerjaPegawaiId" - + ",subUnitKerjaPegawai.name as nameSubUnitKerjaPegawai " - + ", m.jabatanId as jabatanId,jabatan.namaJabatan as namaJabatan,m.isCanCreateJadwal as isCanCreateJadwal" - + ", m.isPrimary as isPrimary, m.isMonitoring as isMonitoring, m.statusEnabled as statusEnabled) " - + " from MapPegawaiJabatanToUnitKerja m " + " left join m.pegawai pegawai " - + " left join m.unitKerjaPegawai unitKerjaPegawai " - + " left join m.subUnitKerjaPegawai subUnitKerjaPegawai " + " left join m.jabatan jabatan " - + " where m.pegawaiId=:pegawaiId and m.isPrimary is true and m.statusEnabled = true") + @Query("select new map(m.id as id," + "m.pegawaiId as pegawaiId," + + "m.unitKerjaPegawaiId as unitKerjaPegawaiId,unitKerjaPegawai.name as nameUnitKerjaPegawai," + + "m.subUnitKerjaPegawaiId as subUnitKerjaPegawaiId,subUnitKerjaPegawai.name as nameSubUnitKerjaPegawai," + + "m.jabatanId as jabatanId,jabatan.namaJabatan as namaJabatan," + + "m.isCanCreateJadwal as isCanCreateJadwal," + "m.isPrimary as isPrimary," + + "m.isMonitoring as isMonitoring," + "m.statusEnabled as statusEnabled) " + + "from MapPegawaiJabatanToUnitKerja m " + "left join m.pegawai pegawai " + + "left join m.unitKerjaPegawai unitKerjaPegawai " + "left join m.subUnitKerjaPegawai subUnitKerjaPegawai " + + "left join m.jabatan jabatan " + "where m.pegawaiId=:pegawaiId " + "and m.isPrimary is true " + + "and m.statusEnabled = true") Map findAllByPegawaiPrimary(@Param("pegawaiId") Integer pegawaiId); @Query("select distinct new map(m.subUnitKerjaPegawaiId as subUnitKerjaPegawaiId" diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PegawaiDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PegawaiDao.java index 42f6e7ba..093631fb 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PegawaiDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PegawaiDao.java @@ -29,7 +29,7 @@ public interface PegawaiDao extends PagingAndSortingRepository @Query("select new Map (p.namaLengkap as namaLengkap,p.nip as nip) from Pegawai p where p.id=:id") public Map dataPegawaiByNoRec(@Param("id") Integer id); - @Query("select new Map(model.id as id, model.namaLengkap as namaLengkap, model.ruanganId as ruanganId) " + @Query("select new Map(model.id as id,model.namaLengkap as namaLengkap,model.ruanganId as ruanganId) " + "from Pegawai model where model.id=:id and model.statusEnabled is true") public Map getPegawaiByIdCustom(@Param("id") Integer id); 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 0ba4c8a5..6d65fa14 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 @@ -632,22 +632,24 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon @Transactional(readOnly = false) public Map saveMonitoring(MonitoringAbsenCustomVO vo) { Map result = new HashMap(); - LoginUser loginuser = null; - String kelompokTransaksiId = GetSettingDataFixed("kelompokTransasiLemburAbsensi"); - // set_buat_lembur - KelompokTransaksi kelompokTransaksi = kelompokTransaksiDao.findById(Integer.parseInt(kelompokTransaksiId)); + LoginUser loginuser = new LoginUser(); + KelompokTransaksi kelompokTransaksi = kelompokTransaksiDao + .findById(Integer.parseInt(GetSettingDataFixed("kelompokTransasiLemburAbsensi"))); if (CommonUtil.isNotNullOrEmpty(vo)) { for (MonitoringAbsenVO temp : vo.getMonitoringAbsen()) { Pegawai pegawai = pegawaiConverter.transferVOToModel(temp.getPegawai(), new Pegawai()); ShiftKerja shiftKerja = shiftKerjaConverter.transferVOToModel(temp.getShiftKerja(), new ShiftKerja()); MonitoringAbsen monitoringAbsen = monitoringAbsenConverter.transferVOToModel(temp, new MonitoringAbsen()); + MonitoringAbsen monitoringAbsenDb = monitoringAbsenDao .findByIdPegawaiAndTanggalMonitoringAbsen(pegawai.getId(), monitoringAbsen.getTanggal()); + if (CommonUtil.isNotNullOrEmpty(monitoringAbsenDb)) { monitoringAbsen.setNoRec(monitoringAbsenDb.getNoRec()); } + if (CommonUtil.isNotNullOrEmpty(temp.getStrukVerifikasi())) { StrukVerifikasi strukVerifikasiUnitKerja = strukVerifikasiConverter .transferVOToModel(temp.getStrukVerifikasi(), new StrukVerifikasi()); @@ -656,20 +658,22 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon strukVerifikasiUnitKerja.setNoRec(monitoringAbsenDb.getVerifikasiUnitKerjaFK()); StrukVerifikasi stVerifikasiDb = strukVerifikasiDao .findByNoRecStrukVerifikasi(strukVerifikasiUnitKerja.getNoRec()); + if (CommonUtil.isNotNullOrEmpty(stVerifikasiDb)) { strukVerifikasiUnitKerja.setNoverifikasi(stVerifikasiDb.getNoverifikasi()); } else { strukVerifikasiUnitKerja.setNoverifikasi(getRunningNumber("Lembur Unit Kerja")); } - } else { strukVerifikasiUnitKerja.setKelompokTransaksi(kelompokTransaksi); // Lembur strukVerifikasiUnitKerja.setNoverifikasi(getRunningNumber("Lembur Unit Kerja")); } + if (CommonUtil.isNotNullOrEmpty(temp.getStrukVerifikasi().getRuangan())) { strukVerifikasiUnitKerja.setRuangan(ruanganConverter .transferVOToModel(temp.getStrukVerifikasi().getRuangan(), new Ruangan())); } + if (CommonUtil.isNotNullOrEmpty(temp.getStrukVerifikasi().getLoginUser())) { loginuser = loginUserDao .findLoginUserByIdPegawai(temp.getStrukVerifikasi().getLoginUser().getId()); @@ -680,6 +684,7 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon if (CommonUtil.isNullOrEmpty(strukVerifikasiUnitKerja.getTglverifikasi())) { strukVerifikasiUnitKerja.setTglverifikasi(new Date()); } + strukVerifikasiUnitKerja = strukVerifikasiDao.save(strukVerifikasiUnitKerja); monitoringAbsen.setStrukVerifikasi(strukVerifikasiUnitKerja); } @@ -687,10 +692,12 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon if (CommonUtil.isNotNullOrEmpty(temp.getStrukVerifikasiSdm())) { StrukVerifikasi strukVerifikasiSdm = strukVerifikasiConverter .transferVOToModel(temp.getStrukVerifikasiSdm(), new StrukVerifikasi()); + if (CommonUtil.isNotNullOrEmpty(monitoringAbsenDb)) { strukVerifikasiSdm.setNoRec(monitoringAbsenDb.getVerifikasiSdmFK()); StrukVerifikasi stVerifikasiDb = strukVerifikasiDao .findByNoRecStrukVerifikasi(strukVerifikasiSdm.getNoRec()); + if (CommonUtil.isNotNullOrEmpty(stVerifikasiDb)) { strukVerifikasiSdm.setNoverifikasi(stVerifikasiDb.getNoverifikasi()); } else { @@ -700,10 +707,12 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon strukVerifikasiSdm.setKelompokTransaksi(kelompokTransaksi); // Lembur strukVerifikasiSdm.setNoverifikasi(getRunningNumber("Lembur SDM")); } + if (CommonUtil.isNotNullOrEmpty(temp.getStrukVerifikasi().getRuangan())) { strukVerifikasiSdm.setRuangan(ruanganConverter .transferVOToModel(temp.getStrukVerifikasi().getRuangan(), new Ruangan())); } + if (CommonUtil.isNotNullOrEmpty(temp.getStrukVerifikasi().getLoginUser())) { loginuser = loginUserDao .findLoginUserByIdPegawai(temp.getStrukVerifikasi().getLoginUser().getId()); @@ -714,22 +723,22 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon if (CommonUtil.isNullOrEmpty(strukVerifikasiSdm.getTglverifikasi())) { strukVerifikasiSdm.setTglverifikasi(new Date()); } + strukVerifikasiSdm = strukVerifikasiDao.save(strukVerifikasiSdm); monitoringAbsen.setStrukVerifikasiSdm(strukVerifikasiSdm); } monitoringAbsen.setPegawai(pegawai); monitoringAbsen.setShiftKerja(shiftKerja); - monitoringAbsen.setKdProfile((short) 0); monitoringAbsen.setStatusEnabled(Master.STATUS_ENABLE_TRUE); + if (CommonUtil.isNotNullOrEmpty(monitoringAbsen)) { MonitoringAbsen model = monitoringAbsenDao.save(monitoringAbsen); result.put(model.getNoRec() + "", model.noRec); } - } - } + return result; } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/MonitoringAbsenCustomVO.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/MonitoringAbsenCustomVO.java index f9c6a3af..a73d43f7 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/MonitoringAbsenCustomVO.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/MonitoringAbsenCustomVO.java @@ -6,9 +6,8 @@ import java.util.Set; import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO; public class MonitoringAbsenCustomVO extends BaseTransactionVO { - - - private Set monitoringAbsen=new HashSet(); + + private Set monitoringAbsen = new HashSet(); public Set getMonitoringAbsen() { return monitoringAbsen; @@ -17,7 +16,5 @@ public class MonitoringAbsenCustomVO extends BaseTransactionVO { public void setMonitoringAbsen(Set monitoringAbsen) { this.monitoringAbsen = monitoringAbsen; } - - - + } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/MonitoringAbsenVO.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/MonitoringAbsenVO.java index bafc2415..7ad6e27f 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/MonitoringAbsenVO.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/MonitoringAbsenVO.java @@ -1,85 +1,65 @@ package com.jasamedika.medifirst2000.vo; -import javax.persistence.Column; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.validation.constraints.NotNull; - import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO; import com.jasamedika.medifirst2000.helper.Caption; public class MonitoringAbsenVO extends BaseTransactionVO { - - @ManyToOne - @JoinColumn(name = "PegawaiFk") - @NotNull(message = "Pegawai Harus Diisi") + @Caption(value = "Pegawai") private PegawaiVO pegawai; - - @Column(name = "PegawaiFk", insertable = false, updatable = false) + private Integer pegawaiId; - - @ManyToOne - @JoinColumn(name = "ShiftKerjaFk") - @NotNull(message = "Shift Kerja Harus Diisi") - @Caption(value = "ShiftKerja") + + @Caption(value = "Shift Kerja") private ShiftKerjaVO shiftKerja; - - @Column(name = "ShiftKerjaFk", insertable = false, updatable = false) + private Integer shiftKerjaId; - - @Caption(value = "alasan") - @Column(name = "alasan", nullable = true) + + @Caption(value = "Alasan") private String alasan; - - @Caption(value = "jadwalPulang") - @Column(name = "jadwalPulang", nullable = true) + + @Caption(value = "Jadwal Pulang") private String jadwalPulang; - - @Caption(value = "jadwalmasuk") - @Column(name = "jadwalmasuk", nullable = true) + + @Caption(value = "Jadwal Masuk") private String jadwalmasuk; - + + @Caption(value = "Jam") private String jam; - - @Caption(value = "absensiMasuk") - @Column(name = "absensiMasuk", nullable = true) + + @Caption(value = "Absensi Masuk") private String absensiMasuk; - - @Caption(value = "absensiPulang") - @Column(name = "absensiPulang", nullable = true) + + @Caption(value = "Absensi Pulang") private String absensiPulang; - - @Caption(value = "terlambat") - @Column(name = "terlambat", nullable = true) + + @Caption(value = "Terlambat") private Long terlambat; - - @Caption(value = "pulangAwal") - @Column(name = "pulangAwal", nullable = true) + + @Caption(value = "Pulang Awal") private Long pulangAwal; - - @Caption(value = "jamEfektif") - @Column(name = "jamEfektif", nullable = true) - private String jamEfektif; - - @Caption(value = "tanggal") - @Column(name = "tanggal", nullable = false) - - //Untuk absensi verifikasi - private StrukVerifikasiVO strukVerifikasi; - - private String verifikasiUnitKerjaFK; - - private StrukVerifikasiVO strukVerifikasiSdm; - - private String verifikasiSdmFK; - - private String tanggal; - + + @Caption(value = "Kelebihan Jam Kerja") private Long kelebihanJamKerja; - + + @Caption(value = "Jam Efektif") + private String jamEfektif; + + @Caption(value = "Tanggal") + private String tanggal; + + @Caption(value = "Struk Verifikasi Unit Kerja") + private StrukVerifikasiVO strukVerifikasi; + + private String verifikasiUnitKerjaFK; + + @Caption(value = "Struk Verifikasi SDM") + private StrukVerifikasiVO strukVerifikasiSdm; + + private String verifikasiSdmFK; + + @Caption(value = "Verifikasi Lembur") private Integer verifiedLembur; - public PegawaiVO getPegawai() { return pegawai; @@ -137,6 +117,14 @@ public class MonitoringAbsenVO extends BaseTransactionVO { this.jadwalmasuk = jadwalmasuk; } + public String getJam() { + return jam; + } + + public void setJam(String jam) { + this.jam = jam; + } + public String getAbsensiMasuk() { return absensiMasuk; } @@ -169,6 +157,14 @@ public class MonitoringAbsenVO extends BaseTransactionVO { this.pulangAwal = pulangAwal; } + public Long getKelebihanJamKerja() { + return kelebihanJamKerja; + } + + public void setKelebihanJamKerja(Long kelebihanJamKerja) { + this.kelebihanJamKerja = kelebihanJamKerja; + } + public String getJamEfektif() { return jamEfektif; } @@ -217,14 +213,6 @@ public class MonitoringAbsenVO extends BaseTransactionVO { this.verifikasiSdmFK = verifikasiSdmFK; } - public Long getKelebihanJamKerja() { - return kelebihanJamKerja; - } - - public void setKelebihanJamKerja(Long kelebihanJamKerja) { - this.kelebihanJamKerja = kelebihanJamKerja; - } - public Integer getVerifiedLembur() { return verifiedLembur; } @@ -233,13 +221,4 @@ public class MonitoringAbsenVO extends BaseTransactionVO { this.verifiedLembur = verifiedLembur; } - public String getJam() { - return jam; - } - - public void setJam(String jam) { - this.jam = jam; - } - - }