From 696ce63a488235bbf7ce9c52f1cade274c19c260 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Wed, 15 Jan 2025 09:54:47 +0700 Subject: [PATCH] Update service rekam data pegawai peserta didik Penyesuaian entri NIM dan validasi kategori peserta didik baru --- .../dao/custom/PegawaiDaoCustom.java | 10 +++--- .../dao/custom/impl/PegawaiDaoCustomImpl.java | 34 ++----------------- .../service/impl/PegawaiServiceImpl.java | 6 ++-- .../impl/RekamDataPegawaiServiceImpl.java | 20 ++++++++++- .../resources/jdbc.development.properties | 4 +-- .../medifirst2000/entities/Pegawai.java | 3 ++ .../medifirst2000/vo/RekamDataPegawaiVO.java | 2 ++ 7 files changed, 36 insertions(+), 43 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/custom/PegawaiDaoCustom.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/custom/PegawaiDaoCustom.java index 13d1d732..a6bf653f 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/custom/PegawaiDaoCustom.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/custom/PegawaiDaoCustom.java @@ -1,12 +1,12 @@ package com.jasamedika.medifirst2000.dao.custom; -import java.util.List; -import java.util.Map; - import com.jasamedika.medifirst2000.dao.custom.base.CoreDao; import com.jasamedika.medifirst2000.entities.Pegawai; import com.jasamedika.medifirst2000.entities.PegawaiJadwalKerja; +import java.util.List; +import java.util.Map; + /** * * @author Roberto @@ -25,9 +25,7 @@ public interface PegawaiDaoCustom extends CoreDao { List listStatusPegawaiId, String periode, List listKedudukanException); List> findPegawaiCustomByKategori(String nama, Integer idUnitKerja, Integer idKedudukan, - String periode, List listKedudukanException, Integer idKategori); - - List> findPegawaiByNamePesertaDidik(String namaPegawai); + String periode, List listKedudukanException, List listIdKategori); List> findAllPegawaiByJenisPegawaiPengajar(); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/custom/impl/PegawaiDaoCustomImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/custom/impl/PegawaiDaoCustomImpl.java index ac1813d8..84e99822 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/custom/impl/PegawaiDaoCustomImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/custom/impl/PegawaiDaoCustomImpl.java @@ -114,34 +114,6 @@ public class PegawaiDaoCustomImpl extends CoreDaoImpl implements Pegawa return list; } - @Override - public List> findPegawaiByNamePesertaDidik(String namaPegawai) { - StringBuffer buffer = new StringBuffer(); - buffer.append(" select "); - buffer.append(" new map"); - buffer.append(" ( "); - buffer.append(" p.nipPns , p.namaLengkap ,p.tglLahir , " + "p.tempatLahir , p.noHandphone," + "p.alamat , " - + "jabatanInternal.kdJabatan,jabatanInternal.namaJabatan, " + "golongan.id,golongan.golonganPegawai, " - + " statusKawin.statusPerkawinan, statusKawin.id, " + "agama.agama, agama.kdAgama, " - + " satuanKerja.kdSatuanKerja,satuanKerja.satuanKerja , " - + " jabatanStruktural.kdJabatan ,jabatanStruktural.namaJabatan, " - + " jenisKelamin.jenisKelamin,jenisKelamin.id," - + " jabatanFungsional.kdJabatan ,jabatanFungsional.namaJabatan"); - buffer.append(" ) "); - buffer.append("from Pegawai p " + " left join p.jabatanInternal jabatanInternal" - + " left join p.golonganPegawai golongan " + " left join p.statusKawin statusKawin " - + " left join p.agama agama " + " left join p.satuanKerja satuanKerja " - + " left join p.jabatanStruktural jabatanStruktural " - + " left join p.jabatanFungsional jabatanFungsional " + " left join p.jenisKelamin jenisKelamin " - + " where lower (p.namaLengkap) like lower ('%" + namaPegawai + "%') " + " order by p.namaLengkap "); - - Query query = em.createQuery(buffer.toString()); - - List> list = query.getResultList(); - - return list; - } - @Override public List> findAllPegawaiByJenisPegawaiPengajar() { StringBuffer buffer = new StringBuffer(); @@ -452,7 +424,7 @@ public class PegawaiDaoCustomImpl extends CoreDaoImpl implements Pegawa @Override public List> findPegawaiCustomByKategori(String nama, Integer idUnitKerja, Integer idKedudukan, - String periode, List listKedudukanException, Integer idKategori) { + String periode, List listKedudukanException, List listIdKategori) { StringBuffer buffer = new StringBuffer(); buffer.append("select new map (pegawai.id as idPegawai," + "pegawai.nama as nama," @@ -516,7 +488,7 @@ public class PegawaiDaoCustomImpl extends CoreDaoImpl implements Pegawa + "left join pegawai.statusPegawai statusPegawai " + "left join pegawai.statusKawin statusKawin " + "left join pegawai.statusPerkawinanPegawai statusPerkawinanPegawai " + "left join pegawai.suku suku " + "left join pegawai.typePegawai typePegawai " + "where pegawai.statusEnabled is true " - + "and kategoriPegawai.id = :idKategori "); + + "and kategoriPegawai.id in (:listIdKategori) "); if (CommonUtil.isNotNullOrEmpty(nama)) { buffer.append("and lower(pegawai.nama) like lower ('%" + nama + "%') "); @@ -538,7 +510,7 @@ public class PegawaiDaoCustomImpl extends CoreDaoImpl implements Pegawa Query query = em.createQuery(buffer.toString()); - query.setParameter("idKategori", idKategori); + query.setParameter("listIdKategori", listIdKategori); if (CommonUtil.isNotNullOrEmpty(idUnitKerja)) { List listPegawaiByUnitKerja = pegawaiDao.getPegawaiByIdUnitKerja(idUnitKerja); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java index c01b72b8..b86da6b0 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java @@ -780,7 +780,7 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ List> resultModelWithUsername = new ArrayList<>(); List> resultModel = pegawaiDaoCustom.findPegawaiCustomByKategori(nama, idUnitKerja, idKedudukan, periode, splitDataSettingDatafixed("listDataKedudukanException"), - Master.KategoryPegawai.MITRA); + Collections.singletonList(Master.KategoryPegawai.MITRA)); for (Map map : resultModel) { Map usernames = new HashMap<>(); @@ -833,7 +833,7 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ List> resultModelWithUsername = new ArrayList<>(); List> resultModel = pegawaiDaoCustom.findPegawaiCustomByKategori(nama, idUnitKerja, idKedudukan, periode, splitDataSettingDatafixed("listDataKedudukanException"), - Master.KategoryPegawai.DOKTER_TAMU); + Collections.singletonList(Master.KategoryPegawai.DOKTER_TAMU)); for (Map map : resultModel) { Map usernames = new HashMap<>(); @@ -886,7 +886,7 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ List> resultModelWithUsername = new ArrayList<>(); List> resultModel = pegawaiDaoCustom.findPegawaiCustomByKategori(nama, idUnitKerja, idKedudukan, periode, splitDataSettingDatafixed("listDataKedudukanException"), - Master.KategoryPegawai.PESERTA_DIDIK); + splitDataSettingDatafixed("listIdKategoriPesertaDidik")); for (Map map : resultModel) { Map usernames = new HashMap<>(); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RekamDataPegawaiServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RekamDataPegawaiServiceImpl.java index 4b474efa..19ad001f 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RekamDataPegawaiServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RekamDataPegawaiServiceImpl.java @@ -178,7 +178,8 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); - List kategoriPegawaiAksesAplikasiRemun = splitDataSettingDatafixed("kategoriPegawaiAksesAplikasiRemun"); + List kategoriPegawaiAksesAplikasiRemun = splitDataSettingDatafixed( + "kategoriPegawaiAksesAplikasiRemun"); if (CommonUtil.isNotNullOrEmpty(vo.getId())) { pegawai = rekamDataPegawaiDao.findOne(vo.getId()); Integer idJabatanUtama = mapPegawaiJabatanToUnitkerjaDao.getIdJabatanInternalUtamaByIdPegawai(vo.getId()); @@ -1253,6 +1254,19 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re pegawai.setRekanan(null); perubahan += "hapus perusahaan mitra, "; } + + if (CommonUtil.isNotNullOrEmpty(pegawai.getNim()) && CommonUtil.isNotNullOrEmpty(vo.getNim())) { + if (!pegawai.getNim().equals(vo.getNim())) { + pegawai.setNim(vo.getNim()); + perubahan += "ubah nim, "; + } + } else if (CommonUtil.isNullOrEmpty(pegawai.getNim()) && CommonUtil.isNotNullOrEmpty(vo.getNim())) { + pegawai.setNim(vo.getNim()); + perubahan += "nim, "; + } else if (CommonUtil.isNotNullOrEmpty(pegawai.getNim()) && CommonUtil.isNullOrEmpty(vo.getNim())) { + pegawai.setNim(vo.getNim()); + perubahan += "hapus nim, "; + } } else { pegawai.setKdProfile(Master.KODE_PROFILE); pegawai.setStatusEnabled(Master.STATUS_ENABLE_TRUE); @@ -1526,6 +1540,10 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re pegawai.setRekanan(rekananConverter.transferVOToModel(vo.getRekanan(), new Rekanan())); perubahan += "perusahaan mitra, "; } + if (CommonUtil.isNotNullOrEmpty(vo.getNim())) { + pegawai.setNim(vo.getNim()); + perubahan += "nim, "; + } } if (CommonUtil.isNullOrEmpty(perubahan)) { diff --git a/jasamedika-config/src/main/resources/jdbc.development.properties b/jasamedika-config/src/main/resources/jdbc.development.properties index 5db229ff..57bb2f0b 100644 --- a/jasamedika-config/src/main/resources/jdbc.development.properties +++ b/jasamedika-config/src/main/resources/jdbc.development.properties @@ -8,11 +8,11 @@ hibernate.show_sql = true hikari.config.maximum.pool.size = 5 # DB Development -jdbc.url = jdbc:postgresql://192.168.12.3:5432/rsab_hk_24_08_20 +jdbc.url = jdbc:postgresql://192.168.12.3:5432/rsab_hk_25_01_14 jdbc.username = smart_user jdbc.password = 1miwhir3yr jdbc.serverName = 192.168.12.3 -jdbc.databaseName = rsab_hk_24_08_20 +jdbc.databaseName = rsab_hk_25_01_14 jdbc.portNumber = 5432 corePoolSizeAsyncConfigurer = 5 diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/Pegawai.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/Pegawai.java index 57ee181d..15b3bf41 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/Pegawai.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/Pegawai.java @@ -611,4 +611,7 @@ public class Pegawai extends BaseMasterPegawai { @Column(name = "ObjectPegawaiPembimbingFk", insertable = false, updatable = false) private Integer pegawaiPembimbingId; + + @Column(name = "nim", length = 32) + private String nim; } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/RekamDataPegawaiVO.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/RekamDataPegawaiVO.java index 2e8f1a44..783b2aa5 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/RekamDataPegawaiVO.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/RekamDataPegawaiVO.java @@ -278,4 +278,6 @@ public class RekamDataPegawaiVO extends BaseTransactionVO { private Boolean isMenanggung; private List mappingJabatan; + + private String nim; }