persiapan penyesuaian fungsi simpan monitoring absensi sebagai verifikasi indikator kehadiran

This commit is contained in:
Salman Manoe 2021-09-07 09:35:22 +07:00
parent 5b51ef7e56
commit eae76ccb69
5 changed files with 88 additions and 103 deletions

View File

@ -156,16 +156,16 @@ public interface MapPegawaiJabatanToUnitKerjaDao extends CrudRepository<MapPegaw
List<Map<String, Object>> findUndefinedMapp(@Param("listRestrictedId") List<Integer> listRestrictedId, List<Map<String, Object>> findUndefinedMapp(@Param("listRestrictedId") List<Integer> listRestrictedId,
@Param("listNonsdm") List<Integer> listNonsdm); @Param("listNonsdm") List<Integer> listNonsdm);
@Query("select new map(m.id as id " + ", m.pegawaiId as pegawaiId " @Query("select new map(m.id as id," + "m.pegawaiId as pegawaiId,"
+ ",m.unitKerjaPegawaiId as unitKerjaPegawaiId, unitKerjaPegawai.name as nameUnitKerjaPegawai " + "m.unitKerjaPegawaiId as unitKerjaPegawaiId,unitKerjaPegawai.name as nameUnitKerjaPegawai,"
+ ",m.subUnitKerjaPegawaiId as subUnitKerjaPegawaiId" + "m.subUnitKerjaPegawaiId as subUnitKerjaPegawaiId,subUnitKerjaPegawai.name as nameSubUnitKerjaPegawai,"
+ ",subUnitKerjaPegawai.name as nameSubUnitKerjaPegawai " + "m.jabatanId as jabatanId,jabatan.namaJabatan as namaJabatan,"
+ ", m.jabatanId as jabatanId,jabatan.namaJabatan as namaJabatan,m.isCanCreateJadwal as isCanCreateJadwal" + "m.isCanCreateJadwal as isCanCreateJadwal," + "m.isPrimary as isPrimary,"
+ ", m.isPrimary as isPrimary, m.isMonitoring as isMonitoring, m.statusEnabled as statusEnabled) " + "m.isMonitoring as isMonitoring," + "m.statusEnabled as statusEnabled) "
+ " from MapPegawaiJabatanToUnitKerja m " + " left join m.pegawai pegawai " + "from MapPegawaiJabatanToUnitKerja m " + "left join m.pegawai pegawai "
+ " left join m.unitKerjaPegawai unitKerjaPegawai " + "left join m.unitKerjaPegawai unitKerjaPegawai " + "left join m.subUnitKerjaPegawai subUnitKerjaPegawai "
+ " left join m.subUnitKerjaPegawai subUnitKerjaPegawai " + " left join m.jabatan jabatan " + "left join m.jabatan jabatan " + "where m.pegawaiId=:pegawaiId " + "and m.isPrimary is true "
+ " where m.pegawaiId=:pegawaiId and m.isPrimary is true and m.statusEnabled = true") + "and m.statusEnabled = true")
Map<String, Object> findAllByPegawaiPrimary(@Param("pegawaiId") Integer pegawaiId); Map<String, Object> findAllByPegawaiPrimary(@Param("pegawaiId") Integer pegawaiId);
@Query("select distinct new map(m.subUnitKerjaPegawaiId as subUnitKerjaPegawaiId" @Query("select distinct new map(m.subUnitKerjaPegawaiId as subUnitKerjaPegawaiId"

View File

@ -29,7 +29,7 @@ public interface PegawaiDao extends PagingAndSortingRepository<Pegawai, Integer>
@Query("select new Map (p.namaLengkap as namaLengkap,p.nip as nip) from Pegawai p where p.id=:id") @Query("select new Map (p.namaLengkap as namaLengkap,p.nip as nip) from Pegawai p where p.id=:id")
public Map<String, Object> dataPegawaiByNoRec(@Param("id") Integer id); public Map<String, Object> 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") + "from Pegawai model where model.id=:id and model.statusEnabled is true")
public Map<String, Object> getPegawaiByIdCustom(@Param("id") Integer id); public Map<String, Object> getPegawaiByIdCustom(@Param("id") Integer id);

View File

@ -632,22 +632,24 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
@Transactional(readOnly = false) @Transactional(readOnly = false)
public Map<String, Object> saveMonitoring(MonitoringAbsenCustomVO vo) { public Map<String, Object> saveMonitoring(MonitoringAbsenCustomVO vo) {
Map<String, Object> result = new HashMap<String, Object>(); Map<String, Object> result = new HashMap<String, Object>();
LoginUser loginuser = null; LoginUser loginuser = new LoginUser();
String kelompokTransaksiId = GetSettingDataFixed("kelompokTransasiLemburAbsensi");
// set_buat_lembur
KelompokTransaksi kelompokTransaksi = kelompokTransaksiDao.findById(Integer.parseInt(kelompokTransaksiId));
KelompokTransaksi kelompokTransaksi = kelompokTransaksiDao
.findById(Integer.parseInt(GetSettingDataFixed("kelompokTransasiLemburAbsensi")));
if (CommonUtil.isNotNullOrEmpty(vo)) { if (CommonUtil.isNotNullOrEmpty(vo)) {
for (MonitoringAbsenVO temp : vo.getMonitoringAbsen()) { for (MonitoringAbsenVO temp : vo.getMonitoringAbsen()) {
Pegawai pegawai = pegawaiConverter.transferVOToModel(temp.getPegawai(), new Pegawai()); Pegawai pegawai = pegawaiConverter.transferVOToModel(temp.getPegawai(), new Pegawai());
ShiftKerja shiftKerja = shiftKerjaConverter.transferVOToModel(temp.getShiftKerja(), new ShiftKerja()); ShiftKerja shiftKerja = shiftKerjaConverter.transferVOToModel(temp.getShiftKerja(), new ShiftKerja());
MonitoringAbsen monitoringAbsen = monitoringAbsenConverter.transferVOToModel(temp, MonitoringAbsen monitoringAbsen = monitoringAbsenConverter.transferVOToModel(temp,
new MonitoringAbsen()); new MonitoringAbsen());
MonitoringAbsen monitoringAbsenDb = monitoringAbsenDao MonitoringAbsen monitoringAbsenDb = monitoringAbsenDao
.findByIdPegawaiAndTanggalMonitoringAbsen(pegawai.getId(), monitoringAbsen.getTanggal()); .findByIdPegawaiAndTanggalMonitoringAbsen(pegawai.getId(), monitoringAbsen.getTanggal());
if (CommonUtil.isNotNullOrEmpty(monitoringAbsenDb)) { if (CommonUtil.isNotNullOrEmpty(monitoringAbsenDb)) {
monitoringAbsen.setNoRec(monitoringAbsenDb.getNoRec()); monitoringAbsen.setNoRec(monitoringAbsenDb.getNoRec());
} }
if (CommonUtil.isNotNullOrEmpty(temp.getStrukVerifikasi())) { if (CommonUtil.isNotNullOrEmpty(temp.getStrukVerifikasi())) {
StrukVerifikasi strukVerifikasiUnitKerja = strukVerifikasiConverter StrukVerifikasi strukVerifikasiUnitKerja = strukVerifikasiConverter
.transferVOToModel(temp.getStrukVerifikasi(), new StrukVerifikasi()); .transferVOToModel(temp.getStrukVerifikasi(), new StrukVerifikasi());
@ -656,20 +658,22 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
strukVerifikasiUnitKerja.setNoRec(monitoringAbsenDb.getVerifikasiUnitKerjaFK()); strukVerifikasiUnitKerja.setNoRec(monitoringAbsenDb.getVerifikasiUnitKerjaFK());
StrukVerifikasi stVerifikasiDb = strukVerifikasiDao StrukVerifikasi stVerifikasiDb = strukVerifikasiDao
.findByNoRecStrukVerifikasi(strukVerifikasiUnitKerja.getNoRec()); .findByNoRecStrukVerifikasi(strukVerifikasiUnitKerja.getNoRec());
if (CommonUtil.isNotNullOrEmpty(stVerifikasiDb)) { if (CommonUtil.isNotNullOrEmpty(stVerifikasiDb)) {
strukVerifikasiUnitKerja.setNoverifikasi(stVerifikasiDb.getNoverifikasi()); strukVerifikasiUnitKerja.setNoverifikasi(stVerifikasiDb.getNoverifikasi());
} else { } else {
strukVerifikasiUnitKerja.setNoverifikasi(getRunningNumber("Lembur Unit Kerja")); strukVerifikasiUnitKerja.setNoverifikasi(getRunningNumber("Lembur Unit Kerja"));
} }
} else { } else {
strukVerifikasiUnitKerja.setKelompokTransaksi(kelompokTransaksi); // Lembur strukVerifikasiUnitKerja.setKelompokTransaksi(kelompokTransaksi); // Lembur
strukVerifikasiUnitKerja.setNoverifikasi(getRunningNumber("Lembur Unit Kerja")); strukVerifikasiUnitKerja.setNoverifikasi(getRunningNumber("Lembur Unit Kerja"));
} }
if (CommonUtil.isNotNullOrEmpty(temp.getStrukVerifikasi().getRuangan())) { if (CommonUtil.isNotNullOrEmpty(temp.getStrukVerifikasi().getRuangan())) {
strukVerifikasiUnitKerja.setRuangan(ruanganConverter strukVerifikasiUnitKerja.setRuangan(ruanganConverter
.transferVOToModel(temp.getStrukVerifikasi().getRuangan(), new Ruangan())); .transferVOToModel(temp.getStrukVerifikasi().getRuangan(), new Ruangan()));
} }
if (CommonUtil.isNotNullOrEmpty(temp.getStrukVerifikasi().getLoginUser())) { if (CommonUtil.isNotNullOrEmpty(temp.getStrukVerifikasi().getLoginUser())) {
loginuser = loginUserDao loginuser = loginUserDao
.findLoginUserByIdPegawai(temp.getStrukVerifikasi().getLoginUser().getId()); .findLoginUserByIdPegawai(temp.getStrukVerifikasi().getLoginUser().getId());
@ -680,6 +684,7 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
if (CommonUtil.isNullOrEmpty(strukVerifikasiUnitKerja.getTglverifikasi())) { if (CommonUtil.isNullOrEmpty(strukVerifikasiUnitKerja.getTglverifikasi())) {
strukVerifikasiUnitKerja.setTglverifikasi(new Date()); strukVerifikasiUnitKerja.setTglverifikasi(new Date());
} }
strukVerifikasiUnitKerja = strukVerifikasiDao.save(strukVerifikasiUnitKerja); strukVerifikasiUnitKerja = strukVerifikasiDao.save(strukVerifikasiUnitKerja);
monitoringAbsen.setStrukVerifikasi(strukVerifikasiUnitKerja); monitoringAbsen.setStrukVerifikasi(strukVerifikasiUnitKerja);
} }
@ -687,10 +692,12 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
if (CommonUtil.isNotNullOrEmpty(temp.getStrukVerifikasiSdm())) { if (CommonUtil.isNotNullOrEmpty(temp.getStrukVerifikasiSdm())) {
StrukVerifikasi strukVerifikasiSdm = strukVerifikasiConverter StrukVerifikasi strukVerifikasiSdm = strukVerifikasiConverter
.transferVOToModel(temp.getStrukVerifikasiSdm(), new StrukVerifikasi()); .transferVOToModel(temp.getStrukVerifikasiSdm(), new StrukVerifikasi());
if (CommonUtil.isNotNullOrEmpty(monitoringAbsenDb)) { if (CommonUtil.isNotNullOrEmpty(monitoringAbsenDb)) {
strukVerifikasiSdm.setNoRec(monitoringAbsenDb.getVerifikasiSdmFK()); strukVerifikasiSdm.setNoRec(monitoringAbsenDb.getVerifikasiSdmFK());
StrukVerifikasi stVerifikasiDb = strukVerifikasiDao StrukVerifikasi stVerifikasiDb = strukVerifikasiDao
.findByNoRecStrukVerifikasi(strukVerifikasiSdm.getNoRec()); .findByNoRecStrukVerifikasi(strukVerifikasiSdm.getNoRec());
if (CommonUtil.isNotNullOrEmpty(stVerifikasiDb)) { if (CommonUtil.isNotNullOrEmpty(stVerifikasiDb)) {
strukVerifikasiSdm.setNoverifikasi(stVerifikasiDb.getNoverifikasi()); strukVerifikasiSdm.setNoverifikasi(stVerifikasiDb.getNoverifikasi());
} else { } else {
@ -700,10 +707,12 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
strukVerifikasiSdm.setKelompokTransaksi(kelompokTransaksi); // Lembur strukVerifikasiSdm.setKelompokTransaksi(kelompokTransaksi); // Lembur
strukVerifikasiSdm.setNoverifikasi(getRunningNumber("Lembur SDM")); strukVerifikasiSdm.setNoverifikasi(getRunningNumber("Lembur SDM"));
} }
if (CommonUtil.isNotNullOrEmpty(temp.getStrukVerifikasi().getRuangan())) { if (CommonUtil.isNotNullOrEmpty(temp.getStrukVerifikasi().getRuangan())) {
strukVerifikasiSdm.setRuangan(ruanganConverter strukVerifikasiSdm.setRuangan(ruanganConverter
.transferVOToModel(temp.getStrukVerifikasi().getRuangan(), new Ruangan())); .transferVOToModel(temp.getStrukVerifikasi().getRuangan(), new Ruangan()));
} }
if (CommonUtil.isNotNullOrEmpty(temp.getStrukVerifikasi().getLoginUser())) { if (CommonUtil.isNotNullOrEmpty(temp.getStrukVerifikasi().getLoginUser())) {
loginuser = loginUserDao loginuser = loginUserDao
.findLoginUserByIdPegawai(temp.getStrukVerifikasi().getLoginUser().getId()); .findLoginUserByIdPegawai(temp.getStrukVerifikasi().getLoginUser().getId());
@ -714,22 +723,22 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
if (CommonUtil.isNullOrEmpty(strukVerifikasiSdm.getTglverifikasi())) { if (CommonUtil.isNullOrEmpty(strukVerifikasiSdm.getTglverifikasi())) {
strukVerifikasiSdm.setTglverifikasi(new Date()); strukVerifikasiSdm.setTglverifikasi(new Date());
} }
strukVerifikasiSdm = strukVerifikasiDao.save(strukVerifikasiSdm); strukVerifikasiSdm = strukVerifikasiDao.save(strukVerifikasiSdm);
monitoringAbsen.setStrukVerifikasiSdm(strukVerifikasiSdm); monitoringAbsen.setStrukVerifikasiSdm(strukVerifikasiSdm);
} }
monitoringAbsen.setPegawai(pegawai); monitoringAbsen.setPegawai(pegawai);
monitoringAbsen.setShiftKerja(shiftKerja); monitoringAbsen.setShiftKerja(shiftKerja);
monitoringAbsen.setKdProfile((short) 0); monitoringAbsen.setKdProfile((short) 0);
monitoringAbsen.setStatusEnabled(Master.STATUS_ENABLE_TRUE); monitoringAbsen.setStatusEnabled(Master.STATUS_ENABLE_TRUE);
if (CommonUtil.isNotNullOrEmpty(monitoringAbsen)) { if (CommonUtil.isNotNullOrEmpty(monitoringAbsen)) {
MonitoringAbsen model = monitoringAbsenDao.save(monitoringAbsen); MonitoringAbsen model = monitoringAbsenDao.save(monitoringAbsen);
result.put(model.getNoRec() + "", model.noRec); result.put(model.getNoRec() + "", model.noRec);
} }
} }
} }
return result; return result;
} }

View File

@ -6,9 +6,8 @@ import java.util.Set;
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO; import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
public class MonitoringAbsenCustomVO extends BaseTransactionVO { public class MonitoringAbsenCustomVO extends BaseTransactionVO {
private Set<MonitoringAbsenVO> monitoringAbsen = new HashSet<MonitoringAbsenVO>();
private Set<MonitoringAbsenVO> monitoringAbsen=new HashSet<MonitoringAbsenVO>();
public Set<MonitoringAbsenVO> getMonitoringAbsen() { public Set<MonitoringAbsenVO> getMonitoringAbsen() {
return monitoringAbsen; return monitoringAbsen;
@ -17,7 +16,5 @@ public class MonitoringAbsenCustomVO extends BaseTransactionVO {
public void setMonitoringAbsen(Set<MonitoringAbsenVO> monitoringAbsen) { public void setMonitoringAbsen(Set<MonitoringAbsenVO> monitoringAbsen) {
this.monitoringAbsen = monitoringAbsen; this.monitoringAbsen = monitoringAbsen;
} }
} }

View File

@ -1,85 +1,65 @@
package com.jasamedika.medifirst2000.vo; 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.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.helper.Caption; import com.jasamedika.medifirst2000.helper.Caption;
public class MonitoringAbsenVO extends BaseTransactionVO { public class MonitoringAbsenVO extends BaseTransactionVO {
@ManyToOne
@JoinColumn(name = "PegawaiFk")
@NotNull(message = "Pegawai Harus Diisi")
@Caption(value = "Pegawai") @Caption(value = "Pegawai")
private PegawaiVO pegawai; private PegawaiVO pegawai;
@Column(name = "PegawaiFk", insertable = false, updatable = false)
private Integer pegawaiId; private Integer pegawaiId;
@ManyToOne @Caption(value = "Shift Kerja")
@JoinColumn(name = "ShiftKerjaFk")
@NotNull(message = "Shift Kerja Harus Diisi")
@Caption(value = "ShiftKerja")
private ShiftKerjaVO shiftKerja; private ShiftKerjaVO shiftKerja;
@Column(name = "ShiftKerjaFk", insertable = false, updatable = false)
private Integer shiftKerjaId; private Integer shiftKerjaId;
@Caption(value = "alasan") @Caption(value = "Alasan")
@Column(name = "alasan", nullable = true)
private String alasan; private String alasan;
@Caption(value = "jadwalPulang") @Caption(value = "Jadwal Pulang")
@Column(name = "jadwalPulang", nullable = true)
private String jadwalPulang; private String jadwalPulang;
@Caption(value = "jadwalmasuk") @Caption(value = "Jadwal Masuk")
@Column(name = "jadwalmasuk", nullable = true)
private String jadwalmasuk; private String jadwalmasuk;
@Caption(value = "Jam")
private String jam; private String jam;
@Caption(value = "absensiMasuk") @Caption(value = "Absensi Masuk")
@Column(name = "absensiMasuk", nullable = true)
private String absensiMasuk; private String absensiMasuk;
@Caption(value = "absensiPulang") @Caption(value = "Absensi Pulang")
@Column(name = "absensiPulang", nullable = true)
private String absensiPulang; private String absensiPulang;
@Caption(value = "terlambat") @Caption(value = "Terlambat")
@Column(name = "terlambat", nullable = true)
private Long terlambat; private Long terlambat;
@Caption(value = "pulangAwal") @Caption(value = "Pulang Awal")
@Column(name = "pulangAwal", nullable = true)
private Long pulangAwal; private Long pulangAwal;
@Caption(value = "jamEfektif") @Caption(value = "Kelebihan Jam Kerja")
@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;
private Long kelebihanJamKerja; 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; private Integer verifiedLembur;
public PegawaiVO getPegawai() { public PegawaiVO getPegawai() {
return pegawai; return pegawai;
@ -137,6 +117,14 @@ public class MonitoringAbsenVO extends BaseTransactionVO {
this.jadwalmasuk = jadwalmasuk; this.jadwalmasuk = jadwalmasuk;
} }
public String getJam() {
return jam;
}
public void setJam(String jam) {
this.jam = jam;
}
public String getAbsensiMasuk() { public String getAbsensiMasuk() {
return absensiMasuk; return absensiMasuk;
} }
@ -169,6 +157,14 @@ public class MonitoringAbsenVO extends BaseTransactionVO {
this.pulangAwal = pulangAwal; this.pulangAwal = pulangAwal;
} }
public Long getKelebihanJamKerja() {
return kelebihanJamKerja;
}
public void setKelebihanJamKerja(Long kelebihanJamKerja) {
this.kelebihanJamKerja = kelebihanJamKerja;
}
public String getJamEfektif() { public String getJamEfektif() {
return jamEfektif; return jamEfektif;
} }
@ -217,14 +213,6 @@ public class MonitoringAbsenVO extends BaseTransactionVO {
this.verifikasiSdmFK = verifikasiSdmFK; this.verifikasiSdmFK = verifikasiSdmFK;
} }
public Long getKelebihanJamKerja() {
return kelebihanJamKerja;
}
public void setKelebihanJamKerja(Long kelebihanJamKerja) {
this.kelebihanJamKerja = kelebihanJamKerja;
}
public Integer getVerifiedLembur() { public Integer getVerifiedLembur() {
return verifiedLembur; return verifiedLembur;
} }
@ -233,13 +221,4 @@ public class MonitoringAbsenVO extends BaseTransactionVO {
this.verifiedLembur = verifiedLembur; this.verifiedLembur = verifiedLembur;
} }
public String getJam() {
return jam;
}
public void setJam(String jam) {
this.jam = jam;
}
} }