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,
@Param("listNonsdm") List<Integer> 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<String, Object> findAllByPegawaiPrimary(@Param("pegawaiId") Integer pegawaiId);
@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")
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")
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)
public Map<String, Object> saveMonitoring(MonitoringAbsenCustomVO vo) {
Map<String, Object> result = new HashMap<String, Object>();
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;
}

View File

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

View File

@ -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;
}
}