From 28bc9e7a198c3cab2f8684e679e86536baf91657 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Wed, 31 Jan 2024 15:28:27 +0700 Subject: [PATCH 01/10] Update dao files Perbaikan struktur query unsecured non-string-builder --- .../dao/IndikatorKinerjaDao.java | 113 ++++--- .../medifirst2000/dao/JabatanDao.java | 150 ++++++--- .../dao/ProdukFarmakologiDao.java | 76 ++--- .../medifirst2000/dao/ProdukNakesDao.java | 119 +++++--- .../medifirst2000/dao/ProdukPerawatDao.java | 72 ++--- .../dao/SkoringTindakanFarmakologiDao.java | 92 ++++-- .../dao/SkoringTindakanMedisDao.java | 284 ++++++++++++++---- .../dao/SkoringTindakanNakesDao.java | 166 +++++++--- .../dao/SkoringTindakanPerawatDao.java | 141 ++++++--- 9 files changed, 849 insertions(+), 364 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/IndikatorKinerjaDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/IndikatorKinerjaDao.java index 69da2f05..f96c610b 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/IndikatorKinerjaDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/IndikatorKinerjaDao.java @@ -1,81 +1,124 @@ package com.jasamedika.medifirst2000.dao; -import java.util.List; -import java.util.Map; - +import com.jasamedika.medifirst2000.entities.IndikatorKinerja; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; -import com.jasamedika.medifirst2000.entities.IndikatorKinerja; +import java.util.List; +import java.util.Map; @Repository("indikatorKinerjaDao") public interface IndikatorKinerjaDao extends PagingAndSortingRepository { - String strAllIndikatorKinerja = "select new Map(ik.id as id," + "ik.jenisIndikator as jenisIndikatorId," + @Query("select new Map(ik.id as id," + "ik.jenisIndikator as jenisIndikatorId," + "(case when ik.jenisIndikator = 1 then 'Kuantitas' " + "when ik.jenisIndikator = 2 then 'Kualitas' " + "when ik.jenisIndikator = 3 then 'Perilaku' end) as jenisIndikator," + "ik.namaIndikator as namaIndikator," + "si.id as satuanIndikatorId," + "si.satuanIndikator as satuanIndikator," + "ik.statusVerifikasi as isStatusVerifikasi," + "(case when ik.statusVerifikasi is false then 'Belum Verifikasi' " + "when ik.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi) " - + "from IndikatorKinerja ik " + "inner join ik.satuanIndikator si " + "where ik.statusEnabled is true"; - - String jenisIndikator = " and ik.jenisIndikator = :jenisIndikatorId"; - - String namaIndikator = " and lower(ik.namaIndikator) like %:namaIndikator%"; - - String statusVerifikasi = " and ik.statusVerifikasi = :statusVerifikasi"; - - String sort = " order by ik.jenisIndikator,ik.namaIndikator"; - - @Query(strAllIndikatorKinerja + sort) + + "from IndikatorKinerja ik " + "inner join ik.satuanIndikator si " + "where ik.statusEnabled is true" + + " order by ik.jenisIndikator,ik.namaIndikator") List> findAllIndikatorKinerja(); - @Query(strAllIndikatorKinerja + jenisIndikator + sort) + @Query("select new Map(ik.id as id," + "ik.jenisIndikator as jenisIndikatorId," + + "(case when ik.jenisIndikator = 1 then 'Kuantitas' " + "when ik.jenisIndikator = 2 then 'Kualitas' " + + "when ik.jenisIndikator = 3 then 'Perilaku' end) as jenisIndikator," + + "ik.namaIndikator as namaIndikator," + "si.id as satuanIndikatorId," + + "si.satuanIndikator as satuanIndikator," + "ik.statusVerifikasi as isStatusVerifikasi," + + "(case when ik.statusVerifikasi is false then 'Belum Verifikasi' " + + "when ik.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi) " + + "from IndikatorKinerja ik " + "inner join ik.satuanIndikator si " + "where ik.statusEnabled is true" + + " and ik.jenisIndikator = :jenisIndikatorId" + " order by ik.jenisIndikator,ik.namaIndikator") List> findAllIndikatorKinerja(@Param("jenisIndikatorId") Integer idJenisIndikator); - @Query(strAllIndikatorKinerja + namaIndikator + sort) + @Query("select new Map(ik.id as id," + "ik.jenisIndikator as jenisIndikatorId," + + "(case when ik.jenisIndikator = 1 then 'Kuantitas' " + "when ik.jenisIndikator = 2 then 'Kualitas' " + + "when ik.jenisIndikator = 3 then 'Perilaku' end) as jenisIndikator," + + "ik.namaIndikator as namaIndikator," + "si.id as satuanIndikatorId," + + "si.satuanIndikator as satuanIndikator," + "ik.statusVerifikasi as isStatusVerifikasi," + + "(case when ik.statusVerifikasi is false then 'Belum Verifikasi' " + + "when ik.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi) " + + "from IndikatorKinerja ik " + "inner join ik.satuanIndikator si " + "where ik.statusEnabled is true" + + " and lower(ik.namaIndikator) like %:namaIndikator%" + " order by ik.jenisIndikator,ik.namaIndikator") List> findAllIndikatorKinerja(@Param("namaIndikator") String namaIndikator); - @Query(strAllIndikatorKinerja + statusVerifikasi + sort) + @Query("select new Map(ik.id as id," + "ik.jenisIndikator as jenisIndikatorId," + + "(case when ik.jenisIndikator = 1 then 'Kuantitas' " + "when ik.jenisIndikator = 2 then 'Kualitas' " + + "when ik.jenisIndikator = 3 then 'Perilaku' end) as jenisIndikator," + + "ik.namaIndikator as namaIndikator," + "si.id as satuanIndikatorId," + + "si.satuanIndikator as satuanIndikator," + "ik.statusVerifikasi as isStatusVerifikasi," + + "(case when ik.statusVerifikasi is false then 'Belum Verifikasi' " + + "when ik.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi) " + + "from IndikatorKinerja ik " + "inner join ik.satuanIndikator si " + "where ik.statusEnabled is true" + + " and ik.statusVerifikasi = :statusVerifikasi" + " order by ik.jenisIndikator,ik.namaIndikator") List> findAllIndikatorKinerja(@Param("statusVerifikasi") Boolean statusVerifikasi); - @Query(strAllIndikatorKinerja + jenisIndikator + namaIndikator + sort) + @Query("select new Map(ik.id as id," + "ik.jenisIndikator as jenisIndikatorId," + + "(case when ik.jenisIndikator = 1 then 'Kuantitas' " + "when ik.jenisIndikator = 2 then 'Kualitas' " + + "when ik.jenisIndikator = 3 then 'Perilaku' end) as jenisIndikator," + + "ik.namaIndikator as namaIndikator," + "si.id as satuanIndikatorId," + + "si.satuanIndikator as satuanIndikator," + "ik.statusVerifikasi as isStatusVerifikasi," + + "(case when ik.statusVerifikasi is false then 'Belum Verifikasi' " + + "when ik.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi) " + + "from IndikatorKinerja ik " + "inner join ik.satuanIndikator si " + "where ik.statusEnabled is true" + + " and ik.jenisIndikator = :jenisIndikatorId" + " and lower(ik.namaIndikator) like %:namaIndikator%" + + " order by ik.jenisIndikator,ik.namaIndikator") List> findAllIndikatorKinerja(@Param("jenisIndikatorId") Integer idJenisIndikator, @Param("namaIndikator") String namaIndikator); - @Query(strAllIndikatorKinerja + jenisIndikator + statusVerifikasi + sort) + @Query("select new Map(ik.id as id," + "ik.jenisIndikator as jenisIndikatorId," + + "(case when ik.jenisIndikator = 1 then 'Kuantitas' " + "when ik.jenisIndikator = 2 then 'Kualitas' " + + "when ik.jenisIndikator = 3 then 'Perilaku' end) as jenisIndikator," + + "ik.namaIndikator as namaIndikator," + "si.id as satuanIndikatorId," + + "si.satuanIndikator as satuanIndikator," + "ik.statusVerifikasi as isStatusVerifikasi," + + "(case when ik.statusVerifikasi is false then 'Belum Verifikasi' " + + "when ik.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi) " + + "from IndikatorKinerja ik " + "inner join ik.satuanIndikator si " + "where ik.statusEnabled is true" + + " and ik.jenisIndikator = :jenisIndikatorId" + " and ik.statusVerifikasi = :statusVerifikasi" + + " order by ik.jenisIndikator,ik.namaIndikator") List> findAllIndikatorKinerja(@Param("jenisIndikatorId") Integer idJenisIndikator, @Param("statusVerifikasi") Boolean statusVerifikasi); - @Query(strAllIndikatorKinerja + namaIndikator + statusVerifikasi + sort) + @Query("select new Map(ik.id as id," + "ik.jenisIndikator as jenisIndikatorId," + + "(case when ik.jenisIndikator = 1 then 'Kuantitas' " + "when ik.jenisIndikator = 2 then 'Kualitas' " + + "when ik.jenisIndikator = 3 then 'Perilaku' end) as jenisIndikator," + + "ik.namaIndikator as namaIndikator," + "si.id as satuanIndikatorId," + + "si.satuanIndikator as satuanIndikator," + "ik.statusVerifikasi as isStatusVerifikasi," + + "(case when ik.statusVerifikasi is false then 'Belum Verifikasi' " + + "when ik.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi) " + + "from IndikatorKinerja ik " + "inner join ik.satuanIndikator si " + "where ik.statusEnabled is true" + + " and lower(ik.namaIndikator) like %:namaIndikator%" + " and ik.statusVerifikasi = :statusVerifikasi" + + " order by ik.jenisIndikator,ik.namaIndikator") List> findAllIndikatorKinerja(@Param("namaIndikator") String namaIndikator, @Param("statusVerifikasi") Boolean statusVerifikasi); - @Query(strAllIndikatorKinerja + jenisIndikator + namaIndikator + statusVerifikasi + sort) + @Query("select new Map(ik.id as id," + "ik.jenisIndikator as jenisIndikatorId," + + "(case when ik.jenisIndikator = 1 then 'Kuantitas' " + "when ik.jenisIndikator = 2 then 'Kualitas' " + + "when ik.jenisIndikator = 3 then 'Perilaku' end) as jenisIndikator," + + "ik.namaIndikator as namaIndikator," + "si.id as satuanIndikatorId," + + "si.satuanIndikator as satuanIndikator," + "ik.statusVerifikasi as isStatusVerifikasi," + + "(case when ik.statusVerifikasi is false then 'Belum Verifikasi' " + + "when ik.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi) " + + "from IndikatorKinerja ik " + "inner join ik.satuanIndikator si " + "where ik.statusEnabled is true" + + " and ik.jenisIndikator = :jenisIndikatorId" + " and lower(ik.namaIndikator) like %:namaIndikator%" + + " and ik.statusVerifikasi = :statusVerifikasi" + " order by ik.jenisIndikator,ik.namaIndikator") List> findAllIndikatorKinerja(@Param("jenisIndikatorId") Integer idJenisIndikator, @Param("namaIndikator") String namaIndikator, @Param("statusVerifikasi") Boolean statusVerifikasi); - String strCekDupIndikator = "select ik.id " + "from IndikatorKinerja ik " + "where ik.statusEnabled is true " - + "and lower(regexp_replace(ik.namaIndikator,:patternText,'','g')) = :namaIndikator"; - - String idIndikatorLama = " and ik.id <> :indikatorId"; - - @Query(strCekDupIndikator) + @Query("select ik.id " + "from IndikatorKinerja ik " + "where ik.statusEnabled is true " + + "and lower(regexp_replace(ik.namaIndikator,:patternText,'','g')) = :namaIndikator") List findDupByName(@Param("patternText") String patternText, @Param("namaIndikator") String namaIndikator); - @Query(strCekDupIndikator + idIndikatorLama) + @Query("select ik.id " + "from IndikatorKinerja ik " + "where ik.statusEnabled is true " + + "and lower(regexp_replace(ik.namaIndikator,:patternText,'','g')) = :namaIndikator" + + " and ik.id <> :indikatorId") List findDupByName(@Param("patternText") String patternText, @Param("indikatorId") Integer idIndikator, @Param("namaIndikator") String namaIndikator); @Query("select new Map(ik.id as id,ik.namaIndikator as namaIndikator) " + "from IndikatorKinerja ik " + "where ik.statusEnabled is true " + "and ik.id in (:listIdIndikator)") List> findIndikator(@Param("listIdIndikator") List listIdIndikator); - - @Query("select ik from IndikatorKinerja ik " + "where ik.statusEnabled is true " - + "and ik.id in (:listIdIndikator)") - List findIndikatorById(@Param("listIdIndikator") List listIdIndikator); - } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/JabatanDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/JabatanDao.java index f684e5c1..1b54a57d 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/JabatanDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/JabatanDao.java @@ -1,14 +1,13 @@ package com.jasamedika.medifirst2000.dao; -import java.util.List; -import java.util.Map; - +import com.jasamedika.medifirst2000.entities.Jabatan; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; -import com.jasamedika.medifirst2000.entities.Jabatan; +import java.util.List; +import java.util.Map; /** * Repository class for Jabatan @@ -35,17 +34,14 @@ public interface JabatanDao extends PagingAndSortingRepository @Query("SELECT model from Jabatan model where model.jenisJabatanId = :jenisJabatanId ") List getJabatanStruktural(@Param("jenisJabatanId") Integer jenisJabatanId); - String strJabatanByJenis = "SELECT new Map(jb.id as idJabatan, jb.namaJabatan as namaJabatan) from Jabatan jb " - + "where jb.statusEnabled is true " + "and jb.jenisJabatanId = :jenisJabatanId"; - - String byUnitKerja = " and jb.unitKerjaId = :unitKerjaId"; - - String sortNamaJabatan = " order by jb.namaJabatan"; - - @Query(strJabatanByJenis + sortNamaJabatan) + @Query("SELECT new Map(jb.id as idJabatan, jb.namaJabatan as namaJabatan) from Jabatan jb " + + "where jb.statusEnabled is true " + "and jb.jenisJabatanId = :jenisJabatanId" + + " order by jb.namaJabatan") List> getJabatanByJenisJabatan(@Param("jenisJabatanId") Integer jenisJabatanId); - @Query(strJabatanByJenis + byUnitKerja + sortNamaJabatan) + @Query("SELECT new Map(jb.id as idJabatan, jb.namaJabatan as namaJabatan) from Jabatan jb " + + "where jb.statusEnabled is true " + "and jb.jenisJabatanId = :jenisJabatanId" + + " and jb.unitKerjaId = :unitKerjaId" + " order by jb.namaJabatan") List> findModelJabatanByJenisUnit(@Param("jenisJabatanId") Integer jenisJabatanId, @Param("unitKerjaId") Integer idUnitKerja); @@ -54,33 +50,37 @@ public interface JabatanDao extends PagingAndSortingRepository + "and lower(jab.namaJabatan) not like ('plh%')") List> getListJabatanFungsionalStruktural(); - String strDuplikatJabatan = "select new Map(jb.id as id, jb.namaJabatan as namaJabatan) " + @Query("select new Map(jb.id as id, jb.namaJabatan as namaJabatan) " + "from Jabatan jb where jb.statusEnabled is true " + "and lower(regexp_replace(jb.namaJabatan,'[^0-9a-zA-Z]+', '', 'g')) = :namaJabatan " - + "and jb.jenisJabatanId = :jenisJabatanId"; - - String unitKerjaId = " and jb.unitKerjaId = :unitKerjaId"; - - String notJabatanId = " and jb.id <> :jabatanId"; - - @Query(strDuplikatJabatan) + + "and jb.jenisJabatanId = :jenisJabatanId") List> checkNamaJabatan(@Param("namaJabatan") String namaJabatan, @Param("jenisJabatanId") Integer jenisJabatanId); - @Query(strDuplikatJabatan + notJabatanId) + @Query("select new Map(jb.id as id, jb.namaJabatan as namaJabatan) " + + "from Jabatan jb where jb.statusEnabled is true " + + "and lower(regexp_replace(jb.namaJabatan,'[^0-9a-zA-Z]+', '', 'g')) = :namaJabatan " + + "and jb.jenisJabatanId = :jenisJabatanId" + " and jb.id <> :jabatanId") List> checkNamaJabatan(@Param("jabatanId") Integer idJabatan, @Param("namaJabatan") String namaJabatan, @Param("jenisJabatanId") Integer idJenisJabatan); - @Query(strDuplikatJabatan + unitKerjaId) + @Query("select new Map(jb.id as id, jb.namaJabatan as namaJabatan) " + + "from Jabatan jb where jb.statusEnabled is true " + + "and lower(regexp_replace(jb.namaJabatan,'[^0-9a-zA-Z]+', '', 'g')) = :namaJabatan " + + "and jb.jenisJabatanId = :jenisJabatanId" + " and jb.unitKerjaId = :unitKerjaId") List> checkNamaJabatan(@Param("namaJabatan") String namaJabatan, @Param("jenisJabatanId") Integer idJenisJabatan, @Param("unitKerjaId") Integer idUnitKerja); - @Query(strDuplikatJabatan + notJabatanId + unitKerjaId) + @Query("select new Map(jb.id as id, jb.namaJabatan as namaJabatan) " + + "from Jabatan jb where jb.statusEnabled is true " + + "and lower(regexp_replace(jb.namaJabatan,'[^0-9a-zA-Z]+', '', 'g')) = :namaJabatan " + + "and jb.jenisJabatanId = :jenisJabatanId" + " and jb.id <> :jabatanId" + + " and jb.unitKerjaId = :unitKerjaId") List> checkNamaJabatan(@Param("jabatanId") Integer idJabatan, @Param("namaJabatan") String namaJabatan, @Param("jenisJabatanId") Integer idJenisJabatan, @Param("unitKerjaId") Integer idUnitKerja); - String strJabatan = "select new Map(jb.id as id,jb.namaJabatan as namaJabatan," + @Query("select new Map(jb.id as id,jb.namaJabatan as namaJabatan," + "jb.levelJabatan as levelJabatan,jb.subLevelJabatan as levelDireksi," + "jj.id as jenisJabatanId,jj.jenisJabatan as jenisJabatan," + "uk.id as unitKerjaId,uk.name as unitKerja," + "el.id as eselonId,el.eselon as eselon," @@ -89,41 +89,105 @@ public interface JabatanDao extends PagingAndSortingRepository + "left join jb.unitKerja uk with (uk.id <> 0 and uk.statusEnabled is true) " + "left join jb.eselon el with (el.id <> 0 and el.statusEnabled is true) " + "left join jb.kelompokJabatan kj with (kj.id between 1 and 10 and kj.statusEnabled is true) " - + "where jb.statusEnabled is true " + "and jj.statusEnabled is true "; - - String namaJabatan = " and lower(jb.namaJabatan) like %:namaJabatan%"; - - String jenisJabatan = " and jj.id = :jenisJabatanId"; - - String unitKerja = " and uk.id = :unitKerjaId"; - - String sortMasterJabatan = " order by jb.namaJabatan, uk.name, jj.jenisJabatan"; - - @Query(strJabatan + sortMasterJabatan) + + "where jb.statusEnabled is true " + "and jj.statusEnabled is true " + + " order by jb.namaJabatan, uk.name, jj.jenisJabatan") List> findJabatan(); - @Query(strJabatan + namaJabatan + sortMasterJabatan) + @Query("select new Map(jb.id as id,jb.namaJabatan as namaJabatan," + + "jb.levelJabatan as levelJabatan,jb.subLevelJabatan as levelDireksi," + + "jj.id as jenisJabatanId,jj.jenisJabatan as jenisJabatan," + "uk.id as unitKerjaId,uk.name as unitKerja," + + "el.id as eselonId,el.eselon as eselon," + + "kj.id as kelompokJabatanId,kj.namaKelompokJabatan as kelompokJabatan) " + "from Jabatan jb " + + "inner join jb.jenisJabatan jj " + + "left join jb.unitKerja uk with (uk.id <> 0 and uk.statusEnabled is true) " + + "left join jb.eselon el with (el.id <> 0 and el.statusEnabled is true) " + + "left join jb.kelompokJabatan kj with (kj.id between 1 and 10 and kj.statusEnabled is true) " + + "where jb.statusEnabled is true " + "and jj.statusEnabled is true " + + " and lower(jb.namaJabatan) like %:namaJabatan%" + " order by jb.namaJabatan, uk.name, jj.jenisJabatan") List> findJabatanByNama(@Param("namaJabatan") String namaJabatan); - @Query(strJabatan + jenisJabatan + sortMasterJabatan) + @Query("select new Map(jb.id as id,jb.namaJabatan as namaJabatan," + + "jb.levelJabatan as levelJabatan,jb.subLevelJabatan as levelDireksi," + + "jj.id as jenisJabatanId,jj.jenisJabatan as jenisJabatan," + "uk.id as unitKerjaId,uk.name as unitKerja," + + "el.id as eselonId,el.eselon as eselon," + + "kj.id as kelompokJabatanId,kj.namaKelompokJabatan as kelompokJabatan) " + "from Jabatan jb " + + "inner join jb.jenisJabatan jj " + + "left join jb.unitKerja uk with (uk.id <> 0 and uk.statusEnabled is true) " + + "left join jb.eselon el with (el.id <> 0 and el.statusEnabled is true) " + + "left join jb.kelompokJabatan kj with (kj.id between 1 and 10 and kj.statusEnabled is true) " + + "where jb.statusEnabled is true " + "and jj.statusEnabled is true " + " and jj.id = :jenisJabatanId" + + " order by jb.namaJabatan, uk.name, jj.jenisJabatan") List> findJabatanByJenis(@Param("jenisJabatanId") Integer idJenisJabatan); - @Query(strJabatan + unitKerja + sortMasterJabatan) + @Query("select new Map(jb.id as id,jb.namaJabatan as namaJabatan," + + "jb.levelJabatan as levelJabatan,jb.subLevelJabatan as levelDireksi," + + "jj.id as jenisJabatanId,jj.jenisJabatan as jenisJabatan," + "uk.id as unitKerjaId,uk.name as unitKerja," + + "el.id as eselonId,el.eselon as eselon," + + "kj.id as kelompokJabatanId,kj.namaKelompokJabatan as kelompokJabatan) " + "from Jabatan jb " + + "inner join jb.jenisJabatan jj " + + "left join jb.unitKerja uk with (uk.id <> 0 and uk.statusEnabled is true) " + + "left join jb.eselon el with (el.id <> 0 and el.statusEnabled is true) " + + "left join jb.kelompokJabatan kj with (kj.id between 1 and 10 and kj.statusEnabled is true) " + + "where jb.statusEnabled is true " + "and jj.statusEnabled is true " + " and uk.id = :unitKerjaId" + + " order by jb.namaJabatan, uk.name, jj.jenisJabatan") List> findJabatanByUnit(@Param("unitKerjaId") Integer idUnitKerja); - @Query(strJabatan + namaJabatan + jenisJabatan + sortMasterJabatan) + @Query("select new Map(jb.id as id,jb.namaJabatan as namaJabatan," + + "jb.levelJabatan as levelJabatan,jb.subLevelJabatan as levelDireksi," + + "jj.id as jenisJabatanId,jj.jenisJabatan as jenisJabatan," + "uk.id as unitKerjaId,uk.name as unitKerja," + + "el.id as eselonId,el.eselon as eselon," + + "kj.id as kelompokJabatanId,kj.namaKelompokJabatan as kelompokJabatan) " + "from Jabatan jb " + + "inner join jb.jenisJabatan jj " + + "left join jb.unitKerja uk with (uk.id <> 0 and uk.statusEnabled is true) " + + "left join jb.eselon el with (el.id <> 0 and el.statusEnabled is true) " + + "left join jb.kelompokJabatan kj with (kj.id between 1 and 10 and kj.statusEnabled is true) " + + "where jb.statusEnabled is true " + "and jj.statusEnabled is true " + + " and lower(jb.namaJabatan) like %:namaJabatan%" + " and jj.id = :jenisJabatanId" + + " order by jb.namaJabatan, uk.name, jj.jenisJabatan") List> findJabatanByNamaJenis(@Param("namaJabatan") String namaJabatan, @Param("jenisJabatanId") Integer idJenisJabatan); - @Query(strJabatan + namaJabatan + unitKerja + sortMasterJabatan) + @Query("select new Map(jb.id as id,jb.namaJabatan as namaJabatan," + + "jb.levelJabatan as levelJabatan,jb.subLevelJabatan as levelDireksi," + + "jj.id as jenisJabatanId,jj.jenisJabatan as jenisJabatan," + "uk.id as unitKerjaId,uk.name as unitKerja," + + "el.id as eselonId,el.eselon as eselon," + + "kj.id as kelompokJabatanId,kj.namaKelompokJabatan as kelompokJabatan) " + "from Jabatan jb " + + "inner join jb.jenisJabatan jj " + + "left join jb.unitKerja uk with (uk.id <> 0 and uk.statusEnabled is true) " + + "left join jb.eselon el with (el.id <> 0 and el.statusEnabled is true) " + + "left join jb.kelompokJabatan kj with (kj.id between 1 and 10 and kj.statusEnabled is true) " + + "where jb.statusEnabled is true " + "and jj.statusEnabled is true " + + " and lower(jb.namaJabatan) like %:namaJabatan%" + " and uk.id = :unitKerjaId" + + " order by jb.namaJabatan, uk.name, jj.jenisJabatan") List> findJabatanByNamaUnit(@Param("namaJabatan") String namaJabatan, @Param("unitKerjaId") Integer idUnitKerja); - @Query(strJabatan + jenisJabatan + unitKerja + sortMasterJabatan) + @Query("select new Map(jb.id as id,jb.namaJabatan as namaJabatan," + + "jb.levelJabatan as levelJabatan,jb.subLevelJabatan as levelDireksi," + + "jj.id as jenisJabatanId,jj.jenisJabatan as jenisJabatan," + "uk.id as unitKerjaId,uk.name as unitKerja," + + "el.id as eselonId,el.eselon as eselon," + + "kj.id as kelompokJabatanId,kj.namaKelompokJabatan as kelompokJabatan) " + "from Jabatan jb " + + "inner join jb.jenisJabatan jj " + + "left join jb.unitKerja uk with (uk.id <> 0 and uk.statusEnabled is true) " + + "left join jb.eselon el with (el.id <> 0 and el.statusEnabled is true) " + + "left join jb.kelompokJabatan kj with (kj.id between 1 and 10 and kj.statusEnabled is true) " + + "where jb.statusEnabled is true " + "and jj.statusEnabled is true " + " and jj.id = :jenisJabatanId" + + " and uk.id = :unitKerjaId" + " order by jb.namaJabatan, uk.name, jj.jenisJabatan") List> findJabatanByJenisUnit(@Param("jenisJabatanId") Integer idJenisJabatan, @Param("unitKerjaId") Integer idUnitKerja); - @Query(strJabatan + namaJabatan + jenisJabatan + unitKerja + sortMasterJabatan) + @Query("select new Map(jb.id as id,jb.namaJabatan as namaJabatan," + + "jb.levelJabatan as levelJabatan,jb.subLevelJabatan as levelDireksi," + + "jj.id as jenisJabatanId,jj.jenisJabatan as jenisJabatan," + "uk.id as unitKerjaId,uk.name as unitKerja," + + "el.id as eselonId,el.eselon as eselon," + + "kj.id as kelompokJabatanId,kj.namaKelompokJabatan as kelompokJabatan) " + "from Jabatan jb " + + "inner join jb.jenisJabatan jj " + + "left join jb.unitKerja uk with (uk.id <> 0 and uk.statusEnabled is true) " + + "left join jb.eselon el with (el.id <> 0 and el.statusEnabled is true) " + + "left join jb.kelompokJabatan kj with (kj.id between 1 and 10 and kj.statusEnabled is true) " + + "where jb.statusEnabled is true " + "and jj.statusEnabled is true " + + " and lower(jb.namaJabatan) like %:namaJabatan%" + " and jj.id = :jenisJabatanId" + + " and uk.id = :unitKerjaId" + " order by jb.namaJabatan, uk.name, jj.jenisJabatan") List> findJabatanByNamaJenisUnit(@Param("namaJabatan") String namaJabatan, @Param("jenisJabatanId") Integer idJenisJabatan, @Param("unitKerjaId") Integer idUnitKerja); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ProdukFarmakologiDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ProdukFarmakologiDao.java index e61eb009..67cfbedd 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ProdukFarmakologiDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ProdukFarmakologiDao.java @@ -1,59 +1,65 @@ package com.jasamedika.medifirst2000.dao; -import java.util.List; -import java.util.Map; - +import com.jasamedika.medifirst2000.entities.ProdukFarmakologi; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; -import com.jasamedika.medifirst2000.entities.ProdukFarmakologi; +import java.util.List; +import java.util.Map; @Repository("produkFarmakologiDao") public interface ProdukFarmakologiDao extends PagingAndSortingRepository { - String allProduk = "select new Map(prf.id as produkId,prf.namaProduk as namaProduk," + @Query("select new Map(prf.id as produkId,prf.namaProduk as namaProduk," + "prf.kdProduk as kdProduk,(case when prf.kdProduk = 1 then 'Pelayanan Pasien (Tarif)' " + "when prf.kdProduk = 2 then 'Pelayanan Pasien (Nontarif)' " + "when prf.kdProduk = 3 then 'Pelayanan Nonpasien' end) as kodeProduk) " + "from ProdukFarmakologi prf " - + "where prf.statusEnabled is true"; + + "where prf.statusEnabled is true" + " order by prf.namaProduk, prf.kdProduk asc") + List> findProdukFarmakologi(); - String namaProduk = " and lower(prf.namaProduk) like %:namaProduk%"; + @Query("select new Map(prf.id as produkId,prf.namaProduk as namaProduk," + + "prf.kdProduk as kdProduk,(case when prf.kdProduk = 1 then 'Pelayanan Pasien (Tarif)' " + + "when prf.kdProduk = 2 then 'Pelayanan Pasien (Nontarif)' " + + "when prf.kdProduk = 3 then 'Pelayanan Nonpasien' end) as kodeProduk) " + "from ProdukFarmakologi prf " + + "where prf.statusEnabled is true" + " and lower(prf.namaProduk) like %:namaProduk%" + + " order by prf.namaProduk, prf.kdProduk asc") + List> findProdukFarmakologiByProduk(@Param("namaProduk") String namaProduk); - String kdProduk = " and prf.kdProduk = :kdProduk"; + @Query("select new Map(prf.id as produkId,prf.namaProduk as namaProduk," + + "prf.kdProduk as kdProduk,(case when prf.kdProduk = 1 then 'Pelayanan Pasien (Tarif)' " + + "when prf.kdProduk = 2 then 'Pelayanan Pasien (Nontarif)' " + + "when prf.kdProduk = 3 then 'Pelayanan Nonpasien' end) as kodeProduk) " + "from ProdukFarmakologi prf " + + "where prf.statusEnabled is true" + " and prf.kdProduk = :kdProduk" + + " order by prf.namaProduk, prf.kdProduk asc") + List> findProdukFarmakologiByKdProduk(@Param("kdProduk") Short kdProduk); - String sortAllProduk = " order by prf.namaProduk, prf.kdProduk asc"; - - String listIdProduk = " and prf.id in (:listProdukId)"; - - @Query(allProduk + sortAllProduk) - public List> findProdukFarmakologi(); - - @Query(allProduk + namaProduk + sortAllProduk) - public List> findProdukFarmakologiByProduk(@Param("namaProduk") String namaProduk); - - @Query(allProduk + kdProduk + sortAllProduk) - public List> findProdukFarmakologiByKdProduk(@Param("kdProduk") Short kdProduk); - - @Query(allProduk + namaProduk + kdProduk + sortAllProduk) - public List> findProdukFarmakologiByProduk(@Param("namaProduk") String namaProduk, + @Query("select new Map(prf.id as produkId,prf.namaProduk as namaProduk," + + "prf.kdProduk as kdProduk,(case when prf.kdProduk = 1 then 'Pelayanan Pasien (Tarif)' " + + "when prf.kdProduk = 2 then 'Pelayanan Pasien (Nontarif)' " + + "when prf.kdProduk = 3 then 'Pelayanan Nonpasien' end) as kodeProduk) " + "from ProdukFarmakologi prf " + + "where prf.statusEnabled is true" + " and lower(prf.namaProduk) like %:namaProduk%" + + " and prf.kdProduk = :kdProduk" + " order by prf.namaProduk, prf.kdProduk asc") + List> findProdukFarmakologiByProduk(@Param("namaProduk") String namaProduk, @Param("kdProduk") Short kdProduk); - @Query(allProduk + listIdProduk + sortAllProduk) - public List> findProdukFarmakologi(@Param("listProdukId") List listIdProduk); + @Query("select new Map(prf.id as produkId,prf.namaProduk as namaProduk," + + "prf.kdProduk as kdProduk,(case when prf.kdProduk = 1 then 'Pelayanan Pasien (Tarif)' " + + "when prf.kdProduk = 2 then 'Pelayanan Pasien (Nontarif)' " + + "when prf.kdProduk = 3 then 'Pelayanan Nonpasien' end) as kodeProduk) " + "from ProdukFarmakologi prf " + + "where prf.statusEnabled is true" + " and prf.id in (:listProdukId)" + + " order by prf.namaProduk, prf.kdProduk asc") + List> findProdukFarmakologi(@Param("listProdukId") List listIdProduk); - String dupCheck = "select prf.id from ProdukFarmakologi prf " + "where prf.statusEnabled is true " - + "and lower(regexp_replace(prf.namaProduk,:patternText,'','g')) = :namaProduk"; + @Query("select prf.id from ProdukFarmakologi prf " + "where prf.statusEnabled is true " + + "and lower(regexp_replace(prf.namaProduk,:patternText,'','g')) = :namaProduk") + List findDupProduk(@Param("patternText") String patternText, @Param("namaProduk") String namaProduk); - String notIdProduk = " and prf.id <> :produkId"; - - @Query(dupCheck) - public List findDupProduk(@Param("patternText") String patternText, - @Param("namaProduk") String namaProduk); - - @Query(dupCheck + notIdProduk) - public List findDupProduk(@Param("patternText") String patternText, @Param("namaProduk") String namaProduk, + @Query("select prf.id from ProdukFarmakologi prf " + "where prf.statusEnabled is true " + + "and lower(regexp_replace(prf.namaProduk,:patternText,'','g')) = :namaProduk" + + " and prf.id <> :produkId") + List findDupProduk(@Param("patternText") String patternText, @Param("namaProduk") String namaProduk, @Param("produkId") Integer idProduk); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ProdukNakesDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ProdukNakesDao.java index 67b2d5be..fd2a768b 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ProdukNakesDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ProdukNakesDao.java @@ -1,14 +1,13 @@ package com.jasamedika.medifirst2000.dao; -import java.util.List; -import java.util.Map; - +import com.jasamedika.medifirst2000.entities.ProdukNakes; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; -import com.jasamedika.medifirst2000.entities.ProdukNakes; +import java.util.List; +import java.util.Map; /** * @author salmanoe @@ -17,65 +16,97 @@ import com.jasamedika.medifirst2000.entities.ProdukNakes; @Repository("produkNakesDao") public interface ProdukNakesDao extends PagingAndSortingRepository { - String allProduk = "select new Map(prn.id as produkId,prn.namaProduk as namaProduk," + "prn.kdProduk as kdProduk," + @Query("select new Map(prn.id as produkId,prn.namaProduk as namaProduk," + "prn.kdProduk as kdProduk," + "(case when prn.kdProduk = 1 then 'Pelayanan Pasien' " + "when prn.kdProduk = 2 then 'Pelayanan Nonpasien' end) as kodeProduk," + "prn.profesiId as profesiId,prf.namaProfesi as namaProfesi) " + "from ProdukNakes prn " - + "left join prn.profesi prf " + "with (prf.statusEnabled is true) " + "where prn.statusEnabled is true"; + + "left join prn.profesi prf " + "with (prf.statusEnabled is true) " + "where prn.statusEnabled is true" + + " order by prf.namaProfesi, prn.namaProduk, prn.kdProduk asc") + List> findProdukNakes(); - String namaProduk = " and lower(prn.namaProduk) like %:namaProduk%"; + @Query("select new Map(prn.id as produkId,prn.namaProduk as namaProduk," + "prn.kdProduk as kdProduk," + + "(case when prn.kdProduk = 1 then 'Pelayanan Pasien' " + + "when prn.kdProduk = 2 then 'Pelayanan Nonpasien' end) as kodeProduk," + + "prn.profesiId as profesiId,prf.namaProfesi as namaProfesi) " + "from ProdukNakes prn " + + "left join prn.profesi prf " + "with (prf.statusEnabled is true) " + "where prn.statusEnabled is true" + + " and lower(prn.namaProduk) like %:namaProduk%" + + " order by prf.namaProfesi, prn.namaProduk, prn.kdProduk asc") + List> findProdukNakesByProduk(@Param("namaProduk") String namaProduk); - String kdProduk = " and prn.kdProduk = :kdProduk"; + @Query("select new Map(prn.id as produkId,prn.namaProduk as namaProduk," + "prn.kdProduk as kdProduk," + + "(case when prn.kdProduk = 1 then 'Pelayanan Pasien' " + + "when prn.kdProduk = 2 then 'Pelayanan Nonpasien' end) as kodeProduk," + + "prn.profesiId as profesiId,prf.namaProfesi as namaProfesi) " + "from ProdukNakes prn " + + "left join prn.profesi prf " + "with (prf.statusEnabled is true) " + "where prn.statusEnabled is true" + + " and prn.kdProduk = :kdProduk" + " order by prf.namaProfesi, prn.namaProduk, prn.kdProduk asc") + List> findProdukNakesByKdProduk(@Param("kdProduk") Short kdProduk); - String idProfesi = " and prn.profesiId = :profesiId"; + @Query("select new Map(prn.id as produkId,prn.namaProduk as namaProduk," + "prn.kdProduk as kdProduk," + + "(case when prn.kdProduk = 1 then 'Pelayanan Pasien' " + + "when prn.kdProduk = 2 then 'Pelayanan Nonpasien' end) as kodeProduk," + + "prn.profesiId as profesiId,prf.namaProfesi as namaProfesi) " + "from ProdukNakes prn " + + "left join prn.profesi prf " + "with (prf.statusEnabled is true) " + "where prn.statusEnabled is true" + + " and prn.profesiId = :profesiId" + " order by prf.namaProfesi, prn.namaProduk, prn.kdProduk asc") + List> findProdukNakesByProfesi(@Param("profesiId") Integer idProfesi); - String sortAllProduk = " order by prf.namaProfesi, prn.namaProduk, prn.kdProduk asc"; - - String listIdProduk = " and prn.id in (:listProdukId)"; - - @Query(allProduk + sortAllProduk) - public List> findProdukNakes(); - - @Query(allProduk + namaProduk + sortAllProduk) - public List> findProdukNakesByProduk(@Param("namaProduk") String namaProduk); - - @Query(allProduk + kdProduk + sortAllProduk) - public List> findProdukNakesByKdProduk(@Param("kdProduk") Short kdProduk); - - @Query(allProduk + idProfesi + sortAllProduk) - public List> findProdukNakesByProfesi(@Param("profesiId") Integer idProfesi); - - @Query(allProduk + idProfesi + namaProduk + sortAllProduk) - public List> findProdukNakesByProfesi(@Param("profesiId") Integer idProfesi, + @Query("select new Map(prn.id as produkId,prn.namaProduk as namaProduk," + "prn.kdProduk as kdProduk," + + "(case when prn.kdProduk = 1 then 'Pelayanan Pasien' " + + "when prn.kdProduk = 2 then 'Pelayanan Nonpasien' end) as kodeProduk," + + "prn.profesiId as profesiId,prf.namaProfesi as namaProfesi) " + "from ProdukNakes prn " + + "left join prn.profesi prf " + "with (prf.statusEnabled is true) " + "where prn.statusEnabled is true" + + " and prn.profesiId = :profesiId" + " and lower(prn.namaProduk) like %:namaProduk%" + + " order by prf.namaProfesi, prn.namaProduk, prn.kdProduk asc") + List> findProdukNakesByProfesi(@Param("profesiId") Integer idProfesi, @Param("namaProduk") String namaProduk); - @Query(allProduk + idProfesi + kdProduk + sortAllProduk) - public List> findProdukNakesByProfesi(@Param("profesiId") Integer idProfesi, + @Query("select new Map(prn.id as produkId,prn.namaProduk as namaProduk," + "prn.kdProduk as kdProduk," + + "(case when prn.kdProduk = 1 then 'Pelayanan Pasien' " + + "when prn.kdProduk = 2 then 'Pelayanan Nonpasien' end) as kodeProduk," + + "prn.profesiId as profesiId,prf.namaProfesi as namaProfesi) " + "from ProdukNakes prn " + + "left join prn.profesi prf " + "with (prf.statusEnabled is true) " + "where prn.statusEnabled is true" + + " and prn.profesiId = :profesiId" + " and prn.kdProduk = :kdProduk" + + " order by prf.namaProfesi, prn.namaProduk, prn.kdProduk asc") + List> findProdukNakesByProfesi(@Param("profesiId") Integer idProfesi, @Param("kdProduk") Short kdProduk); - @Query(allProduk + namaProduk + kdProduk + sortAllProduk) - public List> findProdukNakesByProduk(@Param("namaProduk") String namaProduk, + @Query("select new Map(prn.id as produkId,prn.namaProduk as namaProduk," + "prn.kdProduk as kdProduk," + + "(case when prn.kdProduk = 1 then 'Pelayanan Pasien' " + + "when prn.kdProduk = 2 then 'Pelayanan Nonpasien' end) as kodeProduk," + + "prn.profesiId as profesiId,prf.namaProfesi as namaProfesi) " + "from ProdukNakes prn " + + "left join prn.profesi prf " + "with (prf.statusEnabled is true) " + "where prn.statusEnabled is true" + + " and lower(prn.namaProduk) like %:namaProduk%" + " and prn.kdProduk = :kdProduk" + + " order by prf.namaProfesi, prn.namaProduk, prn.kdProduk asc") + List> findProdukNakesByProduk(@Param("namaProduk") String namaProduk, @Param("kdProduk") Short kdProduk); - @Query(allProduk + namaProduk + idProfesi + kdProduk + sortAllProduk) - public List> findProdukNakesByProfesi(@Param("namaProduk") String namaProduk, + @Query("select new Map(prn.id as produkId,prn.namaProduk as namaProduk," + "prn.kdProduk as kdProduk," + + "(case when prn.kdProduk = 1 then 'Pelayanan Pasien' " + + "when prn.kdProduk = 2 then 'Pelayanan Nonpasien' end) as kodeProduk," + + "prn.profesiId as profesiId,prf.namaProfesi as namaProfesi) " + "from ProdukNakes prn " + + "left join prn.profesi prf " + "with (prf.statusEnabled is true) " + "where prn.statusEnabled is true" + + " and lower(prn.namaProduk) like %:namaProduk%" + " and prn.profesiId = :profesiId" + + " and prn.kdProduk = :kdProduk" + " order by prf.namaProfesi, prn.namaProduk, prn.kdProduk asc") + List> findProdukNakesByProfesi(@Param("namaProduk") String namaProduk, @Param("profesiId") Integer idProfesi, @Param("kdProduk") Short kdProduk); - @Query(allProduk + listIdProduk + sortAllProduk) - public List> findProdukNakes(@Param("listProdukId") List listIdProduk); + @Query("select new Map(prn.id as produkId,prn.namaProduk as namaProduk," + "prn.kdProduk as kdProduk," + + "(case when prn.kdProduk = 1 then 'Pelayanan Pasien' " + + "when prn.kdProduk = 2 then 'Pelayanan Nonpasien' end) as kodeProduk," + + "prn.profesiId as profesiId,prf.namaProfesi as namaProfesi) " + "from ProdukNakes prn " + + "left join prn.profesi prf " + "with (prf.statusEnabled is true) " + "where prn.statusEnabled is true" + + " and prn.id in (:listProdukId)" + " order by prf.namaProfesi, prn.namaProduk, prn.kdProduk asc") + List> findProdukNakes(@Param("listProdukId") List listIdProduk); - String dupCheck = "select prn.id from ProdukNakes prn " + "where prn.statusEnabled is true " + @Query("select prn.id from ProdukNakes prn " + "where prn.statusEnabled is true " + "and lower(regexp_replace(prn.namaProduk,:patternText,'','g')) = :namaProduk " - + "and prn.profesiId = :profesiId"; - - String notIdProduk = " and prn.id <> :produkId"; - - @Query(dupCheck) - public List findDupProduk(@Param("patternText") String patternText, @Param("namaProduk") String namaProduk, + + "and prn.profesiId = :profesiId") + List findDupProduk(@Param("patternText") String patternText, @Param("namaProduk") String namaProduk, @Param("profesiId") Integer idProfesi); - @Query(dupCheck + notIdProduk) - public List findDupProduk(@Param("patternText") String patternText, @Param("namaProduk") String namaProduk, + @Query("select prn.id from ProdukNakes prn " + "where prn.statusEnabled is true " + + "and lower(regexp_replace(prn.namaProduk,:patternText,'','g')) = :namaProduk " + + "and prn.profesiId = :profesiId" + " and prn.id <> :produkId") + List findDupProduk(@Param("patternText") String patternText, @Param("namaProduk") String namaProduk, @Param("profesiId") Integer idProfesi, @Param("produkId") Integer idProduk); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ProdukPerawatDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ProdukPerawatDao.java index 5d015361..47322ab8 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ProdukPerawatDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ProdukPerawatDao.java @@ -1,14 +1,13 @@ package com.jasamedika.medifirst2000.dao; -import java.util.List; -import java.util.Map; - +import com.jasamedika.medifirst2000.entities.ProdukPerawat; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; -import com.jasamedika.medifirst2000.entities.ProdukPerawat; +import java.util.List; +import java.util.Map; /** * @author salmanoe @@ -17,47 +16,50 @@ import com.jasamedika.medifirst2000.entities.ProdukPerawat; @Repository("produkPerawat") public interface ProdukPerawatDao extends PagingAndSortingRepository { - String allProduk = "select new Map(prp.id as id,prp.namaProduk as namaProduk," + "prp.klasifikasi as kdKlasif," + @Query("select new Map(prp.id as id,prp.namaProduk as namaProduk," + "prp.klasifikasi as kdKlasif," + "(case when prp.klasifikasi = 1 then 'Asuhan' " + "when prp.klasifikasi = 2 then 'Tindakan' " + "when prp.klasifikasi = 3 then 'Laporan' end) as klasifikasi) " + "from ProdukPerawat prp " - + "where prp.statusEnabled is true"; + + "where prp.statusEnabled is true" + " order by prp.klasifikasi, prp.namaProduk asc") + List> findAllActive(); - String namaProduk = " and lower(prp.namaProduk) like %:namaProduk%"; + @Query("select new Map(prp.id as id,prp.namaProduk as namaProduk," + "prp.klasifikasi as kdKlasif," + + "(case when prp.klasifikasi = 1 then 'Asuhan' " + "when prp.klasifikasi = 2 then 'Tindakan' " + + "when prp.klasifikasi = 3 then 'Laporan' end) as klasifikasi) " + "from ProdukPerawat prp " + + "where prp.statusEnabled is true" + " and lower(prp.namaProduk) like %:namaProduk%" + + " order by prp.klasifikasi, prp.namaProduk asc") + List> findAllActive(@Param("namaProduk") String namaProduk); - String kdKlasif = " and prp.klasifikasi = :kdKlasif"; + @Query("select new Map(prp.id as id,prp.namaProduk as namaProduk," + "prp.klasifikasi as kdKlasif," + + "(case when prp.klasifikasi = 1 then 'Asuhan' " + "when prp.klasifikasi = 2 then 'Tindakan' " + + "when prp.klasifikasi = 3 then 'Laporan' end) as klasifikasi) " + "from ProdukPerawat prp " + + "where prp.statusEnabled is true" + " and prp.klasifikasi = :kdKlasif" + + " order by prp.klasifikasi, prp.namaProduk asc") + List> findAllActive(@Param("kdKlasif") Short kdKlasif); - String listIdProduk = " and prp.id in (:listProdukId)"; + @Query("select new Map(prp.id as id,prp.namaProduk as namaProduk," + "prp.klasifikasi as kdKlasif," + + "(case when prp.klasifikasi = 1 then 'Asuhan' " + "when prp.klasifikasi = 2 then 'Tindakan' " + + "when prp.klasifikasi = 3 then 'Laporan' end) as klasifikasi) " + "from ProdukPerawat prp " + + "where prp.statusEnabled is true" + " and lower(prp.namaProduk) like %:namaProduk%" + + " and prp.klasifikasi = :kdKlasif" + " order by prp.klasifikasi, prp.namaProduk asc") + List> findAllActive(@Param("namaProduk") String namaProduk, @Param("kdKlasif") Short kdKlasif); - String sortAllProduk = " order by prp.klasifikasi, prp.namaProduk asc"; + @Query("select new Map(prp.id as id,prp.namaProduk as namaProduk," + "prp.klasifikasi as kdKlasif," + + "(case when prp.klasifikasi = 1 then 'Asuhan' " + "when prp.klasifikasi = 2 then 'Tindakan' " + + "when prp.klasifikasi = 3 then 'Laporan' end) as klasifikasi) " + "from ProdukPerawat prp " + + "where prp.statusEnabled is true" + " and prp.id in (:listProdukId)" + + " order by prp.klasifikasi, prp.namaProduk asc") + List> findProdukPerawat(@Param("listProdukId") List listIdProduk); - @Query(allProduk + sortAllProduk) - public List> findAllActive(); - - @Query(allProduk + namaProduk + sortAllProduk) - public List> findAllActive(@Param("namaProduk") String namaProduk); - - @Query(allProduk + kdKlasif + sortAllProduk) - public List> findAllActive(@Param("kdKlasif") Short kdKlasif); - - @Query(allProduk + namaProduk + kdKlasif + sortAllProduk) - public List> findAllActive(@Param("namaProduk") String namaProduk, - @Param("kdKlasif") Short kdKlasif); - - @Query(allProduk + listIdProduk + sortAllProduk) - public List> findProdukPerawat(@Param("listProdukId") List listIdProduk); - - String dupCheck = "select prp.id from ProdukPerawat prp " + "where prp.statusEnabled is true " + @Query("select prp.id from ProdukPerawat prp " + "where prp.statusEnabled is true " + "and lower(regexp_replace(prp.namaProduk,:patternText,'','g')) = :namaProduk " - + "and prp.klasifikasi = :kdKlasif"; - - String notIdProduk = " and prp.id <> :produkId"; - - @Query(dupCheck) - public List findDupProduk(@Param("patternText") String patternText, @Param("namaProduk") String namaProduk, + + "and prp.klasifikasi = :kdKlasif") + List findDupProduk(@Param("patternText") String patternText, @Param("namaProduk") String namaProduk, @Param("kdKlasif") Short kdKlasif); - @Query(dupCheck + notIdProduk) - public List findDupProduk(@Param("patternText") String patternText, @Param("namaProduk") String namaProduk, + @Query("select prp.id from ProdukPerawat prp " + "where prp.statusEnabled is true " + + "and lower(regexp_replace(prp.namaProduk,:patternText,'','g')) = :namaProduk " + + "and prp.klasifikasi = :kdKlasif" + " and prp.id <> :produkId") + List findDupProduk(@Param("patternText") String patternText, @Param("namaProduk") String namaProduk, @Param("kdKlasif") Short kdKlasif, @Param("produkId") Integer idProduk); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanFarmakologiDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanFarmakologiDao.java index 8c19e6b4..3f18949a 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanFarmakologiDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanFarmakologiDao.java @@ -1,14 +1,13 @@ package com.jasamedika.medifirst2000.dao; -import java.util.List; -import java.util.Map; - +import com.jasamedika.medifirst2000.entities.SkoringTindakanFarmakologi; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; -import com.jasamedika.medifirst2000.entities.SkoringTindakanFarmakologi; +import java.util.List; +import java.util.Map; /** * @author salmanoe @@ -18,7 +17,7 @@ import com.jasamedika.medifirst2000.entities.SkoringTindakanFarmakologi; @Repository("skoringTindakanFarmakologiDao") public interface SkoringTindakanFarmakologiDao extends PagingAndSortingRepository { - String strAllEnabled = "select new Map(stf.noRec as noRec,stf.statusEnabled as statusEnabled," + @Query("select new Map(stf.noRec as noRec,stf.statusEnabled as statusEnabled," + "stf.skor as skor,stf.statusVerifikasi as kdVerif," + "(case when stf.statusVerifikasi is false then 'Belum Verifikasi' " + "when stf.statusVerifikasi is true then 'Terverifikasi' end) as stVerif," @@ -28,52 +27,81 @@ public interface SkoringTindakanFarmakologiDao extends PagingAndSortingRepositor + "when prf.kdProduk = 2 then 'Pelayanan Pasien (Nontarif)' " + "when prf.kdProduk = 3 then 'Pelayanan Nonpasien' end) as jenisProduk) " + "from SkoringTindakanFarmakologi stf " + "inner join stf.produk prf " + "where stf.statusEnabled is true " - + "and to_char(stf.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd') "; - - String produk = "and lower(prf.namaProduk) like %:namaProduk% "; - - String statusVerifikasi = "and stf.statusVerifikasi = :isVerif "; - - String sortSearch = "order by prf.namaProduk asc, stf.tanggalMulaiBerlaku desc, stf.tanggalPembaharuanData desc"; - - @Query(strAllEnabled + sortSearch) + + "and to_char(stf.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd') " + + "order by prf.namaProduk asc, stf.tanggalMulaiBerlaku desc, stf.tanggalPembaharuanData desc") List> findAllEnabled(); - @Query(strAllEnabled + produk + sortSearch) + @Query("select new Map(stf.noRec as noRec,stf.statusEnabled as statusEnabled," + + "stf.skor as skor,stf.statusVerifikasi as kdVerif," + + "(case when stf.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stf.statusVerifikasi is true then 'Terverifikasi' end) as stVerif," + + "stf.tanggalMulaiBerlaku as tglMulaiBerlaku,stf.tanggalPembaharuanData as tglPembaharuanData," + + "prf.id as produkId,prf.namaProduk as namaProduk," + + "(case when prf.kdProduk = 1 then 'Pelayanan Pasien (Tarif)' " + + "when prf.kdProduk = 2 then 'Pelayanan Pasien (Nontarif)' " + + "when prf.kdProduk = 3 then 'Pelayanan Nonpasien' end) as jenisProduk) " + + "from SkoringTindakanFarmakologi stf " + "inner join stf.produk prf " + "where stf.statusEnabled is true " + + "and to_char(stf.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd') " + + "and lower(prf.namaProduk) like %:namaProduk% " + + "order by prf.namaProduk asc, stf.tanggalMulaiBerlaku desc, stf.tanggalPembaharuanData desc") List> findAllEnabledByProduk(@Param("namaProduk") String namaProduk); - @Query(strAllEnabled + statusVerifikasi + sortSearch) + @Query("select new Map(stf.noRec as noRec,stf.statusEnabled as statusEnabled," + + "stf.skor as skor,stf.statusVerifikasi as kdVerif," + + "(case when stf.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stf.statusVerifikasi is true then 'Terverifikasi' end) as stVerif," + + "stf.tanggalMulaiBerlaku as tglMulaiBerlaku,stf.tanggalPembaharuanData as tglPembaharuanData," + + "prf.id as produkId,prf.namaProduk as namaProduk," + + "(case when prf.kdProduk = 1 then 'Pelayanan Pasien (Tarif)' " + + "when prf.kdProduk = 2 then 'Pelayanan Pasien (Nontarif)' " + + "when prf.kdProduk = 3 then 'Pelayanan Nonpasien' end) as jenisProduk) " + + "from SkoringTindakanFarmakologi stf " + "inner join stf.produk prf " + "where stf.statusEnabled is true " + + "and to_char(stf.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd') " + + "and stf.statusVerifikasi = :isVerif " + + "order by prf.namaProduk asc, stf.tanggalMulaiBerlaku desc, stf.tanggalPembaharuanData desc") List> findAllEnabledByVerif(@Param("isVerif") Boolean isVerif); - @Query(strAllEnabled + produk + statusVerifikasi + sortSearch) + @Query("select new Map(stf.noRec as noRec,stf.statusEnabled as statusEnabled," + + "stf.skor as skor,stf.statusVerifikasi as kdVerif," + + "(case when stf.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stf.statusVerifikasi is true then 'Terverifikasi' end) as stVerif," + + "stf.tanggalMulaiBerlaku as tglMulaiBerlaku,stf.tanggalPembaharuanData as tglPembaharuanData," + + "prf.id as produkId,prf.namaProduk as namaProduk," + + "(case when prf.kdProduk = 1 then 'Pelayanan Pasien (Tarif)' " + + "when prf.kdProduk = 2 then 'Pelayanan Pasien (Nontarif)' " + + "when prf.kdProduk = 3 then 'Pelayanan Nonpasien' end) as jenisProduk) " + + "from SkoringTindakanFarmakologi stf " + "inner join stf.produk prf " + "where stf.statusEnabled is true " + + "and to_char(stf.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd') " + + "and lower(prf.namaProduk) like %:namaProduk% " + "and stf.statusVerifikasi = :isVerif " + + "order by prf.namaProduk asc, stf.tanggalMulaiBerlaku desc, stf.tanggalPembaharuanData desc") List> findAllEnabledByProdukVerif(@Param("namaProduk") String namaProduk, @Param("isVerif") Boolean isVerif); - String strCekDupSkoring = "select stf.noRec from SkoringTindakanFarmakologi stf " + "inner join stf.produk prf " + @Query("select stf.noRec from SkoringTindakanFarmakologi stf " + "inner join stf.produk prf " + "where stf.statusEnabled is true " - + "and lower(regexp_replace(prf.namaProduk,:patternText,'','g')) = :namaProduk "; - - String skor = " and stf.skor = :skor"; - - String tglBerlaku = " and to_char(stf.tanggalMulaiBerlaku,'yyyy-MM-dd') = :tglMulaiBerlaku"; - - String idSkoring = " and stf.noRec <> :noRec"; - - String sortTglBerlaku = " order by stf.tanggalMulaiBerlaku desc"; - - @Query(strCekDupSkoring + skor + sortTglBerlaku) + + "and lower(regexp_replace(prf.namaProduk,:patternText,'','g')) = :namaProduk " + " and stf.skor = :skor" + + " order by stf.tanggalMulaiBerlaku desc") List findLastDupSkoring(@Param("namaProduk") String namaProduk, @Param("skor") Double skor, @Param("patternText") String patternText); - @Query(strCekDupSkoring + tglBerlaku) + @Query("select stf.noRec from SkoringTindakanFarmakologi stf " + "inner join stf.produk prf " + + "where stf.statusEnabled is true " + + "and lower(regexp_replace(prf.namaProduk,:patternText,'','g')) = :namaProduk " + + " and to_char(stf.tanggalMulaiBerlaku,'yyyy-MM-dd') = :tglMulaiBerlaku") List findDupSkoring(@Param("namaProduk") String namaProduk, @Param("tglMulaiBerlaku") String tglMulaiBerlaku, @Param("patternText") String patternText); - @Query(strCekDupSkoring + skor + idSkoring + sortTglBerlaku) + @Query("select stf.noRec from SkoringTindakanFarmakologi stf " + "inner join stf.produk prf " + + "where stf.statusEnabled is true " + + "and lower(regexp_replace(prf.namaProduk,:patternText,'','g')) = :namaProduk " + " and stf.skor = :skor" + + " and stf.noRec <> :noRec" + " order by stf.tanggalMulaiBerlaku desc") List findLastDupSkoring(@Param("namaProduk") String namaProduk, @Param("skor") Double skor, @Param("patternText") String patternText, @Param("noRec") String noRec); - @Query(strCekDupSkoring + tglBerlaku + idSkoring) + @Query("select stf.noRec from SkoringTindakanFarmakologi stf " + "inner join stf.produk prf " + + "where stf.statusEnabled is true " + + "and lower(regexp_replace(prf.namaProduk,:patternText,'','g')) = :namaProduk " + + " and to_char(stf.tanggalMulaiBerlaku,'yyyy-MM-dd') = :tglMulaiBerlaku" + " and stf.noRec <> :noRec") List findDupSkoring(@Param("namaProduk") String namaProduk, @Param("tglMulaiBerlaku") String tglMulaiBerlaku, @Param("patternText") String patternText, @Param("noRec") String noRec); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanMedisDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanMedisDao.java index 62c07cb8..41a840c8 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanMedisDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanMedisDao.java @@ -1,19 +1,18 @@ package com.jasamedika.medifirst2000.dao; -import java.util.List; -import java.util.Map; - +import com.jasamedika.medifirst2000.entities.SkoringTindakanMedis; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; -import com.jasamedika.medifirst2000.entities.SkoringTindakanMedis; +import java.util.List; +import java.util.Map; @Repository("skoringTindakanMedisDao") public interface SkoringTindakanMedisDao extends PagingAndSortingRepository { - String strAllEnabled = "select new Map(stm.noRec as noRec," + "stm.statusEnabled as statusEnabled," + @Query("select new Map(stm.noRec as noRec," + "stm.statusEnabled as statusEnabled," + "uk.id as unitKerjaId,uk.name as unitKerja," + "sk.id as kelompokKerjaId,sk.name as kelompokKerja," + "pr.id as produkId,pr.namaProduk as namaProduk," + "stm.detailProduk as detailProduk," + "stm.skor as skor," + "stm.statusVerifikasi as isStatusVerifikasi," @@ -22,113 +21,285 @@ public interface SkoringTindakanMedisDao extends PagingAndSortingRepository> findAllEnabled(); - @Query(strAllEnabled + kelompokKerja + sortSearch) + @Query("select new Map(stm.noRec as noRec," + "stm.statusEnabled as statusEnabled," + + "uk.id as unitKerjaId,uk.name as unitKerja," + "sk.id as kelompokKerjaId,sk.name as kelompokKerja," + + "pr.id as produkId,pr.namaProduk as namaProduk," + "stm.detailProduk as detailProduk," + + "stm.skor as skor," + "stm.statusVerifikasi as isStatusVerifikasi," + + "(case when stm.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stm.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi," + + "stm.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stm.tanggalPembaharuanData as tglPembaharuanData) " + + "from SkoringTindakanMedis stm " + "inner join stm.produk pr " + "inner join stm.kelompokKerja sk " + + "inner join sk.unitKerja uk " + "where stm.statusEnabled is true " + + "and to_char(stm.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " and sk.id in (:listSubunitKerjaId)" + " order by sk.name asc," + "pr.namaProduk asc," + + "stm.detailProduk asc, " + "stm.tanggalMulaiBerlaku desc, stm.tanggalPembaharuanData desc") List> findAllEnabledByUnit(@Param("listSubunitKerjaId") List listIdKelompokKerja); - @Query(strAllEnabled + produk + sortSearch) + @Query("select new Map(stm.noRec as noRec," + "stm.statusEnabled as statusEnabled," + + "uk.id as unitKerjaId,uk.name as unitKerja," + "sk.id as kelompokKerjaId,sk.name as kelompokKerja," + + "pr.id as produkId,pr.namaProduk as namaProduk," + "stm.detailProduk as detailProduk," + + "stm.skor as skor," + "stm.statusVerifikasi as isStatusVerifikasi," + + "(case when stm.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stm.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi," + + "stm.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stm.tanggalPembaharuanData as tglPembaharuanData) " + + "from SkoringTindakanMedis stm " + "inner join stm.produk pr " + "inner join stm.kelompokKerja sk " + + "inner join sk.unitKerja uk " + "where stm.statusEnabled is true " + + "and to_char(stm.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " and lower(pr.namaProduk) like %:namaProduk%" + " order by sk.name asc," + "pr.namaProduk asc," + + "stm.detailProduk asc, " + "stm.tanggalMulaiBerlaku desc, stm.tanggalPembaharuanData desc") List> findAllEnabledByProduk(@Param("namaProduk") String namaProduk); - @Query(strAllEnabled + detailProduk + sortSearch) + @Query("select new Map(stm.noRec as noRec," + "stm.statusEnabled as statusEnabled," + + "uk.id as unitKerjaId,uk.name as unitKerja," + "sk.id as kelompokKerjaId,sk.name as kelompokKerja," + + "pr.id as produkId,pr.namaProduk as namaProduk," + "stm.detailProduk as detailProduk," + + "stm.skor as skor," + "stm.statusVerifikasi as isStatusVerifikasi," + + "(case when stm.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stm.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi," + + "stm.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stm.tanggalPembaharuanData as tglPembaharuanData) " + + "from SkoringTindakanMedis stm " + "inner join stm.produk pr " + "inner join stm.kelompokKerja sk " + + "inner join sk.unitKerja uk " + "where stm.statusEnabled is true " + + "and to_char(stm.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " and lower(stm.detailProduk) like %:detailProduk%" + " order by sk.name asc," + "pr.namaProduk asc," + + "stm.detailProduk asc, " + "stm.tanggalMulaiBerlaku desc, stm.tanggalPembaharuanData desc") List> findAllEnabledByDetail(@Param("detailProduk") String detailProduk); - @Query(strAllEnabled + statusVerifikasi + sortSearch) + @Query("select new Map(stm.noRec as noRec," + "stm.statusEnabled as statusEnabled," + + "uk.id as unitKerjaId,uk.name as unitKerja," + "sk.id as kelompokKerjaId,sk.name as kelompokKerja," + + "pr.id as produkId,pr.namaProduk as namaProduk," + "stm.detailProduk as detailProduk," + + "stm.skor as skor," + "stm.statusVerifikasi as isStatusVerifikasi," + + "(case when stm.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stm.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi," + + "stm.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stm.tanggalPembaharuanData as tglPembaharuanData) " + + "from SkoringTindakanMedis stm " + "inner join stm.produk pr " + "inner join stm.kelompokKerja sk " + + "inner join sk.unitKerja uk " + "where stm.statusEnabled is true " + + "and to_char(stm.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " and stm.statusVerifikasi = :isStatusVerifikasi" + " order by sk.name asc," + "pr.namaProduk asc," + + "stm.detailProduk asc, " + "stm.tanggalMulaiBerlaku desc, stm.tanggalPembaharuanData desc") List> findAllEnabledByVerif(@Param("isStatusVerifikasi") Boolean statusVerifikasi); - @Query(strAllEnabled + kelompokKerja + produk + sortSearch) + @Query("select new Map(stm.noRec as noRec," + "stm.statusEnabled as statusEnabled," + + "uk.id as unitKerjaId,uk.name as unitKerja," + "sk.id as kelompokKerjaId,sk.name as kelompokKerja," + + "pr.id as produkId,pr.namaProduk as namaProduk," + "stm.detailProduk as detailProduk," + + "stm.skor as skor," + "stm.statusVerifikasi as isStatusVerifikasi," + + "(case when stm.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stm.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi," + + "stm.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stm.tanggalPembaharuanData as tglPembaharuanData) " + + "from SkoringTindakanMedis stm " + "inner join stm.produk pr " + "inner join stm.kelompokKerja sk " + + "inner join sk.unitKerja uk " + "where stm.statusEnabled is true " + + "and to_char(stm.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " and sk.id in (:listSubunitKerjaId)" + " and lower(pr.namaProduk) like %:namaProduk%" + + " order by sk.name asc," + "pr.namaProduk asc," + "stm.detailProduk asc, " + + "stm.tanggalMulaiBerlaku desc, stm.tanggalPembaharuanData desc") List> findAllEnabledByUnitProduk(@Param("listSubunitKerjaId") List listIdKelompokKerja, @Param("namaProduk") String namaProduk); - @Query(strAllEnabled + kelompokKerja + detailProduk + sortSearch) + @Query("select new Map(stm.noRec as noRec," + "stm.statusEnabled as statusEnabled," + + "uk.id as unitKerjaId,uk.name as unitKerja," + "sk.id as kelompokKerjaId,sk.name as kelompokKerja," + + "pr.id as produkId,pr.namaProduk as namaProduk," + "stm.detailProduk as detailProduk," + + "stm.skor as skor," + "stm.statusVerifikasi as isStatusVerifikasi," + + "(case when stm.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stm.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi," + + "stm.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stm.tanggalPembaharuanData as tglPembaharuanData) " + + "from SkoringTindakanMedis stm " + "inner join stm.produk pr " + "inner join stm.kelompokKerja sk " + + "inner join sk.unitKerja uk " + "where stm.statusEnabled is true " + + "and to_char(stm.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " and sk.id in (:listSubunitKerjaId)" + " and lower(stm.detailProduk) like %:detailProduk%" + + " order by sk.name asc," + "pr.namaProduk asc," + "stm.detailProduk asc, " + + "stm.tanggalMulaiBerlaku desc, stm.tanggalPembaharuanData desc") List> findAllEnabledByUnitDetail(@Param("listSubunitKerjaId") List listIdKelompokKerja, @Param("detailProduk") String detailProduk); - @Query(strAllEnabled + kelompokKerja + statusVerifikasi + sortSearch) + @Query("select new Map(stm.noRec as noRec," + "stm.statusEnabled as statusEnabled," + + "uk.id as unitKerjaId,uk.name as unitKerja," + "sk.id as kelompokKerjaId,sk.name as kelompokKerja," + + "pr.id as produkId,pr.namaProduk as namaProduk," + "stm.detailProduk as detailProduk," + + "stm.skor as skor," + "stm.statusVerifikasi as isStatusVerifikasi," + + "(case when stm.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stm.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi," + + "stm.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stm.tanggalPembaharuanData as tglPembaharuanData) " + + "from SkoringTindakanMedis stm " + "inner join stm.produk pr " + "inner join stm.kelompokKerja sk " + + "inner join sk.unitKerja uk " + "where stm.statusEnabled is true " + + "and to_char(stm.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " and sk.id in (:listSubunitKerjaId)" + " and stm.statusVerifikasi = :isStatusVerifikasi" + + " order by sk.name asc," + "pr.namaProduk asc," + "stm.detailProduk asc, " + + "stm.tanggalMulaiBerlaku desc, stm.tanggalPembaharuanData desc") List> findAllEnabledByUnitVerif(@Param("listSubunitKerjaId") List listIdKelompokKerja, @Param("isStatusVerifikasi") Boolean statusVerifikasi); - @Query(strAllEnabled + produk + detailProduk + sortSearch) + @Query("select new Map(stm.noRec as noRec," + "stm.statusEnabled as statusEnabled," + + "uk.id as unitKerjaId,uk.name as unitKerja," + "sk.id as kelompokKerjaId,sk.name as kelompokKerja," + + "pr.id as produkId,pr.namaProduk as namaProduk," + "stm.detailProduk as detailProduk," + + "stm.skor as skor," + "stm.statusVerifikasi as isStatusVerifikasi," + + "(case when stm.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stm.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi," + + "stm.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stm.tanggalPembaharuanData as tglPembaharuanData) " + + "from SkoringTindakanMedis stm " + "inner join stm.produk pr " + "inner join stm.kelompokKerja sk " + + "inner join sk.unitKerja uk " + "where stm.statusEnabled is true " + + "and to_char(stm.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " and lower(pr.namaProduk) like %:namaProduk%" + " and lower(stm.detailProduk) like %:detailProduk%" + + " order by sk.name asc," + "pr.namaProduk asc," + "stm.detailProduk asc, " + + "stm.tanggalMulaiBerlaku desc, stm.tanggalPembaharuanData desc") List> findAllEnabledByProdukDetail(@Param("namaProduk") String namaProduk, @Param("detailProduk") String detailProduk); - @Query(strAllEnabled + produk + statusVerifikasi + sortSearch) + @Query("select new Map(stm.noRec as noRec," + "stm.statusEnabled as statusEnabled," + + "uk.id as unitKerjaId,uk.name as unitKerja," + "sk.id as kelompokKerjaId,sk.name as kelompokKerja," + + "pr.id as produkId,pr.namaProduk as namaProduk," + "stm.detailProduk as detailProduk," + + "stm.skor as skor," + "stm.statusVerifikasi as isStatusVerifikasi," + + "(case when stm.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stm.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi," + + "stm.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stm.tanggalPembaharuanData as tglPembaharuanData) " + + "from SkoringTindakanMedis stm " + "inner join stm.produk pr " + "inner join stm.kelompokKerja sk " + + "inner join sk.unitKerja uk " + "where stm.statusEnabled is true " + + "and to_char(stm.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " and lower(pr.namaProduk) like %:namaProduk%" + " and stm.statusVerifikasi = :isStatusVerifikasi" + + " order by sk.name asc," + "pr.namaProduk asc," + "stm.detailProduk asc, " + + "stm.tanggalMulaiBerlaku desc, stm.tanggalPembaharuanData desc") List> findAllEnabledByProdukVerif(@Param("namaProduk") String namaProduk, @Param("isStatusVerifikasi") Boolean statusVerifikasi); - @Query(strAllEnabled + detailProduk + statusVerifikasi + sortSearch) + @Query("select new Map(stm.noRec as noRec," + "stm.statusEnabled as statusEnabled," + + "uk.id as unitKerjaId,uk.name as unitKerja," + "sk.id as kelompokKerjaId,sk.name as kelompokKerja," + + "pr.id as produkId,pr.namaProduk as namaProduk," + "stm.detailProduk as detailProduk," + + "stm.skor as skor," + "stm.statusVerifikasi as isStatusVerifikasi," + + "(case when stm.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stm.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi," + + "stm.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stm.tanggalPembaharuanData as tglPembaharuanData) " + + "from SkoringTindakanMedis stm " + "inner join stm.produk pr " + "inner join stm.kelompokKerja sk " + + "inner join sk.unitKerja uk " + "where stm.statusEnabled is true " + + "and to_char(stm.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " and lower(stm.detailProduk) like %:detailProduk%" + " and stm.statusVerifikasi = :isStatusVerifikasi" + + " order by sk.name asc," + "pr.namaProduk asc," + "stm.detailProduk asc, " + + "stm.tanggalMulaiBerlaku desc, stm.tanggalPembaharuanData desc") List> findAllEnabledByDetailVerif(@Param("detailProduk") String detailProduk, @Param("isStatusVerifikasi") Boolean statusVerifikasi); - @Query(strAllEnabled + kelompokKerja + produk + detailProduk + sortSearch) + @Query("select new Map(stm.noRec as noRec," + "stm.statusEnabled as statusEnabled," + + "uk.id as unitKerjaId,uk.name as unitKerja," + "sk.id as kelompokKerjaId,sk.name as kelompokKerja," + + "pr.id as produkId,pr.namaProduk as namaProduk," + "stm.detailProduk as detailProduk," + + "stm.skor as skor," + "stm.statusVerifikasi as isStatusVerifikasi," + + "(case when stm.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stm.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi," + + "stm.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stm.tanggalPembaharuanData as tglPembaharuanData) " + + "from SkoringTindakanMedis stm " + "inner join stm.produk pr " + "inner join stm.kelompokKerja sk " + + "inner join sk.unitKerja uk " + "where stm.statusEnabled is true " + + "and to_char(stm.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " and sk.id in (:listSubunitKerjaId)" + " and lower(pr.namaProduk) like %:namaProduk%" + + " and lower(stm.detailProduk) like %:detailProduk%" + " order by sk.name asc," + "pr.namaProduk asc," + + "stm.detailProduk asc, " + "stm.tanggalMulaiBerlaku desc, stm.tanggalPembaharuanData desc") List> findAllEnabledByUnitProdukDetail( @Param("listSubunitKerjaId") List listIdKelompokKerja, @Param("namaProduk") String namaProduk, @Param("detailProduk") String detailProduk); - @Query(strAllEnabled + kelompokKerja + produk + statusVerifikasi + sortSearch) + @Query("select new Map(stm.noRec as noRec," + "stm.statusEnabled as statusEnabled," + + "uk.id as unitKerjaId,uk.name as unitKerja," + "sk.id as kelompokKerjaId,sk.name as kelompokKerja," + + "pr.id as produkId,pr.namaProduk as namaProduk," + "stm.detailProduk as detailProduk," + + "stm.skor as skor," + "stm.statusVerifikasi as isStatusVerifikasi," + + "(case when stm.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stm.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi," + + "stm.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stm.tanggalPembaharuanData as tglPembaharuanData) " + + "from SkoringTindakanMedis stm " + "inner join stm.produk pr " + "inner join stm.kelompokKerja sk " + + "inner join sk.unitKerja uk " + "where stm.statusEnabled is true " + + "and to_char(stm.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " and sk.id in (:listSubunitKerjaId)" + " and lower(pr.namaProduk) like %:namaProduk%" + + " and stm.statusVerifikasi = :isStatusVerifikasi" + " order by sk.name asc," + "pr.namaProduk asc," + + "stm.detailProduk asc, " + "stm.tanggalMulaiBerlaku desc, stm.tanggalPembaharuanData desc") List> findAllEnabledByUnitProdukVerif( @Param("listSubunitKerjaId") List listIdKelompokKerja, @Param("namaProduk") String namaProduk, @Param("isStatusVerifikasi") Boolean statusVerifikasi); - @Query(strAllEnabled + kelompokKerja + detailProduk + statusVerifikasi + sortSearch) + @Query("select new Map(stm.noRec as noRec," + "stm.statusEnabled as statusEnabled," + + "uk.id as unitKerjaId,uk.name as unitKerja," + "sk.id as kelompokKerjaId,sk.name as kelompokKerja," + + "pr.id as produkId,pr.namaProduk as namaProduk," + "stm.detailProduk as detailProduk," + + "stm.skor as skor," + "stm.statusVerifikasi as isStatusVerifikasi," + + "(case when stm.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stm.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi," + + "stm.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stm.tanggalPembaharuanData as tglPembaharuanData) " + + "from SkoringTindakanMedis stm " + "inner join stm.produk pr " + "inner join stm.kelompokKerja sk " + + "inner join sk.unitKerja uk " + "where stm.statusEnabled is true " + + "and to_char(stm.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " and sk.id in (:listSubunitKerjaId)" + " and lower(stm.detailProduk) like %:detailProduk%" + + " and stm.statusVerifikasi = :isStatusVerifikasi" + " order by sk.name asc," + "pr.namaProduk asc," + + "stm.detailProduk asc, " + "stm.tanggalMulaiBerlaku desc, stm.tanggalPembaharuanData desc") List> findAllEnabledByUnitDetailVerif( @Param("listSubunitKerjaId") List listIdKelompokKerja, @Param("detailProduk") String detailProduk, @Param("isStatusVerifikasi") Boolean statusVerifikasi); - @Query(strAllEnabled + produk + detailProduk + statusVerifikasi + sortSearch) + @Query("select new Map(stm.noRec as noRec," + "stm.statusEnabled as statusEnabled," + + "uk.id as unitKerjaId,uk.name as unitKerja," + "sk.id as kelompokKerjaId,sk.name as kelompokKerja," + + "pr.id as produkId,pr.namaProduk as namaProduk," + "stm.detailProduk as detailProduk," + + "stm.skor as skor," + "stm.statusVerifikasi as isStatusVerifikasi," + + "(case when stm.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stm.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi," + + "stm.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stm.tanggalPembaharuanData as tglPembaharuanData) " + + "from SkoringTindakanMedis stm " + "inner join stm.produk pr " + "inner join stm.kelompokKerja sk " + + "inner join sk.unitKerja uk " + "where stm.statusEnabled is true " + + "and to_char(stm.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " and lower(pr.namaProduk) like %:namaProduk%" + " and lower(stm.detailProduk) like %:detailProduk%" + + " and stm.statusVerifikasi = :isStatusVerifikasi" + " order by sk.name asc," + "pr.namaProduk asc," + + "stm.detailProduk asc, " + "stm.tanggalMulaiBerlaku desc, stm.tanggalPembaharuanData desc") List> findAllEnabledByProdukDetailVerif(@Param("namaProduk") String namaProduk, @Param("detailProduk") String detailProduk, @Param("isStatusVerifikasi") Boolean statusVerifikasi); - @Query(strAllEnabled + kelompokKerja + produk + detailProduk + statusVerifikasi + sortSearch) + @Query("select new Map(stm.noRec as noRec," + "stm.statusEnabled as statusEnabled," + + "uk.id as unitKerjaId,uk.name as unitKerja," + "sk.id as kelompokKerjaId,sk.name as kelompokKerja," + + "pr.id as produkId,pr.namaProduk as namaProduk," + "stm.detailProduk as detailProduk," + + "stm.skor as skor," + "stm.statusVerifikasi as isStatusVerifikasi," + + "(case when stm.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stm.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi," + + "stm.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stm.tanggalPembaharuanData as tglPembaharuanData) " + + "from SkoringTindakanMedis stm " + "inner join stm.produk pr " + "inner join stm.kelompokKerja sk " + + "inner join sk.unitKerja uk " + "where stm.statusEnabled is true " + + "and to_char(stm.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " and sk.id in (:listSubunitKerjaId)" + " and lower(pr.namaProduk) like %:namaProduk%" + + " and lower(stm.detailProduk) like %:detailProduk%" + " and stm.statusVerifikasi = :isStatusVerifikasi" + + " order by sk.name asc," + "pr.namaProduk asc," + "stm.detailProduk asc, " + + "stm.tanggalMulaiBerlaku desc, stm.tanggalPembaharuanData desc") List> findAllEnabledByUnitProdukDetailVerif( @Param("listSubunitKerjaId") List listIdKelompokKerja, @Param("namaProduk") String namaProduk, @Param("detailProduk") String detailProduk, @Param("isStatusVerifikasi") Boolean statusVerifikasi); - String strCekDupSkoring = "select stm.noRec " + "from SkoringTindakanMedis stm " + "inner join stm.produk pd " + @Query("select stm.noRec " + "from SkoringTindakanMedis stm " + "inner join stm.produk pd " + "where stm.statusEnabled is true " + "and lower(regexp_replace(pd.namaProduk,:patternText,'','g')) = :namaProduk " + "and stm.kelompokKerjaId = :kelompokKerjaId " - + "and lower(regexp_replace(stm.detailProduk,:patternText,'','g')) = :detailProduk"; - - String skor = " and stm.skor = :skor"; - - String tglBerlaku = " and to_char(stm.tanggalMulaiBerlaku,'yyyy-MM-dd') = :tglMulaiBerlaku"; - - String idSkoring = " and stm.noRec <> :noRec"; - - String sortTglBerlaku = " order by stm.tanggalMulaiBerlaku desc"; - - @Query(strCekDupSkoring + skor + sortTglBerlaku) + + "and lower(regexp_replace(stm.detailProduk,:patternText,'','g')) = :detailProduk" + + " and stm.skor = :skor" + " order by stm.tanggalMulaiBerlaku desc") List findLastDupSkoring(@Param("namaProduk") String namaProduk, @Param("kelompokKerjaId") Integer idKelompokKerja, @Param("skor") Double skor, @Param("patternText") String patternText, @Param("detailProduk") String detailProduk); - @Query(strCekDupSkoring + tglBerlaku) + @Query("select stm.noRec " + "from SkoringTindakanMedis stm " + "inner join stm.produk pd " + + "where stm.statusEnabled is true " + + "and lower(regexp_replace(pd.namaProduk,:patternText,'','g')) = :namaProduk " + + "and stm.kelompokKerjaId = :kelompokKerjaId " + + "and lower(regexp_replace(stm.detailProduk,:patternText,'','g')) = :detailProduk" + + " and to_char(stm.tanggalMulaiBerlaku,'yyyy-MM-dd') = :tglMulaiBerlaku") List findDupSkoring(@Param("namaProduk") String namaProduk, @Param("kelompokKerjaId") Integer idKelompokKerja, @Param("tglMulaiBerlaku") String tglMulaiBerlaku, @Param("patternText") String patternText, @Param("detailProduk") String detailProduk); - @Query(strCekDupSkoring + skor + idSkoring + sortTglBerlaku) + @Query("select stm.noRec " + "from SkoringTindakanMedis stm " + "inner join stm.produk pd " + + "where stm.statusEnabled is true " + + "and lower(regexp_replace(pd.namaProduk,:patternText,'','g')) = :namaProduk " + + "and stm.kelompokKerjaId = :kelompokKerjaId " + + "and lower(regexp_replace(stm.detailProduk,:patternText,'','g')) = :detailProduk" + + " and stm.skor = :skor" + " and stm.noRec <> :noRec" + " order by stm.tanggalMulaiBerlaku desc") List findLastDupSkoring(@Param("namaProduk") String namaProduk, @Param("kelompokKerjaId") Integer idKelompokKerja, @Param("skor") Double skor, @Param("patternText") String patternText, @Param("detailProduk") String detailProduk, @Param("noRec") String noRec); - @Query(strCekDupSkoring + tglBerlaku + idSkoring) + @Query("select stm.noRec " + "from SkoringTindakanMedis stm " + "inner join stm.produk pd " + + "where stm.statusEnabled is true " + + "and lower(regexp_replace(pd.namaProduk,:patternText,'','g')) = :namaProduk " + + "and stm.kelompokKerjaId = :kelompokKerjaId " + + "and lower(regexp_replace(stm.detailProduk,:patternText,'','g')) = :detailProduk" + + " and to_char(stm.tanggalMulaiBerlaku,'yyyy-MM-dd') = :tglMulaiBerlaku" + " and stm.noRec <> :noRec") List findDupSkoring(@Param("namaProduk") String namaProduk, @Param("kelompokKerjaId") Integer idKelompokKerja, @Param("tglMulaiBerlaku") String tglMulaiBerlaku, @Param("patternText") String patternText, @Param("detailProduk") String detailProduk, @@ -170,17 +341,12 @@ public interface SkoringTindakanMedisDao extends PagingAndSortingRepository> findSkoringLogbookDokter(@Param("bulan") String bulan, @Param("listPegawaiId") List listIdPegawai, @Param("listKsmId") List listIdKsm); - String strProdukScored = "select distinct new Map(stm.kelompokKerjaId as kelompokKerjaId, stm.produkId as produkId) " - + "from SkoringTindakanMedis stm " + "where stm.statusEnabled is true "; - - String whrKelompokKerja = "and stm.kelompokKerjaId in (:listKelompokKerjaId) "; - - String srtKkProduk = "order by stm.kelompokKerjaId, stm.produkId"; - /** * @return Daftar id produk sudah dilakukan skor remunerasi */ - @Query(strProdukScored + srtKkProduk) + @Query("select distinct new Map(stm.kelompokKerjaId as kelompokKerjaId, stm.produkId as produkId) " + + "from SkoringTindakanMedis stm " + "where stm.statusEnabled is true " + + "order by stm.kelompokKerjaId, stm.produkId") List> findProdukScored(); /** @@ -188,7 +354,9 @@ public interface SkoringTindakanMedisDao extends PagingAndSortingRepository> findProdukScored(@Param("listKelompokKerjaId") List listIdKelompokKerja); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanNakesDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanNakesDao.java index b9c9bea8..7ff3085c 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanNakesDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanNakesDao.java @@ -1,21 +1,19 @@ package com.jasamedika.medifirst2000.dao; -import java.util.List; -import java.util.Map; - +import com.jasamedika.medifirst2000.entities.SkoringTindakanNakes; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; -import com.jasamedika.medifirst2000.entities.SkoringTindakanNakes; +import java.util.List; +import java.util.Map; @Repository("skoringTindakanNakesDao") public interface SkoringTindakanNakesDao extends PagingAndSortingRepository { - String strAllEnabled = "select new Map(stn.noRec as noRec," + "stn.statusEnabled as statusEnabled," - + "stn.skor as skor," + "stn.statusVerifikasi as kdVerif," - + "(case when stn.statusVerifikasi is false then 'Belum Verifikasi' " + @Query("select new Map(stn.noRec as noRec," + "stn.statusEnabled as statusEnabled," + "stn.skor as skor," + + "stn.statusVerifikasi as kdVerif," + "(case when stn.statusVerifikasi is false then 'Belum Verifikasi' " + "when stn.statusVerifikasi is true then 'Terverifikasi' end) as stVerif," + "stn.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stn.tanggalPembaharuanData as tglPembaharuanData," + "prn.id as produkId," + "prn.namaProduk as namaProduk," @@ -25,71 +23,157 @@ public interface SkoringTindakanNakesDao extends PagingAndSortingRepository> findAllEnabled(); - @Query(strAllEnabled + produk + sortSearch) + @Query("select new Map(stn.noRec as noRec," + "stn.statusEnabled as statusEnabled," + "stn.skor as skor," + + "stn.statusVerifikasi as kdVerif," + "(case when stn.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stn.statusVerifikasi is true then 'Terverifikasi' end) as stVerif," + + "stn.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stn.tanggalPembaharuanData as tglPembaharuanData," + + "prn.id as produkId," + "prn.namaProduk as namaProduk," + + "(case when prn.kdProduk = 1 then 'Pelayanan Pasien' " + + "when prn.kdProduk = 2 then 'Nonpelayanan Pasien' end) as jenisProduk," + "pfs.id as profesiId," + + "(case when pfs.jenisProfesi = 1 then concat(pfs.namaProfesi, ' (PPA)') " + + "when pfs.jenisProfesi = 2 then concat(pfs.namaProfesi, ' (Non-PPA)') end) as namaProfesi) " + + "from SkoringTindakanNakes stn " + "inner join stn.produk prn " + "inner join prn.profesi pfs " + + "where stn.statusEnabled is true " + + "and to_char(stn.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd') " + + "and lower(prn.namaProduk) like %:namaProduk% " + "order by pfs.namaProfesi asc, " + + "prn.namaProduk asc, " + "stn.tanggalMulaiBerlaku desc, stn.tanggalPembaharuanData desc") List> findAllEnabledByProduk(@Param("namaProduk") String namaProduk); - @Query(strAllEnabled + statusVerifikasi + sortSearch) + @Query("select new Map(stn.noRec as noRec," + "stn.statusEnabled as statusEnabled," + "stn.skor as skor," + + "stn.statusVerifikasi as kdVerif," + "(case when stn.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stn.statusVerifikasi is true then 'Terverifikasi' end) as stVerif," + + "stn.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stn.tanggalPembaharuanData as tglPembaharuanData," + + "prn.id as produkId," + "prn.namaProduk as namaProduk," + + "(case when prn.kdProduk = 1 then 'Pelayanan Pasien' " + + "when prn.kdProduk = 2 then 'Nonpelayanan Pasien' end) as jenisProduk," + "pfs.id as profesiId," + + "(case when pfs.jenisProfesi = 1 then concat(pfs.namaProfesi, ' (PPA)') " + + "when pfs.jenisProfesi = 2 then concat(pfs.namaProfesi, ' (Non-PPA)') end) as namaProfesi) " + + "from SkoringTindakanNakes stn " + "inner join stn.produk prn " + "inner join prn.profesi pfs " + + "where stn.statusEnabled is true " + + "and to_char(stn.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd') " + + "and stn.statusVerifikasi = :isVerif " + "order by pfs.namaProfesi asc, " + "prn.namaProduk asc, " + + "stn.tanggalMulaiBerlaku desc, stn.tanggalPembaharuanData desc") List> findAllEnabledByVerif(@Param("isVerif") Boolean isVerif); - @Query(strAllEnabled + profesi + sortSearch) + @Query("select new Map(stn.noRec as noRec," + "stn.statusEnabled as statusEnabled," + "stn.skor as skor," + + "stn.statusVerifikasi as kdVerif," + "(case when stn.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stn.statusVerifikasi is true then 'Terverifikasi' end) as stVerif," + + "stn.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stn.tanggalPembaharuanData as tglPembaharuanData," + + "prn.id as produkId," + "prn.namaProduk as namaProduk," + + "(case when prn.kdProduk = 1 then 'Pelayanan Pasien' " + + "when prn.kdProduk = 2 then 'Nonpelayanan Pasien' end) as jenisProduk," + "pfs.id as profesiId," + + "(case when pfs.jenisProfesi = 1 then concat(pfs.namaProfesi, ' (PPA)') " + + "when pfs.jenisProfesi = 2 then concat(pfs.namaProfesi, ' (Non-PPA)') end) as namaProfesi) " + + "from SkoringTindakanNakes stn " + "inner join stn.produk prn " + "inner join prn.profesi pfs " + + "where stn.statusEnabled is true " + + "and to_char(stn.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd') " + + "and pfs.id = :profesiId " + "order by pfs.namaProfesi asc, " + "prn.namaProduk asc, " + + "stn.tanggalMulaiBerlaku desc, stn.tanggalPembaharuanData desc") List> findAllEnabledByProfesi(@Param("profesiId") Integer idProfesi); - @Query(strAllEnabled + produk + statusVerifikasi + sortSearch) + @Query("select new Map(stn.noRec as noRec," + "stn.statusEnabled as statusEnabled," + "stn.skor as skor," + + "stn.statusVerifikasi as kdVerif," + "(case when stn.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stn.statusVerifikasi is true then 'Terverifikasi' end) as stVerif," + + "stn.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stn.tanggalPembaharuanData as tglPembaharuanData," + + "prn.id as produkId," + "prn.namaProduk as namaProduk," + + "(case when prn.kdProduk = 1 then 'Pelayanan Pasien' " + + "when prn.kdProduk = 2 then 'Nonpelayanan Pasien' end) as jenisProduk," + "pfs.id as profesiId," + + "(case when pfs.jenisProfesi = 1 then concat(pfs.namaProfesi, ' (PPA)') " + + "when pfs.jenisProfesi = 2 then concat(pfs.namaProfesi, ' (Non-PPA)') end) as namaProfesi) " + + "from SkoringTindakanNakes stn " + "inner join stn.produk prn " + "inner join prn.profesi pfs " + + "where stn.statusEnabled is true " + + "and to_char(stn.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd') " + + "and lower(prn.namaProduk) like %:namaProduk% " + "and stn.statusVerifikasi = :isVerif " + + "order by pfs.namaProfesi asc, " + "prn.namaProduk asc, " + + "stn.tanggalMulaiBerlaku desc, stn.tanggalPembaharuanData desc") List> findAllEnabledByProdukVerif(@Param("namaProduk") String namaProduk, @Param("isVerif") Boolean isVerif); - @Query(strAllEnabled + produk + profesi + sortSearch) + @Query("select new Map(stn.noRec as noRec," + "stn.statusEnabled as statusEnabled," + "stn.skor as skor," + + "stn.statusVerifikasi as kdVerif," + "(case when stn.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stn.statusVerifikasi is true then 'Terverifikasi' end) as stVerif," + + "stn.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stn.tanggalPembaharuanData as tglPembaharuanData," + + "prn.id as produkId," + "prn.namaProduk as namaProduk," + + "(case when prn.kdProduk = 1 then 'Pelayanan Pasien' " + + "when prn.kdProduk = 2 then 'Nonpelayanan Pasien' end) as jenisProduk," + "pfs.id as profesiId," + + "(case when pfs.jenisProfesi = 1 then concat(pfs.namaProfesi, ' (PPA)') " + + "when pfs.jenisProfesi = 2 then concat(pfs.namaProfesi, ' (Non-PPA)') end) as namaProfesi) " + + "from SkoringTindakanNakes stn " + "inner join stn.produk prn " + "inner join prn.profesi pfs " + + "where stn.statusEnabled is true " + + "and to_char(stn.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd') " + + "and lower(prn.namaProduk) like %:namaProduk% " + "and pfs.id = :profesiId " + + "order by pfs.namaProfesi asc, " + "prn.namaProduk asc, " + + "stn.tanggalMulaiBerlaku desc, stn.tanggalPembaharuanData desc") List> findAllEnabledByProdukProfesi(@Param("namaProduk") String namaProduk, @Param("profesiId") Integer idProfesi); - @Query(strAllEnabled + statusVerifikasi + profesi + sortSearch) + @Query("select new Map(stn.noRec as noRec," + "stn.statusEnabled as statusEnabled," + "stn.skor as skor," + + "stn.statusVerifikasi as kdVerif," + "(case when stn.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stn.statusVerifikasi is true then 'Terverifikasi' end) as stVerif," + + "stn.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stn.tanggalPembaharuanData as tglPembaharuanData," + + "prn.id as produkId," + "prn.namaProduk as namaProduk," + + "(case when prn.kdProduk = 1 then 'Pelayanan Pasien' " + + "when prn.kdProduk = 2 then 'Nonpelayanan Pasien' end) as jenisProduk," + "pfs.id as profesiId," + + "(case when pfs.jenisProfesi = 1 then concat(pfs.namaProfesi, ' (PPA)') " + + "when pfs.jenisProfesi = 2 then concat(pfs.namaProfesi, ' (Non-PPA)') end) as namaProfesi) " + + "from SkoringTindakanNakes stn " + "inner join stn.produk prn " + "inner join prn.profesi pfs " + + "where stn.statusEnabled is true " + + "and to_char(stn.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd') " + + "and stn.statusVerifikasi = :isVerif " + "and pfs.id = :profesiId " + "order by pfs.namaProfesi asc, " + + "prn.namaProduk asc, " + "stn.tanggalMulaiBerlaku desc, stn.tanggalPembaharuanData desc") List> findAllEnabledByVerifProfesi(@Param("isVerif") Boolean isVerif, @Param("profesiId") Integer idProfesi); - @Query(strAllEnabled + produk + statusVerifikasi + profesi + sortSearch) + @Query("select new Map(stn.noRec as noRec," + "stn.statusEnabled as statusEnabled," + "stn.skor as skor," + + "stn.statusVerifikasi as kdVerif," + "(case when stn.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stn.statusVerifikasi is true then 'Terverifikasi' end) as stVerif," + + "stn.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stn.tanggalPembaharuanData as tglPembaharuanData," + + "prn.id as produkId," + "prn.namaProduk as namaProduk," + + "(case when prn.kdProduk = 1 then 'Pelayanan Pasien' " + + "when prn.kdProduk = 2 then 'Nonpelayanan Pasien' end) as jenisProduk," + "pfs.id as profesiId," + + "(case when pfs.jenisProfesi = 1 then concat(pfs.namaProfesi, ' (PPA)') " + + "when pfs.jenisProfesi = 2 then concat(pfs.namaProfesi, ' (Non-PPA)') end) as namaProfesi) " + + "from SkoringTindakanNakes stn " + "inner join stn.produk prn " + "inner join prn.profesi pfs " + + "where stn.statusEnabled is true " + + "and to_char(stn.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd') " + + "and lower(prn.namaProduk) like %:namaProduk% " + "and stn.statusVerifikasi = :isVerif " + + "and pfs.id = :profesiId " + "order by pfs.namaProfesi asc, " + "prn.namaProduk asc, " + + "stn.tanggalMulaiBerlaku desc, stn.tanggalPembaharuanData desc") List> findAllEnabledByProdukVerifProfesi(@Param("namaProduk") String namaProduk, @Param("isVerif") Boolean isVerif, @Param("profesiId") Integer idProfesi); - String strCekDupSkoring = "select stn.noRec " + "from SkoringTindakanNakes stn " + "inner join stn.produk prn " + @Query("select stn.noRec " + "from SkoringTindakanNakes stn " + "inner join stn.produk prn " + "inner join prn.profesi pfs " + "where stn.statusEnabled is true " + "and lower(regexp_replace(prn.namaProduk,:patternText,'','g')) = :namaProduk " - + "and pfs.id = :profesiId "; - - String skor = " and stn.skor = :skor"; - - String tglBerlaku = " and to_char(stn.tanggalMulaiBerlaku,'yyyy-MM-dd') = :tglMulaiBerlaku"; - - String idSkoring = " and stn.noRec <> :noRec"; - - String sortTglBerlaku = " order by stn.tanggalMulaiBerlaku desc"; - - @Query(strCekDupSkoring + skor + sortTglBerlaku) + + "and pfs.id = :profesiId " + " and stn.skor = :skor" + " order by stn.tanggalMulaiBerlaku desc") List findLastDupSkoring(@Param("namaProduk") String namaProduk, @Param("profesiId") Integer idProfesi, @Param("skor") Double skor, @Param("patternText") String patternText); - @Query(strCekDupSkoring + tglBerlaku) + @Query("select stn.noRec " + "from SkoringTindakanNakes stn " + "inner join stn.produk prn " + + "inner join prn.profesi pfs " + "where stn.statusEnabled is true " + + "and lower(regexp_replace(prn.namaProduk,:patternText,'','g')) = :namaProduk " + + "and pfs.id = :profesiId " + " and to_char(stn.tanggalMulaiBerlaku,'yyyy-MM-dd') = :tglMulaiBerlaku") List findDupSkoring(@Param("namaProduk") String namaProduk, @Param("profesiId") Integer idProfesi, @Param("tglMulaiBerlaku") String tglMulaiBerlaku, @Param("patternText") String patternText); - @Query(strCekDupSkoring + skor + idSkoring + sortTglBerlaku) + @Query("select stn.noRec " + "from SkoringTindakanNakes stn " + "inner join stn.produk prn " + + "inner join prn.profesi pfs " + "where stn.statusEnabled is true " + + "and lower(regexp_replace(prn.namaProduk,:patternText,'','g')) = :namaProduk " + + "and pfs.id = :profesiId " + " and stn.skor = :skor" + " and stn.noRec <> :noRec" + + " order by stn.tanggalMulaiBerlaku desc") List findLastDupSkoring(@Param("namaProduk") String namaProduk, @Param("profesiId") Integer idProfesi, @Param("skor") Double skor, @Param("patternText") String patternText, @Param("noRec") String noRec); - @Query(strCekDupSkoring + tglBerlaku + idSkoring) + @Query("select stn.noRec " + "from SkoringTindakanNakes stn " + "inner join stn.produk prn " + + "inner join prn.profesi pfs " + "where stn.statusEnabled is true " + + "and lower(regexp_replace(prn.namaProduk,:patternText,'','g')) = :namaProduk " + + "and pfs.id = :profesiId " + " and to_char(stn.tanggalMulaiBerlaku,'yyyy-MM-dd') = :tglMulaiBerlaku" + + " and stn.noRec <> :noRec") List findDupSkoring(@Param("namaProduk") String namaProduk, @Param("profesiId") Integer idProfesi, @Param("tglMulaiBerlaku") String tglMulaiBerlaku, @Param("patternText") String patternText, @Param("noRec") String noRec); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanPerawatDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanPerawatDao.java index 93abbb0e..8112aec2 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanPerawatDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanPerawatDao.java @@ -1,91 +1,150 @@ package com.jasamedika.medifirst2000.dao; -import java.util.List; -import java.util.Map; - +import com.jasamedika.medifirst2000.entities.SkoringTindakanPerawat; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; -import com.jasamedika.medifirst2000.entities.SkoringTindakanPerawat; +import java.util.List; +import java.util.Map; @Repository("skoringTindakanPerawatDao") public interface SkoringTindakanPerawatDao extends PagingAndSortingRepository { - String strAllEnabled = "select new Map(stp.noRec as noRec," + "stp.statusEnabled as statusEnabled," - + "stp.skor as skor," + "stp.statusVerifikasi as kdVerif," - + "(case when stp.statusVerifikasi is false then 'Belum Verifikasi' " + @Query("select new Map(stp.noRec as noRec," + "stp.statusEnabled as statusEnabled," + "stp.skor as skor," + + "stp.statusVerifikasi as kdVerif," + "(case when stp.statusVerifikasi is false then 'Belum Verifikasi' " + "when stp.statusVerifikasi is true then 'Terverifikasi' end) as stVerif," + "stp.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stp.tanggalPembaharuanData as tglPembaharuanData," + "prp.id as produkId,prp.namaProduk as namaProduk," + "prp.klasifikasi as kdKlasif," + "(case when prp.klasifikasi = 0 then 'Tidak Ada' " + "when prp.klasifikasi = 1 then 'Asuhan' " + "when prp.klasifikasi = 2 then 'Tindakan' " + "when prp.klasifikasi = 3 then 'Laporan' end) as stKlasif) " + "from SkoringTindakanPerawat stp " + "inner join stp.produk prp " + "where stp.statusEnabled is true " - + "and to_char(stp.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')"; - - String produk = " and lower(prp.namaProduk) like %:namaProduk%"; - - String statusVerifikasi = " and stp.statusVerifikasi = :isVerif"; - - String statusKlasifikasi = " and prp.klasifikasi = :kdKlasif"; - - String sortSearch = " order by prp.namaProduk asc, " - + "stp.tanggalMulaiBerlaku desc, stp.tanggalPembaharuanData desc"; - - @Query(strAllEnabled + sortSearch) + + "and to_char(stp.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " order by prp.namaProduk asc, " + "stp.tanggalMulaiBerlaku desc, stp.tanggalPembaharuanData desc") List> findAllEnabled(); - @Query(strAllEnabled + produk + sortSearch) + @Query("select new Map(stp.noRec as noRec," + "stp.statusEnabled as statusEnabled," + "stp.skor as skor," + + "stp.statusVerifikasi as kdVerif," + "(case when stp.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stp.statusVerifikasi is true then 'Terverifikasi' end) as stVerif," + + "stp.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stp.tanggalPembaharuanData as tglPembaharuanData," + + "prp.id as produkId,prp.namaProduk as namaProduk," + "prp.klasifikasi as kdKlasif," + + "(case when prp.klasifikasi = 0 then 'Tidak Ada' " + "when prp.klasifikasi = 1 then 'Asuhan' " + + "when prp.klasifikasi = 2 then 'Tindakan' " + "when prp.klasifikasi = 3 then 'Laporan' end) as stKlasif) " + + "from SkoringTindakanPerawat stp " + "inner join stp.produk prp " + "where stp.statusEnabled is true " + + "and to_char(stp.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " and lower(prp.namaProduk) like %:namaProduk%" + " order by prp.namaProduk asc, " + + "stp.tanggalMulaiBerlaku desc, stp.tanggalPembaharuanData desc") List> findAllEnabledByProduk(@Param("namaProduk") String namaProduk); - @Query(strAllEnabled + statusVerifikasi + sortSearch) + @Query("select new Map(stp.noRec as noRec," + "stp.statusEnabled as statusEnabled," + "stp.skor as skor," + + "stp.statusVerifikasi as kdVerif," + "(case when stp.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stp.statusVerifikasi is true then 'Terverifikasi' end) as stVerif," + + "stp.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stp.tanggalPembaharuanData as tglPembaharuanData," + + "prp.id as produkId,prp.namaProduk as namaProduk," + "prp.klasifikasi as kdKlasif," + + "(case when prp.klasifikasi = 0 then 'Tidak Ada' " + "when prp.klasifikasi = 1 then 'Asuhan' " + + "when prp.klasifikasi = 2 then 'Tindakan' " + "when prp.klasifikasi = 3 then 'Laporan' end) as stKlasif) " + + "from SkoringTindakanPerawat stp " + "inner join stp.produk prp " + "where stp.statusEnabled is true " + + "and to_char(stp.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " and stp.statusVerifikasi = :isVerif" + " order by prp.namaProduk asc, " + + "stp.tanggalMulaiBerlaku desc, stp.tanggalPembaharuanData desc") List> findAllEnabledByVerif(@Param("isVerif") Boolean isVerif); - @Query(strAllEnabled + statusKlasifikasi + sortSearch) + @Query("select new Map(stp.noRec as noRec," + "stp.statusEnabled as statusEnabled," + "stp.skor as skor," + + "stp.statusVerifikasi as kdVerif," + "(case when stp.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stp.statusVerifikasi is true then 'Terverifikasi' end) as stVerif," + + "stp.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stp.tanggalPembaharuanData as tglPembaharuanData," + + "prp.id as produkId,prp.namaProduk as namaProduk," + "prp.klasifikasi as kdKlasif," + + "(case when prp.klasifikasi = 0 then 'Tidak Ada' " + "when prp.klasifikasi = 1 then 'Asuhan' " + + "when prp.klasifikasi = 2 then 'Tindakan' " + "when prp.klasifikasi = 3 then 'Laporan' end) as stKlasif) " + + "from SkoringTindakanPerawat stp " + "inner join stp.produk prp " + "where stp.statusEnabled is true " + + "and to_char(stp.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " and prp.klasifikasi = :kdKlasif" + " order by prp.namaProduk asc, " + + "stp.tanggalMulaiBerlaku desc, stp.tanggalPembaharuanData desc") List> findAllEnabledByKlasif(@Param("kdKlasif") Short kdKlasif); - @Query(strAllEnabled + produk + statusVerifikasi + sortSearch) + @Query("select new Map(stp.noRec as noRec," + "stp.statusEnabled as statusEnabled," + "stp.skor as skor," + + "stp.statusVerifikasi as kdVerif," + "(case when stp.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stp.statusVerifikasi is true then 'Terverifikasi' end) as stVerif," + + "stp.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stp.tanggalPembaharuanData as tglPembaharuanData," + + "prp.id as produkId,prp.namaProduk as namaProduk," + "prp.klasifikasi as kdKlasif," + + "(case when prp.klasifikasi = 0 then 'Tidak Ada' " + "when prp.klasifikasi = 1 then 'Asuhan' " + + "when prp.klasifikasi = 2 then 'Tindakan' " + "when prp.klasifikasi = 3 then 'Laporan' end) as stKlasif) " + + "from SkoringTindakanPerawat stp " + "inner join stp.produk prp " + "where stp.statusEnabled is true " + + "and to_char(stp.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " and lower(prp.namaProduk) like %:namaProduk%" + " and stp.statusVerifikasi = :isVerif" + + " order by prp.namaProduk asc, " + "stp.tanggalMulaiBerlaku desc, stp.tanggalPembaharuanData desc") List> findAllEnabledByProdukVerif(@Param("namaProduk") String namaProduk, @Param("isVerif") Boolean isVerif); - @Query(strAllEnabled + produk + statusKlasifikasi + sortSearch) + @Query("select new Map(stp.noRec as noRec," + "stp.statusEnabled as statusEnabled," + "stp.skor as skor," + + "stp.statusVerifikasi as kdVerif," + "(case when stp.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stp.statusVerifikasi is true then 'Terverifikasi' end) as stVerif," + + "stp.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stp.tanggalPembaharuanData as tglPembaharuanData," + + "prp.id as produkId,prp.namaProduk as namaProduk," + "prp.klasifikasi as kdKlasif," + + "(case when prp.klasifikasi = 0 then 'Tidak Ada' " + "when prp.klasifikasi = 1 then 'Asuhan' " + + "when prp.klasifikasi = 2 then 'Tindakan' " + "when prp.klasifikasi = 3 then 'Laporan' end) as stKlasif) " + + "from SkoringTindakanPerawat stp " + "inner join stp.produk prp " + "where stp.statusEnabled is true " + + "and to_char(stp.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " and lower(prp.namaProduk) like %:namaProduk%" + " and prp.klasifikasi = :kdKlasif" + + " order by prp.namaProduk asc, " + "stp.tanggalMulaiBerlaku desc, stp.tanggalPembaharuanData desc") List> findAllEnabledByProdukKlasif(@Param("namaProduk") String namaProduk, @Param("kdKlasif") Short kdKlasif); - @Query(strAllEnabled + statusVerifikasi + statusKlasifikasi + sortSearch) + @Query("select new Map(stp.noRec as noRec," + "stp.statusEnabled as statusEnabled," + "stp.skor as skor," + + "stp.statusVerifikasi as kdVerif," + "(case when stp.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stp.statusVerifikasi is true then 'Terverifikasi' end) as stVerif," + + "stp.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stp.tanggalPembaharuanData as tglPembaharuanData," + + "prp.id as produkId,prp.namaProduk as namaProduk," + "prp.klasifikasi as kdKlasif," + + "(case when prp.klasifikasi = 0 then 'Tidak Ada' " + "when prp.klasifikasi = 1 then 'Asuhan' " + + "when prp.klasifikasi = 2 then 'Tindakan' " + "when prp.klasifikasi = 3 then 'Laporan' end) as stKlasif) " + + "from SkoringTindakanPerawat stp " + "inner join stp.produk prp " + "where stp.statusEnabled is true " + + "and to_char(stp.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " and stp.statusVerifikasi = :isVerif" + " and prp.klasifikasi = :kdKlasif" + + " order by prp.namaProduk asc, " + "stp.tanggalMulaiBerlaku desc, stp.tanggalPembaharuanData desc") List> findAllEnabledByVerifKlasif(@Param("isVerif") Boolean isVerif, @Param("kdKlasif") Short kdKlasif); - @Query(strAllEnabled + produk + statusVerifikasi + statusKlasifikasi + sortSearch) + @Query("select new Map(stp.noRec as noRec," + "stp.statusEnabled as statusEnabled," + "stp.skor as skor," + + "stp.statusVerifikasi as kdVerif," + "(case when stp.statusVerifikasi is false then 'Belum Verifikasi' " + + "when stp.statusVerifikasi is true then 'Terverifikasi' end) as stVerif," + + "stp.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stp.tanggalPembaharuanData as tglPembaharuanData," + + "prp.id as produkId,prp.namaProduk as namaProduk," + "prp.klasifikasi as kdKlasif," + + "(case when prp.klasifikasi = 0 then 'Tidak Ada' " + "when prp.klasifikasi = 1 then 'Asuhan' " + + "when prp.klasifikasi = 2 then 'Tindakan' " + "when prp.klasifikasi = 3 then 'Laporan' end) as stKlasif) " + + "from SkoringTindakanPerawat stp " + "inner join stp.produk prp " + "where stp.statusEnabled is true " + + "and to_char(stp.tanggalMulaiBerlaku,'yyyy-MM-dd') <= to_char(now(),'yyyy-MM-dd')" + + " and lower(prp.namaProduk) like %:namaProduk%" + " and stp.statusVerifikasi = :isVerif" + + " and prp.klasifikasi = :kdKlasif" + " order by prp.namaProduk asc, " + + "stp.tanggalMulaiBerlaku desc, stp.tanggalPembaharuanData desc") List> findAllEnabledByProdukVerifKlasif(@Param("namaProduk") String namaProduk, @Param("isVerif") Boolean isVerif, @Param("kdKlasif") Short kdKlasif); - String strCekDupSkoring = "select stp.noRec " + "from SkoringTindakanPerawat stp " + "inner join stp.produk prp " + @Query("select stp.noRec " + "from SkoringTindakanPerawat stp " + "inner join stp.produk prp " + "where stp.statusEnabled is true " - + "and lower(regexp_replace(prp.namaProduk,:patternText,'','g')) = :namaProduk"; - - String skor = " and stp.skor = :skor"; - - String tglBerlaku = " and to_char(stp.tanggalMulaiBerlaku,'yyyy-MM-dd') = :tglMulaiBerlaku"; - - String idSkoring = " and stp.noRec <> :noRec"; - - String sortTglBerlaku = " order by stp.tanggalMulaiBerlaku desc"; - - @Query(strCekDupSkoring + skor + sortTglBerlaku) + + "and lower(regexp_replace(prp.namaProduk,:patternText,'','g')) = :namaProduk" + " and stp.skor = :skor" + + " order by stp.tanggalMulaiBerlaku desc") List findLastDupSkoring(@Param("namaProduk") String namaProduk, @Param("skor") Double skor, @Param("patternText") String patternText); - @Query(strCekDupSkoring + tglBerlaku) + @Query("select stp.noRec " + "from SkoringTindakanPerawat stp " + "inner join stp.produk prp " + + "where stp.statusEnabled is true " + + "and lower(regexp_replace(prp.namaProduk,:patternText,'','g')) = :namaProduk" + + " and to_char(stp.tanggalMulaiBerlaku,'yyyy-MM-dd') = :tglMulaiBerlaku") List findDupSkoring(@Param("namaProduk") String namaProduk, @Param("tglMulaiBerlaku") String tglMulaiBerlaku, @Param("patternText") String patternText); - @Query(strCekDupSkoring + skor + idSkoring + sortTglBerlaku) + @Query("select stp.noRec " + "from SkoringTindakanPerawat stp " + "inner join stp.produk prp " + + "where stp.statusEnabled is true " + + "and lower(regexp_replace(prp.namaProduk,:patternText,'','g')) = :namaProduk" + " and stp.skor = :skor" + + " and stp.noRec <> :noRec" + " order by stp.tanggalMulaiBerlaku desc") List findLastDupSkoring(@Param("namaProduk") String namaProduk, @Param("skor") Double skor, @Param("patternText") String patternText, @Param("noRec") String noRec); - @Query(strCekDupSkoring + tglBerlaku + idSkoring) + @Query("select stp.noRec " + "from SkoringTindakanPerawat stp " + "inner join stp.produk prp " + + "where stp.statusEnabled is true " + + "and lower(regexp_replace(prp.namaProduk,:patternText,'','g')) = :namaProduk" + + " and to_char(stp.tanggalMulaiBerlaku,'yyyy-MM-dd') = :tglMulaiBerlaku" + " and stp.noRec <> :noRec") List findDupSkoring(@Param("namaProduk") String namaProduk, @Param("tglMulaiBerlaku") String tglMulaiBerlaku, @Param("patternText") String patternText, @Param("noRec") String noRec); From 43c4a40c837f7dc34acd1f1eca12e274bbccbb4a Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Wed, 31 Jan 2024 17:16:59 +0700 Subject: [PATCH 02/10] Update AsalAnggaranDaoTest.java Clean code --- .../dao/test/AsalAnggaranDaoTest.java | 39 +------------------ 1 file changed, 1 insertion(+), 38 deletions(-) diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/AsalAnggaranDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/AsalAnggaranDaoTest.java index e5f16977..d05dd640 100644 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/AsalAnggaranDaoTest.java +++ b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/AsalAnggaranDaoTest.java @@ -3,53 +3,16 @@ package com.jasamedika.medifirst2000.dao.test; /**Agama Class Test */ -import static org.junit.Assert.assertNull; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; -import java.util.TimeZone; - import org.junit.Test; import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import com.jasamedika.medifirst2000.dao.AsalAnggaranDao; -import com.jasamedika.medifirst2000.entities.AsalAnggaran; -import com.jasamedika.medifirst2000.util.DateUtil; - @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") public class AsalAnggaranDaoTest { - /*@Autowired - private AsalAnggaranDao dao; - @Test - public void testFindById() { - AsalAnggaran result = dao.findOne(1); - assertNull(result); - } - */ - - public static void main(String[]args) throws ParseException{ - - /*String[] dayNameArray = {"Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"}; - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); - - String dayName = dayNameArray[DateUtil.now().getDay()-1]; - String dateNumber = String.valueOf(DateUtil.now().getDate()); - String dateFullFormat = format.format(DateUtil.now().getTime()); - - String time = new SimpleDateFormat("HH:mm").format(Calendar.getInstance().getTime()); - - SimpleDateFormat format = new SimpleDateFormat("HH:mm"); - Date date1 = format.parse(time); - Date date2 = format.parse("12:00"); - Long timeNow = date1.getTime(); - Long timeEnd = date2.getTime();*/ + public void contextLoad() { } } From 1b6c47d809641b84ff92bdf35a6f1bf348cea97c Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Wed, 31 Jan 2024 17:19:53 +0700 Subject: [PATCH 03/10] Update pom files Exclude lowagie dan olap4j inside jaspersofts dependency --- jasamedika-reporting/pom.xml | 10 ++++++++++ jasamedika-web/pom.xml | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/jasamedika-reporting/pom.xml b/jasamedika-reporting/pom.xml index 7a541c6a..ec5066c3 100644 --- a/jasamedika-reporting/pom.xml +++ b/jasamedika-reporting/pom.xml @@ -202,6 +202,16 @@ net.sf.jasperreports jasperreports 6.11.0 + + + com.lowagie + itext + + + org.olap4j + olap4j + + diff --git a/jasamedika-web/pom.xml b/jasamedika-web/pom.xml index 586c3565..f146fd9d 100644 --- a/jasamedika-web/pom.xml +++ b/jasamedika-web/pom.xml @@ -210,6 +210,16 @@ net.sf.jasperreports jasperreports 6.11.0 + + + com.lowagie + itext + + + org.olap4j + olap4j + + From c111f6296618220b59c7f948102a8aef078c397a Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Wed, 31 Jan 2024 17:20:21 +0700 Subject: [PATCH 04/10] Create mode entity Add master Jenis Log --- .../logging/dao/JenisLogDao.java | 14 + .../medifirst2000/entities/JenisLog.java | 35 ++ .../medifirst2000/entities/UserLogging.java | 110 +--- .../medifirst2000/vo/JenisLogVO.java | 21 + .../medifirst2000/entities/JenisLogTests.java | 473 ++++++++++++++++++ 5 files changed, 563 insertions(+), 90 deletions(-) create mode 100644 jasamedika-business/src/main/java/com/jasamedika/medifirst2000/logging/dao/JenisLogDao.java create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/JenisLog.java create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/JenisLogVO.java create mode 100644 jasamedika-it/src/test/java/com/jasamedika/medifirst2000/entities/JenisLogTests.java diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/logging/dao/JenisLogDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/logging/dao/JenisLogDao.java new file mode 100644 index 00000000..121ab3cb --- /dev/null +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/logging/dao/JenisLogDao.java @@ -0,0 +1,14 @@ +package com.jasamedika.medifirst2000.logging.dao; + +import com.jasamedika.medifirst2000.entities.JenisLog; +import org.springframework.data.jpa.repository.JpaRepository; + +/** + * @author Salman + * @version 1.0.0 + * @since 31/01/2024 + */ +public interface JenisLogDao extends JpaRepository { + + boolean existsByJenisLog(String jenisLog); +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/JenisLog.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/JenisLog.java new file mode 100644 index 00000000..3384585b --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/JenisLog.java @@ -0,0 +1,35 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseActive; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.validator.constraints.NotBlank; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.io.Serializable; + +/** + * @author Salman + * @version 1.0.0 + * @since 31/01/2024 + */ +@Getter +@Setter +@Entity +@Table(name = "jenis_log_m") +public class JenisLog extends BaseActive implements Serializable { + private static final long serialVersionUID = -5796583173860610757L; + + @Id + @Column(name = "id", columnDefinition = "bigserial") + protected Long id; + + @Column(nullable = false) + @NotBlank + @Caption("Jenis Log") + private String jenisLog; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/UserLogging.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/UserLogging.java index bb7ab9d6..672c4206 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/UserLogging.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/UserLogging.java @@ -1,125 +1,55 @@ package com.jasamedika.medifirst2000.entities; -import java.util.Date; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.validation.constraints.NotNull; - -import org.hibernate.annotations.GenericGenerator; - import com.jasamedika.medifirst2000.base.BaseMaster; import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; +import javax.persistence.*; +import java.util.Date; + +import static javax.persistence.FetchType.LAZY; +import static javax.persistence.GenerationType.SEQUENCE; + +@Getter +@Setter @Entity @Table(name = "logginguser_t") public class UserLogging extends BaseMaster { + private static final long serialVersionUID = -5155757628971170710L; @Id - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.logginguser_t_id_seq") - @javax.persistence.SequenceGenerator(name = "public.logginguser_t_id_seq", sequenceName = "public.logginguser_t_id_seq", allocationSize = 1) + @GeneratedValue(strategy = SEQUENCE, generator = "public.logginguser_t_id_seq") + @SequenceGenerator(name = "public.logginguser_t_id_seq", sequenceName = "public.logginguser_t_id_seq", allocationSize = 1) @Column(name = "id") protected Integer id; - @Column(name = "tanggal", nullable = true) + @Column(name = "tanggal") @Temporal(TemporalType.TIMESTAMP) @Caption(value = "Tanggal") private Date tanggal; - @ManyToOne + @ManyToOne(fetch = LAZY) @JoinColumn(name = "objectloginuserfk") @Caption(value = "User Login") private LoginUser loginUser; - @Column(name = "objectloginuserfk", insertable = false, updatable = false, nullable = true) + @Column(name = "objectloginuserfk", insertable = false, updatable = false) private Integer loginUserId; - @Column(name = "jenislog", nullable = true, length = 500) + @Column(name = "jenislog", length = 500) @Caption(value = "Jenis Log") private String jenisLog; - @Column(name = "noreff", nullable = true, columnDefinition = "CHAR(32)") + @Column(name = "noreff", columnDefinition = "CHAR(32)") @Caption(value = "No Referensi") private String noReff; - @Column(name = "referensi", nullable = true, length = 100) + @Column(name = "referensi", length = 100) @Caption(value = "Referensi") private String referensi; - @Column(name = "keterangan", nullable = true, length = 200) + @Column(name = "keterangan", length = 200) @Caption(value = "Keterangan") private String keterangan; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public Date getTanggal() { - return tanggal; - } - - public void setTanggal(Date tanggal) { - this.tanggal = tanggal; - } - - public LoginUser getLoginUser() { - return loginUser; - } - - public void setLoginUser(LoginUser loginUser) { - this.loginUser = loginUser; - } - - public Integer getLoginUserId() { - return loginUserId; - } - - public void setLoginUserId(Integer loginUserId) { - this.loginUserId = loginUserId; - } - - public String getJenisLog() { - return jenisLog; - } - - public void setJenisLog(String jenisLog) { - this.jenisLog = jenisLog; - } - - public String getNoReff() { - return noReff; - } - - public void setNoReff(String noReff) { - this.noReff = noReff; - } - - public String getReferensi() { - return referensi; - } - - public void setReferensi(String referensi) { - this.referensi = referensi; - } - - public String getKeterangan() { - return keterangan; - } - - public void setKeterangan(String keterangan) { - this.keterangan = keterangan; - } - } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/JenisLogVO.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/JenisLogVO.java new file mode 100644 index 00000000..8313b03b --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/JenisLogVO.java @@ -0,0 +1,21 @@ +package com.jasamedika.medifirst2000.vo; + +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.validator.constraints.NotBlank; + +/** + * @author Salman + * @version 1.0.0 + * @since 31/01/2024 + */ +@Getter +@Setter +public class JenisLogVO { + protected Long id; + + @NotBlank + @Caption("Jenis Log") + private String jenisLog; +} diff --git a/jasamedika-it/src/test/java/com/jasamedika/medifirst2000/entities/JenisLogTests.java b/jasamedika-it/src/test/java/com/jasamedika/medifirst2000/entities/JenisLogTests.java new file mode 100644 index 00000000..484a09cb --- /dev/null +++ b/jasamedika-it/src/test/java/com/jasamedika/medifirst2000/entities/JenisLogTests.java @@ -0,0 +1,473 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.logging.dao.JenisLogDao; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.transaction.annotation.Transactional; + +/** + * @author Salman + * @version 1.0.0 + * @since 31/01/2024 + */ +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") +public class JenisLogTests { + private final Logger LOGGER = LoggerFactory.getLogger(JenisLogTests.class); + + @Autowired + private JenisLogDao jenisLogDao; + + @Test + @Transactional + public void initJenisLog() { + if (!jenisLogDao.existsByJenisLog("Batal Bayar")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Batal Bayar"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Batal Input Master Barang Produksi")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Batal Input Master Barang Produksi"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Batal Input Pengajuan Pelatihan")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Batal Input Pengajuan Pelatihan"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Batal Keluhan Pelanggan")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Batal Keluhan Pelanggan"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Batal Kirim")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Batal Kirim"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Batal Penanganan Keluhan Pelanggan")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Batal Penanganan Keluhan Pelanggan"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Batal Penelitian Kegiatan Eksternal")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Batal Penelitian Kegiatan Eksternal"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Batal Penelitian Kegiatan Pegawai")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Batal Penelitian Kegiatan Pegawai"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Batal Rawat Inap")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Batal Rawat Inap"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Batal Usulan Permintaan Barang")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Batal Usulan Permintaan Barang"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("CPPT")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("CPPT"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Diagnosis")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Diagnosis"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Diskon Layanan")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Diskon Layanan"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Edit Registrasi")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Edit Registrasi"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Hapus ChartOfAccout")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Hapus ChartOfAccout"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Hapus Konsul")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Hapus Konsul"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Hapus Layanan")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Hapus Layanan"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Hapus Layanan Tidak Terklaim")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Hapus Layanan Tidak Terklaim"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Hapus Registrasi")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Hapus Registrasi"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Hapus Resep Apotik")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Hapus Resep Apotik"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Input Barang Kadaluarsa")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Input Barang Kadaluarsa"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Input Resep Apotik")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Input Resep Apotik"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Input SEP")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Input SEP"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Input Tindakan")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Input Tindakan"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Input/Ubah Petugas Layanan")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Input/Ubah Petugas Layanan"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Keluhan Pelanggan")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Keluhan Pelanggan"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Klaim Tindakan Tidak Terklaim")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Klaim Tindakan Tidak Terklaim"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Konsul Ruangan")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Konsul Ruangan"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Konsultasi")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Konsultasi"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Login User")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Login User"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Order Jadwal Bedah")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Order Jadwal Bedah"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Order Laboratorium")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Order Laboratorium"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Order Radiologi")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Order Radiologi"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Order Resep")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Order Resep"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Pasien Pindah")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Pasien Pindah"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Pasien Pulang")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Pasien Pulang"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Pendaftaran Pasien")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Pendaftaran Pasien"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Pengkajian Awal")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Pengkajian Awal"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Pengkajian Keperawatan")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Pengkajian Keperawatan"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Resume Medis")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Resume Medis"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Retur Resep Apotik")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Retur Resep Apotik"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Save SPPB Struk Order")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Save SPPB Struk Order"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Simpan EMR ICU")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Simpan EMR ICU"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Simpan Penelitian Kegiatan Eksternal")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Simpan Penelitian Kegiatan Eksternal"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Simpan Penelitian Kegiatan Pegawai")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Simpan Penelitian Kegiatan Pegawai"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Simpan Struk Pelayanan")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Simpan Struk Pelayanan"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Status Kehadiran Peserta Pelatihan")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Status Kehadiran Peserta Pelatihan"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Stok Opname")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Stok Opname"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Summary List")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Summary List"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Tambah Produk")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Tambah Produk"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Ubah Penelitian Kegiatan Eksternal")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Ubah Penelitian Kegiatan Eksternal"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Ubah Penelitian Kegiatan Pegawai")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Ubah Penelitian Kegiatan Pegawai"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Ubah Produk")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Ubah Produk"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Ubah Rekanan")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Ubah Rekanan"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Ubah Tgl Detail Registrasi")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Ubah Tgl Detail Registrasi"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Ubah Tgl Pelayanan")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Ubah Tgl Pelayanan"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Unverifikasi Pengajuan Pelatihan Bag SDM")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Unverifikasi Pengajuan Pelatihan Bag SDM"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Unverifikasi TataRekening")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Unverifikasi TataRekening"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Update NoStruk Terima Barang")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Update NoStruk Terima Barang"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Update Struk Pelayanan")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Update Struk Pelayanan"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Verifikasi Order Laboratorium")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Verifikasi Order Laboratorium"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Verifikasi Pengajuan Pelatihan Bag SDM")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Verifikasi Pengajuan Pelatihan Bag SDM"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + if (!jenisLogDao.existsByJenisLog("Verifikasi TataRekening")) { + JenisLog jenisLog = new JenisLog(); + jenisLog.setJenisLog("Verifikasi TataRekening"); + jenisLog.setStatusEnabled(true); + jenisLog.setKdProfile((short) 0); + jenisLogDao.save(jenisLog); + } + + LOGGER.info("Initiate jenis log data...!"); + } +} From 883e7712db406acfad13f14fd3f55929f58c18cd Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Thu, 1 Feb 2024 18:10:40 +0700 Subject: [PATCH 05/10] Update application interceptor Clean code --- .../interceptor/AppInterceptor.java | 164 +---- .../interceptor/AppInterceptor.java | 683 ++++------------- .../interceptor/AppInterceptor.java | 682 ++++------------- .../interceptor/AppInterceptor.java | 683 ++++------------- .../interceptor/AppInterceptor.java | 683 ++++------------- .../interceptor/AppInterceptor.java | 682 ++++------------- .../interceptor/AppInterceptor.java | 685 ++++-------------- .../interceptor/AppInterceptor.java | 683 ++++------------- .../interceptor/AppInterceptor.java | 682 ++++------------- .../interceptor/AppInterceptor.java | 683 ++++------------- 10 files changed, 1253 insertions(+), 5057 deletions(-) diff --git a/jasamedika-bridging/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java b/jasamedika-bridging/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java index fd092ec0..4b16a514 100644 --- a/jasamedika-bridging/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java +++ b/jasamedika-bridging/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java @@ -1,176 +1,32 @@ package com.jasamedika.medifirst2000.interceptor; -import java.lang.reflect.Method; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.core.Authentication; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; -import com.jasamedika.medifirst2000.constants.Constants; -import com.jasamedika.medifirst2000.dao.LoginUserDao; -import com.jasamedika.medifirst2000.dao.MapLoginUserToRuanganDao; -import com.jasamedika.medifirst2000.dao.MapObjekModulToKelompokUserDao; -import com.jasamedika.medifirst2000.entities.KelompokUser; -import com.jasamedika.medifirst2000.entities.LoginUser; -import com.jasamedika.medifirst2000.entities.MapObjekModulToKelompokUser; -import com.jasamedika.medifirst2000.security.model.AppPermission; -import com.jasamedika.medifirst2000.security.service.TokenAuthenticationService; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.lang.reflect.Method; /** * Interceptor class for All annotation method controller @AppPermission - * + * * @author Roberto */ public class AppInterceptor implements HandlerInterceptor { - - private final Logger LOG = LoggerFactory.getLogger(AppInterceptor.class); - - @Autowired - private TokenAuthenticationService tokenAuthenticationService; - - @Autowired - private LoginUserDao loginUserDao; - - @Autowired - private MapObjekModulToKelompokUserDao mapObjekModulToKelompokUserDao; - -// @Autowired -// private MapLoginUserToRuanganDao mapLoginUserToRuanganDao; - - public AppInterceptor() {} - - /* - * return true untuk valid permission request ke controller method - * */ + @Override - public boolean preHandle(HttpServletRequest request, - HttpServletResponse response, Object handler) throws Exception { - try { - HandlerMethod hm = (HandlerMethod) handler; - Method method = hm.getMethod(); - - if (method.isAnnotationPresent(AppPermission.class)) {/* - String moduleName = request.getHeader(Constants.HttpHeader.MODULE) == null ? "" : request.getHeader(Constants.HttpHeader.MODULE); - String formName = request.getHeader(Constants.HttpHeader.FORM) == null ? "" : request.getHeader(Constants.HttpHeader.FORM); - String action = request.getHeader(Constants.HttpHeader.ACTION) == null ? "" : request.getHeader(Constants.HttpHeader.ACTION); - - String methodName = method.getAnnotation(AppPermission.class) - .value(); - Authentication authentication = tokenAuthenticationService - .getAuthentication(request); - String namaUser = authentication.getName(); - List loginUser = loginUserDao.findByNamaUser(namaUser); - if (loginUser.isEmpty()) { - // untuk testing false -// response.addHeader("Access-Control-Expose-Headers", "content-type"); - response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "User " - + namaUser + " can not access Controller " + methodName); - response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); - return false; - } - - // get user login - if (!loginUser.isEmpty()) { - LoginUser user = loginUser.get(0); - - // get application modules - KelompokUser role = user.getKelompokUser(); - boolean result = false; - if (role != null) { - List objekModules = mapObjekModulToKelompokUserDao.findByKelompokUser(role.getId()); - if (!objekModules.isEmpty()) { - // matching current module to user's module - for (MapObjekModulToKelompokUser module : objekModules) { - if (moduleName.equals(module.getReportDisplay())) { - LOG.info("Module match"); - - // matching user's action - switch (action.toLowerCase()) { - case "save": - case "simpan": - if (module.getSimpan()) - result = true; - break; - case "edit": - case "ubah": - if (module.getEdit()) - result = true; - break; - case "print": - case "cetak": - if (module.getCetak()) - result = true; - break; - case "delete": - case "hapus": - if (module.getHapus()) - result = true; - break; - } - - break; - } - } - - - if (result) { - response.setStatus(HttpServletResponse.SC_OK); - response.setHeader(Constants.MessageInfo.INFO_MESSAGE, "Supervise execution success"); - return true; - } else { - response.addHeader("RequireSupervisor", "true"); - response.setStatus(HttpServletResponse.SC_FORBIDDEN); - response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Action requires supervisor"); - return false; - } - - } else { - LOG.info("User {} has no access to module application"); - response.setStatus(HttpServletResponse.SC_FORBIDDEN); - response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "User has no access to module application"); - return false; - } - - } else { - LOG.info("User {} has no role to gain access restricted area", namaUser); - response.setStatus(HttpServletResponse.SC_FORBIDDEN); - response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "User has no role to gain access restricted area"); - return false; - } - } else { - LOG.info("User {} is unauthorized", namaUser); - response.setStatus(HttpServletResponse.SC_FORBIDDEN); - response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "User is unauthorized"); - return false; - } - */ - - return true; - - } - } catch (Exception e) { - System.out.println("Not Found "+request.getRequestURL()); - } + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { + HandlerMethod hm = (HandlerMethod) handler; + Method method = hm.getMethod(); return true; } @Override - public void afterCompletion(HttpServletRequest request, - HttpServletResponse response, Object obj, Exception ex) - throws Exception { + public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) { } @Override - public void postHandle(HttpServletRequest request, HttpServletResponse response, - Object obj, ModelAndView mav) throws Exception { + public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) { } - } \ No newline at end of file diff --git a/jasamedika-cssd/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java b/jasamedika-cssd/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java index bb5fd62f..c477fb4e 100644 --- a/jasamedika-cssd/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java +++ b/jasamedika-cssd/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java @@ -1,70 +1,49 @@ package com.jasamedika.medifirst2000.interceptor; -import java.lang.reflect.Method; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - +import com.jasamedika.medifirst2000.constants.Constants; +import com.jasamedika.medifirst2000.dao.LoginUserDao; +import com.jasamedika.medifirst2000.dao.RuanganDao; +import com.jasamedika.medifirst2000.entities.*; +import com.jasamedika.medifirst2000.notification.MessagePublisher; +import com.jasamedika.medifirst2000.security.model.AppPermission; +import com.jasamedika.medifirst2000.security.service.TokenAuthenticationService; +import com.jasamedika.medifirst2000.service.*; +import com.jasamedika.medifirst2000.util.CommonUtil; +import com.jasamedika.medifirst2000.vo.NotifMessagingSchedulerVO; +import com.jasamedika.medifirst2000.vo.NotifMessagingVO; +import com.jasamedika.medifirst2000.vo.NotifikasiMessageObjekModulVO; +import com.jasamedika.medifirst2000.vo.ObjekModulAplikasiVO; import org.apache.commons.lang3.ArrayUtils; import org.json.JSONArray; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; -import com.jasamedika.medifirst2000.constants.Constants; -import com.jasamedika.medifirst2000.dao.LoginUserDao; -import com.jasamedika.medifirst2000.dao.NotifikasiMessageObjekModulDao; -import com.jasamedika.medifirst2000.dao.RuanganDao; -import com.jasamedika.medifirst2000.entities.KelompokUser; -import com.jasamedika.medifirst2000.entities.LoginUser; -import com.jasamedika.medifirst2000.entities.MapObjekModulToKelompokUser; -import com.jasamedika.medifirst2000.entities.MapObjekModulToLoginUser; -import com.jasamedika.medifirst2000.entities.Pegawai; -import com.jasamedika.medifirst2000.entities.Ruangan; -import com.jasamedika.medifirst2000.notification.MessagePublisher; -import com.jasamedika.medifirst2000.notification.MessageSubscriber; -import com.jasamedika.medifirst2000.security.model.AppPermission; -import com.jasamedika.medifirst2000.security.service.TokenAuthenticationService; -import com.jasamedika.medifirst2000.service.MapObjekModulToKelompokUserService; -import com.jasamedika.medifirst2000.service.MapObjekModulToLoginUserService; -import com.jasamedika.medifirst2000.service.NotifMessagingSchedulerService; -import com.jasamedika.medifirst2000.service.NotifMessagingService; -import com.jasamedika.medifirst2000.service.NotifikasiMessageObjekModulService; -import com.jasamedika.medifirst2000.service.ObjekModulAplikasiService; -import com.jasamedika.medifirst2000.util.CommonUtil; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.NotifMessagingSchedulerVO; -import com.jasamedika.medifirst2000.vo.NotifMessagingVO; -import com.jasamedika.medifirst2000.vo.NotifikasiMessageObjekModulVO; -import com.jasamedika.medifirst2000.vo.ObjekModulAplikasiVO; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.lang.reflect.Method; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; /** * Interceptor class for All annotation method controller @AppPermission * - * @author Roberto - * - * direka ulang oleh Syamsu + * @author Roberto, direka ulang oleh Syamsu */ - public class AppInterceptor implements HandlerInterceptor { - - private static final String[] PRINT_PATTERN = {"/lap_", "/lap-", "/lap", "/cetak_", "/cetak-", "/print_", "/print-" }; - private static final String[] ADD_PATTERN = {"/save_", "/save-", "/add_", "/add-", "/simpan_", "/simpan-"}; - - private static final String[] UPDATE_PATTERN = {"/update_", "/update-", "/edit_", "/edit-", "/ubah_", "/ubah-"}; + private static final String[] PRINT_PATTERN = { "/lap_", "/lap-", "/lap", "/cetak_", "/cetak-", "/print_", + "/print-" }; - private static final String[] DELETE_PATTERN = {"/delete_", "/delete-", "/hapus_", "/hapus-"}; + private static final String[] ADD_PATTERN = { "/save_", "/save-", "/add_", "/add-", "/simpan_", "/simpan-" }; - private final Logger LOG = LoggerFactory.getLogger(AppInterceptor.class); + private static final String[] UPDATE_PATTERN = { "/update_", "/update-", "/edit_", "/edit-", "/ubah_", "/ubah-" }; + + private static final String[] DELETE_PATTERN = { "/delete_", "/delete-", "/hapus_", "/hapus-" }; @Autowired private TokenAuthenticationService tokenAuthenticationService; @@ -74,101 +53,55 @@ public class AppInterceptor implements HandlerInterceptor { @Autowired private MapObjekModulToKelompokUserService mapObjekModulToKelompokUserService; - + @Autowired private MapObjekModulToLoginUserService mapObjekModulToLoginUserService; @Autowired private ObjekModulAplikasiService objekModulAplikasiService; - + @Autowired MessagePublisher messagePublisher; - @Autowired - MessageSubscriber messageSubscriber; - @Autowired NotifMessagingService notifMessagingService; - + @Autowired NotifikasiMessageObjekModulService notifikasiMessageObjekModulService; - + @Autowired NotifMessagingSchedulerService notifMessagingSchedulerService; @Autowired - NotifikasiMessageObjekModulDao notifikasiModulMessageDao; - - @Autowired RuanganDao ruanganDao; List loginUser; String namaUser; - -// private int headerActionToAction(String action){ -// if ("save".equals(action)){ -// return AppPermission.ADD; -// } else if ("edit".equals(action)){ -// return AppPermission.UPDATE; -// } else if ("delete".equals(action)){ -// return AppPermission.DELETE; -// } else if ("print".equals(action)){ -// return AppPermission.PRINT; -// } else { -// return AppPermission.VIEW; -// } -// } - - - private boolean contains(String source, String[] matchers){ - - - if (CommonUtil.isNullOrEmpty(source) || ArrayUtils.isEmpty(matchers)){ + + private boolean contains(String source, String[] matchers) { + if (CommonUtil.isNullOrEmpty(source) || ArrayUtils.isEmpty(matchers)) return false; - } - - for (int i=0;i 0){ -// cpos = pos; -// }else{ -// break; -// } -// } -// String oye = urlForm.substring(0, cpos); return potongan.toString(); } - - private boolean checkAuthSecure(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, boolean supervisi) throws Exception { + private boolean checkAuthSecure(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, + boolean supervisi) throws Exception { Authentication authentication = tokenAuthenticationService.getAuthentication(request); - namaUser = authentication.getName(); loginUser = loginUserDao.findByNamaUser(namaUser); - if (CommonUtil.isNullOrEmpty(loginUser)) { - LOG.info("Empty login user"); response.setHeader("RequireSupervisor", "false"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Empty login user"); response.setStatus(HttpServletResponse.SC_FORBIDDEN); @@ -176,132 +109,92 @@ public class AppInterceptor implements HandlerInterceptor { } return true; } - - private int checkUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action){ - + + private int checkUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action) { int result = -1; - - MapObjekModulToLoginUser modul = mapObjekModulToLoginUserService.findByObjekModulAplikasi(objekModulAplikasiVO.getId(), user.getId()); - + MapObjekModulToLoginUser modul = mapObjekModulToLoginUserService + .findByObjekModulAplikasi(objekModulAplikasiVO.getId(), user.getId()); if (modul != null) { - LOG.info("Module security match"); result = 0; switch (action) { - case AppPermission.ADD: - if (modul.getSimpan()){ - result = 1; - } - break; - case AppPermission.UPDATE: - if (modul.getEdit()){ - result = 1; - } - break; - case AppPermission.DELETE: - if (modul.getHapus()){ - result = 1; - } - break; - case AppPermission.PRINT: - if (modul.getCetak()){ - result = 1; - } - break; + case AppPermission.ADD: + if (modul.getSimpan()) + result = 1; + break; + case AppPermission.UPDATE: + if (modul.getEdit()) + result = 1; + break; + case AppPermission.DELETE: + if (modul.getHapus()) + result = 1; + break; + case AppPermission.PRINT: + if (modul.getCetak()) + result = 1; + break; } } - return result; } - - private int checkKelompokUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action){ - + + private int checkKelompokUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action) { KelompokUser role = user.getKelompokUser(); int result = -2; - if (role != null) { - MapObjekModulToKelompokUser modul = mapObjekModulToKelompokUserService.findByObjekModulAplikasi(objekModulAplikasiVO.getId(), role.getId()); + MapObjekModulToKelompokUser modul = mapObjekModulToKelompokUserService + .findByObjekModulAplikasi(objekModulAplikasiVO.getId(), role.getId()); result = -1; if (modul != null) { - LOG.info("Module security match"); result = 0; switch (action) { - case AppPermission.ADD: - if (modul.getSimpan()){ - result = 1; - } - break; - case AppPermission.UPDATE: - if (modul.getEdit()){ - result = 1; - } - break; - case AppPermission.DELETE: - if (modul.getHapus()){ - result = 1; - } - break; - case AppPermission.PRINT: - if (modul.getCetak()){ - result = 1; - } - break; + case AppPermission.ADD: + if (modul.getSimpan()) + result = 1; + break; + case AppPermission.UPDATE: + if (modul.getEdit()) + result = 1; + break; + case AppPermission.DELETE: + if (modul.getHapus()) + result = 1; + break; + case AppPermission.PRINT: + if (modul.getCetak()) + result = 1; + break; } } } - return result; } - private boolean checkPermission(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, int action) throws Exception { - // Alter modified Syamsu - List objekModulAplikasi = objekModulAplikasiService.findByAlamatUrlForm(filterUrlForm(AlamatUrlForm)); - - - if (CommonUtil.isNullOrEmpty(objekModulAplikasi)){ - LOG.warn(AlamatUrlForm + " : Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar objek modul aplikasi.."); - return true; // Defaultnya diloloskan semuanya... - } - - if (!checkAuthSecure(request, response, AlamatUrlForm, false)) { + private boolean checkPermission(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, + int action) throws Exception { + List objekModulAplikasi = objekModulAplikasiService + .findByAlamatUrlForm(filterUrlForm(AlamatUrlForm)); + if (CommonUtil.isNullOrEmpty(objekModulAplikasi)) + return true; + if (!checkAuthSecure(request, response, AlamatUrlForm, false)) return false; - } - int resultUser = checkUserPermision(loginUser.get(0), objekModulAplikasi.get(0), action); - - if (resultUser == 0){ - LOG.info("User {} has need superVisor for action in {} module application", namaUser, action); + if (resultUser == 0) { response.setHeader("RequireSupervisor", "true"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Action requires supervisor"); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return false; - } else if (resultUser == 1){ + } else if (resultUser == 1) { response.setHeader(Constants.MessageInfo.INFO_MESSAGE, "Supervise execution success"); response.setStatus(HttpServletResponse.SC_OK); return true; - } - + } int resultKelompokUser = checkKelompokUserPermision(loginUser.get(0), objekModulAplikasi.get(0), action); - - if (resultKelompokUser == -2){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar kelompok user.."); - return true; // Defaultnya diloloskan semuanya... -// LOG.info("User {} has no role to gain access restricted area", namaUser); -// response.setHeader("RequireSupervisor", "false"); -// response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, -// "User " + namaUser + " has no role to gain access restricted area"); -// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); -// return false; - } else if (resultKelompokUser == -1){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar Map objek modul to kelompok user.."); - return true; // Defaultnya diloloskan semuanya... -// LOG.info("User {} has no access to module application", namaUser); -// response.setHeader("RequireSupervisor", "false"); -// response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, -// "User " + namaUser + " has no access to module application"); -// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); -// return false; - } else if (resultKelompokUser == 0) { - LOG.info("User {} has need superVisor for action in {} module application", namaUser, action); + if (resultKelompokUser == -2) { + return true; + } else if (resultKelompokUser == -1) { + return true; + } else if (resultKelompokUser == 0) { response.setHeader("RequireSupervisor", "true"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Action requires supervisor"); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); @@ -310,113 +203,54 @@ public class AppInterceptor implements HandlerInterceptor { response.setHeader(Constants.MessageInfo.INFO_MESSAGE, "Supervise execution success"); response.setStatus(HttpServletResponse.SC_OK); return true; - } + } } - /* - * return true untuk valid permission request ke controller method - */ @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - ////// Syamsu ///// - - // TUTUP DULU PENGGUNAANNYA... - + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { HandlerMethod hm; - Method method = null; -// int methodApp = AppPermission.VIEW; - + Method method; response.setHeader("Access-Control-Expose-Headers", "RequireSupervisor" + "," + Constants.MessageInfo.ERROR_MESSAGE + "," + Constants.MessageInfo.INFO_MESSAGE); - - ////// Syamsu ///// - - String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "": request.getHeader(Constants.HttpHeader.URL_FORM); - - // Buat Om, Kang, Aa Reza terkait Security Role - //String KdRuangan = null; - String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "": request.getHeader(Constants.HttpHeader.KD_RUANGAN); - + String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" + : request.getHeader(Constants.HttpHeader.URL_FORM); + String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "" + : request.getHeader(Constants.HttpHeader.KD_RUANGAN); int action = AppPermission.VIEW; - - if (CommonUtil.isNullOrEmpty(AlamatUrlForm)){ - //LOG.warn("Sementara defaultnya di loloskan semuanya di AppInterceptor jika tidak ada header 'AlamatUrlForm' .."); - return true; // Lewatin dulu sementara; - } - - if (CommonUtil.isNullOrEmpty(KdRuangan) || "0".equals(KdRuangan)){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada header 'KdRuangan' atau header 'KdRuangan'nya 0 .."); - return true; // Lewatin dulu sementara; - } - - //String headerAction = request.getHeader(Constants.HttpHeader.ACTION) == null ? "" : request.getHeader(Constants.HttpHeader.ACTION); - + if (CommonUtil.isNullOrEmpty(AlamatUrlForm)) + return true; + if (CommonUtil.isNullOrEmpty(KdRuangan) || "0".equals(KdRuangan)) + return true; String URI = request.getRequestURI(); String methodHttp = request.getMethod(); - try { - // Alter modified Syamsu if (handler instanceof org.springframework.web.method.HandlerMethod) { hm = (HandlerMethod) handler; method = hm.getMethod(); } else { return checkAuthSecure(request, response, AlamatUrlForm, true); } - - // AlamatUrlForm // Alter modified Syamsu boolean usingAnno = method != null && method.isAnnotationPresent(AppPermission.class); - boolean postM = "POST".equals(methodHttp); boolean signInOut = !URI.contains("auth/sign-in") && !URI.contains("auth/sign-out"); boolean getM = "GET".equals(methodHttp); - boolean cetak = contains (URI, PRINT_PATTERN); - - /*(URI.contains("/lap_") || URI.contains("/lap-") || URI.contains("/lap") - || URI.contains("/cetak_") || URI.contains("/print_") || URI.contains("/cetak-") - || URI.contains("/print-"));*/ - - boolean simpan = contains (URI, ADD_PATTERN); - - /*(URI.contains("/save_") || URI.contains("/add_") || URI.contains("/simpan_") - || URI.contains("/save-") || URI.contains("/add-") || URI.contains("/simpan-"));*/ - - boolean ubah = contains (URI, UPDATE_PATTERN); - - /*(URI.contains("/update_") || URI.contains("/edit_") || URI.contains("/ubah_") - || URI.contains("/update-") || URI.contains("/edit-") || URI.contains("/ubah-"));*/ - - boolean hapus = contains (URI, DELETE_PATTERN); - - /*(URI.contains("/delete_") || URI.contains("/hapus_") || URI.contains("/delete-") - || URI.contains("/hapus-")); */ - + boolean cetak = contains(URI, PRINT_PATTERN); + boolean simpan = contains(URI, ADD_PATTERN); + boolean ubah = contains(URI, UPDATE_PATTERN); + boolean hapus = contains(URI, DELETE_PATTERN); if (usingAnno) { - if (method.getAnnotation(AppPermission.class) != null) { + if (method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - - if (AppPermission.SPECIALS == action /* && "#/home".equals(AlamatUrlForm) */) { + if (AppPermission.SPECIALS == action) return true; - } } - if (getM && cetak) { - action = AppPermission.PRINT; - -// if (headerAction != null && !"".equals(headerAction)) { -// action = headerActionToAction(headerAction); -// } - - if (method.getAnnotation(AppPermission.class) != null) { + if (method != null && method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - return checkPermission(request, response, AlamatUrlForm, action); } - if ((usingAnno || postM) && signInOut) { - if (simpan) { action = AppPermission.ADD; } else if (ubah) { @@ -426,345 +260,104 @@ public class AppInterceptor implements HandlerInterceptor { } else if (cetak) { action = AppPermission.PRINT; } - -// if (headerAction != null && !"".equals(headerAction)) { -// action = headerActionToAction(headerAction); -// } - - if (method.getAnnotation(AppPermission.class) != null) { + if (method != null && method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - return checkPermission(request, response, AlamatUrlForm, action); - } - } catch (Exception e) { - e.printStackTrace(); - System.out.println("Not Found " + request.getRequestURL()); - - LOG.info("Error accured unauthorized"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Something wrong happened"); response.setHeader("RequireSupervisor", "false"); response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); return false; } - - // TUTUP DULU PENGGUNAANNYA... - return true; } - @Override - public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) throws Exception {} - - + public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) { + } + @Override - public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) throws Exception { - + public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) + throws Exception { String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" : request.getHeader(Constants.HttpHeader.URL_FORM); String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN); - String idRuanganTujuan = request.getHeader(Constants.HttpHeader.KD_RUANGAN_T) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN_T); - String idRuanganTujuanA = request.getHeader(Constants.HttpHeader.KD_RUANGAN_A) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN_A); - String tglKirim = request.getHeader(Constants.HttpHeader.TGL_KIRIM) == null ? "" : request.getHeader(Constants.HttpHeader.TGL_KIRIM); - boolean notHttpOK = response.getStatus() >= HttpServletResponse.SC_BAD_REQUEST; boolean notLewatMenu = CommonUtil.isNullOrEmpty(AlamatUrlForm) || CommonUtil.isNullOrEmpty(KdRuangan); - - Integer ruanganAsalId = 0; - - try { - ruanganAsalId = Integer.parseInt(KdRuangan); - }catch(Exception e){ - ex = e; - } - - + Integer ruanganAsalId = Integer.parseInt(KdRuangan); boolean adaError = CommonUtil.isNotNullOrEmpty(ex); - if (notHttpOK || notLewatMenu || adaError){ + if (notHttpOK || notLewatMenu || adaError) return; - } - Authentication authentication = tokenAuthenticationService.getAuthentication(request); - - if (CommonUtil.isNullOrEmpty(authentication)){ + if (CommonUtil.isNullOrEmpty(authentication)) return; - } - namaUser = authentication.getName(); loginUser = loginUserDao.findByNamaUser(namaUser); - - if (CommonUtil.isNullOrEmpty(loginUser)) { + if (CommonUtil.isNullOrEmpty(loginUser)) return; - } - String potongan = filterUrlForm(AlamatUrlForm); List objekModulAplikasiVOs = objekModulAplikasiService.findByAlamatUrlForm(potongan); - - if (CommonUtil.isNullOrEmpty(objekModulAplikasiVOs)){ + if (CommonUtil.isNullOrEmpty(objekModulAplikasiVOs)) return; - } - String URI = request.getRequestURI(); - Integer objekModulAplikasId = objekModulAplikasiVOs.get(0).getId(); - - List notifMessagingVOs = notifMessagingService.findByObjekModulAplikasiIdAndUrlBackEndOrUrlBackEndIsNull(objekModulAplikasId, URI); - - if (CommonUtil.isNullOrEmpty(notifMessagingVOs)) { + List notifMessagingVOs = notifMessagingService + .findByObjekModulAplikasiIdAndUrlBackEndOrUrlBackEndIsNull(objekModulAplikasId, URI); + if (CommonUtil.isNullOrEmpty(notifMessagingVOs)) return; - } - Integer notifMessagingId = notifMessagingVOs.get(0).getId(); - if (CommonUtil.isNullOrEmpty(tglKirim)) { - - List ruanganTujuansId = new ArrayList<>(); - System.out.println("--"); - - if (!"".equals(idRuanganTujuan)){ + if (!"".equals(idRuanganTujuan)) { JSONArray ruanganTujuanIds = new JSONArray(idRuanganTujuan); - for (int i=0; i 0){ - try{ - rabbitHole.sendNotif(rabbitHole, ruanganAsal, pegawai, notifikasiMessageObjekModulService, notifMessagingId, ruanganTujuansId); - }catch(Exception e){ - e.printStackTrace(); - LOG.info(DateUtil.now()+" send notif dari Ruangan {} dengan ruanganId {} pada notifMessageId {} ada masalah {}", - ruanganAsal.getNamaRuangan(), ruanganAsalId, notifMessagingId, e.getMessage()); - } - } - + if (!ruanganTujuansId.isEmpty()) + rabbitHole.sendNotif(rabbitHole, ruanganAsal, pegawai, notifikasiMessageObjekModulService, + notifMessagingId, ruanganTujuansId); } else { JSONArray tglKirims = new JSONArray(tglKirim); JSONArray ruanganTujuanIds = new JSONArray(idRuanganTujuan); SimpleDateFormat myFormat = new SimpleDateFormat("yyyy-MM-dd"); - - for (int i=0; i T convertToVO(T t, Object o){ -// BeanUtils.copyProperties(t, o); -// return t; -// } - - // try{ - // - // - // String AlamatUrlForm = - // request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" : - // request.getHeader(Constants.HttpHeader.URL_FORM); - // String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) - // == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN); - // - // Authentication authentication = - // tokenAuthenticationService.getAuthentication(request); - // - // namaUser = authentication.getName(); - // loginUser = loginUserDao.findByNamaUser(namaUser); - // - // - // if (loginUser.isEmpty()) { - // publisher.BroadcastMessage(KdRuangan, namaUser, AlamatUrlForm); - // } - // - // - // - // - //// String routingKeyAndQueueName = "ruanganId." + KdRuangan; - //// - //// publisher.sendRabbitMQNotification("127.0.0.1", "ruanganId." + - // KdRuangan, "Kd Ruangan : " + KdRuangan + ", AlamatUrlForm : " + - // AlamatUrlForm); - //// - //// subscriber.startRabbitMQNotification("127.0.0.1", - // routingKeyAndQueueName); - //// subscriber.listenRabbitMQNotification(routingKeyAndQueueName, - // subscriber.getDefaultConsumer(), false); - //// subscriber.stopRabbitMQNotification(); - // - // }catch(Exception e){ - // //e.printStackTrace(); - // } - - - -// //String urlSocket = messagePublisher.GetSettingDataFixed("UrlRabbitMQMessaging"); sementara kunci dulu. -// -// String urlSocket = "127.0.0.1"; -// -// List notifikasiMessageObjekModulVOs = notifikasiMessageObjekModulService.findByNotifMessagingIdAndRuanganId(notifMessagingId, ruanganTujuansId); -// -// if (CommonUtil.isNullOrEmpty(notifikasiMessageObjekModulVOs)) { -// return; -// } -// -// Integer ruanganIdtemp = 0; -// boolean connect = false; -// -// for (NotifikasiMessageObjekModulVO vo : notifikasiMessageObjekModulVOs){ -// Ruangan ruangan = vo.getRuangan(); -// ModulAplikasi modulAplikasi = vo.getModulAplikasi(); -// ObjekModulAplikasi objekModulAplikasi = vo.getObjekModulAplikasi(); -// String customURLObjekModul = vo.getCustomURLObjekModul(); -// String titleNotifikasi = vo.getTitleNotifikasi(); -// String pesanNotifikasi = vo.getPesanNotifikasi(); -// String namaFungsiFrontEnd = vo.getNamaFungsiFrontEnd(); -// -// if (ruangan.getId() == ruanganId){ -// continue; -// } -// -// RuanganVO dariRuangan = ruanganService.findById(ruanganId); -// -// if (ruanganIdtemp != ruangan.getId()){ -// if (connect){ -// rabbitHole.close(); -// } -// rabbitHole.connect(urlSocket, String.valueOf(ruangan.getId())); -// connect = true; -// ruanganIdtemp = ruangan.getId(); -// } -// -// Map map = new HashMap<>(); -// map.put("title", titleNotifikasi); -// map.put("dariRuangan", dariRuangan); -// map.put("ruanganId", ruangan.getId()); -// map.put("ruangan", convertToVO(new RuanganVO(), ruangan)); -// map.put("modulAplikasi", convertToVO(new ModulAplikasiVO(), modulAplikasi)); -// map.put("objekModulAplikasi", convertToVO(new ObjekModulAplikasiVO(), objekModulAplikasi)); -// map.put("titleNotifikasi", titleNotifikasi); -// map.put("pesanNotifikasi", pesanNotifikasi); -// map.put("namaFungsiFrontEnd", namaFungsiFrontEnd); -// map.put("fromPegawai", loginUser.get(0).getPegawai()); -// map.put("urlForm",CommonUtil.isNullOrEmpty(customURLObjekModul)? objekModulAplikasi.getAlamatUrlForm() : customURLObjekModul); -// -// rabbitHole.sendRabbitMQNotification(gson.toJson(map)); -// -// //messagePublisher.BroadcastMessage(map); -// } -// if (connect){ -// rabbitHole.close(); -// } - - -// private static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() { -// @Override -// @SuppressWarnings("unchecked") -// public TypeAdapter create(Gson gson, TypeToken type) { -// return (HibernateProxy.class.isAssignableFrom(type.getRawType()) -// ? (TypeAdapter) new HibernateProxyTypeAdapter((TypeAdapter)gson.getAdapter(TypeToken.get(type.getRawType().getSuperclass()))) -// : null); -// } -// }; -// -// -// private static final class HibernateProxyTypeAdapter extends TypeAdapter { -// -// private final TypeAdapter delegate; -// -// private HibernateProxyTypeAdapter(TypeAdapter delegate) { -// this.delegate = delegate; -// } -// -// @Override -// public HibernateProxy read(JsonReader r) throws IOException { -// throw new UnsupportedOperationException("Not supported"); -// } -// -// @SuppressWarnings({"rawtypes", "unchecked"}) -// @Override -// public void write(JsonWriter out, HibernateProxy value) throws IOException { -// if (value == null) { -// out.nullValue(); -// return; -// } -// -// -// -// delegate.write(out, ((HibernateProxy) value).getHibernateLazyInitializer().getImplementation()); -// } -// } } - - - -/* - * else if (method.isAnnotationPresent(AppMenuPermision.class)){ - * - * Authentication authentication = - * tokenAuthenticationService.getAuthentication(request); - * - * String namaUser = authentication.getName(); - * - * List loginUser = - * loginUserDao.findByNamaUser(namaUser); - * - * if (loginUser.isEmpty()) { // untuk testing false - * response.addHeader("Access-Control-Expose-Headers", - * "content-type"); - * response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "User " + - * namaUser + " can not access current menu "); - * response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return - * false; } - * - * // get user login if (!loginUser.isEmpty()) { LoginUser user = - * loginUser.get(0); }else{ LOG.info("User {} is unauthorized", - * namaUser); - * response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, - * "User is unauthorized"); - * response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return - * false; } } - */ \ No newline at end of file diff --git a/jasamedika-ipsrs/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java b/jasamedika-ipsrs/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java index bb5fd62f..f9a05c6b 100644 --- a/jasamedika-ipsrs/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java +++ b/jasamedika-ipsrs/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java @@ -1,70 +1,49 @@ package com.jasamedika.medifirst2000.interceptor; -import java.lang.reflect.Method; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - +import com.jasamedika.medifirst2000.constants.Constants; +import com.jasamedika.medifirst2000.dao.LoginUserDao; +import com.jasamedika.medifirst2000.dao.RuanganDao; +import com.jasamedika.medifirst2000.entities.*; +import com.jasamedika.medifirst2000.notification.MessagePublisher; +import com.jasamedika.medifirst2000.security.model.AppPermission; +import com.jasamedika.medifirst2000.security.service.TokenAuthenticationService; +import com.jasamedika.medifirst2000.service.*; +import com.jasamedika.medifirst2000.util.CommonUtil; +import com.jasamedika.medifirst2000.vo.NotifMessagingSchedulerVO; +import com.jasamedika.medifirst2000.vo.NotifMessagingVO; +import com.jasamedika.medifirst2000.vo.NotifikasiMessageObjekModulVO; +import com.jasamedika.medifirst2000.vo.ObjekModulAplikasiVO; import org.apache.commons.lang3.ArrayUtils; import org.json.JSONArray; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; -import com.jasamedika.medifirst2000.constants.Constants; -import com.jasamedika.medifirst2000.dao.LoginUserDao; -import com.jasamedika.medifirst2000.dao.NotifikasiMessageObjekModulDao; -import com.jasamedika.medifirst2000.dao.RuanganDao; -import com.jasamedika.medifirst2000.entities.KelompokUser; -import com.jasamedika.medifirst2000.entities.LoginUser; -import com.jasamedika.medifirst2000.entities.MapObjekModulToKelompokUser; -import com.jasamedika.medifirst2000.entities.MapObjekModulToLoginUser; -import com.jasamedika.medifirst2000.entities.Pegawai; -import com.jasamedika.medifirst2000.entities.Ruangan; -import com.jasamedika.medifirst2000.notification.MessagePublisher; -import com.jasamedika.medifirst2000.notification.MessageSubscriber; -import com.jasamedika.medifirst2000.security.model.AppPermission; -import com.jasamedika.medifirst2000.security.service.TokenAuthenticationService; -import com.jasamedika.medifirst2000.service.MapObjekModulToKelompokUserService; -import com.jasamedika.medifirst2000.service.MapObjekModulToLoginUserService; -import com.jasamedika.medifirst2000.service.NotifMessagingSchedulerService; -import com.jasamedika.medifirst2000.service.NotifMessagingService; -import com.jasamedika.medifirst2000.service.NotifikasiMessageObjekModulService; -import com.jasamedika.medifirst2000.service.ObjekModulAplikasiService; -import com.jasamedika.medifirst2000.util.CommonUtil; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.NotifMessagingSchedulerVO; -import com.jasamedika.medifirst2000.vo.NotifMessagingVO; -import com.jasamedika.medifirst2000.vo.NotifikasiMessageObjekModulVO; -import com.jasamedika.medifirst2000.vo.ObjekModulAplikasiVO; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.lang.reflect.Method; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; /** * Interceptor class for All annotation method controller @AppPermission * - * @author Roberto - * - * direka ulang oleh Syamsu + * @author Roberto, direka ulang oleh Syamsu */ - public class AppInterceptor implements HandlerInterceptor { - - private static final String[] PRINT_PATTERN = {"/lap_", "/lap-", "/lap", "/cetak_", "/cetak-", "/print_", "/print-" }; - private static final String[] ADD_PATTERN = {"/save_", "/save-", "/add_", "/add-", "/simpan_", "/simpan-"}; - - private static final String[] UPDATE_PATTERN = {"/update_", "/update-", "/edit_", "/edit-", "/ubah_", "/ubah-"}; + private static final String[] PRINT_PATTERN = { "/lap_", "/lap-", "/lap", "/cetak_", "/cetak-", "/print_", + "/print-" }; - private static final String[] DELETE_PATTERN = {"/delete_", "/delete-", "/hapus_", "/hapus-"}; + private static final String[] ADD_PATTERN = { "/save_", "/save-", "/add_", "/add-", "/simpan_", "/simpan-" }; - private final Logger LOG = LoggerFactory.getLogger(AppInterceptor.class); + private static final String[] UPDATE_PATTERN = { "/update_", "/update-", "/edit_", "/edit-", "/ubah_", "/ubah-" }; + + private static final String[] DELETE_PATTERN = { "/delete_", "/delete-", "/hapus_", "/hapus-" }; @Autowired private TokenAuthenticationService tokenAuthenticationService; @@ -74,101 +53,55 @@ public class AppInterceptor implements HandlerInterceptor { @Autowired private MapObjekModulToKelompokUserService mapObjekModulToKelompokUserService; - + @Autowired private MapObjekModulToLoginUserService mapObjekModulToLoginUserService; @Autowired private ObjekModulAplikasiService objekModulAplikasiService; - + @Autowired MessagePublisher messagePublisher; - @Autowired - MessageSubscriber messageSubscriber; - @Autowired NotifMessagingService notifMessagingService; - + @Autowired NotifikasiMessageObjekModulService notifikasiMessageObjekModulService; - + @Autowired NotifMessagingSchedulerService notifMessagingSchedulerService; @Autowired - NotifikasiMessageObjekModulDao notifikasiModulMessageDao; - - @Autowired RuanganDao ruanganDao; List loginUser; String namaUser; - -// private int headerActionToAction(String action){ -// if ("save".equals(action)){ -// return AppPermission.ADD; -// } else if ("edit".equals(action)){ -// return AppPermission.UPDATE; -// } else if ("delete".equals(action)){ -// return AppPermission.DELETE; -// } else if ("print".equals(action)){ -// return AppPermission.PRINT; -// } else { -// return AppPermission.VIEW; -// } -// } - - - private boolean contains(String source, String[] matchers){ - - - if (CommonUtil.isNullOrEmpty(source) || ArrayUtils.isEmpty(matchers)){ + + private boolean contains(String source, String[] matchers) { + if (CommonUtil.isNullOrEmpty(source) || ArrayUtils.isEmpty(matchers)) return false; - } - - for (int i=0;i 0){ -// cpos = pos; -// }else{ -// break; -// } -// } -// String oye = urlForm.substring(0, cpos); return potongan.toString(); } - - private boolean checkAuthSecure(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, boolean supervisi) throws Exception { + private boolean checkAuthSecure(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, + boolean supervisi) throws Exception { Authentication authentication = tokenAuthenticationService.getAuthentication(request); - namaUser = authentication.getName(); loginUser = loginUserDao.findByNamaUser(namaUser); - if (CommonUtil.isNullOrEmpty(loginUser)) { - LOG.info("Empty login user"); response.setHeader("RequireSupervisor", "false"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Empty login user"); response.setStatus(HttpServletResponse.SC_FORBIDDEN); @@ -176,132 +109,92 @@ public class AppInterceptor implements HandlerInterceptor { } return true; } - - private int checkUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action){ - + + private int checkUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action) { int result = -1; - - MapObjekModulToLoginUser modul = mapObjekModulToLoginUserService.findByObjekModulAplikasi(objekModulAplikasiVO.getId(), user.getId()); - + MapObjekModulToLoginUser modul = mapObjekModulToLoginUserService + .findByObjekModulAplikasi(objekModulAplikasiVO.getId(), user.getId()); if (modul != null) { - LOG.info("Module security match"); result = 0; switch (action) { - case AppPermission.ADD: - if (modul.getSimpan()){ - result = 1; - } - break; - case AppPermission.UPDATE: - if (modul.getEdit()){ - result = 1; - } - break; - case AppPermission.DELETE: - if (modul.getHapus()){ - result = 1; - } - break; - case AppPermission.PRINT: - if (modul.getCetak()){ - result = 1; - } - break; + case AppPermission.ADD: + if (modul.getSimpan()) + result = 1; + break; + case AppPermission.UPDATE: + if (modul.getEdit()) + result = 1; + break; + case AppPermission.DELETE: + if (modul.getHapus()) + result = 1; + break; + case AppPermission.PRINT: + if (modul.getCetak()) + result = 1; + break; } } - return result; } - - private int checkKelompokUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action){ - + + private int checkKelompokUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action) { KelompokUser role = user.getKelompokUser(); int result = -2; - if (role != null) { - MapObjekModulToKelompokUser modul = mapObjekModulToKelompokUserService.findByObjekModulAplikasi(objekModulAplikasiVO.getId(), role.getId()); + MapObjekModulToKelompokUser modul = mapObjekModulToKelompokUserService + .findByObjekModulAplikasi(objekModulAplikasiVO.getId(), role.getId()); result = -1; if (modul != null) { - LOG.info("Module security match"); result = 0; switch (action) { - case AppPermission.ADD: - if (modul.getSimpan()){ - result = 1; - } - break; - case AppPermission.UPDATE: - if (modul.getEdit()){ - result = 1; - } - break; - case AppPermission.DELETE: - if (modul.getHapus()){ - result = 1; - } - break; - case AppPermission.PRINT: - if (modul.getCetak()){ - result = 1; - } - break; + case AppPermission.ADD: + if (modul.getSimpan()) + result = 1; + break; + case AppPermission.UPDATE: + if (modul.getEdit()) + result = 1; + break; + case AppPermission.DELETE: + if (modul.getHapus()) + result = 1; + break; + case AppPermission.PRINT: + if (modul.getCetak()) + result = 1; + break; } } } - return result; } - private boolean checkPermission(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, int action) throws Exception { - // Alter modified Syamsu - List objekModulAplikasi = objekModulAplikasiService.findByAlamatUrlForm(filterUrlForm(AlamatUrlForm)); - - - if (CommonUtil.isNullOrEmpty(objekModulAplikasi)){ - LOG.warn(AlamatUrlForm + " : Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar objek modul aplikasi.."); - return true; // Defaultnya diloloskan semuanya... - } - - if (!checkAuthSecure(request, response, AlamatUrlForm, false)) { + private boolean checkPermission(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, + int action) throws Exception { + List objekModulAplikasi = objekModulAplikasiService + .findByAlamatUrlForm(filterUrlForm(AlamatUrlForm)); + if (CommonUtil.isNullOrEmpty(objekModulAplikasi)) + return true; + if (!checkAuthSecure(request, response, AlamatUrlForm, false)) return false; - } - int resultUser = checkUserPermision(loginUser.get(0), objekModulAplikasi.get(0), action); - - if (resultUser == 0){ - LOG.info("User {} has need superVisor for action in {} module application", namaUser, action); + if (resultUser == 0) { response.setHeader("RequireSupervisor", "true"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Action requires supervisor"); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return false; - } else if (resultUser == 1){ + } else if (resultUser == 1) { response.setHeader(Constants.MessageInfo.INFO_MESSAGE, "Supervise execution success"); response.setStatus(HttpServletResponse.SC_OK); return true; - } - + } int resultKelompokUser = checkKelompokUserPermision(loginUser.get(0), objekModulAplikasi.get(0), action); - - if (resultKelompokUser == -2){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar kelompok user.."); - return true; // Defaultnya diloloskan semuanya... -// LOG.info("User {} has no role to gain access restricted area", namaUser); -// response.setHeader("RequireSupervisor", "false"); -// response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, -// "User " + namaUser + " has no role to gain access restricted area"); -// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); -// return false; - } else if (resultKelompokUser == -1){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar Map objek modul to kelompok user.."); - return true; // Defaultnya diloloskan semuanya... -// LOG.info("User {} has no access to module application", namaUser); -// response.setHeader("RequireSupervisor", "false"); -// response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, -// "User " + namaUser + " has no access to module application"); -// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); -// return false; - } else if (resultKelompokUser == 0) { - LOG.info("User {} has need superVisor for action in {} module application", namaUser, action); + if (resultKelompokUser == -2) { + return true; + } else if (resultKelompokUser == -1) { + return true; + } else if (resultKelompokUser == 0) { response.setHeader("RequireSupervisor", "true"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Action requires supervisor"); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); @@ -310,113 +203,54 @@ public class AppInterceptor implements HandlerInterceptor { response.setHeader(Constants.MessageInfo.INFO_MESSAGE, "Supervise execution success"); response.setStatus(HttpServletResponse.SC_OK); return true; - } + } } - /* - * return true untuk valid permission request ke controller method - */ @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - ////// Syamsu ///// - - // TUTUP DULU PENGGUNAANNYA... - + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { HandlerMethod hm; - Method method = null; -// int methodApp = AppPermission.VIEW; - + Method method; response.setHeader("Access-Control-Expose-Headers", "RequireSupervisor" + "," + Constants.MessageInfo.ERROR_MESSAGE + "," + Constants.MessageInfo.INFO_MESSAGE); - - ////// Syamsu ///// - - String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "": request.getHeader(Constants.HttpHeader.URL_FORM); - - // Buat Om, Kang, Aa Reza terkait Security Role - //String KdRuangan = null; - String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "": request.getHeader(Constants.HttpHeader.KD_RUANGAN); - + String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" + : request.getHeader(Constants.HttpHeader.URL_FORM); + String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "" + : request.getHeader(Constants.HttpHeader.KD_RUANGAN); int action = AppPermission.VIEW; - - if (CommonUtil.isNullOrEmpty(AlamatUrlForm)){ - //LOG.warn("Sementara defaultnya di loloskan semuanya di AppInterceptor jika tidak ada header 'AlamatUrlForm' .."); - return true; // Lewatin dulu sementara; - } - - if (CommonUtil.isNullOrEmpty(KdRuangan) || "0".equals(KdRuangan)){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada header 'KdRuangan' atau header 'KdRuangan'nya 0 .."); - return true; // Lewatin dulu sementara; - } - - //String headerAction = request.getHeader(Constants.HttpHeader.ACTION) == null ? "" : request.getHeader(Constants.HttpHeader.ACTION); - + if (CommonUtil.isNullOrEmpty(AlamatUrlForm)) + return true; + if (CommonUtil.isNullOrEmpty(KdRuangan) || "0".equals(KdRuangan)) + return true; String URI = request.getRequestURI(); String methodHttp = request.getMethod(); - try { - // Alter modified Syamsu if (handler instanceof org.springframework.web.method.HandlerMethod) { hm = (HandlerMethod) handler; method = hm.getMethod(); } else { return checkAuthSecure(request, response, AlamatUrlForm, true); } - - // AlamatUrlForm // Alter modified Syamsu boolean usingAnno = method != null && method.isAnnotationPresent(AppPermission.class); - boolean postM = "POST".equals(methodHttp); boolean signInOut = !URI.contains("auth/sign-in") && !URI.contains("auth/sign-out"); boolean getM = "GET".equals(methodHttp); - boolean cetak = contains (URI, PRINT_PATTERN); - - /*(URI.contains("/lap_") || URI.contains("/lap-") || URI.contains("/lap") - || URI.contains("/cetak_") || URI.contains("/print_") || URI.contains("/cetak-") - || URI.contains("/print-"));*/ - - boolean simpan = contains (URI, ADD_PATTERN); - - /*(URI.contains("/save_") || URI.contains("/add_") || URI.contains("/simpan_") - || URI.contains("/save-") || URI.contains("/add-") || URI.contains("/simpan-"));*/ - - boolean ubah = contains (URI, UPDATE_PATTERN); - - /*(URI.contains("/update_") || URI.contains("/edit_") || URI.contains("/ubah_") - || URI.contains("/update-") || URI.contains("/edit-") || URI.contains("/ubah-"));*/ - - boolean hapus = contains (URI, DELETE_PATTERN); - - /*(URI.contains("/delete_") || URI.contains("/hapus_") || URI.contains("/delete-") - || URI.contains("/hapus-")); */ - + boolean cetak = contains(URI, PRINT_PATTERN); + boolean simpan = contains(URI, ADD_PATTERN); + boolean ubah = contains(URI, UPDATE_PATTERN); + boolean hapus = contains(URI, DELETE_PATTERN); if (usingAnno) { - if (method.getAnnotation(AppPermission.class) != null) { + if (method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - - if (AppPermission.SPECIALS == action /* && "#/home".equals(AlamatUrlForm) */) { + if (AppPermission.SPECIALS == action) return true; - } } - if (getM && cetak) { - action = AppPermission.PRINT; - -// if (headerAction != null && !"".equals(headerAction)) { -// action = headerActionToAction(headerAction); -// } - - if (method.getAnnotation(AppPermission.class) != null) { + if (method != null && method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - return checkPermission(request, response, AlamatUrlForm, action); } - if ((usingAnno || postM) && signInOut) { - if (simpan) { action = AppPermission.ADD; } else if (ubah) { @@ -426,345 +260,105 @@ public class AppInterceptor implements HandlerInterceptor { } else if (cetak) { action = AppPermission.PRINT; } - -// if (headerAction != null && !"".equals(headerAction)) { -// action = headerActionToAction(headerAction); -// } - - if (method.getAnnotation(AppPermission.class) != null) { + if (method != null && method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - return checkPermission(request, response, AlamatUrlForm, action); - } } catch (Exception e) { - e.printStackTrace(); - System.out.println("Not Found " + request.getRequestURL()); - - LOG.info("Error accured unauthorized"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Something wrong happened"); response.setHeader("RequireSupervisor", "false"); response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); return false; } - - // TUTUP DULU PENGGUNAANNYA... - return true; } - @Override - public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) throws Exception {} - - + public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) { + } + @Override - public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) throws Exception { - + public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) + throws Exception { String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" : request.getHeader(Constants.HttpHeader.URL_FORM); String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN); - String idRuanganTujuan = request.getHeader(Constants.HttpHeader.KD_RUANGAN_T) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN_T); - String idRuanganTujuanA = request.getHeader(Constants.HttpHeader.KD_RUANGAN_A) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN_A); - String tglKirim = request.getHeader(Constants.HttpHeader.TGL_KIRIM) == null ? "" : request.getHeader(Constants.HttpHeader.TGL_KIRIM); - boolean notHttpOK = response.getStatus() >= HttpServletResponse.SC_BAD_REQUEST; boolean notLewatMenu = CommonUtil.isNullOrEmpty(AlamatUrlForm) || CommonUtil.isNullOrEmpty(KdRuangan); - - Integer ruanganAsalId = 0; - - try { - ruanganAsalId = Integer.parseInt(KdRuangan); - }catch(Exception e){ - ex = e; - } - - + Integer ruanganAsalId = Integer.parseInt(KdRuangan); boolean adaError = CommonUtil.isNotNullOrEmpty(ex); - if (notHttpOK || notLewatMenu || adaError){ + if (notHttpOK || notLewatMenu || adaError) return; - } - Authentication authentication = tokenAuthenticationService.getAuthentication(request); - - if (CommonUtil.isNullOrEmpty(authentication)){ + if (CommonUtil.isNullOrEmpty(authentication)) return; - } - namaUser = authentication.getName(); loginUser = loginUserDao.findByNamaUser(namaUser); - - if (CommonUtil.isNullOrEmpty(loginUser)) { + if (CommonUtil.isNullOrEmpty(loginUser)) return; - } - String potongan = filterUrlForm(AlamatUrlForm); List objekModulAplikasiVOs = objekModulAplikasiService.findByAlamatUrlForm(potongan); - - if (CommonUtil.isNullOrEmpty(objekModulAplikasiVOs)){ + if (CommonUtil.isNullOrEmpty(objekModulAplikasiVOs)) return; - } - String URI = request.getRequestURI(); - Integer objekModulAplikasId = objekModulAplikasiVOs.get(0).getId(); - - List notifMessagingVOs = notifMessagingService.findByObjekModulAplikasiIdAndUrlBackEndOrUrlBackEndIsNull(objekModulAplikasId, URI); - - if (CommonUtil.isNullOrEmpty(notifMessagingVOs)) { + List notifMessagingVOs = notifMessagingService + .findByObjekModulAplikasiIdAndUrlBackEndOrUrlBackEndIsNull(objekModulAplikasId, URI); + if (CommonUtil.isNullOrEmpty(notifMessagingVOs)) return; - } - Integer notifMessagingId = notifMessagingVOs.get(0).getId(); - if (CommonUtil.isNullOrEmpty(tglKirim)) { - - List ruanganTujuansId = new ArrayList<>(); - System.out.println("--"); - - if (!"".equals(idRuanganTujuan)){ + if (!"".equals(idRuanganTujuan)) { JSONArray ruanganTujuanIds = new JSONArray(idRuanganTujuan); - for (int i=0; i 0){ - try{ - rabbitHole.sendNotif(rabbitHole, ruanganAsal, pegawai, notifikasiMessageObjekModulService, notifMessagingId, ruanganTujuansId); - }catch(Exception e){ - e.printStackTrace(); - LOG.info(DateUtil.now()+" send notif dari Ruangan {} dengan ruanganId {} pada notifMessageId {} ada masalah {}", - ruanganAsal.getNamaRuangan(), ruanganAsalId, notifMessagingId, e.getMessage()); - } - } - + if (!ruanganTujuansId.isEmpty()) + rabbitHole.sendNotif(rabbitHole, ruanganAsal, pegawai, notifikasiMessageObjekModulService, + notifMessagingId, ruanganTujuansId); } else { JSONArray tglKirims = new JSONArray(tglKirim); JSONArray ruanganTujuanIds = new JSONArray(idRuanganTujuan); SimpleDateFormat myFormat = new SimpleDateFormat("yyyy-MM-dd"); - - for (int i=0; i T convertToVO(T t, Object o){ -// BeanUtils.copyProperties(t, o); -// return t; -// } - - // try{ - // - // - // String AlamatUrlForm = - // request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" : - // request.getHeader(Constants.HttpHeader.URL_FORM); - // String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) - // == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN); - // - // Authentication authentication = - // tokenAuthenticationService.getAuthentication(request); - // - // namaUser = authentication.getName(); - // loginUser = loginUserDao.findByNamaUser(namaUser); - // - // - // if (loginUser.isEmpty()) { - // publisher.BroadcastMessage(KdRuangan, namaUser, AlamatUrlForm); - // } - // - // - // - // - //// String routingKeyAndQueueName = "ruanganId." + KdRuangan; - //// - //// publisher.sendRabbitMQNotification("127.0.0.1", "ruanganId." + - // KdRuangan, "Kd Ruangan : " + KdRuangan + ", AlamatUrlForm : " + - // AlamatUrlForm); - //// - //// subscriber.startRabbitMQNotification("127.0.0.1", - // routingKeyAndQueueName); - //// subscriber.listenRabbitMQNotification(routingKeyAndQueueName, - // subscriber.getDefaultConsumer(), false); - //// subscriber.stopRabbitMQNotification(); - // - // }catch(Exception e){ - // //e.printStackTrace(); - // } - - - -// //String urlSocket = messagePublisher.GetSettingDataFixed("UrlRabbitMQMessaging"); sementara kunci dulu. -// -// String urlSocket = "127.0.0.1"; -// -// List notifikasiMessageObjekModulVOs = notifikasiMessageObjekModulService.findByNotifMessagingIdAndRuanganId(notifMessagingId, ruanganTujuansId); -// -// if (CommonUtil.isNullOrEmpty(notifikasiMessageObjekModulVOs)) { -// return; -// } -// -// Integer ruanganIdtemp = 0; -// boolean connect = false; -// -// for (NotifikasiMessageObjekModulVO vo : notifikasiMessageObjekModulVOs){ -// Ruangan ruangan = vo.getRuangan(); -// ModulAplikasi modulAplikasi = vo.getModulAplikasi(); -// ObjekModulAplikasi objekModulAplikasi = vo.getObjekModulAplikasi(); -// String customURLObjekModul = vo.getCustomURLObjekModul(); -// String titleNotifikasi = vo.getTitleNotifikasi(); -// String pesanNotifikasi = vo.getPesanNotifikasi(); -// String namaFungsiFrontEnd = vo.getNamaFungsiFrontEnd(); -// -// if (ruangan.getId() == ruanganId){ -// continue; -// } -// -// RuanganVO dariRuangan = ruanganService.findById(ruanganId); -// -// if (ruanganIdtemp != ruangan.getId()){ -// if (connect){ -// rabbitHole.close(); -// } -// rabbitHole.connect(urlSocket, String.valueOf(ruangan.getId())); -// connect = true; -// ruanganIdtemp = ruangan.getId(); -// } -// -// Map map = new HashMap<>(); -// map.put("title", titleNotifikasi); -// map.put("dariRuangan", dariRuangan); -// map.put("ruanganId", ruangan.getId()); -// map.put("ruangan", convertToVO(new RuanganVO(), ruangan)); -// map.put("modulAplikasi", convertToVO(new ModulAplikasiVO(), modulAplikasi)); -// map.put("objekModulAplikasi", convertToVO(new ObjekModulAplikasiVO(), objekModulAplikasi)); -// map.put("titleNotifikasi", titleNotifikasi); -// map.put("pesanNotifikasi", pesanNotifikasi); -// map.put("namaFungsiFrontEnd", namaFungsiFrontEnd); -// map.put("fromPegawai", loginUser.get(0).getPegawai()); -// map.put("urlForm",CommonUtil.isNullOrEmpty(customURLObjekModul)? objekModulAplikasi.getAlamatUrlForm() : customURLObjekModul); -// -// rabbitHole.sendRabbitMQNotification(gson.toJson(map)); -// -// //messagePublisher.BroadcastMessage(map); -// } -// if (connect){ -// rabbitHole.close(); -// } - - -// private static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() { -// @Override -// @SuppressWarnings("unchecked") -// public TypeAdapter create(Gson gson, TypeToken type) { -// return (HibernateProxy.class.isAssignableFrom(type.getRawType()) -// ? (TypeAdapter) new HibernateProxyTypeAdapter((TypeAdapter)gson.getAdapter(TypeToken.get(type.getRawType().getSuperclass()))) -// : null); -// } -// }; -// -// -// private static final class HibernateProxyTypeAdapter extends TypeAdapter { -// -// private final TypeAdapter delegate; -// -// private HibernateProxyTypeAdapter(TypeAdapter delegate) { -// this.delegate = delegate; -// } -// -// @Override -// public HibernateProxy read(JsonReader r) throws IOException { -// throw new UnsupportedOperationException("Not supported"); -// } -// -// @SuppressWarnings({"rawtypes", "unchecked"}) -// @Override -// public void write(JsonWriter out, HibernateProxy value) throws IOException { -// if (value == null) { -// out.nullValue(); -// return; -// } -// -// -// -// delegate.write(out, ((HibernateProxy) value).getHibernateLazyInitializer().getImplementation()); -// } -// } } - - - -/* - * else if (method.isAnnotationPresent(AppMenuPermision.class)){ - * - * Authentication authentication = - * tokenAuthenticationService.getAuthentication(request); - * - * String namaUser = authentication.getName(); - * - * List loginUser = - * loginUserDao.findByNamaUser(namaUser); - * - * if (loginUser.isEmpty()) { // untuk testing false - * response.addHeader("Access-Control-Expose-Headers", - * "content-type"); - * response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "User " + - * namaUser + " can not access current menu "); - * response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return - * false; } - * - * // get user login if (!loginUser.isEmpty()) { LoginUser user = - * loginUser.get(0); }else{ LOG.info("User {} is unauthorized", - * namaUser); - * response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, - * "User is unauthorized"); - * response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return - * false; } } - */ \ No newline at end of file diff --git a/jasamedika-it/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java b/jasamedika-it/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java index bb5fd62f..c477fb4e 100644 --- a/jasamedika-it/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java +++ b/jasamedika-it/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java @@ -1,70 +1,49 @@ package com.jasamedika.medifirst2000.interceptor; -import java.lang.reflect.Method; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - +import com.jasamedika.medifirst2000.constants.Constants; +import com.jasamedika.medifirst2000.dao.LoginUserDao; +import com.jasamedika.medifirst2000.dao.RuanganDao; +import com.jasamedika.medifirst2000.entities.*; +import com.jasamedika.medifirst2000.notification.MessagePublisher; +import com.jasamedika.medifirst2000.security.model.AppPermission; +import com.jasamedika.medifirst2000.security.service.TokenAuthenticationService; +import com.jasamedika.medifirst2000.service.*; +import com.jasamedika.medifirst2000.util.CommonUtil; +import com.jasamedika.medifirst2000.vo.NotifMessagingSchedulerVO; +import com.jasamedika.medifirst2000.vo.NotifMessagingVO; +import com.jasamedika.medifirst2000.vo.NotifikasiMessageObjekModulVO; +import com.jasamedika.medifirst2000.vo.ObjekModulAplikasiVO; import org.apache.commons.lang3.ArrayUtils; import org.json.JSONArray; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; -import com.jasamedika.medifirst2000.constants.Constants; -import com.jasamedika.medifirst2000.dao.LoginUserDao; -import com.jasamedika.medifirst2000.dao.NotifikasiMessageObjekModulDao; -import com.jasamedika.medifirst2000.dao.RuanganDao; -import com.jasamedika.medifirst2000.entities.KelompokUser; -import com.jasamedika.medifirst2000.entities.LoginUser; -import com.jasamedika.medifirst2000.entities.MapObjekModulToKelompokUser; -import com.jasamedika.medifirst2000.entities.MapObjekModulToLoginUser; -import com.jasamedika.medifirst2000.entities.Pegawai; -import com.jasamedika.medifirst2000.entities.Ruangan; -import com.jasamedika.medifirst2000.notification.MessagePublisher; -import com.jasamedika.medifirst2000.notification.MessageSubscriber; -import com.jasamedika.medifirst2000.security.model.AppPermission; -import com.jasamedika.medifirst2000.security.service.TokenAuthenticationService; -import com.jasamedika.medifirst2000.service.MapObjekModulToKelompokUserService; -import com.jasamedika.medifirst2000.service.MapObjekModulToLoginUserService; -import com.jasamedika.medifirst2000.service.NotifMessagingSchedulerService; -import com.jasamedika.medifirst2000.service.NotifMessagingService; -import com.jasamedika.medifirst2000.service.NotifikasiMessageObjekModulService; -import com.jasamedika.medifirst2000.service.ObjekModulAplikasiService; -import com.jasamedika.medifirst2000.util.CommonUtil; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.NotifMessagingSchedulerVO; -import com.jasamedika.medifirst2000.vo.NotifMessagingVO; -import com.jasamedika.medifirst2000.vo.NotifikasiMessageObjekModulVO; -import com.jasamedika.medifirst2000.vo.ObjekModulAplikasiVO; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.lang.reflect.Method; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; /** * Interceptor class for All annotation method controller @AppPermission * - * @author Roberto - * - * direka ulang oleh Syamsu + * @author Roberto, direka ulang oleh Syamsu */ - public class AppInterceptor implements HandlerInterceptor { - - private static final String[] PRINT_PATTERN = {"/lap_", "/lap-", "/lap", "/cetak_", "/cetak-", "/print_", "/print-" }; - private static final String[] ADD_PATTERN = {"/save_", "/save-", "/add_", "/add-", "/simpan_", "/simpan-"}; - - private static final String[] UPDATE_PATTERN = {"/update_", "/update-", "/edit_", "/edit-", "/ubah_", "/ubah-"}; + private static final String[] PRINT_PATTERN = { "/lap_", "/lap-", "/lap", "/cetak_", "/cetak-", "/print_", + "/print-" }; - private static final String[] DELETE_PATTERN = {"/delete_", "/delete-", "/hapus_", "/hapus-"}; + private static final String[] ADD_PATTERN = { "/save_", "/save-", "/add_", "/add-", "/simpan_", "/simpan-" }; - private final Logger LOG = LoggerFactory.getLogger(AppInterceptor.class); + private static final String[] UPDATE_PATTERN = { "/update_", "/update-", "/edit_", "/edit-", "/ubah_", "/ubah-" }; + + private static final String[] DELETE_PATTERN = { "/delete_", "/delete-", "/hapus_", "/hapus-" }; @Autowired private TokenAuthenticationService tokenAuthenticationService; @@ -74,101 +53,55 @@ public class AppInterceptor implements HandlerInterceptor { @Autowired private MapObjekModulToKelompokUserService mapObjekModulToKelompokUserService; - + @Autowired private MapObjekModulToLoginUserService mapObjekModulToLoginUserService; @Autowired private ObjekModulAplikasiService objekModulAplikasiService; - + @Autowired MessagePublisher messagePublisher; - @Autowired - MessageSubscriber messageSubscriber; - @Autowired NotifMessagingService notifMessagingService; - + @Autowired NotifikasiMessageObjekModulService notifikasiMessageObjekModulService; - + @Autowired NotifMessagingSchedulerService notifMessagingSchedulerService; @Autowired - NotifikasiMessageObjekModulDao notifikasiModulMessageDao; - - @Autowired RuanganDao ruanganDao; List loginUser; String namaUser; - -// private int headerActionToAction(String action){ -// if ("save".equals(action)){ -// return AppPermission.ADD; -// } else if ("edit".equals(action)){ -// return AppPermission.UPDATE; -// } else if ("delete".equals(action)){ -// return AppPermission.DELETE; -// } else if ("print".equals(action)){ -// return AppPermission.PRINT; -// } else { -// return AppPermission.VIEW; -// } -// } - - - private boolean contains(String source, String[] matchers){ - - - if (CommonUtil.isNullOrEmpty(source) || ArrayUtils.isEmpty(matchers)){ + + private boolean contains(String source, String[] matchers) { + if (CommonUtil.isNullOrEmpty(source) || ArrayUtils.isEmpty(matchers)) return false; - } - - for (int i=0;i 0){ -// cpos = pos; -// }else{ -// break; -// } -// } -// String oye = urlForm.substring(0, cpos); return potongan.toString(); } - - private boolean checkAuthSecure(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, boolean supervisi) throws Exception { + private boolean checkAuthSecure(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, + boolean supervisi) throws Exception { Authentication authentication = tokenAuthenticationService.getAuthentication(request); - namaUser = authentication.getName(); loginUser = loginUserDao.findByNamaUser(namaUser); - if (CommonUtil.isNullOrEmpty(loginUser)) { - LOG.info("Empty login user"); response.setHeader("RequireSupervisor", "false"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Empty login user"); response.setStatus(HttpServletResponse.SC_FORBIDDEN); @@ -176,132 +109,92 @@ public class AppInterceptor implements HandlerInterceptor { } return true; } - - private int checkUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action){ - + + private int checkUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action) { int result = -1; - - MapObjekModulToLoginUser modul = mapObjekModulToLoginUserService.findByObjekModulAplikasi(objekModulAplikasiVO.getId(), user.getId()); - + MapObjekModulToLoginUser modul = mapObjekModulToLoginUserService + .findByObjekModulAplikasi(objekModulAplikasiVO.getId(), user.getId()); if (modul != null) { - LOG.info("Module security match"); result = 0; switch (action) { - case AppPermission.ADD: - if (modul.getSimpan()){ - result = 1; - } - break; - case AppPermission.UPDATE: - if (modul.getEdit()){ - result = 1; - } - break; - case AppPermission.DELETE: - if (modul.getHapus()){ - result = 1; - } - break; - case AppPermission.PRINT: - if (modul.getCetak()){ - result = 1; - } - break; + case AppPermission.ADD: + if (modul.getSimpan()) + result = 1; + break; + case AppPermission.UPDATE: + if (modul.getEdit()) + result = 1; + break; + case AppPermission.DELETE: + if (modul.getHapus()) + result = 1; + break; + case AppPermission.PRINT: + if (modul.getCetak()) + result = 1; + break; } } - return result; } - - private int checkKelompokUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action){ - + + private int checkKelompokUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action) { KelompokUser role = user.getKelompokUser(); int result = -2; - if (role != null) { - MapObjekModulToKelompokUser modul = mapObjekModulToKelompokUserService.findByObjekModulAplikasi(objekModulAplikasiVO.getId(), role.getId()); + MapObjekModulToKelompokUser modul = mapObjekModulToKelompokUserService + .findByObjekModulAplikasi(objekModulAplikasiVO.getId(), role.getId()); result = -1; if (modul != null) { - LOG.info("Module security match"); result = 0; switch (action) { - case AppPermission.ADD: - if (modul.getSimpan()){ - result = 1; - } - break; - case AppPermission.UPDATE: - if (modul.getEdit()){ - result = 1; - } - break; - case AppPermission.DELETE: - if (modul.getHapus()){ - result = 1; - } - break; - case AppPermission.PRINT: - if (modul.getCetak()){ - result = 1; - } - break; + case AppPermission.ADD: + if (modul.getSimpan()) + result = 1; + break; + case AppPermission.UPDATE: + if (modul.getEdit()) + result = 1; + break; + case AppPermission.DELETE: + if (modul.getHapus()) + result = 1; + break; + case AppPermission.PRINT: + if (modul.getCetak()) + result = 1; + break; } } } - return result; } - private boolean checkPermission(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, int action) throws Exception { - // Alter modified Syamsu - List objekModulAplikasi = objekModulAplikasiService.findByAlamatUrlForm(filterUrlForm(AlamatUrlForm)); - - - if (CommonUtil.isNullOrEmpty(objekModulAplikasi)){ - LOG.warn(AlamatUrlForm + " : Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar objek modul aplikasi.."); - return true; // Defaultnya diloloskan semuanya... - } - - if (!checkAuthSecure(request, response, AlamatUrlForm, false)) { + private boolean checkPermission(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, + int action) throws Exception { + List objekModulAplikasi = objekModulAplikasiService + .findByAlamatUrlForm(filterUrlForm(AlamatUrlForm)); + if (CommonUtil.isNullOrEmpty(objekModulAplikasi)) + return true; + if (!checkAuthSecure(request, response, AlamatUrlForm, false)) return false; - } - int resultUser = checkUserPermision(loginUser.get(0), objekModulAplikasi.get(0), action); - - if (resultUser == 0){ - LOG.info("User {} has need superVisor for action in {} module application", namaUser, action); + if (resultUser == 0) { response.setHeader("RequireSupervisor", "true"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Action requires supervisor"); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return false; - } else if (resultUser == 1){ + } else if (resultUser == 1) { response.setHeader(Constants.MessageInfo.INFO_MESSAGE, "Supervise execution success"); response.setStatus(HttpServletResponse.SC_OK); return true; - } - + } int resultKelompokUser = checkKelompokUserPermision(loginUser.get(0), objekModulAplikasi.get(0), action); - - if (resultKelompokUser == -2){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar kelompok user.."); - return true; // Defaultnya diloloskan semuanya... -// LOG.info("User {} has no role to gain access restricted area", namaUser); -// response.setHeader("RequireSupervisor", "false"); -// response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, -// "User " + namaUser + " has no role to gain access restricted area"); -// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); -// return false; - } else if (resultKelompokUser == -1){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar Map objek modul to kelompok user.."); - return true; // Defaultnya diloloskan semuanya... -// LOG.info("User {} has no access to module application", namaUser); -// response.setHeader("RequireSupervisor", "false"); -// response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, -// "User " + namaUser + " has no access to module application"); -// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); -// return false; - } else if (resultKelompokUser == 0) { - LOG.info("User {} has need superVisor for action in {} module application", namaUser, action); + if (resultKelompokUser == -2) { + return true; + } else if (resultKelompokUser == -1) { + return true; + } else if (resultKelompokUser == 0) { response.setHeader("RequireSupervisor", "true"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Action requires supervisor"); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); @@ -310,113 +203,54 @@ public class AppInterceptor implements HandlerInterceptor { response.setHeader(Constants.MessageInfo.INFO_MESSAGE, "Supervise execution success"); response.setStatus(HttpServletResponse.SC_OK); return true; - } + } } - /* - * return true untuk valid permission request ke controller method - */ @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - ////// Syamsu ///// - - // TUTUP DULU PENGGUNAANNYA... - + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { HandlerMethod hm; - Method method = null; -// int methodApp = AppPermission.VIEW; - + Method method; response.setHeader("Access-Control-Expose-Headers", "RequireSupervisor" + "," + Constants.MessageInfo.ERROR_MESSAGE + "," + Constants.MessageInfo.INFO_MESSAGE); - - ////// Syamsu ///// - - String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "": request.getHeader(Constants.HttpHeader.URL_FORM); - - // Buat Om, Kang, Aa Reza terkait Security Role - //String KdRuangan = null; - String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "": request.getHeader(Constants.HttpHeader.KD_RUANGAN); - + String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" + : request.getHeader(Constants.HttpHeader.URL_FORM); + String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "" + : request.getHeader(Constants.HttpHeader.KD_RUANGAN); int action = AppPermission.VIEW; - - if (CommonUtil.isNullOrEmpty(AlamatUrlForm)){ - //LOG.warn("Sementara defaultnya di loloskan semuanya di AppInterceptor jika tidak ada header 'AlamatUrlForm' .."); - return true; // Lewatin dulu sementara; - } - - if (CommonUtil.isNullOrEmpty(KdRuangan) || "0".equals(KdRuangan)){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada header 'KdRuangan' atau header 'KdRuangan'nya 0 .."); - return true; // Lewatin dulu sementara; - } - - //String headerAction = request.getHeader(Constants.HttpHeader.ACTION) == null ? "" : request.getHeader(Constants.HttpHeader.ACTION); - + if (CommonUtil.isNullOrEmpty(AlamatUrlForm)) + return true; + if (CommonUtil.isNullOrEmpty(KdRuangan) || "0".equals(KdRuangan)) + return true; String URI = request.getRequestURI(); String methodHttp = request.getMethod(); - try { - // Alter modified Syamsu if (handler instanceof org.springframework.web.method.HandlerMethod) { hm = (HandlerMethod) handler; method = hm.getMethod(); } else { return checkAuthSecure(request, response, AlamatUrlForm, true); } - - // AlamatUrlForm // Alter modified Syamsu boolean usingAnno = method != null && method.isAnnotationPresent(AppPermission.class); - boolean postM = "POST".equals(methodHttp); boolean signInOut = !URI.contains("auth/sign-in") && !URI.contains("auth/sign-out"); boolean getM = "GET".equals(methodHttp); - boolean cetak = contains (URI, PRINT_PATTERN); - - /*(URI.contains("/lap_") || URI.contains("/lap-") || URI.contains("/lap") - || URI.contains("/cetak_") || URI.contains("/print_") || URI.contains("/cetak-") - || URI.contains("/print-"));*/ - - boolean simpan = contains (URI, ADD_PATTERN); - - /*(URI.contains("/save_") || URI.contains("/add_") || URI.contains("/simpan_") - || URI.contains("/save-") || URI.contains("/add-") || URI.contains("/simpan-"));*/ - - boolean ubah = contains (URI, UPDATE_PATTERN); - - /*(URI.contains("/update_") || URI.contains("/edit_") || URI.contains("/ubah_") - || URI.contains("/update-") || URI.contains("/edit-") || URI.contains("/ubah-"));*/ - - boolean hapus = contains (URI, DELETE_PATTERN); - - /*(URI.contains("/delete_") || URI.contains("/hapus_") || URI.contains("/delete-") - || URI.contains("/hapus-")); */ - + boolean cetak = contains(URI, PRINT_PATTERN); + boolean simpan = contains(URI, ADD_PATTERN); + boolean ubah = contains(URI, UPDATE_PATTERN); + boolean hapus = contains(URI, DELETE_PATTERN); if (usingAnno) { - if (method.getAnnotation(AppPermission.class) != null) { + if (method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - - if (AppPermission.SPECIALS == action /* && "#/home".equals(AlamatUrlForm) */) { + if (AppPermission.SPECIALS == action) return true; - } } - if (getM && cetak) { - action = AppPermission.PRINT; - -// if (headerAction != null && !"".equals(headerAction)) { -// action = headerActionToAction(headerAction); -// } - - if (method.getAnnotation(AppPermission.class) != null) { + if (method != null && method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - return checkPermission(request, response, AlamatUrlForm, action); } - if ((usingAnno || postM) && signInOut) { - if (simpan) { action = AppPermission.ADD; } else if (ubah) { @@ -426,345 +260,104 @@ public class AppInterceptor implements HandlerInterceptor { } else if (cetak) { action = AppPermission.PRINT; } - -// if (headerAction != null && !"".equals(headerAction)) { -// action = headerActionToAction(headerAction); -// } - - if (method.getAnnotation(AppPermission.class) != null) { + if (method != null && method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - return checkPermission(request, response, AlamatUrlForm, action); - } - } catch (Exception e) { - e.printStackTrace(); - System.out.println("Not Found " + request.getRequestURL()); - - LOG.info("Error accured unauthorized"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Something wrong happened"); response.setHeader("RequireSupervisor", "false"); response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); return false; } - - // TUTUP DULU PENGGUNAANNYA... - return true; } - @Override - public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) throws Exception {} - - + public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) { + } + @Override - public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) throws Exception { - + public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) + throws Exception { String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" : request.getHeader(Constants.HttpHeader.URL_FORM); String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN); - String idRuanganTujuan = request.getHeader(Constants.HttpHeader.KD_RUANGAN_T) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN_T); - String idRuanganTujuanA = request.getHeader(Constants.HttpHeader.KD_RUANGAN_A) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN_A); - String tglKirim = request.getHeader(Constants.HttpHeader.TGL_KIRIM) == null ? "" : request.getHeader(Constants.HttpHeader.TGL_KIRIM); - boolean notHttpOK = response.getStatus() >= HttpServletResponse.SC_BAD_REQUEST; boolean notLewatMenu = CommonUtil.isNullOrEmpty(AlamatUrlForm) || CommonUtil.isNullOrEmpty(KdRuangan); - - Integer ruanganAsalId = 0; - - try { - ruanganAsalId = Integer.parseInt(KdRuangan); - }catch(Exception e){ - ex = e; - } - - + Integer ruanganAsalId = Integer.parseInt(KdRuangan); boolean adaError = CommonUtil.isNotNullOrEmpty(ex); - if (notHttpOK || notLewatMenu || adaError){ + if (notHttpOK || notLewatMenu || adaError) return; - } - Authentication authentication = tokenAuthenticationService.getAuthentication(request); - - if (CommonUtil.isNullOrEmpty(authentication)){ + if (CommonUtil.isNullOrEmpty(authentication)) return; - } - namaUser = authentication.getName(); loginUser = loginUserDao.findByNamaUser(namaUser); - - if (CommonUtil.isNullOrEmpty(loginUser)) { + if (CommonUtil.isNullOrEmpty(loginUser)) return; - } - String potongan = filterUrlForm(AlamatUrlForm); List objekModulAplikasiVOs = objekModulAplikasiService.findByAlamatUrlForm(potongan); - - if (CommonUtil.isNullOrEmpty(objekModulAplikasiVOs)){ + if (CommonUtil.isNullOrEmpty(objekModulAplikasiVOs)) return; - } - String URI = request.getRequestURI(); - Integer objekModulAplikasId = objekModulAplikasiVOs.get(0).getId(); - - List notifMessagingVOs = notifMessagingService.findByObjekModulAplikasiIdAndUrlBackEndOrUrlBackEndIsNull(objekModulAplikasId, URI); - - if (CommonUtil.isNullOrEmpty(notifMessagingVOs)) { + List notifMessagingVOs = notifMessagingService + .findByObjekModulAplikasiIdAndUrlBackEndOrUrlBackEndIsNull(objekModulAplikasId, URI); + if (CommonUtil.isNullOrEmpty(notifMessagingVOs)) return; - } - Integer notifMessagingId = notifMessagingVOs.get(0).getId(); - if (CommonUtil.isNullOrEmpty(tglKirim)) { - - List ruanganTujuansId = new ArrayList<>(); - System.out.println("--"); - - if (!"".equals(idRuanganTujuan)){ + if (!"".equals(idRuanganTujuan)) { JSONArray ruanganTujuanIds = new JSONArray(idRuanganTujuan); - for (int i=0; i 0){ - try{ - rabbitHole.sendNotif(rabbitHole, ruanganAsal, pegawai, notifikasiMessageObjekModulService, notifMessagingId, ruanganTujuansId); - }catch(Exception e){ - e.printStackTrace(); - LOG.info(DateUtil.now()+" send notif dari Ruangan {} dengan ruanganId {} pada notifMessageId {} ada masalah {}", - ruanganAsal.getNamaRuangan(), ruanganAsalId, notifMessagingId, e.getMessage()); - } - } - + if (!ruanganTujuansId.isEmpty()) + rabbitHole.sendNotif(rabbitHole, ruanganAsal, pegawai, notifikasiMessageObjekModulService, + notifMessagingId, ruanganTujuansId); } else { JSONArray tglKirims = new JSONArray(tglKirim); JSONArray ruanganTujuanIds = new JSONArray(idRuanganTujuan); SimpleDateFormat myFormat = new SimpleDateFormat("yyyy-MM-dd"); - - for (int i=0; i T convertToVO(T t, Object o){ -// BeanUtils.copyProperties(t, o); -// return t; -// } - - // try{ - // - // - // String AlamatUrlForm = - // request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" : - // request.getHeader(Constants.HttpHeader.URL_FORM); - // String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) - // == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN); - // - // Authentication authentication = - // tokenAuthenticationService.getAuthentication(request); - // - // namaUser = authentication.getName(); - // loginUser = loginUserDao.findByNamaUser(namaUser); - // - // - // if (loginUser.isEmpty()) { - // publisher.BroadcastMessage(KdRuangan, namaUser, AlamatUrlForm); - // } - // - // - // - // - //// String routingKeyAndQueueName = "ruanganId." + KdRuangan; - //// - //// publisher.sendRabbitMQNotification("127.0.0.1", "ruanganId." + - // KdRuangan, "Kd Ruangan : " + KdRuangan + ", AlamatUrlForm : " + - // AlamatUrlForm); - //// - //// subscriber.startRabbitMQNotification("127.0.0.1", - // routingKeyAndQueueName); - //// subscriber.listenRabbitMQNotification(routingKeyAndQueueName, - // subscriber.getDefaultConsumer(), false); - //// subscriber.stopRabbitMQNotification(); - // - // }catch(Exception e){ - // //e.printStackTrace(); - // } - - - -// //String urlSocket = messagePublisher.GetSettingDataFixed("UrlRabbitMQMessaging"); sementara kunci dulu. -// -// String urlSocket = "127.0.0.1"; -// -// List notifikasiMessageObjekModulVOs = notifikasiMessageObjekModulService.findByNotifMessagingIdAndRuanganId(notifMessagingId, ruanganTujuansId); -// -// if (CommonUtil.isNullOrEmpty(notifikasiMessageObjekModulVOs)) { -// return; -// } -// -// Integer ruanganIdtemp = 0; -// boolean connect = false; -// -// for (NotifikasiMessageObjekModulVO vo : notifikasiMessageObjekModulVOs){ -// Ruangan ruangan = vo.getRuangan(); -// ModulAplikasi modulAplikasi = vo.getModulAplikasi(); -// ObjekModulAplikasi objekModulAplikasi = vo.getObjekModulAplikasi(); -// String customURLObjekModul = vo.getCustomURLObjekModul(); -// String titleNotifikasi = vo.getTitleNotifikasi(); -// String pesanNotifikasi = vo.getPesanNotifikasi(); -// String namaFungsiFrontEnd = vo.getNamaFungsiFrontEnd(); -// -// if (ruangan.getId() == ruanganId){ -// continue; -// } -// -// RuanganVO dariRuangan = ruanganService.findById(ruanganId); -// -// if (ruanganIdtemp != ruangan.getId()){ -// if (connect){ -// rabbitHole.close(); -// } -// rabbitHole.connect(urlSocket, String.valueOf(ruangan.getId())); -// connect = true; -// ruanganIdtemp = ruangan.getId(); -// } -// -// Map map = new HashMap<>(); -// map.put("title", titleNotifikasi); -// map.put("dariRuangan", dariRuangan); -// map.put("ruanganId", ruangan.getId()); -// map.put("ruangan", convertToVO(new RuanganVO(), ruangan)); -// map.put("modulAplikasi", convertToVO(new ModulAplikasiVO(), modulAplikasi)); -// map.put("objekModulAplikasi", convertToVO(new ObjekModulAplikasiVO(), objekModulAplikasi)); -// map.put("titleNotifikasi", titleNotifikasi); -// map.put("pesanNotifikasi", pesanNotifikasi); -// map.put("namaFungsiFrontEnd", namaFungsiFrontEnd); -// map.put("fromPegawai", loginUser.get(0).getPegawai()); -// map.put("urlForm",CommonUtil.isNullOrEmpty(customURLObjekModul)? objekModulAplikasi.getAlamatUrlForm() : customURLObjekModul); -// -// rabbitHole.sendRabbitMQNotification(gson.toJson(map)); -// -// //messagePublisher.BroadcastMessage(map); -// } -// if (connect){ -// rabbitHole.close(); -// } - - -// private static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() { -// @Override -// @SuppressWarnings("unchecked") -// public TypeAdapter create(Gson gson, TypeToken type) { -// return (HibernateProxy.class.isAssignableFrom(type.getRawType()) -// ? (TypeAdapter) new HibernateProxyTypeAdapter((TypeAdapter)gson.getAdapter(TypeToken.get(type.getRawType().getSuperclass()))) -// : null); -// } -// }; -// -// -// private static final class HibernateProxyTypeAdapter extends TypeAdapter { -// -// private final TypeAdapter delegate; -// -// private HibernateProxyTypeAdapter(TypeAdapter delegate) { -// this.delegate = delegate; -// } -// -// @Override -// public HibernateProxy read(JsonReader r) throws IOException { -// throw new UnsupportedOperationException("Not supported"); -// } -// -// @SuppressWarnings({"rawtypes", "unchecked"}) -// @Override -// public void write(JsonWriter out, HibernateProxy value) throws IOException { -// if (value == null) { -// out.nullValue(); -// return; -// } -// -// -// -// delegate.write(out, ((HibernateProxy) value).getHibernateLazyInitializer().getImplementation()); -// } -// } } - - - -/* - * else if (method.isAnnotationPresent(AppMenuPermision.class)){ - * - * Authentication authentication = - * tokenAuthenticationService.getAuthentication(request); - * - * String namaUser = authentication.getName(); - * - * List loginUser = - * loginUserDao.findByNamaUser(namaUser); - * - * if (loginUser.isEmpty()) { // untuk testing false - * response.addHeader("Access-Control-Expose-Headers", - * "content-type"); - * response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "User " + - * namaUser + " can not access current menu "); - * response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return - * false; } - * - * // get user login if (!loginUser.isEmpty()) { LoginUser user = - * loginUser.get(0); }else{ LOG.info("User {} is unauthorized", - * namaUser); - * response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, - * "User is unauthorized"); - * response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return - * false; } } - */ \ No newline at end of file diff --git a/jasamedika-k3kl/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java b/jasamedika-k3kl/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java index bb5fd62f..c477fb4e 100644 --- a/jasamedika-k3kl/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java +++ b/jasamedika-k3kl/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java @@ -1,70 +1,49 @@ package com.jasamedika.medifirst2000.interceptor; -import java.lang.reflect.Method; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - +import com.jasamedika.medifirst2000.constants.Constants; +import com.jasamedika.medifirst2000.dao.LoginUserDao; +import com.jasamedika.medifirst2000.dao.RuanganDao; +import com.jasamedika.medifirst2000.entities.*; +import com.jasamedika.medifirst2000.notification.MessagePublisher; +import com.jasamedika.medifirst2000.security.model.AppPermission; +import com.jasamedika.medifirst2000.security.service.TokenAuthenticationService; +import com.jasamedika.medifirst2000.service.*; +import com.jasamedika.medifirst2000.util.CommonUtil; +import com.jasamedika.medifirst2000.vo.NotifMessagingSchedulerVO; +import com.jasamedika.medifirst2000.vo.NotifMessagingVO; +import com.jasamedika.medifirst2000.vo.NotifikasiMessageObjekModulVO; +import com.jasamedika.medifirst2000.vo.ObjekModulAplikasiVO; import org.apache.commons.lang3.ArrayUtils; import org.json.JSONArray; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; -import com.jasamedika.medifirst2000.constants.Constants; -import com.jasamedika.medifirst2000.dao.LoginUserDao; -import com.jasamedika.medifirst2000.dao.NotifikasiMessageObjekModulDao; -import com.jasamedika.medifirst2000.dao.RuanganDao; -import com.jasamedika.medifirst2000.entities.KelompokUser; -import com.jasamedika.medifirst2000.entities.LoginUser; -import com.jasamedika.medifirst2000.entities.MapObjekModulToKelompokUser; -import com.jasamedika.medifirst2000.entities.MapObjekModulToLoginUser; -import com.jasamedika.medifirst2000.entities.Pegawai; -import com.jasamedika.medifirst2000.entities.Ruangan; -import com.jasamedika.medifirst2000.notification.MessagePublisher; -import com.jasamedika.medifirst2000.notification.MessageSubscriber; -import com.jasamedika.medifirst2000.security.model.AppPermission; -import com.jasamedika.medifirst2000.security.service.TokenAuthenticationService; -import com.jasamedika.medifirst2000.service.MapObjekModulToKelompokUserService; -import com.jasamedika.medifirst2000.service.MapObjekModulToLoginUserService; -import com.jasamedika.medifirst2000.service.NotifMessagingSchedulerService; -import com.jasamedika.medifirst2000.service.NotifMessagingService; -import com.jasamedika.medifirst2000.service.NotifikasiMessageObjekModulService; -import com.jasamedika.medifirst2000.service.ObjekModulAplikasiService; -import com.jasamedika.medifirst2000.util.CommonUtil; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.NotifMessagingSchedulerVO; -import com.jasamedika.medifirst2000.vo.NotifMessagingVO; -import com.jasamedika.medifirst2000.vo.NotifikasiMessageObjekModulVO; -import com.jasamedika.medifirst2000.vo.ObjekModulAplikasiVO; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.lang.reflect.Method; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; /** * Interceptor class for All annotation method controller @AppPermission * - * @author Roberto - * - * direka ulang oleh Syamsu + * @author Roberto, direka ulang oleh Syamsu */ - public class AppInterceptor implements HandlerInterceptor { - - private static final String[] PRINT_PATTERN = {"/lap_", "/lap-", "/lap", "/cetak_", "/cetak-", "/print_", "/print-" }; - private static final String[] ADD_PATTERN = {"/save_", "/save-", "/add_", "/add-", "/simpan_", "/simpan-"}; - - private static final String[] UPDATE_PATTERN = {"/update_", "/update-", "/edit_", "/edit-", "/ubah_", "/ubah-"}; + private static final String[] PRINT_PATTERN = { "/lap_", "/lap-", "/lap", "/cetak_", "/cetak-", "/print_", + "/print-" }; - private static final String[] DELETE_PATTERN = {"/delete_", "/delete-", "/hapus_", "/hapus-"}; + private static final String[] ADD_PATTERN = { "/save_", "/save-", "/add_", "/add-", "/simpan_", "/simpan-" }; - private final Logger LOG = LoggerFactory.getLogger(AppInterceptor.class); + private static final String[] UPDATE_PATTERN = { "/update_", "/update-", "/edit_", "/edit-", "/ubah_", "/ubah-" }; + + private static final String[] DELETE_PATTERN = { "/delete_", "/delete-", "/hapus_", "/hapus-" }; @Autowired private TokenAuthenticationService tokenAuthenticationService; @@ -74,101 +53,55 @@ public class AppInterceptor implements HandlerInterceptor { @Autowired private MapObjekModulToKelompokUserService mapObjekModulToKelompokUserService; - + @Autowired private MapObjekModulToLoginUserService mapObjekModulToLoginUserService; @Autowired private ObjekModulAplikasiService objekModulAplikasiService; - + @Autowired MessagePublisher messagePublisher; - @Autowired - MessageSubscriber messageSubscriber; - @Autowired NotifMessagingService notifMessagingService; - + @Autowired NotifikasiMessageObjekModulService notifikasiMessageObjekModulService; - + @Autowired NotifMessagingSchedulerService notifMessagingSchedulerService; @Autowired - NotifikasiMessageObjekModulDao notifikasiModulMessageDao; - - @Autowired RuanganDao ruanganDao; List loginUser; String namaUser; - -// private int headerActionToAction(String action){ -// if ("save".equals(action)){ -// return AppPermission.ADD; -// } else if ("edit".equals(action)){ -// return AppPermission.UPDATE; -// } else if ("delete".equals(action)){ -// return AppPermission.DELETE; -// } else if ("print".equals(action)){ -// return AppPermission.PRINT; -// } else { -// return AppPermission.VIEW; -// } -// } - - - private boolean contains(String source, String[] matchers){ - - - if (CommonUtil.isNullOrEmpty(source) || ArrayUtils.isEmpty(matchers)){ + + private boolean contains(String source, String[] matchers) { + if (CommonUtil.isNullOrEmpty(source) || ArrayUtils.isEmpty(matchers)) return false; - } - - for (int i=0;i 0){ -// cpos = pos; -// }else{ -// break; -// } -// } -// String oye = urlForm.substring(0, cpos); return potongan.toString(); } - - private boolean checkAuthSecure(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, boolean supervisi) throws Exception { + private boolean checkAuthSecure(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, + boolean supervisi) throws Exception { Authentication authentication = tokenAuthenticationService.getAuthentication(request); - namaUser = authentication.getName(); loginUser = loginUserDao.findByNamaUser(namaUser); - if (CommonUtil.isNullOrEmpty(loginUser)) { - LOG.info("Empty login user"); response.setHeader("RequireSupervisor", "false"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Empty login user"); response.setStatus(HttpServletResponse.SC_FORBIDDEN); @@ -176,132 +109,92 @@ public class AppInterceptor implements HandlerInterceptor { } return true; } - - private int checkUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action){ - + + private int checkUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action) { int result = -1; - - MapObjekModulToLoginUser modul = mapObjekModulToLoginUserService.findByObjekModulAplikasi(objekModulAplikasiVO.getId(), user.getId()); - + MapObjekModulToLoginUser modul = mapObjekModulToLoginUserService + .findByObjekModulAplikasi(objekModulAplikasiVO.getId(), user.getId()); if (modul != null) { - LOG.info("Module security match"); result = 0; switch (action) { - case AppPermission.ADD: - if (modul.getSimpan()){ - result = 1; - } - break; - case AppPermission.UPDATE: - if (modul.getEdit()){ - result = 1; - } - break; - case AppPermission.DELETE: - if (modul.getHapus()){ - result = 1; - } - break; - case AppPermission.PRINT: - if (modul.getCetak()){ - result = 1; - } - break; + case AppPermission.ADD: + if (modul.getSimpan()) + result = 1; + break; + case AppPermission.UPDATE: + if (modul.getEdit()) + result = 1; + break; + case AppPermission.DELETE: + if (modul.getHapus()) + result = 1; + break; + case AppPermission.PRINT: + if (modul.getCetak()) + result = 1; + break; } } - return result; } - - private int checkKelompokUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action){ - + + private int checkKelompokUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action) { KelompokUser role = user.getKelompokUser(); int result = -2; - if (role != null) { - MapObjekModulToKelompokUser modul = mapObjekModulToKelompokUserService.findByObjekModulAplikasi(objekModulAplikasiVO.getId(), role.getId()); + MapObjekModulToKelompokUser modul = mapObjekModulToKelompokUserService + .findByObjekModulAplikasi(objekModulAplikasiVO.getId(), role.getId()); result = -1; if (modul != null) { - LOG.info("Module security match"); result = 0; switch (action) { - case AppPermission.ADD: - if (modul.getSimpan()){ - result = 1; - } - break; - case AppPermission.UPDATE: - if (modul.getEdit()){ - result = 1; - } - break; - case AppPermission.DELETE: - if (modul.getHapus()){ - result = 1; - } - break; - case AppPermission.PRINT: - if (modul.getCetak()){ - result = 1; - } - break; + case AppPermission.ADD: + if (modul.getSimpan()) + result = 1; + break; + case AppPermission.UPDATE: + if (modul.getEdit()) + result = 1; + break; + case AppPermission.DELETE: + if (modul.getHapus()) + result = 1; + break; + case AppPermission.PRINT: + if (modul.getCetak()) + result = 1; + break; } } } - return result; } - private boolean checkPermission(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, int action) throws Exception { - // Alter modified Syamsu - List objekModulAplikasi = objekModulAplikasiService.findByAlamatUrlForm(filterUrlForm(AlamatUrlForm)); - - - if (CommonUtil.isNullOrEmpty(objekModulAplikasi)){ - LOG.warn(AlamatUrlForm + " : Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar objek modul aplikasi.."); - return true; // Defaultnya diloloskan semuanya... - } - - if (!checkAuthSecure(request, response, AlamatUrlForm, false)) { + private boolean checkPermission(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, + int action) throws Exception { + List objekModulAplikasi = objekModulAplikasiService + .findByAlamatUrlForm(filterUrlForm(AlamatUrlForm)); + if (CommonUtil.isNullOrEmpty(objekModulAplikasi)) + return true; + if (!checkAuthSecure(request, response, AlamatUrlForm, false)) return false; - } - int resultUser = checkUserPermision(loginUser.get(0), objekModulAplikasi.get(0), action); - - if (resultUser == 0){ - LOG.info("User {} has need superVisor for action in {} module application", namaUser, action); + if (resultUser == 0) { response.setHeader("RequireSupervisor", "true"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Action requires supervisor"); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return false; - } else if (resultUser == 1){ + } else if (resultUser == 1) { response.setHeader(Constants.MessageInfo.INFO_MESSAGE, "Supervise execution success"); response.setStatus(HttpServletResponse.SC_OK); return true; - } - + } int resultKelompokUser = checkKelompokUserPermision(loginUser.get(0), objekModulAplikasi.get(0), action); - - if (resultKelompokUser == -2){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar kelompok user.."); - return true; // Defaultnya diloloskan semuanya... -// LOG.info("User {} has no role to gain access restricted area", namaUser); -// response.setHeader("RequireSupervisor", "false"); -// response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, -// "User " + namaUser + " has no role to gain access restricted area"); -// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); -// return false; - } else if (resultKelompokUser == -1){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar Map objek modul to kelompok user.."); - return true; // Defaultnya diloloskan semuanya... -// LOG.info("User {} has no access to module application", namaUser); -// response.setHeader("RequireSupervisor", "false"); -// response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, -// "User " + namaUser + " has no access to module application"); -// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); -// return false; - } else if (resultKelompokUser == 0) { - LOG.info("User {} has need superVisor for action in {} module application", namaUser, action); + if (resultKelompokUser == -2) { + return true; + } else if (resultKelompokUser == -1) { + return true; + } else if (resultKelompokUser == 0) { response.setHeader("RequireSupervisor", "true"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Action requires supervisor"); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); @@ -310,113 +203,54 @@ public class AppInterceptor implements HandlerInterceptor { response.setHeader(Constants.MessageInfo.INFO_MESSAGE, "Supervise execution success"); response.setStatus(HttpServletResponse.SC_OK); return true; - } + } } - /* - * return true untuk valid permission request ke controller method - */ @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - ////// Syamsu ///// - - // TUTUP DULU PENGGUNAANNYA... - + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { HandlerMethod hm; - Method method = null; -// int methodApp = AppPermission.VIEW; - + Method method; response.setHeader("Access-Control-Expose-Headers", "RequireSupervisor" + "," + Constants.MessageInfo.ERROR_MESSAGE + "," + Constants.MessageInfo.INFO_MESSAGE); - - ////// Syamsu ///// - - String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "": request.getHeader(Constants.HttpHeader.URL_FORM); - - // Buat Om, Kang, Aa Reza terkait Security Role - //String KdRuangan = null; - String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "": request.getHeader(Constants.HttpHeader.KD_RUANGAN); - + String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" + : request.getHeader(Constants.HttpHeader.URL_FORM); + String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "" + : request.getHeader(Constants.HttpHeader.KD_RUANGAN); int action = AppPermission.VIEW; - - if (CommonUtil.isNullOrEmpty(AlamatUrlForm)){ - //LOG.warn("Sementara defaultnya di loloskan semuanya di AppInterceptor jika tidak ada header 'AlamatUrlForm' .."); - return true; // Lewatin dulu sementara; - } - - if (CommonUtil.isNullOrEmpty(KdRuangan) || "0".equals(KdRuangan)){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada header 'KdRuangan' atau header 'KdRuangan'nya 0 .."); - return true; // Lewatin dulu sementara; - } - - //String headerAction = request.getHeader(Constants.HttpHeader.ACTION) == null ? "" : request.getHeader(Constants.HttpHeader.ACTION); - + if (CommonUtil.isNullOrEmpty(AlamatUrlForm)) + return true; + if (CommonUtil.isNullOrEmpty(KdRuangan) || "0".equals(KdRuangan)) + return true; String URI = request.getRequestURI(); String methodHttp = request.getMethod(); - try { - // Alter modified Syamsu if (handler instanceof org.springframework.web.method.HandlerMethod) { hm = (HandlerMethod) handler; method = hm.getMethod(); } else { return checkAuthSecure(request, response, AlamatUrlForm, true); } - - // AlamatUrlForm // Alter modified Syamsu boolean usingAnno = method != null && method.isAnnotationPresent(AppPermission.class); - boolean postM = "POST".equals(methodHttp); boolean signInOut = !URI.contains("auth/sign-in") && !URI.contains("auth/sign-out"); boolean getM = "GET".equals(methodHttp); - boolean cetak = contains (URI, PRINT_PATTERN); - - /*(URI.contains("/lap_") || URI.contains("/lap-") || URI.contains("/lap") - || URI.contains("/cetak_") || URI.contains("/print_") || URI.contains("/cetak-") - || URI.contains("/print-"));*/ - - boolean simpan = contains (URI, ADD_PATTERN); - - /*(URI.contains("/save_") || URI.contains("/add_") || URI.contains("/simpan_") - || URI.contains("/save-") || URI.contains("/add-") || URI.contains("/simpan-"));*/ - - boolean ubah = contains (URI, UPDATE_PATTERN); - - /*(URI.contains("/update_") || URI.contains("/edit_") || URI.contains("/ubah_") - || URI.contains("/update-") || URI.contains("/edit-") || URI.contains("/ubah-"));*/ - - boolean hapus = contains (URI, DELETE_PATTERN); - - /*(URI.contains("/delete_") || URI.contains("/hapus_") || URI.contains("/delete-") - || URI.contains("/hapus-")); */ - + boolean cetak = contains(URI, PRINT_PATTERN); + boolean simpan = contains(URI, ADD_PATTERN); + boolean ubah = contains(URI, UPDATE_PATTERN); + boolean hapus = contains(URI, DELETE_PATTERN); if (usingAnno) { - if (method.getAnnotation(AppPermission.class) != null) { + if (method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - - if (AppPermission.SPECIALS == action /* && "#/home".equals(AlamatUrlForm) */) { + if (AppPermission.SPECIALS == action) return true; - } } - if (getM && cetak) { - action = AppPermission.PRINT; - -// if (headerAction != null && !"".equals(headerAction)) { -// action = headerActionToAction(headerAction); -// } - - if (method.getAnnotation(AppPermission.class) != null) { + if (method != null && method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - return checkPermission(request, response, AlamatUrlForm, action); } - if ((usingAnno || postM) && signInOut) { - if (simpan) { action = AppPermission.ADD; } else if (ubah) { @@ -426,345 +260,104 @@ public class AppInterceptor implements HandlerInterceptor { } else if (cetak) { action = AppPermission.PRINT; } - -// if (headerAction != null && !"".equals(headerAction)) { -// action = headerActionToAction(headerAction); -// } - - if (method.getAnnotation(AppPermission.class) != null) { + if (method != null && method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - return checkPermission(request, response, AlamatUrlForm, action); - } - } catch (Exception e) { - e.printStackTrace(); - System.out.println("Not Found " + request.getRequestURL()); - - LOG.info("Error accured unauthorized"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Something wrong happened"); response.setHeader("RequireSupervisor", "false"); response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); return false; } - - // TUTUP DULU PENGGUNAANNYA... - return true; } - @Override - public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) throws Exception {} - - + public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) { + } + @Override - public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) throws Exception { - + public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) + throws Exception { String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" : request.getHeader(Constants.HttpHeader.URL_FORM); String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN); - String idRuanganTujuan = request.getHeader(Constants.HttpHeader.KD_RUANGAN_T) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN_T); - String idRuanganTujuanA = request.getHeader(Constants.HttpHeader.KD_RUANGAN_A) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN_A); - String tglKirim = request.getHeader(Constants.HttpHeader.TGL_KIRIM) == null ? "" : request.getHeader(Constants.HttpHeader.TGL_KIRIM); - boolean notHttpOK = response.getStatus() >= HttpServletResponse.SC_BAD_REQUEST; boolean notLewatMenu = CommonUtil.isNullOrEmpty(AlamatUrlForm) || CommonUtil.isNullOrEmpty(KdRuangan); - - Integer ruanganAsalId = 0; - - try { - ruanganAsalId = Integer.parseInt(KdRuangan); - }catch(Exception e){ - ex = e; - } - - + Integer ruanganAsalId = Integer.parseInt(KdRuangan); boolean adaError = CommonUtil.isNotNullOrEmpty(ex); - if (notHttpOK || notLewatMenu || adaError){ + if (notHttpOK || notLewatMenu || adaError) return; - } - Authentication authentication = tokenAuthenticationService.getAuthentication(request); - - if (CommonUtil.isNullOrEmpty(authentication)){ + if (CommonUtil.isNullOrEmpty(authentication)) return; - } - namaUser = authentication.getName(); loginUser = loginUserDao.findByNamaUser(namaUser); - - if (CommonUtil.isNullOrEmpty(loginUser)) { + if (CommonUtil.isNullOrEmpty(loginUser)) return; - } - String potongan = filterUrlForm(AlamatUrlForm); List objekModulAplikasiVOs = objekModulAplikasiService.findByAlamatUrlForm(potongan); - - if (CommonUtil.isNullOrEmpty(objekModulAplikasiVOs)){ + if (CommonUtil.isNullOrEmpty(objekModulAplikasiVOs)) return; - } - String URI = request.getRequestURI(); - Integer objekModulAplikasId = objekModulAplikasiVOs.get(0).getId(); - - List notifMessagingVOs = notifMessagingService.findByObjekModulAplikasiIdAndUrlBackEndOrUrlBackEndIsNull(objekModulAplikasId, URI); - - if (CommonUtil.isNullOrEmpty(notifMessagingVOs)) { + List notifMessagingVOs = notifMessagingService + .findByObjekModulAplikasiIdAndUrlBackEndOrUrlBackEndIsNull(objekModulAplikasId, URI); + if (CommonUtil.isNullOrEmpty(notifMessagingVOs)) return; - } - Integer notifMessagingId = notifMessagingVOs.get(0).getId(); - if (CommonUtil.isNullOrEmpty(tglKirim)) { - - List ruanganTujuansId = new ArrayList<>(); - System.out.println("--"); - - if (!"".equals(idRuanganTujuan)){ + if (!"".equals(idRuanganTujuan)) { JSONArray ruanganTujuanIds = new JSONArray(idRuanganTujuan); - for (int i=0; i 0){ - try{ - rabbitHole.sendNotif(rabbitHole, ruanganAsal, pegawai, notifikasiMessageObjekModulService, notifMessagingId, ruanganTujuansId); - }catch(Exception e){ - e.printStackTrace(); - LOG.info(DateUtil.now()+" send notif dari Ruangan {} dengan ruanganId {} pada notifMessageId {} ada masalah {}", - ruanganAsal.getNamaRuangan(), ruanganAsalId, notifMessagingId, e.getMessage()); - } - } - + if (!ruanganTujuansId.isEmpty()) + rabbitHole.sendNotif(rabbitHole, ruanganAsal, pegawai, notifikasiMessageObjekModulService, + notifMessagingId, ruanganTujuansId); } else { JSONArray tglKirims = new JSONArray(tglKirim); JSONArray ruanganTujuanIds = new JSONArray(idRuanganTujuan); SimpleDateFormat myFormat = new SimpleDateFormat("yyyy-MM-dd"); - - for (int i=0; i T convertToVO(T t, Object o){ -// BeanUtils.copyProperties(t, o); -// return t; -// } - - // try{ - // - // - // String AlamatUrlForm = - // request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" : - // request.getHeader(Constants.HttpHeader.URL_FORM); - // String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) - // == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN); - // - // Authentication authentication = - // tokenAuthenticationService.getAuthentication(request); - // - // namaUser = authentication.getName(); - // loginUser = loginUserDao.findByNamaUser(namaUser); - // - // - // if (loginUser.isEmpty()) { - // publisher.BroadcastMessage(KdRuangan, namaUser, AlamatUrlForm); - // } - // - // - // - // - //// String routingKeyAndQueueName = "ruanganId." + KdRuangan; - //// - //// publisher.sendRabbitMQNotification("127.0.0.1", "ruanganId." + - // KdRuangan, "Kd Ruangan : " + KdRuangan + ", AlamatUrlForm : " + - // AlamatUrlForm); - //// - //// subscriber.startRabbitMQNotification("127.0.0.1", - // routingKeyAndQueueName); - //// subscriber.listenRabbitMQNotification(routingKeyAndQueueName, - // subscriber.getDefaultConsumer(), false); - //// subscriber.stopRabbitMQNotification(); - // - // }catch(Exception e){ - // //e.printStackTrace(); - // } - - - -// //String urlSocket = messagePublisher.GetSettingDataFixed("UrlRabbitMQMessaging"); sementara kunci dulu. -// -// String urlSocket = "127.0.0.1"; -// -// List notifikasiMessageObjekModulVOs = notifikasiMessageObjekModulService.findByNotifMessagingIdAndRuanganId(notifMessagingId, ruanganTujuansId); -// -// if (CommonUtil.isNullOrEmpty(notifikasiMessageObjekModulVOs)) { -// return; -// } -// -// Integer ruanganIdtemp = 0; -// boolean connect = false; -// -// for (NotifikasiMessageObjekModulVO vo : notifikasiMessageObjekModulVOs){ -// Ruangan ruangan = vo.getRuangan(); -// ModulAplikasi modulAplikasi = vo.getModulAplikasi(); -// ObjekModulAplikasi objekModulAplikasi = vo.getObjekModulAplikasi(); -// String customURLObjekModul = vo.getCustomURLObjekModul(); -// String titleNotifikasi = vo.getTitleNotifikasi(); -// String pesanNotifikasi = vo.getPesanNotifikasi(); -// String namaFungsiFrontEnd = vo.getNamaFungsiFrontEnd(); -// -// if (ruangan.getId() == ruanganId){ -// continue; -// } -// -// RuanganVO dariRuangan = ruanganService.findById(ruanganId); -// -// if (ruanganIdtemp != ruangan.getId()){ -// if (connect){ -// rabbitHole.close(); -// } -// rabbitHole.connect(urlSocket, String.valueOf(ruangan.getId())); -// connect = true; -// ruanganIdtemp = ruangan.getId(); -// } -// -// Map map = new HashMap<>(); -// map.put("title", titleNotifikasi); -// map.put("dariRuangan", dariRuangan); -// map.put("ruanganId", ruangan.getId()); -// map.put("ruangan", convertToVO(new RuanganVO(), ruangan)); -// map.put("modulAplikasi", convertToVO(new ModulAplikasiVO(), modulAplikasi)); -// map.put("objekModulAplikasi", convertToVO(new ObjekModulAplikasiVO(), objekModulAplikasi)); -// map.put("titleNotifikasi", titleNotifikasi); -// map.put("pesanNotifikasi", pesanNotifikasi); -// map.put("namaFungsiFrontEnd", namaFungsiFrontEnd); -// map.put("fromPegawai", loginUser.get(0).getPegawai()); -// map.put("urlForm",CommonUtil.isNullOrEmpty(customURLObjekModul)? objekModulAplikasi.getAlamatUrlForm() : customURLObjekModul); -// -// rabbitHole.sendRabbitMQNotification(gson.toJson(map)); -// -// //messagePublisher.BroadcastMessage(map); -// } -// if (connect){ -// rabbitHole.close(); -// } - - -// private static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() { -// @Override -// @SuppressWarnings("unchecked") -// public TypeAdapter create(Gson gson, TypeToken type) { -// return (HibernateProxy.class.isAssignableFrom(type.getRawType()) -// ? (TypeAdapter) new HibernateProxyTypeAdapter((TypeAdapter)gson.getAdapter(TypeToken.get(type.getRawType().getSuperclass()))) -// : null); -// } -// }; -// -// -// private static final class HibernateProxyTypeAdapter extends TypeAdapter { -// -// private final TypeAdapter delegate; -// -// private HibernateProxyTypeAdapter(TypeAdapter delegate) { -// this.delegate = delegate; -// } -// -// @Override -// public HibernateProxy read(JsonReader r) throws IOException { -// throw new UnsupportedOperationException("Not supported"); -// } -// -// @SuppressWarnings({"rawtypes", "unchecked"}) -// @Override -// public void write(JsonWriter out, HibernateProxy value) throws IOException { -// if (value == null) { -// out.nullValue(); -// return; -// } -// -// -// -// delegate.write(out, ((HibernateProxy) value).getHibernateLazyInitializer().getImplementation()); -// } -// } } - - - -/* - * else if (method.isAnnotationPresent(AppMenuPermision.class)){ - * - * Authentication authentication = - * tokenAuthenticationService.getAuthentication(request); - * - * String namaUser = authentication.getName(); - * - * List loginUser = - * loginUserDao.findByNamaUser(namaUser); - * - * if (loginUser.isEmpty()) { // untuk testing false - * response.addHeader("Access-Control-Expose-Headers", - * "content-type"); - * response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "User " + - * namaUser + " can not access current menu "); - * response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return - * false; } - * - * // get user login if (!loginUser.isEmpty()) { LoginUser user = - * loginUser.get(0); }else{ LOG.info("User {} is unauthorized", - * namaUser); - * response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, - * "User is unauthorized"); - * response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return - * false; } } - */ \ No newline at end of file diff --git a/jasamedika-laundry/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java b/jasamedika-laundry/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java index bb5fd62f..a170ba63 100644 --- a/jasamedika-laundry/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java +++ b/jasamedika-laundry/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java @@ -1,70 +1,50 @@ package com.jasamedika.medifirst2000.interceptor; -import java.lang.reflect.Method; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - +import com.jasamedika.medifirst2000.constants.Constants; +import com.jasamedika.medifirst2000.dao.LoginUserDao; +import com.jasamedika.medifirst2000.dao.RuanganDao; +import com.jasamedika.medifirst2000.entities.*; +import com.jasamedika.medifirst2000.notification.MessagePublisher; +import com.jasamedika.medifirst2000.security.model.AppPermission; +import com.jasamedika.medifirst2000.security.service.TokenAuthenticationService; +import com.jasamedika.medifirst2000.service.*; +import com.jasamedika.medifirst2000.util.CommonUtil; +import com.jasamedika.medifirst2000.vo.NotifMessagingSchedulerVO; +import com.jasamedika.medifirst2000.vo.NotifMessagingVO; +import com.jasamedika.medifirst2000.vo.NotifikasiMessageObjekModulVO; +import com.jasamedika.medifirst2000.vo.ObjekModulAplikasiVO; import org.apache.commons.lang3.ArrayUtils; import org.json.JSONArray; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; -import com.jasamedika.medifirst2000.constants.Constants; -import com.jasamedika.medifirst2000.dao.LoginUserDao; -import com.jasamedika.medifirst2000.dao.NotifikasiMessageObjekModulDao; -import com.jasamedika.medifirst2000.dao.RuanganDao; -import com.jasamedika.medifirst2000.entities.KelompokUser; -import com.jasamedika.medifirst2000.entities.LoginUser; -import com.jasamedika.medifirst2000.entities.MapObjekModulToKelompokUser; -import com.jasamedika.medifirst2000.entities.MapObjekModulToLoginUser; -import com.jasamedika.medifirst2000.entities.Pegawai; -import com.jasamedika.medifirst2000.entities.Ruangan; -import com.jasamedika.medifirst2000.notification.MessagePublisher; -import com.jasamedika.medifirst2000.notification.MessageSubscriber; -import com.jasamedika.medifirst2000.security.model.AppPermission; -import com.jasamedika.medifirst2000.security.service.TokenAuthenticationService; -import com.jasamedika.medifirst2000.service.MapObjekModulToKelompokUserService; -import com.jasamedika.medifirst2000.service.MapObjekModulToLoginUserService; -import com.jasamedika.medifirst2000.service.NotifMessagingSchedulerService; -import com.jasamedika.medifirst2000.service.NotifMessagingService; -import com.jasamedika.medifirst2000.service.NotifikasiMessageObjekModulService; -import com.jasamedika.medifirst2000.service.ObjekModulAplikasiService; -import com.jasamedika.medifirst2000.util.CommonUtil; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.NotifMessagingSchedulerVO; -import com.jasamedika.medifirst2000.vo.NotifMessagingVO; -import com.jasamedika.medifirst2000.vo.NotifikasiMessageObjekModulVO; -import com.jasamedika.medifirst2000.vo.ObjekModulAplikasiVO; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.lang.reflect.Method; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; /** * Interceptor class for All annotation method controller @AppPermission * - * @author Roberto - * - * direka ulang oleh Syamsu + * @author Roberto, direka ulang oleh Syamsu */ public class AppInterceptor implements HandlerInterceptor { - - private static final String[] PRINT_PATTERN = {"/lap_", "/lap-", "/lap", "/cetak_", "/cetak-", "/print_", "/print-" }; - private static final String[] ADD_PATTERN = {"/save_", "/save-", "/add_", "/add-", "/simpan_", "/simpan-"}; - - private static final String[] UPDATE_PATTERN = {"/update_", "/update-", "/edit_", "/edit-", "/ubah_", "/ubah-"}; + private static final String[] PRINT_PATTERN = { "/lap_", "/lap-", "/lap", "/cetak_", "/cetak-", "/print_", + "/print-" }; - private static final String[] DELETE_PATTERN = {"/delete_", "/delete-", "/hapus_", "/hapus-"}; + private static final String[] ADD_PATTERN = { "/save_", "/save-", "/add_", "/add-", "/simpan_", "/simpan-" }; - private final Logger LOG = LoggerFactory.getLogger(AppInterceptor.class); + private static final String[] UPDATE_PATTERN = { "/update_", "/update-", "/edit_", "/edit-", "/ubah_", "/ubah-" }; + + private static final String[] DELETE_PATTERN = { "/delete_", "/delete-", "/hapus_", "/hapus-" }; @Autowired private TokenAuthenticationService tokenAuthenticationService; @@ -74,101 +54,55 @@ public class AppInterceptor implements HandlerInterceptor { @Autowired private MapObjekModulToKelompokUserService mapObjekModulToKelompokUserService; - + @Autowired private MapObjekModulToLoginUserService mapObjekModulToLoginUserService; @Autowired private ObjekModulAplikasiService objekModulAplikasiService; - + @Autowired MessagePublisher messagePublisher; - @Autowired - MessageSubscriber messageSubscriber; - @Autowired NotifMessagingService notifMessagingService; - + @Autowired NotifikasiMessageObjekModulService notifikasiMessageObjekModulService; - + @Autowired NotifMessagingSchedulerService notifMessagingSchedulerService; @Autowired - NotifikasiMessageObjekModulDao notifikasiModulMessageDao; - - @Autowired RuanganDao ruanganDao; List loginUser; String namaUser; - -// private int headerActionToAction(String action){ -// if ("save".equals(action)){ -// return AppPermission.ADD; -// } else if ("edit".equals(action)){ -// return AppPermission.UPDATE; -// } else if ("delete".equals(action)){ -// return AppPermission.DELETE; -// } else if ("print".equals(action)){ -// return AppPermission.PRINT; -// } else { -// return AppPermission.VIEW; -// } -// } - - - private boolean contains(String source, String[] matchers){ - - - if (CommonUtil.isNullOrEmpty(source) || ArrayUtils.isEmpty(matchers)){ + + private boolean contains(String source, String[] matchers) { + if (CommonUtil.isNullOrEmpty(source) || ArrayUtils.isEmpty(matchers)) return false; - } - - for (int i=0;i 0){ -// cpos = pos; -// }else{ -// break; -// } -// } -// String oye = urlForm.substring(0, cpos); return potongan.toString(); } - - private boolean checkAuthSecure(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, boolean supervisi) throws Exception { + private boolean checkAuthSecure(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, + boolean supervisi) throws Exception { Authentication authentication = tokenAuthenticationService.getAuthentication(request); - namaUser = authentication.getName(); loginUser = loginUserDao.findByNamaUser(namaUser); - if (CommonUtil.isNullOrEmpty(loginUser)) { - LOG.info("Empty login user"); response.setHeader("RequireSupervisor", "false"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Empty login user"); response.setStatus(HttpServletResponse.SC_FORBIDDEN); @@ -176,132 +110,92 @@ public class AppInterceptor implements HandlerInterceptor { } return true; } - - private int checkUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action){ - + + private int checkUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action) { int result = -1; - - MapObjekModulToLoginUser modul = mapObjekModulToLoginUserService.findByObjekModulAplikasi(objekModulAplikasiVO.getId(), user.getId()); - + MapObjekModulToLoginUser modul = mapObjekModulToLoginUserService + .findByObjekModulAplikasi(objekModulAplikasiVO.getId(), user.getId()); if (modul != null) { - LOG.info("Module security match"); result = 0; switch (action) { - case AppPermission.ADD: - if (modul.getSimpan()){ - result = 1; - } - break; - case AppPermission.UPDATE: - if (modul.getEdit()){ - result = 1; - } - break; - case AppPermission.DELETE: - if (modul.getHapus()){ - result = 1; - } - break; - case AppPermission.PRINT: - if (modul.getCetak()){ - result = 1; - } - break; + case AppPermission.ADD: + if (modul.getSimpan()) + result = 1; + break; + case AppPermission.UPDATE: + if (modul.getEdit()) + result = 1; + break; + case AppPermission.DELETE: + if (modul.getHapus()) + result = 1; + break; + case AppPermission.PRINT: + if (modul.getCetak()) + result = 1; + break; } } - return result; } - - private int checkKelompokUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action){ - + + private int checkKelompokUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action) { KelompokUser role = user.getKelompokUser(); int result = -2; - if (role != null) { - MapObjekModulToKelompokUser modul = mapObjekModulToKelompokUserService.findByObjekModulAplikasi(objekModulAplikasiVO.getId(), role.getId()); + MapObjekModulToKelompokUser modul = mapObjekModulToKelompokUserService + .findByObjekModulAplikasi(objekModulAplikasiVO.getId(), role.getId()); result = -1; if (modul != null) { - LOG.info("Module security match"); result = 0; switch (action) { - case AppPermission.ADD: - if (modul.getSimpan()){ - result = 1; - } - break; - case AppPermission.UPDATE: - if (modul.getEdit()){ - result = 1; - } - break; - case AppPermission.DELETE: - if (modul.getHapus()){ - result = 1; - } - break; - case AppPermission.PRINT: - if (modul.getCetak()){ - result = 1; - } - break; + case AppPermission.ADD: + if (modul.getSimpan()) + result = 1; + break; + case AppPermission.UPDATE: + if (modul.getEdit()) + result = 1; + break; + case AppPermission.DELETE: + if (modul.getHapus()) + result = 1; + break; + case AppPermission.PRINT: + if (modul.getCetak()) + result = 1; + break; } } } - return result; } - private boolean checkPermission(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, int action) throws Exception { - // Alter modified Syamsu - List objekModulAplikasi = objekModulAplikasiService.findByAlamatUrlForm(filterUrlForm(AlamatUrlForm)); - - - if (CommonUtil.isNullOrEmpty(objekModulAplikasi)){ - LOG.warn(AlamatUrlForm + " : Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar objek modul aplikasi.."); - return true; // Defaultnya diloloskan semuanya... - } - - if (!checkAuthSecure(request, response, AlamatUrlForm, false)) { + private boolean checkPermission(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, + int action) throws Exception { + List objekModulAplikasi = objekModulAplikasiService + .findByAlamatUrlForm(filterUrlForm(AlamatUrlForm)); + if (CommonUtil.isNullOrEmpty(objekModulAplikasi)) + return true; + if (!checkAuthSecure(request, response, AlamatUrlForm, false)) return false; - } - int resultUser = checkUserPermision(loginUser.get(0), objekModulAplikasi.get(0), action); - - if (resultUser == 0){ - LOG.info("User {} has need superVisor for action in {} module application", namaUser, action); + if (resultUser == 0) { response.setHeader("RequireSupervisor", "true"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Action requires supervisor"); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return false; - } else if (resultUser == 1){ + } else if (resultUser == 1) { response.setHeader(Constants.MessageInfo.INFO_MESSAGE, "Supervise execution success"); response.setStatus(HttpServletResponse.SC_OK); return true; - } - + } int resultKelompokUser = checkKelompokUserPermision(loginUser.get(0), objekModulAplikasi.get(0), action); - - if (resultKelompokUser == -2){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar kelompok user.."); - return true; // Defaultnya diloloskan semuanya... -// LOG.info("User {} has no role to gain access restricted area", namaUser); -// response.setHeader("RequireSupervisor", "false"); -// response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, -// "User " + namaUser + " has no role to gain access restricted area"); -// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); -// return false; - } else if (resultKelompokUser == -1){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar Map objek modul to kelompok user.."); - return true; // Defaultnya diloloskan semuanya... -// LOG.info("User {} has no access to module application", namaUser); -// response.setHeader("RequireSupervisor", "false"); -// response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, -// "User " + namaUser + " has no access to module application"); -// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); -// return false; - } else if (resultKelompokUser == 0) { - LOG.info("User {} has need superVisor for action in {} module application", namaUser, action); + if (resultKelompokUser == -2) { + return true; + } else if (resultKelompokUser == -1) { + return true; + } else if (resultKelompokUser == 0) { response.setHeader("RequireSupervisor", "true"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Action requires supervisor"); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); @@ -310,113 +204,54 @@ public class AppInterceptor implements HandlerInterceptor { response.setHeader(Constants.MessageInfo.INFO_MESSAGE, "Supervise execution success"); response.setStatus(HttpServletResponse.SC_OK); return true; - } + } } - /* - * return true untuk valid permission request ke controller method - */ @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - ////// Syamsu ///// - - // TUTUP DULU PENGGUNAANNYA... - + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { HandlerMethod hm; - Method method = null; -// int methodApp = AppPermission.VIEW; - + Method method; response.setHeader("Access-Control-Expose-Headers", "RequireSupervisor" + "," + Constants.MessageInfo.ERROR_MESSAGE + "," + Constants.MessageInfo.INFO_MESSAGE); - - ////// Syamsu ///// - - String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "": request.getHeader(Constants.HttpHeader.URL_FORM); - - // Buat Om, Kang, Aa Reza terkait Security Role - //String KdRuangan = null; - String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "": request.getHeader(Constants.HttpHeader.KD_RUANGAN); - + String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" + : request.getHeader(Constants.HttpHeader.URL_FORM); + String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "" + : request.getHeader(Constants.HttpHeader.KD_RUANGAN); int action = AppPermission.VIEW; - - if (CommonUtil.isNullOrEmpty(AlamatUrlForm)){ - //LOG.warn("Sementara defaultnya di loloskan semuanya di AppInterceptor jika tidak ada header 'AlamatUrlForm' .."); - return true; // Lewatin dulu sementara; - } - - if (CommonUtil.isNullOrEmpty(KdRuangan) || "0".equals(KdRuangan)){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada header 'KdRuangan' atau header 'KdRuangan'nya 0 .."); - return true; // Lewatin dulu sementara; - } - - //String headerAction = request.getHeader(Constants.HttpHeader.ACTION) == null ? "" : request.getHeader(Constants.HttpHeader.ACTION); - + if (CommonUtil.isNullOrEmpty(AlamatUrlForm)) + return true; + if (CommonUtil.isNullOrEmpty(KdRuangan) || "0".equals(KdRuangan)) + return true; String URI = request.getRequestURI(); String methodHttp = request.getMethod(); - try { - // Alter modified Syamsu if (handler instanceof org.springframework.web.method.HandlerMethod) { hm = (HandlerMethod) handler; method = hm.getMethod(); } else { return checkAuthSecure(request, response, AlamatUrlForm, true); } - - // AlamatUrlForm // Alter modified Syamsu boolean usingAnno = method != null && method.isAnnotationPresent(AppPermission.class); - boolean postM = "POST".equals(methodHttp); boolean signInOut = !URI.contains("auth/sign-in") && !URI.contains("auth/sign-out"); boolean getM = "GET".equals(methodHttp); - boolean cetak = contains (URI, PRINT_PATTERN); - - /*(URI.contains("/lap_") || URI.contains("/lap-") || URI.contains("/lap") - || URI.contains("/cetak_") || URI.contains("/print_") || URI.contains("/cetak-") - || URI.contains("/print-"));*/ - - boolean simpan = contains (URI, ADD_PATTERN); - - /*(URI.contains("/save_") || URI.contains("/add_") || URI.contains("/simpan_") - || URI.contains("/save-") || URI.contains("/add-") || URI.contains("/simpan-"));*/ - - boolean ubah = contains (URI, UPDATE_PATTERN); - - /*(URI.contains("/update_") || URI.contains("/edit_") || URI.contains("/ubah_") - || URI.contains("/update-") || URI.contains("/edit-") || URI.contains("/ubah-"));*/ - - boolean hapus = contains (URI, DELETE_PATTERN); - - /*(URI.contains("/delete_") || URI.contains("/hapus_") || URI.contains("/delete-") - || URI.contains("/hapus-")); */ - + boolean cetak = contains(URI, PRINT_PATTERN); + boolean simpan = contains(URI, ADD_PATTERN); + boolean ubah = contains(URI, UPDATE_PATTERN); + boolean hapus = contains(URI, DELETE_PATTERN); if (usingAnno) { - if (method.getAnnotation(AppPermission.class) != null) { + if (method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - - if (AppPermission.SPECIALS == action /* && "#/home".equals(AlamatUrlForm) */) { + if (AppPermission.SPECIALS == action) return true; - } } - if (getM && cetak) { - action = AppPermission.PRINT; - -// if (headerAction != null && !"".equals(headerAction)) { -// action = headerActionToAction(headerAction); -// } - - if (method.getAnnotation(AppPermission.class) != null) { + if (method != null && method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - return checkPermission(request, response, AlamatUrlForm, action); } - if ((usingAnno || postM) && signInOut) { - if (simpan) { action = AppPermission.ADD; } else if (ubah) { @@ -426,345 +261,104 @@ public class AppInterceptor implements HandlerInterceptor { } else if (cetak) { action = AppPermission.PRINT; } - -// if (headerAction != null && !"".equals(headerAction)) { -// action = headerActionToAction(headerAction); -// } - - if (method.getAnnotation(AppPermission.class) != null) { + if (method != null && method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - return checkPermission(request, response, AlamatUrlForm, action); - } - } catch (Exception e) { - e.printStackTrace(); - System.out.println("Not Found " + request.getRequestURL()); - - LOG.info("Error accured unauthorized"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Something wrong happened"); response.setHeader("RequireSupervisor", "false"); response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); return false; } - - // TUTUP DULU PENGGUNAANNYA... - return true; } - @Override - public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) throws Exception {} - - + public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) { + } + @Override - public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) throws Exception { - + public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) + throws Exception { String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" : request.getHeader(Constants.HttpHeader.URL_FORM); String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN); - String idRuanganTujuan = request.getHeader(Constants.HttpHeader.KD_RUANGAN_T) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN_T); - String idRuanganTujuanA = request.getHeader(Constants.HttpHeader.KD_RUANGAN_A) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN_A); - String tglKirim = request.getHeader(Constants.HttpHeader.TGL_KIRIM) == null ? "" : request.getHeader(Constants.HttpHeader.TGL_KIRIM); - boolean notHttpOK = response.getStatus() >= HttpServletResponse.SC_BAD_REQUEST; boolean notLewatMenu = CommonUtil.isNullOrEmpty(AlamatUrlForm) || CommonUtil.isNullOrEmpty(KdRuangan); - - Integer ruanganAsalId = 0; - - try { - ruanganAsalId = Integer.parseInt(KdRuangan); - }catch(Exception e){ - ex = e; - } - - + Integer ruanganAsalId = Integer.parseInt(KdRuangan); boolean adaError = CommonUtil.isNotNullOrEmpty(ex); - if (notHttpOK || notLewatMenu || adaError){ + if (notHttpOK || notLewatMenu || adaError) return; - } - Authentication authentication = tokenAuthenticationService.getAuthentication(request); - - if (CommonUtil.isNullOrEmpty(authentication)){ + if (CommonUtil.isNullOrEmpty(authentication)) return; - } - namaUser = authentication.getName(); loginUser = loginUserDao.findByNamaUser(namaUser); - - if (CommonUtil.isNullOrEmpty(loginUser)) { + if (CommonUtil.isNullOrEmpty(loginUser)) return; - } - String potongan = filterUrlForm(AlamatUrlForm); List objekModulAplikasiVOs = objekModulAplikasiService.findByAlamatUrlForm(potongan); - - if (CommonUtil.isNullOrEmpty(objekModulAplikasiVOs)){ + if (CommonUtil.isNullOrEmpty(objekModulAplikasiVOs)) return; - } - String URI = request.getRequestURI(); - Integer objekModulAplikasId = objekModulAplikasiVOs.get(0).getId(); - - List notifMessagingVOs = notifMessagingService.findByObjekModulAplikasiIdAndUrlBackEndOrUrlBackEndIsNull(objekModulAplikasId, URI); - - if (CommonUtil.isNullOrEmpty(notifMessagingVOs)) { + List notifMessagingVOs = notifMessagingService + .findByObjekModulAplikasiIdAndUrlBackEndOrUrlBackEndIsNull(objekModulAplikasId, URI); + if (CommonUtil.isNullOrEmpty(notifMessagingVOs)) return; - } - Integer notifMessagingId = notifMessagingVOs.get(0).getId(); - if (CommonUtil.isNullOrEmpty(tglKirim)) { - - List ruanganTujuansId = new ArrayList<>(); - System.out.println("--"); - - if (!"".equals(idRuanganTujuan)){ + if (!"".equals(idRuanganTujuan)) { JSONArray ruanganTujuanIds = new JSONArray(idRuanganTujuan); - for (int i=0; i 0){ - try{ - rabbitHole.sendNotif(rabbitHole, ruanganAsal, pegawai, notifikasiMessageObjekModulService, notifMessagingId, ruanganTujuansId); - }catch(Exception e){ - e.printStackTrace(); - LOG.info(DateUtil.now()+" send notif dari Ruangan {} dengan ruanganId {} pada notifMessageId {} ada masalah {}", - ruanganAsal.getNamaRuangan(), ruanganAsalId, notifMessagingId, e.getMessage()); - } - } - + if (!ruanganTujuansId.isEmpty()) + rabbitHole.sendNotif(rabbitHole, ruanganAsal, pegawai, notifikasiMessageObjekModulService, + notifMessagingId, ruanganTujuansId); } else { JSONArray tglKirims = new JSONArray(tglKirim); JSONArray ruanganTujuanIds = new JSONArray(idRuanganTujuan); SimpleDateFormat myFormat = new SimpleDateFormat("yyyy-MM-dd"); - - for (int i=0; i T convertToVO(T t, Object o){ -// BeanUtils.copyProperties(t, o); -// return t; -// } - - // try{ - // - // - // String AlamatUrlForm = - // request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" : - // request.getHeader(Constants.HttpHeader.URL_FORM); - // String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) - // == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN); - // - // Authentication authentication = - // tokenAuthenticationService.getAuthentication(request); - // - // namaUser = authentication.getName(); - // loginUser = loginUserDao.findByNamaUser(namaUser); - // - // - // if (loginUser.isEmpty()) { - // publisher.BroadcastMessage(KdRuangan, namaUser, AlamatUrlForm); - // } - // - // - // - // - //// String routingKeyAndQueueName = "ruanganId." + KdRuangan; - //// - //// publisher.sendRabbitMQNotification("127.0.0.1", "ruanganId." + - // KdRuangan, "Kd Ruangan : " + KdRuangan + ", AlamatUrlForm : " + - // AlamatUrlForm); - //// - //// subscriber.startRabbitMQNotification("127.0.0.1", - // routingKeyAndQueueName); - //// subscriber.listenRabbitMQNotification(routingKeyAndQueueName, - // subscriber.getDefaultConsumer(), false); - //// subscriber.stopRabbitMQNotification(); - // - // }catch(Exception e){ - // //e.printStackTrace(); - // } - - - -// //String urlSocket = messagePublisher.GetSettingDataFixed("UrlRabbitMQMessaging"); sementara kunci dulu. -// -// String urlSocket = "127.0.0.1"; -// -// List notifikasiMessageObjekModulVOs = notifikasiMessageObjekModulService.findByNotifMessagingIdAndRuanganId(notifMessagingId, ruanganTujuansId); -// -// if (CommonUtil.isNullOrEmpty(notifikasiMessageObjekModulVOs)) { -// return; -// } -// -// Integer ruanganIdtemp = 0; -// boolean connect = false; -// -// for (NotifikasiMessageObjekModulVO vo : notifikasiMessageObjekModulVOs){ -// Ruangan ruangan = vo.getRuangan(); -// ModulAplikasi modulAplikasi = vo.getModulAplikasi(); -// ObjekModulAplikasi objekModulAplikasi = vo.getObjekModulAplikasi(); -// String customURLObjekModul = vo.getCustomURLObjekModul(); -// String titleNotifikasi = vo.getTitleNotifikasi(); -// String pesanNotifikasi = vo.getPesanNotifikasi(); -// String namaFungsiFrontEnd = vo.getNamaFungsiFrontEnd(); -// -// if (ruangan.getId() == ruanganId){ -// continue; -// } -// -// RuanganVO dariRuangan = ruanganService.findById(ruanganId); -// -// if (ruanganIdtemp != ruangan.getId()){ -// if (connect){ -// rabbitHole.close(); -// } -// rabbitHole.connect(urlSocket, String.valueOf(ruangan.getId())); -// connect = true; -// ruanganIdtemp = ruangan.getId(); -// } -// -// Map map = new HashMap<>(); -// map.put("title", titleNotifikasi); -// map.put("dariRuangan", dariRuangan); -// map.put("ruanganId", ruangan.getId()); -// map.put("ruangan", convertToVO(new RuanganVO(), ruangan)); -// map.put("modulAplikasi", convertToVO(new ModulAplikasiVO(), modulAplikasi)); -// map.put("objekModulAplikasi", convertToVO(new ObjekModulAplikasiVO(), objekModulAplikasi)); -// map.put("titleNotifikasi", titleNotifikasi); -// map.put("pesanNotifikasi", pesanNotifikasi); -// map.put("namaFungsiFrontEnd", namaFungsiFrontEnd); -// map.put("fromPegawai", loginUser.get(0).getPegawai()); -// map.put("urlForm",CommonUtil.isNullOrEmpty(customURLObjekModul)? objekModulAplikasi.getAlamatUrlForm() : customURLObjekModul); -// -// rabbitHole.sendRabbitMQNotification(gson.toJson(map)); -// -// //messagePublisher.BroadcastMessage(map); -// } -// if (connect){ -// rabbitHole.close(); -// } - - -// private static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() { -// @Override -// @SuppressWarnings("unchecked") -// public TypeAdapter create(Gson gson, TypeToken type) { -// return (HibernateProxy.class.isAssignableFrom(type.getRawType()) -// ? (TypeAdapter) new HibernateProxyTypeAdapter((TypeAdapter)gson.getAdapter(TypeToken.get(type.getRawType().getSuperclass()))) -// : null); -// } -// }; -// -// -// private static final class HibernateProxyTypeAdapter extends TypeAdapter { -// -// private final TypeAdapter delegate; -// -// private HibernateProxyTypeAdapter(TypeAdapter delegate) { -// this.delegate = delegate; -// } -// -// @Override -// public HibernateProxy read(JsonReader r) throws IOException { -// throw new UnsupportedOperationException("Not supported"); -// } -// -// @SuppressWarnings({"rawtypes", "unchecked"}) -// @Override -// public void write(JsonWriter out, HibernateProxy value) throws IOException { -// if (value == null) { -// out.nullValue(); -// return; -// } -// -// -// -// delegate.write(out, ((HibernateProxy) value).getHibernateLazyInitializer().getImplementation()); -// } -// } } - - - -/* - * else if (method.isAnnotationPresent(AppMenuPermision.class)){ - * - * Authentication authentication = - * tokenAuthenticationService.getAuthentication(request); - * - * String namaUser = authentication.getName(); - * - * List loginUser = - * loginUserDao.findByNamaUser(namaUser); - * - * if (loginUser.isEmpty()) { // untuk testing false - * response.addHeader("Access-Control-Expose-Headers", - * "content-type"); - * response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "User " + - * namaUser + " can not access current menu "); - * response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return - * false; } - * - * // get user login if (!loginUser.isEmpty()) { LoginUser user = - * loginUser.get(0); }else{ LOG.info("User {} is unauthorized", - * namaUser); - * response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, - * "User is unauthorized"); - * response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return - * false; } } - */ \ No newline at end of file diff --git a/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java b/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java index bb5fd62f..2b69263b 100644 --- a/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java +++ b/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java @@ -1,70 +1,49 @@ package com.jasamedika.medifirst2000.interceptor; -import java.lang.reflect.Method; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - +import com.jasamedika.medifirst2000.constants.Constants; +import com.jasamedika.medifirst2000.dao.LoginUserDao; +import com.jasamedika.medifirst2000.dao.RuanganDao; +import com.jasamedika.medifirst2000.entities.*; +import com.jasamedika.medifirst2000.notification.MessagePublisher; +import com.jasamedika.medifirst2000.security.model.AppPermission; +import com.jasamedika.medifirst2000.security.service.TokenAuthenticationService; +import com.jasamedika.medifirst2000.service.*; +import com.jasamedika.medifirst2000.util.CommonUtil; +import com.jasamedika.medifirst2000.vo.NotifMessagingSchedulerVO; +import com.jasamedika.medifirst2000.vo.NotifMessagingVO; +import com.jasamedika.medifirst2000.vo.NotifikasiMessageObjekModulVO; +import com.jasamedika.medifirst2000.vo.ObjekModulAplikasiVO; import org.apache.commons.lang3.ArrayUtils; import org.json.JSONArray; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; -import com.jasamedika.medifirst2000.constants.Constants; -import com.jasamedika.medifirst2000.dao.LoginUserDao; -import com.jasamedika.medifirst2000.dao.NotifikasiMessageObjekModulDao; -import com.jasamedika.medifirst2000.dao.RuanganDao; -import com.jasamedika.medifirst2000.entities.KelompokUser; -import com.jasamedika.medifirst2000.entities.LoginUser; -import com.jasamedika.medifirst2000.entities.MapObjekModulToKelompokUser; -import com.jasamedika.medifirst2000.entities.MapObjekModulToLoginUser; -import com.jasamedika.medifirst2000.entities.Pegawai; -import com.jasamedika.medifirst2000.entities.Ruangan; -import com.jasamedika.medifirst2000.notification.MessagePublisher; -import com.jasamedika.medifirst2000.notification.MessageSubscriber; -import com.jasamedika.medifirst2000.security.model.AppPermission; -import com.jasamedika.medifirst2000.security.service.TokenAuthenticationService; -import com.jasamedika.medifirst2000.service.MapObjekModulToKelompokUserService; -import com.jasamedika.medifirst2000.service.MapObjekModulToLoginUserService; -import com.jasamedika.medifirst2000.service.NotifMessagingSchedulerService; -import com.jasamedika.medifirst2000.service.NotifMessagingService; -import com.jasamedika.medifirst2000.service.NotifikasiMessageObjekModulService; -import com.jasamedika.medifirst2000.service.ObjekModulAplikasiService; -import com.jasamedika.medifirst2000.util.CommonUtil; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.NotifMessagingSchedulerVO; -import com.jasamedika.medifirst2000.vo.NotifMessagingVO; -import com.jasamedika.medifirst2000.vo.NotifikasiMessageObjekModulVO; -import com.jasamedika.medifirst2000.vo.ObjekModulAplikasiVO; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.lang.reflect.Method; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; /** * Interceptor class for All annotation method controller @AppPermission * - * @author Roberto - * - * direka ulang oleh Syamsu + * @author Roberto, direka ulang oleh Syamsu */ - public class AppInterceptor implements HandlerInterceptor { - - private static final String[] PRINT_PATTERN = {"/lap_", "/lap-", "/lap", "/cetak_", "/cetak-", "/print_", "/print-" }; - private static final String[] ADD_PATTERN = {"/save_", "/save-", "/add_", "/add-", "/simpan_", "/simpan-"}; - - private static final String[] UPDATE_PATTERN = {"/update_", "/update-", "/edit_", "/edit-", "/ubah_", "/ubah-"}; + private static final String[] PRINT_PATTERN = { "/lap_", "/lap-", "/lap", "/cetak_", "/cetak-", "/print_", + "/print-" }; - private static final String[] DELETE_PATTERN = {"/delete_", "/delete-", "/hapus_", "/hapus-"}; + private static final String[] ADD_PATTERN = { "/save_", "/save-", "/add_", "/add-", "/simpan_", "/simpan-" }; - private final Logger LOG = LoggerFactory.getLogger(AppInterceptor.class); + private static final String[] UPDATE_PATTERN = { "/update_", "/update-", "/edit_", "/edit-", "/ubah_", "/ubah-" }; + + private static final String[] DELETE_PATTERN = { "/delete_", "/delete-", "/hapus_", "/hapus-" }; @Autowired private TokenAuthenticationService tokenAuthenticationService; @@ -74,101 +53,55 @@ public class AppInterceptor implements HandlerInterceptor { @Autowired private MapObjekModulToKelompokUserService mapObjekModulToKelompokUserService; - + @Autowired private MapObjekModulToLoginUserService mapObjekModulToLoginUserService; @Autowired private ObjekModulAplikasiService objekModulAplikasiService; - + @Autowired MessagePublisher messagePublisher; - @Autowired - MessageSubscriber messageSubscriber; - @Autowired NotifMessagingService notifMessagingService; - + @Autowired NotifikasiMessageObjekModulService notifikasiMessageObjekModulService; - + @Autowired NotifMessagingSchedulerService notifMessagingSchedulerService; @Autowired - NotifikasiMessageObjekModulDao notifikasiModulMessageDao; - - @Autowired RuanganDao ruanganDao; List loginUser; String namaUser; - -// private int headerActionToAction(String action){ -// if ("save".equals(action)){ -// return AppPermission.ADD; -// } else if ("edit".equals(action)){ -// return AppPermission.UPDATE; -// } else if ("delete".equals(action)){ -// return AppPermission.DELETE; -// } else if ("print".equals(action)){ -// return AppPermission.PRINT; -// } else { -// return AppPermission.VIEW; -// } -// } - - - private boolean contains(String source, String[] matchers){ - - - if (CommonUtil.isNullOrEmpty(source) || ArrayUtils.isEmpty(matchers)){ + + private boolean contains(String source, String[] matchers) { + if (CommonUtil.isNullOrEmpty(source) || ArrayUtils.isEmpty(matchers)) return false; - } - - for (int i=0;i 0){ -// cpos = pos; -// }else{ -// break; -// } -// } -// String oye = urlForm.substring(0, cpos); return potongan.toString(); } - - private boolean checkAuthSecure(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, boolean supervisi) throws Exception { + private boolean checkAuthSecure(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, + boolean supervisi) throws Exception { Authentication authentication = tokenAuthenticationService.getAuthentication(request); - namaUser = authentication.getName(); loginUser = loginUserDao.findByNamaUser(namaUser); - if (CommonUtil.isNullOrEmpty(loginUser)) { - LOG.info("Empty login user"); response.setHeader("RequireSupervisor", "false"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Empty login user"); response.setStatus(HttpServletResponse.SC_FORBIDDEN); @@ -176,132 +109,92 @@ public class AppInterceptor implements HandlerInterceptor { } return true; } - - private int checkUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action){ - + + private int checkUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action) { int result = -1; - - MapObjekModulToLoginUser modul = mapObjekModulToLoginUserService.findByObjekModulAplikasi(objekModulAplikasiVO.getId(), user.getId()); - + MapObjekModulToLoginUser modul = mapObjekModulToLoginUserService + .findByObjekModulAplikasi(objekModulAplikasiVO.getId(), user.getId()); if (modul != null) { - LOG.info("Module security match"); result = 0; switch (action) { - case AppPermission.ADD: - if (modul.getSimpan()){ - result = 1; - } - break; - case AppPermission.UPDATE: - if (modul.getEdit()){ - result = 1; - } - break; - case AppPermission.DELETE: - if (modul.getHapus()){ - result = 1; - } - break; - case AppPermission.PRINT: - if (modul.getCetak()){ - result = 1; - } - break; + case AppPermission.ADD: + if (modul.getSimpan()) + result = 1; + break; + case AppPermission.UPDATE: + if (modul.getEdit()) + result = 1; + break; + case AppPermission.DELETE: + if (modul.getHapus()) + result = 1; + break; + case AppPermission.PRINT: + if (modul.getCetak()) + result = 1; + break; } } - return result; } - - private int checkKelompokUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action){ - + + private int checkKelompokUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action) { KelompokUser role = user.getKelompokUser(); int result = -2; - if (role != null) { - MapObjekModulToKelompokUser modul = mapObjekModulToKelompokUserService.findByObjekModulAplikasi(objekModulAplikasiVO.getId(), role.getId()); + MapObjekModulToKelompokUser modul = mapObjekModulToKelompokUserService + .findByObjekModulAplikasi(objekModulAplikasiVO.getId(), role.getId()); result = -1; if (modul != null) { - LOG.info("Module security match"); result = 0; switch (action) { - case AppPermission.ADD: - if (modul.getSimpan()){ - result = 1; - } - break; - case AppPermission.UPDATE: - if (modul.getEdit()){ - result = 1; - } - break; - case AppPermission.DELETE: - if (modul.getHapus()){ - result = 1; - } - break; - case AppPermission.PRINT: - if (modul.getCetak()){ - result = 1; - } - break; + case AppPermission.ADD: + if (modul.getSimpan()) + result = 1; + break; + case AppPermission.UPDATE: + if (modul.getEdit()) + result = 1; + break; + case AppPermission.DELETE: + if (modul.getHapus()) + result = 1; + break; + case AppPermission.PRINT: + if (modul.getCetak()) + result = 1; + break; } } } - return result; } - private boolean checkPermission(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, int action) throws Exception { - // Alter modified Syamsu - List objekModulAplikasi = objekModulAplikasiService.findByAlamatUrlForm(filterUrlForm(AlamatUrlForm)); - - - if (CommonUtil.isNullOrEmpty(objekModulAplikasi)){ - LOG.warn(AlamatUrlForm + " : Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar objek modul aplikasi.."); - return true; // Defaultnya diloloskan semuanya... - } - - if (!checkAuthSecure(request, response, AlamatUrlForm, false)) { + private boolean checkPermission(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, + int action) throws Exception { + List objekModulAplikasi = objekModulAplikasiService + .findByAlamatUrlForm(filterUrlForm(AlamatUrlForm)); + if (CommonUtil.isNullOrEmpty(objekModulAplikasi)) + return true; + if (!checkAuthSecure(request, response, AlamatUrlForm, false)) return false; - } - int resultUser = checkUserPermision(loginUser.get(0), objekModulAplikasi.get(0), action); - - if (resultUser == 0){ - LOG.info("User {} has need superVisor for action in {} module application", namaUser, action); + if (resultUser == 0) { response.setHeader("RequireSupervisor", "true"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Action requires supervisor"); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return false; - } else if (resultUser == 1){ + } else if (resultUser == 1) { response.setHeader(Constants.MessageInfo.INFO_MESSAGE, "Supervise execution success"); response.setStatus(HttpServletResponse.SC_OK); return true; - } - + } int resultKelompokUser = checkKelompokUserPermision(loginUser.get(0), objekModulAplikasi.get(0), action); - - if (resultKelompokUser == -2){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar kelompok user.."); - return true; // Defaultnya diloloskan semuanya... -// LOG.info("User {} has no role to gain access restricted area", namaUser); -// response.setHeader("RequireSupervisor", "false"); -// response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, -// "User " + namaUser + " has no role to gain access restricted area"); -// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); -// return false; - } else if (resultKelompokUser == -1){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar Map objek modul to kelompok user.."); - return true; // Defaultnya diloloskan semuanya... -// LOG.info("User {} has no access to module application", namaUser); -// response.setHeader("RequireSupervisor", "false"); -// response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, -// "User " + namaUser + " has no access to module application"); -// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); -// return false; - } else if (resultKelompokUser == 0) { - LOG.info("User {} has need superVisor for action in {} module application", namaUser, action); + if (resultKelompokUser == -2) { + return true; + } else if (resultKelompokUser == -1) { + return true; + } else if (resultKelompokUser == 0) { response.setHeader("RequireSupervisor", "true"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Action requires supervisor"); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); @@ -310,113 +203,54 @@ public class AppInterceptor implements HandlerInterceptor { response.setHeader(Constants.MessageInfo.INFO_MESSAGE, "Supervise execution success"); response.setStatus(HttpServletResponse.SC_OK); return true; - } + } } - /* - * return true untuk valid permission request ke controller method - */ @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - ////// Syamsu ///// - - // TUTUP DULU PENGGUNAANNYA... - + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { HandlerMethod hm; - Method method = null; -// int methodApp = AppPermission.VIEW; - + Method method; response.setHeader("Access-Control-Expose-Headers", "RequireSupervisor" + "," + Constants.MessageInfo.ERROR_MESSAGE + "," + Constants.MessageInfo.INFO_MESSAGE); - - ////// Syamsu ///// - - String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "": request.getHeader(Constants.HttpHeader.URL_FORM); - - // Buat Om, Kang, Aa Reza terkait Security Role - //String KdRuangan = null; - String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "": request.getHeader(Constants.HttpHeader.KD_RUANGAN); - + String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" + : request.getHeader(Constants.HttpHeader.URL_FORM); + String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "" + : request.getHeader(Constants.HttpHeader.KD_RUANGAN); int action = AppPermission.VIEW; - - if (CommonUtil.isNullOrEmpty(AlamatUrlForm)){ - //LOG.warn("Sementara defaultnya di loloskan semuanya di AppInterceptor jika tidak ada header 'AlamatUrlForm' .."); - return true; // Lewatin dulu sementara; - } - - if (CommonUtil.isNullOrEmpty(KdRuangan) || "0".equals(KdRuangan)){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada header 'KdRuangan' atau header 'KdRuangan'nya 0 .."); - return true; // Lewatin dulu sementara; - } - - //String headerAction = request.getHeader(Constants.HttpHeader.ACTION) == null ? "" : request.getHeader(Constants.HttpHeader.ACTION); - + if (CommonUtil.isNullOrEmpty(AlamatUrlForm)) + return true; + if (CommonUtil.isNullOrEmpty(KdRuangan) || "0".equals(KdRuangan)) + return true; String URI = request.getRequestURI(); String methodHttp = request.getMethod(); - try { - // Alter modified Syamsu if (handler instanceof org.springframework.web.method.HandlerMethod) { hm = (HandlerMethod) handler; method = hm.getMethod(); } else { return checkAuthSecure(request, response, AlamatUrlForm, true); } - - // AlamatUrlForm // Alter modified Syamsu boolean usingAnno = method != null && method.isAnnotationPresent(AppPermission.class); - boolean postM = "POST".equals(methodHttp); boolean signInOut = !URI.contains("auth/sign-in") && !URI.contains("auth/sign-out"); boolean getM = "GET".equals(methodHttp); - boolean cetak = contains (URI, PRINT_PATTERN); - - /*(URI.contains("/lap_") || URI.contains("/lap-") || URI.contains("/lap") - || URI.contains("/cetak_") || URI.contains("/print_") || URI.contains("/cetak-") - || URI.contains("/print-"));*/ - - boolean simpan = contains (URI, ADD_PATTERN); - - /*(URI.contains("/save_") || URI.contains("/add_") || URI.contains("/simpan_") - || URI.contains("/save-") || URI.contains("/add-") || URI.contains("/simpan-"));*/ - - boolean ubah = contains (URI, UPDATE_PATTERN); - - /*(URI.contains("/update_") || URI.contains("/edit_") || URI.contains("/ubah_") - || URI.contains("/update-") || URI.contains("/edit-") || URI.contains("/ubah-"));*/ - - boolean hapus = contains (URI, DELETE_PATTERN); - - /*(URI.contains("/delete_") || URI.contains("/hapus_") || URI.contains("/delete-") - || URI.contains("/hapus-")); */ - + boolean cetak = contains(URI, PRINT_PATTERN); + boolean simpan = contains(URI, ADD_PATTERN); + boolean ubah = contains(URI, UPDATE_PATTERN); + boolean hapus = contains(URI, DELETE_PATTERN); if (usingAnno) { - if (method.getAnnotation(AppPermission.class) != null) { + if (method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - - if (AppPermission.SPECIALS == action /* && "#/home".equals(AlamatUrlForm) */) { + if (AppPermission.SPECIALS == action) return true; - } } - if (getM && cetak) { - action = AppPermission.PRINT; - -// if (headerAction != null && !"".equals(headerAction)) { -// action = headerActionToAction(headerAction); -// } - - if (method.getAnnotation(AppPermission.class) != null) { + if (method != null && method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - return checkPermission(request, response, AlamatUrlForm, action); } - if ((usingAnno || postM) && signInOut) { - if (simpan) { action = AppPermission.ADD; } else if (ubah) { @@ -426,345 +260,104 @@ public class AppInterceptor implements HandlerInterceptor { } else if (cetak) { action = AppPermission.PRINT; } - -// if (headerAction != null && !"".equals(headerAction)) { -// action = headerActionToAction(headerAction); -// } - - if (method.getAnnotation(AppPermission.class) != null) { + if (method != null && method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - return checkPermission(request, response, AlamatUrlForm, action); - } - } catch (Exception e) { - e.printStackTrace(); - System.out.println("Not Found " + request.getRequestURL()); - - LOG.info("Error accured unauthorized"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Something wrong happened"); response.setHeader("RequireSupervisor", "false"); response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); return false; } - - // TUTUP DULU PENGGUNAANNYA... - return true; } - @Override - public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) throws Exception {} - - + public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) { + } + @Override - public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) throws Exception { - + public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) + throws Exception { String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" : request.getHeader(Constants.HttpHeader.URL_FORM); String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN); - String idRuanganTujuan = request.getHeader(Constants.HttpHeader.KD_RUANGAN_T) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN_T); - String idRuanganTujuanA = request.getHeader(Constants.HttpHeader.KD_RUANGAN_A) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN_A); - String tglKirim = request.getHeader(Constants.HttpHeader.TGL_KIRIM) == null ? "" : request.getHeader(Constants.HttpHeader.TGL_KIRIM); - boolean notHttpOK = response.getStatus() >= HttpServletResponse.SC_BAD_REQUEST; boolean notLewatMenu = CommonUtil.isNullOrEmpty(AlamatUrlForm) || CommonUtil.isNullOrEmpty(KdRuangan); - - Integer ruanganAsalId = 0; - - try { - ruanganAsalId = Integer.parseInt(KdRuangan); - }catch(Exception e){ - ex = e; - } - - + Integer ruanganAsalId = Integer.parseInt(KdRuangan); boolean adaError = CommonUtil.isNotNullOrEmpty(ex); - if (notHttpOK || notLewatMenu || adaError){ + if (notHttpOK || notLewatMenu || adaError) return; - } - Authentication authentication = tokenAuthenticationService.getAuthentication(request); - - if (CommonUtil.isNullOrEmpty(authentication)){ + if (CommonUtil.isNullOrEmpty(authentication)) return; - } - namaUser = authentication.getName(); loginUser = loginUserDao.findByNamaUser(namaUser); - - if (CommonUtil.isNullOrEmpty(loginUser)) { + if (CommonUtil.isNullOrEmpty(loginUser)) return; - } - String potongan = filterUrlForm(AlamatUrlForm); List objekModulAplikasiVOs = objekModulAplikasiService.findByAlamatUrlForm(potongan); - - if (CommonUtil.isNullOrEmpty(objekModulAplikasiVOs)){ + if (CommonUtil.isNullOrEmpty(objekModulAplikasiVOs)) return; - } - String URI = request.getRequestURI(); - Integer objekModulAplikasId = objekModulAplikasiVOs.get(0).getId(); - - List notifMessagingVOs = notifMessagingService.findByObjekModulAplikasiIdAndUrlBackEndOrUrlBackEndIsNull(objekModulAplikasId, URI); - - if (CommonUtil.isNullOrEmpty(notifMessagingVOs)) { + List notifMessagingVOs = notifMessagingService + .findByObjekModulAplikasiIdAndUrlBackEndOrUrlBackEndIsNull(objekModulAplikasId, URI); + if (CommonUtil.isNullOrEmpty(notifMessagingVOs)) return; - } - Integer notifMessagingId = notifMessagingVOs.get(0).getId(); - if (CommonUtil.isNullOrEmpty(tglKirim)) { - - List ruanganTujuansId = new ArrayList<>(); - System.out.println("--"); - - if (!"".equals(idRuanganTujuan)){ + if (!"".equals(idRuanganTujuan)) { JSONArray ruanganTujuanIds = new JSONArray(idRuanganTujuan); - for (int i=0; i 0){ - try{ - rabbitHole.sendNotif(rabbitHole, ruanganAsal, pegawai, notifikasiMessageObjekModulService, notifMessagingId, ruanganTujuansId); - }catch(Exception e){ - e.printStackTrace(); - LOG.info(DateUtil.now()+" send notif dari Ruangan {} dengan ruanganId {} pada notifMessageId {} ada masalah {}", - ruanganAsal.getNamaRuangan(), ruanganAsalId, notifMessagingId, e.getMessage()); - } - } - + if (!ruanganTujuansId.isEmpty()) + rabbitHole.sendNotif(rabbitHole, ruanganAsal, pegawai, notifikasiMessageObjekModulService, + notifMessagingId, ruanganTujuansId); } else { JSONArray tglKirims = new JSONArray(tglKirim); JSONArray ruanganTujuanIds = new JSONArray(idRuanganTujuan); SimpleDateFormat myFormat = new SimpleDateFormat("yyyy-MM-dd"); - - for (int i=0; i T convertToVO(T t, Object o){ -// BeanUtils.copyProperties(t, o); -// return t; -// } - - // try{ - // - // - // String AlamatUrlForm = - // request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" : - // request.getHeader(Constants.HttpHeader.URL_FORM); - // String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) - // == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN); - // - // Authentication authentication = - // tokenAuthenticationService.getAuthentication(request); - // - // namaUser = authentication.getName(); - // loginUser = loginUserDao.findByNamaUser(namaUser); - // - // - // if (loginUser.isEmpty()) { - // publisher.BroadcastMessage(KdRuangan, namaUser, AlamatUrlForm); - // } - // - // - // - // - //// String routingKeyAndQueueName = "ruanganId." + KdRuangan; - //// - //// publisher.sendRabbitMQNotification("127.0.0.1", "ruanganId." + - // KdRuangan, "Kd Ruangan : " + KdRuangan + ", AlamatUrlForm : " + - // AlamatUrlForm); - //// - //// subscriber.startRabbitMQNotification("127.0.0.1", - // routingKeyAndQueueName); - //// subscriber.listenRabbitMQNotification(routingKeyAndQueueName, - // subscriber.getDefaultConsumer(), false); - //// subscriber.stopRabbitMQNotification(); - // - // }catch(Exception e){ - // //e.printStackTrace(); - // } - - - -// //String urlSocket = messagePublisher.GetSettingDataFixed("UrlRabbitMQMessaging"); sementara kunci dulu. -// -// String urlSocket = "127.0.0.1"; -// -// List notifikasiMessageObjekModulVOs = notifikasiMessageObjekModulService.findByNotifMessagingIdAndRuanganId(notifMessagingId, ruanganTujuansId); -// -// if (CommonUtil.isNullOrEmpty(notifikasiMessageObjekModulVOs)) { -// return; -// } -// -// Integer ruanganIdtemp = 0; -// boolean connect = false; -// -// for (NotifikasiMessageObjekModulVO vo : notifikasiMessageObjekModulVOs){ -// Ruangan ruangan = vo.getRuangan(); -// ModulAplikasi modulAplikasi = vo.getModulAplikasi(); -// ObjekModulAplikasi objekModulAplikasi = vo.getObjekModulAplikasi(); -// String customURLObjekModul = vo.getCustomURLObjekModul(); -// String titleNotifikasi = vo.getTitleNotifikasi(); -// String pesanNotifikasi = vo.getPesanNotifikasi(); -// String namaFungsiFrontEnd = vo.getNamaFungsiFrontEnd(); -// -// if (ruangan.getId() == ruanganId){ -// continue; -// } -// -// RuanganVO dariRuangan = ruanganService.findById(ruanganId); -// -// if (ruanganIdtemp != ruangan.getId()){ -// if (connect){ -// rabbitHole.close(); -// } -// rabbitHole.connect(urlSocket, String.valueOf(ruangan.getId())); -// connect = true; -// ruanganIdtemp = ruangan.getId(); -// } -// -// Map map = new HashMap<>(); -// map.put("title", titleNotifikasi); -// map.put("dariRuangan", dariRuangan); -// map.put("ruanganId", ruangan.getId()); -// map.put("ruangan", convertToVO(new RuanganVO(), ruangan)); -// map.put("modulAplikasi", convertToVO(new ModulAplikasiVO(), modulAplikasi)); -// map.put("objekModulAplikasi", convertToVO(new ObjekModulAplikasiVO(), objekModulAplikasi)); -// map.put("titleNotifikasi", titleNotifikasi); -// map.put("pesanNotifikasi", pesanNotifikasi); -// map.put("namaFungsiFrontEnd", namaFungsiFrontEnd); -// map.put("fromPegawai", loginUser.get(0).getPegawai()); -// map.put("urlForm",CommonUtil.isNullOrEmpty(customURLObjekModul)? objekModulAplikasi.getAlamatUrlForm() : customURLObjekModul); -// -// rabbitHole.sendRabbitMQNotification(gson.toJson(map)); -// -// //messagePublisher.BroadcastMessage(map); -// } -// if (connect){ -// rabbitHole.close(); -// } - - -// private static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() { -// @Override -// @SuppressWarnings("unchecked") -// public TypeAdapter create(Gson gson, TypeToken type) { -// return (HibernateProxy.class.isAssignableFrom(type.getRawType()) -// ? (TypeAdapter) new HibernateProxyTypeAdapter((TypeAdapter)gson.getAdapter(TypeToken.get(type.getRawType().getSuperclass()))) -// : null); -// } -// }; -// -// -// private static final class HibernateProxyTypeAdapter extends TypeAdapter { -// -// private final TypeAdapter delegate; -// -// private HibernateProxyTypeAdapter(TypeAdapter delegate) { -// this.delegate = delegate; -// } -// -// @Override -// public HibernateProxy read(JsonReader r) throws IOException { -// throw new UnsupportedOperationException("Not supported"); -// } -// -// @SuppressWarnings({"rawtypes", "unchecked"}) -// @Override -// public void write(JsonWriter out, HibernateProxy value) throws IOException { -// if (value == null) { -// out.nullValue(); -// return; -// } -// -// -// -// delegate.write(out, ((HibernateProxy) value).getHibernateLazyInitializer().getImplementation()); -// } -// } -} - - - -/* - * else if (method.isAnnotationPresent(AppMenuPermision.class)){ - * - * Authentication authentication = - * tokenAuthenticationService.getAuthentication(request); - * - * String namaUser = authentication.getName(); - * - * List loginUser = - * loginUserDao.findByNamaUser(namaUser); - * - * if (loginUser.isEmpty()) { // untuk testing false - * response.addHeader("Access-Control-Expose-Headers", - * "content-type"); - * response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "User " + - * namaUser + " can not access current menu "); - * response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return - * false; } - * - * // get user login if (!loginUser.isEmpty()) { LoginUser user = - * loginUser.get(0); }else{ LOG.info("User {} is unauthorized", - * namaUser); - * response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, - * "User is unauthorized"); - * response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return - * false; } } - */ \ No newline at end of file +} \ No newline at end of file diff --git a/jasamedika-reporting/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java b/jasamedika-reporting/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java index bb5fd62f..c477fb4e 100644 --- a/jasamedika-reporting/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java +++ b/jasamedika-reporting/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java @@ -1,70 +1,49 @@ package com.jasamedika.medifirst2000.interceptor; -import java.lang.reflect.Method; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - +import com.jasamedika.medifirst2000.constants.Constants; +import com.jasamedika.medifirst2000.dao.LoginUserDao; +import com.jasamedika.medifirst2000.dao.RuanganDao; +import com.jasamedika.medifirst2000.entities.*; +import com.jasamedika.medifirst2000.notification.MessagePublisher; +import com.jasamedika.medifirst2000.security.model.AppPermission; +import com.jasamedika.medifirst2000.security.service.TokenAuthenticationService; +import com.jasamedika.medifirst2000.service.*; +import com.jasamedika.medifirst2000.util.CommonUtil; +import com.jasamedika.medifirst2000.vo.NotifMessagingSchedulerVO; +import com.jasamedika.medifirst2000.vo.NotifMessagingVO; +import com.jasamedika.medifirst2000.vo.NotifikasiMessageObjekModulVO; +import com.jasamedika.medifirst2000.vo.ObjekModulAplikasiVO; import org.apache.commons.lang3.ArrayUtils; import org.json.JSONArray; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; -import com.jasamedika.medifirst2000.constants.Constants; -import com.jasamedika.medifirst2000.dao.LoginUserDao; -import com.jasamedika.medifirst2000.dao.NotifikasiMessageObjekModulDao; -import com.jasamedika.medifirst2000.dao.RuanganDao; -import com.jasamedika.medifirst2000.entities.KelompokUser; -import com.jasamedika.medifirst2000.entities.LoginUser; -import com.jasamedika.medifirst2000.entities.MapObjekModulToKelompokUser; -import com.jasamedika.medifirst2000.entities.MapObjekModulToLoginUser; -import com.jasamedika.medifirst2000.entities.Pegawai; -import com.jasamedika.medifirst2000.entities.Ruangan; -import com.jasamedika.medifirst2000.notification.MessagePublisher; -import com.jasamedika.medifirst2000.notification.MessageSubscriber; -import com.jasamedika.medifirst2000.security.model.AppPermission; -import com.jasamedika.medifirst2000.security.service.TokenAuthenticationService; -import com.jasamedika.medifirst2000.service.MapObjekModulToKelompokUserService; -import com.jasamedika.medifirst2000.service.MapObjekModulToLoginUserService; -import com.jasamedika.medifirst2000.service.NotifMessagingSchedulerService; -import com.jasamedika.medifirst2000.service.NotifMessagingService; -import com.jasamedika.medifirst2000.service.NotifikasiMessageObjekModulService; -import com.jasamedika.medifirst2000.service.ObjekModulAplikasiService; -import com.jasamedika.medifirst2000.util.CommonUtil; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.NotifMessagingSchedulerVO; -import com.jasamedika.medifirst2000.vo.NotifMessagingVO; -import com.jasamedika.medifirst2000.vo.NotifikasiMessageObjekModulVO; -import com.jasamedika.medifirst2000.vo.ObjekModulAplikasiVO; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.lang.reflect.Method; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; /** * Interceptor class for All annotation method controller @AppPermission * - * @author Roberto - * - * direka ulang oleh Syamsu + * @author Roberto, direka ulang oleh Syamsu */ - public class AppInterceptor implements HandlerInterceptor { - - private static final String[] PRINT_PATTERN = {"/lap_", "/lap-", "/lap", "/cetak_", "/cetak-", "/print_", "/print-" }; - private static final String[] ADD_PATTERN = {"/save_", "/save-", "/add_", "/add-", "/simpan_", "/simpan-"}; - - private static final String[] UPDATE_PATTERN = {"/update_", "/update-", "/edit_", "/edit-", "/ubah_", "/ubah-"}; + private static final String[] PRINT_PATTERN = { "/lap_", "/lap-", "/lap", "/cetak_", "/cetak-", "/print_", + "/print-" }; - private static final String[] DELETE_PATTERN = {"/delete_", "/delete-", "/hapus_", "/hapus-"}; + private static final String[] ADD_PATTERN = { "/save_", "/save-", "/add_", "/add-", "/simpan_", "/simpan-" }; - private final Logger LOG = LoggerFactory.getLogger(AppInterceptor.class); + private static final String[] UPDATE_PATTERN = { "/update_", "/update-", "/edit_", "/edit-", "/ubah_", "/ubah-" }; + + private static final String[] DELETE_PATTERN = { "/delete_", "/delete-", "/hapus_", "/hapus-" }; @Autowired private TokenAuthenticationService tokenAuthenticationService; @@ -74,101 +53,55 @@ public class AppInterceptor implements HandlerInterceptor { @Autowired private MapObjekModulToKelompokUserService mapObjekModulToKelompokUserService; - + @Autowired private MapObjekModulToLoginUserService mapObjekModulToLoginUserService; @Autowired private ObjekModulAplikasiService objekModulAplikasiService; - + @Autowired MessagePublisher messagePublisher; - @Autowired - MessageSubscriber messageSubscriber; - @Autowired NotifMessagingService notifMessagingService; - + @Autowired NotifikasiMessageObjekModulService notifikasiMessageObjekModulService; - + @Autowired NotifMessagingSchedulerService notifMessagingSchedulerService; @Autowired - NotifikasiMessageObjekModulDao notifikasiModulMessageDao; - - @Autowired RuanganDao ruanganDao; List loginUser; String namaUser; - -// private int headerActionToAction(String action){ -// if ("save".equals(action)){ -// return AppPermission.ADD; -// } else if ("edit".equals(action)){ -// return AppPermission.UPDATE; -// } else if ("delete".equals(action)){ -// return AppPermission.DELETE; -// } else if ("print".equals(action)){ -// return AppPermission.PRINT; -// } else { -// return AppPermission.VIEW; -// } -// } - - - private boolean contains(String source, String[] matchers){ - - - if (CommonUtil.isNullOrEmpty(source) || ArrayUtils.isEmpty(matchers)){ + + private boolean contains(String source, String[] matchers) { + if (CommonUtil.isNullOrEmpty(source) || ArrayUtils.isEmpty(matchers)) return false; - } - - for (int i=0;i 0){ -// cpos = pos; -// }else{ -// break; -// } -// } -// String oye = urlForm.substring(0, cpos); return potongan.toString(); } - - private boolean checkAuthSecure(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, boolean supervisi) throws Exception { + private boolean checkAuthSecure(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, + boolean supervisi) throws Exception { Authentication authentication = tokenAuthenticationService.getAuthentication(request); - namaUser = authentication.getName(); loginUser = loginUserDao.findByNamaUser(namaUser); - if (CommonUtil.isNullOrEmpty(loginUser)) { - LOG.info("Empty login user"); response.setHeader("RequireSupervisor", "false"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Empty login user"); response.setStatus(HttpServletResponse.SC_FORBIDDEN); @@ -176,132 +109,92 @@ public class AppInterceptor implements HandlerInterceptor { } return true; } - - private int checkUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action){ - + + private int checkUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action) { int result = -1; - - MapObjekModulToLoginUser modul = mapObjekModulToLoginUserService.findByObjekModulAplikasi(objekModulAplikasiVO.getId(), user.getId()); - + MapObjekModulToLoginUser modul = mapObjekModulToLoginUserService + .findByObjekModulAplikasi(objekModulAplikasiVO.getId(), user.getId()); if (modul != null) { - LOG.info("Module security match"); result = 0; switch (action) { - case AppPermission.ADD: - if (modul.getSimpan()){ - result = 1; - } - break; - case AppPermission.UPDATE: - if (modul.getEdit()){ - result = 1; - } - break; - case AppPermission.DELETE: - if (modul.getHapus()){ - result = 1; - } - break; - case AppPermission.PRINT: - if (modul.getCetak()){ - result = 1; - } - break; + case AppPermission.ADD: + if (modul.getSimpan()) + result = 1; + break; + case AppPermission.UPDATE: + if (modul.getEdit()) + result = 1; + break; + case AppPermission.DELETE: + if (modul.getHapus()) + result = 1; + break; + case AppPermission.PRINT: + if (modul.getCetak()) + result = 1; + break; } } - return result; } - - private int checkKelompokUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action){ - + + private int checkKelompokUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action) { KelompokUser role = user.getKelompokUser(); int result = -2; - if (role != null) { - MapObjekModulToKelompokUser modul = mapObjekModulToKelompokUserService.findByObjekModulAplikasi(objekModulAplikasiVO.getId(), role.getId()); + MapObjekModulToKelompokUser modul = mapObjekModulToKelompokUserService + .findByObjekModulAplikasi(objekModulAplikasiVO.getId(), role.getId()); result = -1; if (modul != null) { - LOG.info("Module security match"); result = 0; switch (action) { - case AppPermission.ADD: - if (modul.getSimpan()){ - result = 1; - } - break; - case AppPermission.UPDATE: - if (modul.getEdit()){ - result = 1; - } - break; - case AppPermission.DELETE: - if (modul.getHapus()){ - result = 1; - } - break; - case AppPermission.PRINT: - if (modul.getCetak()){ - result = 1; - } - break; + case AppPermission.ADD: + if (modul.getSimpan()) + result = 1; + break; + case AppPermission.UPDATE: + if (modul.getEdit()) + result = 1; + break; + case AppPermission.DELETE: + if (modul.getHapus()) + result = 1; + break; + case AppPermission.PRINT: + if (modul.getCetak()) + result = 1; + break; } } } - return result; } - private boolean checkPermission(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, int action) throws Exception { - // Alter modified Syamsu - List objekModulAplikasi = objekModulAplikasiService.findByAlamatUrlForm(filterUrlForm(AlamatUrlForm)); - - - if (CommonUtil.isNullOrEmpty(objekModulAplikasi)){ - LOG.warn(AlamatUrlForm + " : Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar objek modul aplikasi.."); - return true; // Defaultnya diloloskan semuanya... - } - - if (!checkAuthSecure(request, response, AlamatUrlForm, false)) { + private boolean checkPermission(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, + int action) throws Exception { + List objekModulAplikasi = objekModulAplikasiService + .findByAlamatUrlForm(filterUrlForm(AlamatUrlForm)); + if (CommonUtil.isNullOrEmpty(objekModulAplikasi)) + return true; + if (!checkAuthSecure(request, response, AlamatUrlForm, false)) return false; - } - int resultUser = checkUserPermision(loginUser.get(0), objekModulAplikasi.get(0), action); - - if (resultUser == 0){ - LOG.info("User {} has need superVisor for action in {} module application", namaUser, action); + if (resultUser == 0) { response.setHeader("RequireSupervisor", "true"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Action requires supervisor"); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return false; - } else if (resultUser == 1){ + } else if (resultUser == 1) { response.setHeader(Constants.MessageInfo.INFO_MESSAGE, "Supervise execution success"); response.setStatus(HttpServletResponse.SC_OK); return true; - } - + } int resultKelompokUser = checkKelompokUserPermision(loginUser.get(0), objekModulAplikasi.get(0), action); - - if (resultKelompokUser == -2){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar kelompok user.."); - return true; // Defaultnya diloloskan semuanya... -// LOG.info("User {} has no role to gain access restricted area", namaUser); -// response.setHeader("RequireSupervisor", "false"); -// response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, -// "User " + namaUser + " has no role to gain access restricted area"); -// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); -// return false; - } else if (resultKelompokUser == -1){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar Map objek modul to kelompok user.."); - return true; // Defaultnya diloloskan semuanya... -// LOG.info("User {} has no access to module application", namaUser); -// response.setHeader("RequireSupervisor", "false"); -// response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, -// "User " + namaUser + " has no access to module application"); -// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); -// return false; - } else if (resultKelompokUser == 0) { - LOG.info("User {} has need superVisor for action in {} module application", namaUser, action); + if (resultKelompokUser == -2) { + return true; + } else if (resultKelompokUser == -1) { + return true; + } else if (resultKelompokUser == 0) { response.setHeader("RequireSupervisor", "true"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Action requires supervisor"); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); @@ -310,113 +203,54 @@ public class AppInterceptor implements HandlerInterceptor { response.setHeader(Constants.MessageInfo.INFO_MESSAGE, "Supervise execution success"); response.setStatus(HttpServletResponse.SC_OK); return true; - } + } } - /* - * return true untuk valid permission request ke controller method - */ @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - ////// Syamsu ///// - - // TUTUP DULU PENGGUNAANNYA... - + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { HandlerMethod hm; - Method method = null; -// int methodApp = AppPermission.VIEW; - + Method method; response.setHeader("Access-Control-Expose-Headers", "RequireSupervisor" + "," + Constants.MessageInfo.ERROR_MESSAGE + "," + Constants.MessageInfo.INFO_MESSAGE); - - ////// Syamsu ///// - - String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "": request.getHeader(Constants.HttpHeader.URL_FORM); - - // Buat Om, Kang, Aa Reza terkait Security Role - //String KdRuangan = null; - String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "": request.getHeader(Constants.HttpHeader.KD_RUANGAN); - + String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" + : request.getHeader(Constants.HttpHeader.URL_FORM); + String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "" + : request.getHeader(Constants.HttpHeader.KD_RUANGAN); int action = AppPermission.VIEW; - - if (CommonUtil.isNullOrEmpty(AlamatUrlForm)){ - //LOG.warn("Sementara defaultnya di loloskan semuanya di AppInterceptor jika tidak ada header 'AlamatUrlForm' .."); - return true; // Lewatin dulu sementara; - } - - if (CommonUtil.isNullOrEmpty(KdRuangan) || "0".equals(KdRuangan)){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada header 'KdRuangan' atau header 'KdRuangan'nya 0 .."); - return true; // Lewatin dulu sementara; - } - - //String headerAction = request.getHeader(Constants.HttpHeader.ACTION) == null ? "" : request.getHeader(Constants.HttpHeader.ACTION); - + if (CommonUtil.isNullOrEmpty(AlamatUrlForm)) + return true; + if (CommonUtil.isNullOrEmpty(KdRuangan) || "0".equals(KdRuangan)) + return true; String URI = request.getRequestURI(); String methodHttp = request.getMethod(); - try { - // Alter modified Syamsu if (handler instanceof org.springframework.web.method.HandlerMethod) { hm = (HandlerMethod) handler; method = hm.getMethod(); } else { return checkAuthSecure(request, response, AlamatUrlForm, true); } - - // AlamatUrlForm // Alter modified Syamsu boolean usingAnno = method != null && method.isAnnotationPresent(AppPermission.class); - boolean postM = "POST".equals(methodHttp); boolean signInOut = !URI.contains("auth/sign-in") && !URI.contains("auth/sign-out"); boolean getM = "GET".equals(methodHttp); - boolean cetak = contains (URI, PRINT_PATTERN); - - /*(URI.contains("/lap_") || URI.contains("/lap-") || URI.contains("/lap") - || URI.contains("/cetak_") || URI.contains("/print_") || URI.contains("/cetak-") - || URI.contains("/print-"));*/ - - boolean simpan = contains (URI, ADD_PATTERN); - - /*(URI.contains("/save_") || URI.contains("/add_") || URI.contains("/simpan_") - || URI.contains("/save-") || URI.contains("/add-") || URI.contains("/simpan-"));*/ - - boolean ubah = contains (URI, UPDATE_PATTERN); - - /*(URI.contains("/update_") || URI.contains("/edit_") || URI.contains("/ubah_") - || URI.contains("/update-") || URI.contains("/edit-") || URI.contains("/ubah-"));*/ - - boolean hapus = contains (URI, DELETE_PATTERN); - - /*(URI.contains("/delete_") || URI.contains("/hapus_") || URI.contains("/delete-") - || URI.contains("/hapus-")); */ - + boolean cetak = contains(URI, PRINT_PATTERN); + boolean simpan = contains(URI, ADD_PATTERN); + boolean ubah = contains(URI, UPDATE_PATTERN); + boolean hapus = contains(URI, DELETE_PATTERN); if (usingAnno) { - if (method.getAnnotation(AppPermission.class) != null) { + if (method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - - if (AppPermission.SPECIALS == action /* && "#/home".equals(AlamatUrlForm) */) { + if (AppPermission.SPECIALS == action) return true; - } } - if (getM && cetak) { - action = AppPermission.PRINT; - -// if (headerAction != null && !"".equals(headerAction)) { -// action = headerActionToAction(headerAction); -// } - - if (method.getAnnotation(AppPermission.class) != null) { + if (method != null && method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - return checkPermission(request, response, AlamatUrlForm, action); } - if ((usingAnno || postM) && signInOut) { - if (simpan) { action = AppPermission.ADD; } else if (ubah) { @@ -426,345 +260,104 @@ public class AppInterceptor implements HandlerInterceptor { } else if (cetak) { action = AppPermission.PRINT; } - -// if (headerAction != null && !"".equals(headerAction)) { -// action = headerActionToAction(headerAction); -// } - - if (method.getAnnotation(AppPermission.class) != null) { + if (method != null && method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - return checkPermission(request, response, AlamatUrlForm, action); - } - } catch (Exception e) { - e.printStackTrace(); - System.out.println("Not Found " + request.getRequestURL()); - - LOG.info("Error accured unauthorized"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Something wrong happened"); response.setHeader("RequireSupervisor", "false"); response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); return false; } - - // TUTUP DULU PENGGUNAANNYA... - return true; } - @Override - public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) throws Exception {} - - + public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) { + } + @Override - public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) throws Exception { - + public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) + throws Exception { String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" : request.getHeader(Constants.HttpHeader.URL_FORM); String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN); - String idRuanganTujuan = request.getHeader(Constants.HttpHeader.KD_RUANGAN_T) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN_T); - String idRuanganTujuanA = request.getHeader(Constants.HttpHeader.KD_RUANGAN_A) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN_A); - String tglKirim = request.getHeader(Constants.HttpHeader.TGL_KIRIM) == null ? "" : request.getHeader(Constants.HttpHeader.TGL_KIRIM); - boolean notHttpOK = response.getStatus() >= HttpServletResponse.SC_BAD_REQUEST; boolean notLewatMenu = CommonUtil.isNullOrEmpty(AlamatUrlForm) || CommonUtil.isNullOrEmpty(KdRuangan); - - Integer ruanganAsalId = 0; - - try { - ruanganAsalId = Integer.parseInt(KdRuangan); - }catch(Exception e){ - ex = e; - } - - + Integer ruanganAsalId = Integer.parseInt(KdRuangan); boolean adaError = CommonUtil.isNotNullOrEmpty(ex); - if (notHttpOK || notLewatMenu || adaError){ + if (notHttpOK || notLewatMenu || adaError) return; - } - Authentication authentication = tokenAuthenticationService.getAuthentication(request); - - if (CommonUtil.isNullOrEmpty(authentication)){ + if (CommonUtil.isNullOrEmpty(authentication)) return; - } - namaUser = authentication.getName(); loginUser = loginUserDao.findByNamaUser(namaUser); - - if (CommonUtil.isNullOrEmpty(loginUser)) { + if (CommonUtil.isNullOrEmpty(loginUser)) return; - } - String potongan = filterUrlForm(AlamatUrlForm); List objekModulAplikasiVOs = objekModulAplikasiService.findByAlamatUrlForm(potongan); - - if (CommonUtil.isNullOrEmpty(objekModulAplikasiVOs)){ + if (CommonUtil.isNullOrEmpty(objekModulAplikasiVOs)) return; - } - String URI = request.getRequestURI(); - Integer objekModulAplikasId = objekModulAplikasiVOs.get(0).getId(); - - List notifMessagingVOs = notifMessagingService.findByObjekModulAplikasiIdAndUrlBackEndOrUrlBackEndIsNull(objekModulAplikasId, URI); - - if (CommonUtil.isNullOrEmpty(notifMessagingVOs)) { + List notifMessagingVOs = notifMessagingService + .findByObjekModulAplikasiIdAndUrlBackEndOrUrlBackEndIsNull(objekModulAplikasId, URI); + if (CommonUtil.isNullOrEmpty(notifMessagingVOs)) return; - } - Integer notifMessagingId = notifMessagingVOs.get(0).getId(); - if (CommonUtil.isNullOrEmpty(tglKirim)) { - - List ruanganTujuansId = new ArrayList<>(); - System.out.println("--"); - - if (!"".equals(idRuanganTujuan)){ + if (!"".equals(idRuanganTujuan)) { JSONArray ruanganTujuanIds = new JSONArray(idRuanganTujuan); - for (int i=0; i 0){ - try{ - rabbitHole.sendNotif(rabbitHole, ruanganAsal, pegawai, notifikasiMessageObjekModulService, notifMessagingId, ruanganTujuansId); - }catch(Exception e){ - e.printStackTrace(); - LOG.info(DateUtil.now()+" send notif dari Ruangan {} dengan ruanganId {} pada notifMessageId {} ada masalah {}", - ruanganAsal.getNamaRuangan(), ruanganAsalId, notifMessagingId, e.getMessage()); - } - } - + if (!ruanganTujuansId.isEmpty()) + rabbitHole.sendNotif(rabbitHole, ruanganAsal, pegawai, notifikasiMessageObjekModulService, + notifMessagingId, ruanganTujuansId); } else { JSONArray tglKirims = new JSONArray(tglKirim); JSONArray ruanganTujuanIds = new JSONArray(idRuanganTujuan); SimpleDateFormat myFormat = new SimpleDateFormat("yyyy-MM-dd"); - - for (int i=0; i T convertToVO(T t, Object o){ -// BeanUtils.copyProperties(t, o); -// return t; -// } - - // try{ - // - // - // String AlamatUrlForm = - // request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" : - // request.getHeader(Constants.HttpHeader.URL_FORM); - // String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) - // == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN); - // - // Authentication authentication = - // tokenAuthenticationService.getAuthentication(request); - // - // namaUser = authentication.getName(); - // loginUser = loginUserDao.findByNamaUser(namaUser); - // - // - // if (loginUser.isEmpty()) { - // publisher.BroadcastMessage(KdRuangan, namaUser, AlamatUrlForm); - // } - // - // - // - // - //// String routingKeyAndQueueName = "ruanganId." + KdRuangan; - //// - //// publisher.sendRabbitMQNotification("127.0.0.1", "ruanganId." + - // KdRuangan, "Kd Ruangan : " + KdRuangan + ", AlamatUrlForm : " + - // AlamatUrlForm); - //// - //// subscriber.startRabbitMQNotification("127.0.0.1", - // routingKeyAndQueueName); - //// subscriber.listenRabbitMQNotification(routingKeyAndQueueName, - // subscriber.getDefaultConsumer(), false); - //// subscriber.stopRabbitMQNotification(); - // - // }catch(Exception e){ - // //e.printStackTrace(); - // } - - - -// //String urlSocket = messagePublisher.GetSettingDataFixed("UrlRabbitMQMessaging"); sementara kunci dulu. -// -// String urlSocket = "127.0.0.1"; -// -// List notifikasiMessageObjekModulVOs = notifikasiMessageObjekModulService.findByNotifMessagingIdAndRuanganId(notifMessagingId, ruanganTujuansId); -// -// if (CommonUtil.isNullOrEmpty(notifikasiMessageObjekModulVOs)) { -// return; -// } -// -// Integer ruanganIdtemp = 0; -// boolean connect = false; -// -// for (NotifikasiMessageObjekModulVO vo : notifikasiMessageObjekModulVOs){ -// Ruangan ruangan = vo.getRuangan(); -// ModulAplikasi modulAplikasi = vo.getModulAplikasi(); -// ObjekModulAplikasi objekModulAplikasi = vo.getObjekModulAplikasi(); -// String customURLObjekModul = vo.getCustomURLObjekModul(); -// String titleNotifikasi = vo.getTitleNotifikasi(); -// String pesanNotifikasi = vo.getPesanNotifikasi(); -// String namaFungsiFrontEnd = vo.getNamaFungsiFrontEnd(); -// -// if (ruangan.getId() == ruanganId){ -// continue; -// } -// -// RuanganVO dariRuangan = ruanganService.findById(ruanganId); -// -// if (ruanganIdtemp != ruangan.getId()){ -// if (connect){ -// rabbitHole.close(); -// } -// rabbitHole.connect(urlSocket, String.valueOf(ruangan.getId())); -// connect = true; -// ruanganIdtemp = ruangan.getId(); -// } -// -// Map map = new HashMap<>(); -// map.put("title", titleNotifikasi); -// map.put("dariRuangan", dariRuangan); -// map.put("ruanganId", ruangan.getId()); -// map.put("ruangan", convertToVO(new RuanganVO(), ruangan)); -// map.put("modulAplikasi", convertToVO(new ModulAplikasiVO(), modulAplikasi)); -// map.put("objekModulAplikasi", convertToVO(new ObjekModulAplikasiVO(), objekModulAplikasi)); -// map.put("titleNotifikasi", titleNotifikasi); -// map.put("pesanNotifikasi", pesanNotifikasi); -// map.put("namaFungsiFrontEnd", namaFungsiFrontEnd); -// map.put("fromPegawai", loginUser.get(0).getPegawai()); -// map.put("urlForm",CommonUtil.isNullOrEmpty(customURLObjekModul)? objekModulAplikasi.getAlamatUrlForm() : customURLObjekModul); -// -// rabbitHole.sendRabbitMQNotification(gson.toJson(map)); -// -// //messagePublisher.BroadcastMessage(map); -// } -// if (connect){ -// rabbitHole.close(); -// } - - -// private static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() { -// @Override -// @SuppressWarnings("unchecked") -// public TypeAdapter create(Gson gson, TypeToken type) { -// return (HibernateProxy.class.isAssignableFrom(type.getRawType()) -// ? (TypeAdapter) new HibernateProxyTypeAdapter((TypeAdapter)gson.getAdapter(TypeToken.get(type.getRawType().getSuperclass()))) -// : null); -// } -// }; -// -// -// private static final class HibernateProxyTypeAdapter extends TypeAdapter { -// -// private final TypeAdapter delegate; -// -// private HibernateProxyTypeAdapter(TypeAdapter delegate) { -// this.delegate = delegate; -// } -// -// @Override -// public HibernateProxy read(JsonReader r) throws IOException { -// throw new UnsupportedOperationException("Not supported"); -// } -// -// @SuppressWarnings({"rawtypes", "unchecked"}) -// @Override -// public void write(JsonWriter out, HibernateProxy value) throws IOException { -// if (value == null) { -// out.nullValue(); -// return; -// } -// -// -// -// delegate.write(out, ((HibernateProxy) value).getHibernateLazyInitializer().getImplementation()); -// } -// } } - - - -/* - * else if (method.isAnnotationPresent(AppMenuPermision.class)){ - * - * Authentication authentication = - * tokenAuthenticationService.getAuthentication(request); - * - * String namaUser = authentication.getName(); - * - * List loginUser = - * loginUserDao.findByNamaUser(namaUser); - * - * if (loginUser.isEmpty()) { // untuk testing false - * response.addHeader("Access-Control-Expose-Headers", - * "content-type"); - * response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "User " + - * namaUser + " can not access current menu "); - * response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return - * false; } - * - * // get user login if (!loginUser.isEmpty()) { LoginUser user = - * loginUser.get(0); }else{ LOG.info("User {} is unauthorized", - * namaUser); - * response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, - * "User is unauthorized"); - * response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return - * false; } } - */ \ No newline at end of file diff --git a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java index bb5fd62f..a170ba63 100644 --- a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java +++ b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java @@ -1,70 +1,50 @@ package com.jasamedika.medifirst2000.interceptor; -import java.lang.reflect.Method; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - +import com.jasamedika.medifirst2000.constants.Constants; +import com.jasamedika.medifirst2000.dao.LoginUserDao; +import com.jasamedika.medifirst2000.dao.RuanganDao; +import com.jasamedika.medifirst2000.entities.*; +import com.jasamedika.medifirst2000.notification.MessagePublisher; +import com.jasamedika.medifirst2000.security.model.AppPermission; +import com.jasamedika.medifirst2000.security.service.TokenAuthenticationService; +import com.jasamedika.medifirst2000.service.*; +import com.jasamedika.medifirst2000.util.CommonUtil; +import com.jasamedika.medifirst2000.vo.NotifMessagingSchedulerVO; +import com.jasamedika.medifirst2000.vo.NotifMessagingVO; +import com.jasamedika.medifirst2000.vo.NotifikasiMessageObjekModulVO; +import com.jasamedika.medifirst2000.vo.ObjekModulAplikasiVO; import org.apache.commons.lang3.ArrayUtils; import org.json.JSONArray; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; -import com.jasamedika.medifirst2000.constants.Constants; -import com.jasamedika.medifirst2000.dao.LoginUserDao; -import com.jasamedika.medifirst2000.dao.NotifikasiMessageObjekModulDao; -import com.jasamedika.medifirst2000.dao.RuanganDao; -import com.jasamedika.medifirst2000.entities.KelompokUser; -import com.jasamedika.medifirst2000.entities.LoginUser; -import com.jasamedika.medifirst2000.entities.MapObjekModulToKelompokUser; -import com.jasamedika.medifirst2000.entities.MapObjekModulToLoginUser; -import com.jasamedika.medifirst2000.entities.Pegawai; -import com.jasamedika.medifirst2000.entities.Ruangan; -import com.jasamedika.medifirst2000.notification.MessagePublisher; -import com.jasamedika.medifirst2000.notification.MessageSubscriber; -import com.jasamedika.medifirst2000.security.model.AppPermission; -import com.jasamedika.medifirst2000.security.service.TokenAuthenticationService; -import com.jasamedika.medifirst2000.service.MapObjekModulToKelompokUserService; -import com.jasamedika.medifirst2000.service.MapObjekModulToLoginUserService; -import com.jasamedika.medifirst2000.service.NotifMessagingSchedulerService; -import com.jasamedika.medifirst2000.service.NotifMessagingService; -import com.jasamedika.medifirst2000.service.NotifikasiMessageObjekModulService; -import com.jasamedika.medifirst2000.service.ObjekModulAplikasiService; -import com.jasamedika.medifirst2000.util.CommonUtil; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.NotifMessagingSchedulerVO; -import com.jasamedika.medifirst2000.vo.NotifMessagingVO; -import com.jasamedika.medifirst2000.vo.NotifikasiMessageObjekModulVO; -import com.jasamedika.medifirst2000.vo.ObjekModulAplikasiVO; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.lang.reflect.Method; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; /** * Interceptor class for All annotation method controller @AppPermission * - * @author Roberto - * - * direka ulang oleh Syamsu + * @author Roberto, direka ulang oleh Syamsu */ public class AppInterceptor implements HandlerInterceptor { - - private static final String[] PRINT_PATTERN = {"/lap_", "/lap-", "/lap", "/cetak_", "/cetak-", "/print_", "/print-" }; - private static final String[] ADD_PATTERN = {"/save_", "/save-", "/add_", "/add-", "/simpan_", "/simpan-"}; - - private static final String[] UPDATE_PATTERN = {"/update_", "/update-", "/edit_", "/edit-", "/ubah_", "/ubah-"}; + private static final String[] PRINT_PATTERN = { "/lap_", "/lap-", "/lap", "/cetak_", "/cetak-", "/print_", + "/print-" }; - private static final String[] DELETE_PATTERN = {"/delete_", "/delete-", "/hapus_", "/hapus-"}; + private static final String[] ADD_PATTERN = { "/save_", "/save-", "/add_", "/add-", "/simpan_", "/simpan-" }; - private final Logger LOG = LoggerFactory.getLogger(AppInterceptor.class); + private static final String[] UPDATE_PATTERN = { "/update_", "/update-", "/edit_", "/edit-", "/ubah_", "/ubah-" }; + + private static final String[] DELETE_PATTERN = { "/delete_", "/delete-", "/hapus_", "/hapus-" }; @Autowired private TokenAuthenticationService tokenAuthenticationService; @@ -74,101 +54,55 @@ public class AppInterceptor implements HandlerInterceptor { @Autowired private MapObjekModulToKelompokUserService mapObjekModulToKelompokUserService; - + @Autowired private MapObjekModulToLoginUserService mapObjekModulToLoginUserService; @Autowired private ObjekModulAplikasiService objekModulAplikasiService; - + @Autowired MessagePublisher messagePublisher; - @Autowired - MessageSubscriber messageSubscriber; - @Autowired NotifMessagingService notifMessagingService; - + @Autowired NotifikasiMessageObjekModulService notifikasiMessageObjekModulService; - + @Autowired NotifMessagingSchedulerService notifMessagingSchedulerService; @Autowired - NotifikasiMessageObjekModulDao notifikasiModulMessageDao; - - @Autowired RuanganDao ruanganDao; List loginUser; String namaUser; - -// private int headerActionToAction(String action){ -// if ("save".equals(action)){ -// return AppPermission.ADD; -// } else if ("edit".equals(action)){ -// return AppPermission.UPDATE; -// } else if ("delete".equals(action)){ -// return AppPermission.DELETE; -// } else if ("print".equals(action)){ -// return AppPermission.PRINT; -// } else { -// return AppPermission.VIEW; -// } -// } - - - private boolean contains(String source, String[] matchers){ - - - if (CommonUtil.isNullOrEmpty(source) || ArrayUtils.isEmpty(matchers)){ + + private boolean contains(String source, String[] matchers) { + if (CommonUtil.isNullOrEmpty(source) || ArrayUtils.isEmpty(matchers)) return false; - } - - for (int i=0;i 0){ -// cpos = pos; -// }else{ -// break; -// } -// } -// String oye = urlForm.substring(0, cpos); return potongan.toString(); } - - private boolean checkAuthSecure(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, boolean supervisi) throws Exception { + private boolean checkAuthSecure(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, + boolean supervisi) throws Exception { Authentication authentication = tokenAuthenticationService.getAuthentication(request); - namaUser = authentication.getName(); loginUser = loginUserDao.findByNamaUser(namaUser); - if (CommonUtil.isNullOrEmpty(loginUser)) { - LOG.info("Empty login user"); response.setHeader("RequireSupervisor", "false"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Empty login user"); response.setStatus(HttpServletResponse.SC_FORBIDDEN); @@ -176,132 +110,92 @@ public class AppInterceptor implements HandlerInterceptor { } return true; } - - private int checkUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action){ - + + private int checkUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action) { int result = -1; - - MapObjekModulToLoginUser modul = mapObjekModulToLoginUserService.findByObjekModulAplikasi(objekModulAplikasiVO.getId(), user.getId()); - + MapObjekModulToLoginUser modul = mapObjekModulToLoginUserService + .findByObjekModulAplikasi(objekModulAplikasiVO.getId(), user.getId()); if (modul != null) { - LOG.info("Module security match"); result = 0; switch (action) { - case AppPermission.ADD: - if (modul.getSimpan()){ - result = 1; - } - break; - case AppPermission.UPDATE: - if (modul.getEdit()){ - result = 1; - } - break; - case AppPermission.DELETE: - if (modul.getHapus()){ - result = 1; - } - break; - case AppPermission.PRINT: - if (modul.getCetak()){ - result = 1; - } - break; + case AppPermission.ADD: + if (modul.getSimpan()) + result = 1; + break; + case AppPermission.UPDATE: + if (modul.getEdit()) + result = 1; + break; + case AppPermission.DELETE: + if (modul.getHapus()) + result = 1; + break; + case AppPermission.PRINT: + if (modul.getCetak()) + result = 1; + break; } } - return result; } - - private int checkKelompokUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action){ - + + private int checkKelompokUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action) { KelompokUser role = user.getKelompokUser(); int result = -2; - if (role != null) { - MapObjekModulToKelompokUser modul = mapObjekModulToKelompokUserService.findByObjekModulAplikasi(objekModulAplikasiVO.getId(), role.getId()); + MapObjekModulToKelompokUser modul = mapObjekModulToKelompokUserService + .findByObjekModulAplikasi(objekModulAplikasiVO.getId(), role.getId()); result = -1; if (modul != null) { - LOG.info("Module security match"); result = 0; switch (action) { - case AppPermission.ADD: - if (modul.getSimpan()){ - result = 1; - } - break; - case AppPermission.UPDATE: - if (modul.getEdit()){ - result = 1; - } - break; - case AppPermission.DELETE: - if (modul.getHapus()){ - result = 1; - } - break; - case AppPermission.PRINT: - if (modul.getCetak()){ - result = 1; - } - break; + case AppPermission.ADD: + if (modul.getSimpan()) + result = 1; + break; + case AppPermission.UPDATE: + if (modul.getEdit()) + result = 1; + break; + case AppPermission.DELETE: + if (modul.getHapus()) + result = 1; + break; + case AppPermission.PRINT: + if (modul.getCetak()) + result = 1; + break; } } } - return result; } - private boolean checkPermission(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, int action) throws Exception { - // Alter modified Syamsu - List objekModulAplikasi = objekModulAplikasiService.findByAlamatUrlForm(filterUrlForm(AlamatUrlForm)); - - - if (CommonUtil.isNullOrEmpty(objekModulAplikasi)){ - LOG.warn(AlamatUrlForm + " : Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar objek modul aplikasi.."); - return true; // Defaultnya diloloskan semuanya... - } - - if (!checkAuthSecure(request, response, AlamatUrlForm, false)) { + private boolean checkPermission(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, + int action) throws Exception { + List objekModulAplikasi = objekModulAplikasiService + .findByAlamatUrlForm(filterUrlForm(AlamatUrlForm)); + if (CommonUtil.isNullOrEmpty(objekModulAplikasi)) + return true; + if (!checkAuthSecure(request, response, AlamatUrlForm, false)) return false; - } - int resultUser = checkUserPermision(loginUser.get(0), objekModulAplikasi.get(0), action); - - if (resultUser == 0){ - LOG.info("User {} has need superVisor for action in {} module application", namaUser, action); + if (resultUser == 0) { response.setHeader("RequireSupervisor", "true"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Action requires supervisor"); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return false; - } else if (resultUser == 1){ + } else if (resultUser == 1) { response.setHeader(Constants.MessageInfo.INFO_MESSAGE, "Supervise execution success"); response.setStatus(HttpServletResponse.SC_OK); return true; - } - + } int resultKelompokUser = checkKelompokUserPermision(loginUser.get(0), objekModulAplikasi.get(0), action); - - if (resultKelompokUser == -2){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar kelompok user.."); - return true; // Defaultnya diloloskan semuanya... -// LOG.info("User {} has no role to gain access restricted area", namaUser); -// response.setHeader("RequireSupervisor", "false"); -// response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, -// "User " + namaUser + " has no role to gain access restricted area"); -// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); -// return false; - } else if (resultKelompokUser == -1){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar Map objek modul to kelompok user.."); - return true; // Defaultnya diloloskan semuanya... -// LOG.info("User {} has no access to module application", namaUser); -// response.setHeader("RequireSupervisor", "false"); -// response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, -// "User " + namaUser + " has no access to module application"); -// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); -// return false; - } else if (resultKelompokUser == 0) { - LOG.info("User {} has need superVisor for action in {} module application", namaUser, action); + if (resultKelompokUser == -2) { + return true; + } else if (resultKelompokUser == -1) { + return true; + } else if (resultKelompokUser == 0) { response.setHeader("RequireSupervisor", "true"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Action requires supervisor"); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); @@ -310,113 +204,54 @@ public class AppInterceptor implements HandlerInterceptor { response.setHeader(Constants.MessageInfo.INFO_MESSAGE, "Supervise execution success"); response.setStatus(HttpServletResponse.SC_OK); return true; - } + } } - /* - * return true untuk valid permission request ke controller method - */ @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - ////// Syamsu ///// - - // TUTUP DULU PENGGUNAANNYA... - + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { HandlerMethod hm; - Method method = null; -// int methodApp = AppPermission.VIEW; - + Method method; response.setHeader("Access-Control-Expose-Headers", "RequireSupervisor" + "," + Constants.MessageInfo.ERROR_MESSAGE + "," + Constants.MessageInfo.INFO_MESSAGE); - - ////// Syamsu ///// - - String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "": request.getHeader(Constants.HttpHeader.URL_FORM); - - // Buat Om, Kang, Aa Reza terkait Security Role - //String KdRuangan = null; - String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "": request.getHeader(Constants.HttpHeader.KD_RUANGAN); - + String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" + : request.getHeader(Constants.HttpHeader.URL_FORM); + String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "" + : request.getHeader(Constants.HttpHeader.KD_RUANGAN); int action = AppPermission.VIEW; - - if (CommonUtil.isNullOrEmpty(AlamatUrlForm)){ - //LOG.warn("Sementara defaultnya di loloskan semuanya di AppInterceptor jika tidak ada header 'AlamatUrlForm' .."); - return true; // Lewatin dulu sementara; - } - - if (CommonUtil.isNullOrEmpty(KdRuangan) || "0".equals(KdRuangan)){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada header 'KdRuangan' atau header 'KdRuangan'nya 0 .."); - return true; // Lewatin dulu sementara; - } - - //String headerAction = request.getHeader(Constants.HttpHeader.ACTION) == null ? "" : request.getHeader(Constants.HttpHeader.ACTION); - + if (CommonUtil.isNullOrEmpty(AlamatUrlForm)) + return true; + if (CommonUtil.isNullOrEmpty(KdRuangan) || "0".equals(KdRuangan)) + return true; String URI = request.getRequestURI(); String methodHttp = request.getMethod(); - try { - // Alter modified Syamsu if (handler instanceof org.springframework.web.method.HandlerMethod) { hm = (HandlerMethod) handler; method = hm.getMethod(); } else { return checkAuthSecure(request, response, AlamatUrlForm, true); } - - // AlamatUrlForm // Alter modified Syamsu boolean usingAnno = method != null && method.isAnnotationPresent(AppPermission.class); - boolean postM = "POST".equals(methodHttp); boolean signInOut = !URI.contains("auth/sign-in") && !URI.contains("auth/sign-out"); boolean getM = "GET".equals(methodHttp); - boolean cetak = contains (URI, PRINT_PATTERN); - - /*(URI.contains("/lap_") || URI.contains("/lap-") || URI.contains("/lap") - || URI.contains("/cetak_") || URI.contains("/print_") || URI.contains("/cetak-") - || URI.contains("/print-"));*/ - - boolean simpan = contains (URI, ADD_PATTERN); - - /*(URI.contains("/save_") || URI.contains("/add_") || URI.contains("/simpan_") - || URI.contains("/save-") || URI.contains("/add-") || URI.contains("/simpan-"));*/ - - boolean ubah = contains (URI, UPDATE_PATTERN); - - /*(URI.contains("/update_") || URI.contains("/edit_") || URI.contains("/ubah_") - || URI.contains("/update-") || URI.contains("/edit-") || URI.contains("/ubah-"));*/ - - boolean hapus = contains (URI, DELETE_PATTERN); - - /*(URI.contains("/delete_") || URI.contains("/hapus_") || URI.contains("/delete-") - || URI.contains("/hapus-")); */ - + boolean cetak = contains(URI, PRINT_PATTERN); + boolean simpan = contains(URI, ADD_PATTERN); + boolean ubah = contains(URI, UPDATE_PATTERN); + boolean hapus = contains(URI, DELETE_PATTERN); if (usingAnno) { - if (method.getAnnotation(AppPermission.class) != null) { + if (method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - - if (AppPermission.SPECIALS == action /* && "#/home".equals(AlamatUrlForm) */) { + if (AppPermission.SPECIALS == action) return true; - } } - if (getM && cetak) { - action = AppPermission.PRINT; - -// if (headerAction != null && !"".equals(headerAction)) { -// action = headerActionToAction(headerAction); -// } - - if (method.getAnnotation(AppPermission.class) != null) { + if (method != null && method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - return checkPermission(request, response, AlamatUrlForm, action); } - if ((usingAnno || postM) && signInOut) { - if (simpan) { action = AppPermission.ADD; } else if (ubah) { @@ -426,345 +261,104 @@ public class AppInterceptor implements HandlerInterceptor { } else if (cetak) { action = AppPermission.PRINT; } - -// if (headerAction != null && !"".equals(headerAction)) { -// action = headerActionToAction(headerAction); -// } - - if (method.getAnnotation(AppPermission.class) != null) { + if (method != null && method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - return checkPermission(request, response, AlamatUrlForm, action); - } - } catch (Exception e) { - e.printStackTrace(); - System.out.println("Not Found " + request.getRequestURL()); - - LOG.info("Error accured unauthorized"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Something wrong happened"); response.setHeader("RequireSupervisor", "false"); response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); return false; } - - // TUTUP DULU PENGGUNAANNYA... - return true; } - @Override - public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) throws Exception {} - - + public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) { + } + @Override - public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) throws Exception { - + public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) + throws Exception { String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" : request.getHeader(Constants.HttpHeader.URL_FORM); String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN); - String idRuanganTujuan = request.getHeader(Constants.HttpHeader.KD_RUANGAN_T) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN_T); - String idRuanganTujuanA = request.getHeader(Constants.HttpHeader.KD_RUANGAN_A) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN_A); - String tglKirim = request.getHeader(Constants.HttpHeader.TGL_KIRIM) == null ? "" : request.getHeader(Constants.HttpHeader.TGL_KIRIM); - boolean notHttpOK = response.getStatus() >= HttpServletResponse.SC_BAD_REQUEST; boolean notLewatMenu = CommonUtil.isNullOrEmpty(AlamatUrlForm) || CommonUtil.isNullOrEmpty(KdRuangan); - - Integer ruanganAsalId = 0; - - try { - ruanganAsalId = Integer.parseInt(KdRuangan); - }catch(Exception e){ - ex = e; - } - - + Integer ruanganAsalId = Integer.parseInt(KdRuangan); boolean adaError = CommonUtil.isNotNullOrEmpty(ex); - if (notHttpOK || notLewatMenu || adaError){ + if (notHttpOK || notLewatMenu || adaError) return; - } - Authentication authentication = tokenAuthenticationService.getAuthentication(request); - - if (CommonUtil.isNullOrEmpty(authentication)){ + if (CommonUtil.isNullOrEmpty(authentication)) return; - } - namaUser = authentication.getName(); loginUser = loginUserDao.findByNamaUser(namaUser); - - if (CommonUtil.isNullOrEmpty(loginUser)) { + if (CommonUtil.isNullOrEmpty(loginUser)) return; - } - String potongan = filterUrlForm(AlamatUrlForm); List objekModulAplikasiVOs = objekModulAplikasiService.findByAlamatUrlForm(potongan); - - if (CommonUtil.isNullOrEmpty(objekModulAplikasiVOs)){ + if (CommonUtil.isNullOrEmpty(objekModulAplikasiVOs)) return; - } - String URI = request.getRequestURI(); - Integer objekModulAplikasId = objekModulAplikasiVOs.get(0).getId(); - - List notifMessagingVOs = notifMessagingService.findByObjekModulAplikasiIdAndUrlBackEndOrUrlBackEndIsNull(objekModulAplikasId, URI); - - if (CommonUtil.isNullOrEmpty(notifMessagingVOs)) { + List notifMessagingVOs = notifMessagingService + .findByObjekModulAplikasiIdAndUrlBackEndOrUrlBackEndIsNull(objekModulAplikasId, URI); + if (CommonUtil.isNullOrEmpty(notifMessagingVOs)) return; - } - Integer notifMessagingId = notifMessagingVOs.get(0).getId(); - if (CommonUtil.isNullOrEmpty(tglKirim)) { - - List ruanganTujuansId = new ArrayList<>(); - System.out.println("--"); - - if (!"".equals(idRuanganTujuan)){ + if (!"".equals(idRuanganTujuan)) { JSONArray ruanganTujuanIds = new JSONArray(idRuanganTujuan); - for (int i=0; i 0){ - try{ - rabbitHole.sendNotif(rabbitHole, ruanganAsal, pegawai, notifikasiMessageObjekModulService, notifMessagingId, ruanganTujuansId); - }catch(Exception e){ - e.printStackTrace(); - LOG.info(DateUtil.now()+" send notif dari Ruangan {} dengan ruanganId {} pada notifMessageId {} ada masalah {}", - ruanganAsal.getNamaRuangan(), ruanganAsalId, notifMessagingId, e.getMessage()); - } - } - + if (!ruanganTujuansId.isEmpty()) + rabbitHole.sendNotif(rabbitHole, ruanganAsal, pegawai, notifikasiMessageObjekModulService, + notifMessagingId, ruanganTujuansId); } else { JSONArray tglKirims = new JSONArray(tglKirim); JSONArray ruanganTujuanIds = new JSONArray(idRuanganTujuan); SimpleDateFormat myFormat = new SimpleDateFormat("yyyy-MM-dd"); - - for (int i=0; i T convertToVO(T t, Object o){ -// BeanUtils.copyProperties(t, o); -// return t; -// } - - // try{ - // - // - // String AlamatUrlForm = - // request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" : - // request.getHeader(Constants.HttpHeader.URL_FORM); - // String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) - // == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN); - // - // Authentication authentication = - // tokenAuthenticationService.getAuthentication(request); - // - // namaUser = authentication.getName(); - // loginUser = loginUserDao.findByNamaUser(namaUser); - // - // - // if (loginUser.isEmpty()) { - // publisher.BroadcastMessage(KdRuangan, namaUser, AlamatUrlForm); - // } - // - // - // - // - //// String routingKeyAndQueueName = "ruanganId." + KdRuangan; - //// - //// publisher.sendRabbitMQNotification("127.0.0.1", "ruanganId." + - // KdRuangan, "Kd Ruangan : " + KdRuangan + ", AlamatUrlForm : " + - // AlamatUrlForm); - //// - //// subscriber.startRabbitMQNotification("127.0.0.1", - // routingKeyAndQueueName); - //// subscriber.listenRabbitMQNotification(routingKeyAndQueueName, - // subscriber.getDefaultConsumer(), false); - //// subscriber.stopRabbitMQNotification(); - // - // }catch(Exception e){ - // //e.printStackTrace(); - // } - - - -// //String urlSocket = messagePublisher.GetSettingDataFixed("UrlRabbitMQMessaging"); sementara kunci dulu. -// -// String urlSocket = "127.0.0.1"; -// -// List notifikasiMessageObjekModulVOs = notifikasiMessageObjekModulService.findByNotifMessagingIdAndRuanganId(notifMessagingId, ruanganTujuansId); -// -// if (CommonUtil.isNullOrEmpty(notifikasiMessageObjekModulVOs)) { -// return; -// } -// -// Integer ruanganIdtemp = 0; -// boolean connect = false; -// -// for (NotifikasiMessageObjekModulVO vo : notifikasiMessageObjekModulVOs){ -// Ruangan ruangan = vo.getRuangan(); -// ModulAplikasi modulAplikasi = vo.getModulAplikasi(); -// ObjekModulAplikasi objekModulAplikasi = vo.getObjekModulAplikasi(); -// String customURLObjekModul = vo.getCustomURLObjekModul(); -// String titleNotifikasi = vo.getTitleNotifikasi(); -// String pesanNotifikasi = vo.getPesanNotifikasi(); -// String namaFungsiFrontEnd = vo.getNamaFungsiFrontEnd(); -// -// if (ruangan.getId() == ruanganId){ -// continue; -// } -// -// RuanganVO dariRuangan = ruanganService.findById(ruanganId); -// -// if (ruanganIdtemp != ruangan.getId()){ -// if (connect){ -// rabbitHole.close(); -// } -// rabbitHole.connect(urlSocket, String.valueOf(ruangan.getId())); -// connect = true; -// ruanganIdtemp = ruangan.getId(); -// } -// -// Map map = new HashMap<>(); -// map.put("title", titleNotifikasi); -// map.put("dariRuangan", dariRuangan); -// map.put("ruanganId", ruangan.getId()); -// map.put("ruangan", convertToVO(new RuanganVO(), ruangan)); -// map.put("modulAplikasi", convertToVO(new ModulAplikasiVO(), modulAplikasi)); -// map.put("objekModulAplikasi", convertToVO(new ObjekModulAplikasiVO(), objekModulAplikasi)); -// map.put("titleNotifikasi", titleNotifikasi); -// map.put("pesanNotifikasi", pesanNotifikasi); -// map.put("namaFungsiFrontEnd", namaFungsiFrontEnd); -// map.put("fromPegawai", loginUser.get(0).getPegawai()); -// map.put("urlForm",CommonUtil.isNullOrEmpty(customURLObjekModul)? objekModulAplikasi.getAlamatUrlForm() : customURLObjekModul); -// -// rabbitHole.sendRabbitMQNotification(gson.toJson(map)); -// -// //messagePublisher.BroadcastMessage(map); -// } -// if (connect){ -// rabbitHole.close(); -// } - - -// private static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() { -// @Override -// @SuppressWarnings("unchecked") -// public TypeAdapter create(Gson gson, TypeToken type) { -// return (HibernateProxy.class.isAssignableFrom(type.getRawType()) -// ? (TypeAdapter) new HibernateProxyTypeAdapter((TypeAdapter)gson.getAdapter(TypeToken.get(type.getRawType().getSuperclass()))) -// : null); -// } -// }; -// -// -// private static final class HibernateProxyTypeAdapter extends TypeAdapter { -// -// private final TypeAdapter delegate; -// -// private HibernateProxyTypeAdapter(TypeAdapter delegate) { -// this.delegate = delegate; -// } -// -// @Override -// public HibernateProxy read(JsonReader r) throws IOException { -// throw new UnsupportedOperationException("Not supported"); -// } -// -// @SuppressWarnings({"rawtypes", "unchecked"}) -// @Override -// public void write(JsonWriter out, HibernateProxy value) throws IOException { -// if (value == null) { -// out.nullValue(); -// return; -// } -// -// -// -// delegate.write(out, ((HibernateProxy) value).getHibernateLazyInitializer().getImplementation()); -// } -// } } - - - -/* - * else if (method.isAnnotationPresent(AppMenuPermision.class)){ - * - * Authentication authentication = - * tokenAuthenticationService.getAuthentication(request); - * - * String namaUser = authentication.getName(); - * - * List loginUser = - * loginUserDao.findByNamaUser(namaUser); - * - * if (loginUser.isEmpty()) { // untuk testing false - * response.addHeader("Access-Control-Expose-Headers", - * "content-type"); - * response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "User " + - * namaUser + " can not access current menu "); - * response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return - * false; } - * - * // get user login if (!loginUser.isEmpty()) { LoginUser user = - * loginUser.get(0); }else{ LOG.info("User {} is unauthorized", - * namaUser); - * response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, - * "User is unauthorized"); - * response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return - * false; } } - */ \ No newline at end of file diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java index bb5fd62f..c477fb4e 100644 --- a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/interceptor/AppInterceptor.java @@ -1,70 +1,49 @@ package com.jasamedika.medifirst2000.interceptor; -import java.lang.reflect.Method; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - +import com.jasamedika.medifirst2000.constants.Constants; +import com.jasamedika.medifirst2000.dao.LoginUserDao; +import com.jasamedika.medifirst2000.dao.RuanganDao; +import com.jasamedika.medifirst2000.entities.*; +import com.jasamedika.medifirst2000.notification.MessagePublisher; +import com.jasamedika.medifirst2000.security.model.AppPermission; +import com.jasamedika.medifirst2000.security.service.TokenAuthenticationService; +import com.jasamedika.medifirst2000.service.*; +import com.jasamedika.medifirst2000.util.CommonUtil; +import com.jasamedika.medifirst2000.vo.NotifMessagingSchedulerVO; +import com.jasamedika.medifirst2000.vo.NotifMessagingVO; +import com.jasamedika.medifirst2000.vo.NotifikasiMessageObjekModulVO; +import com.jasamedika.medifirst2000.vo.ObjekModulAplikasiVO; import org.apache.commons.lang3.ArrayUtils; import org.json.JSONArray; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; -import com.jasamedika.medifirst2000.constants.Constants; -import com.jasamedika.medifirst2000.dao.LoginUserDao; -import com.jasamedika.medifirst2000.dao.NotifikasiMessageObjekModulDao; -import com.jasamedika.medifirst2000.dao.RuanganDao; -import com.jasamedika.medifirst2000.entities.KelompokUser; -import com.jasamedika.medifirst2000.entities.LoginUser; -import com.jasamedika.medifirst2000.entities.MapObjekModulToKelompokUser; -import com.jasamedika.medifirst2000.entities.MapObjekModulToLoginUser; -import com.jasamedika.medifirst2000.entities.Pegawai; -import com.jasamedika.medifirst2000.entities.Ruangan; -import com.jasamedika.medifirst2000.notification.MessagePublisher; -import com.jasamedika.medifirst2000.notification.MessageSubscriber; -import com.jasamedika.medifirst2000.security.model.AppPermission; -import com.jasamedika.medifirst2000.security.service.TokenAuthenticationService; -import com.jasamedika.medifirst2000.service.MapObjekModulToKelompokUserService; -import com.jasamedika.medifirst2000.service.MapObjekModulToLoginUserService; -import com.jasamedika.medifirst2000.service.NotifMessagingSchedulerService; -import com.jasamedika.medifirst2000.service.NotifMessagingService; -import com.jasamedika.medifirst2000.service.NotifikasiMessageObjekModulService; -import com.jasamedika.medifirst2000.service.ObjekModulAplikasiService; -import com.jasamedika.medifirst2000.util.CommonUtil; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.NotifMessagingSchedulerVO; -import com.jasamedika.medifirst2000.vo.NotifMessagingVO; -import com.jasamedika.medifirst2000.vo.NotifikasiMessageObjekModulVO; -import com.jasamedika.medifirst2000.vo.ObjekModulAplikasiVO; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.lang.reflect.Method; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; /** * Interceptor class for All annotation method controller @AppPermission * - * @author Roberto - * - * direka ulang oleh Syamsu + * @author Roberto, direka ulang oleh Syamsu */ - public class AppInterceptor implements HandlerInterceptor { - - private static final String[] PRINT_PATTERN = {"/lap_", "/lap-", "/lap", "/cetak_", "/cetak-", "/print_", "/print-" }; - private static final String[] ADD_PATTERN = {"/save_", "/save-", "/add_", "/add-", "/simpan_", "/simpan-"}; - - private static final String[] UPDATE_PATTERN = {"/update_", "/update-", "/edit_", "/edit-", "/ubah_", "/ubah-"}; + private static final String[] PRINT_PATTERN = { "/lap_", "/lap-", "/lap", "/cetak_", "/cetak-", "/print_", + "/print-" }; - private static final String[] DELETE_PATTERN = {"/delete_", "/delete-", "/hapus_", "/hapus-"}; + private static final String[] ADD_PATTERN = { "/save_", "/save-", "/add_", "/add-", "/simpan_", "/simpan-" }; - private final Logger LOG = LoggerFactory.getLogger(AppInterceptor.class); + private static final String[] UPDATE_PATTERN = { "/update_", "/update-", "/edit_", "/edit-", "/ubah_", "/ubah-" }; + + private static final String[] DELETE_PATTERN = { "/delete_", "/delete-", "/hapus_", "/hapus-" }; @Autowired private TokenAuthenticationService tokenAuthenticationService; @@ -74,101 +53,55 @@ public class AppInterceptor implements HandlerInterceptor { @Autowired private MapObjekModulToKelompokUserService mapObjekModulToKelompokUserService; - + @Autowired private MapObjekModulToLoginUserService mapObjekModulToLoginUserService; @Autowired private ObjekModulAplikasiService objekModulAplikasiService; - + @Autowired MessagePublisher messagePublisher; - @Autowired - MessageSubscriber messageSubscriber; - @Autowired NotifMessagingService notifMessagingService; - + @Autowired NotifikasiMessageObjekModulService notifikasiMessageObjekModulService; - + @Autowired NotifMessagingSchedulerService notifMessagingSchedulerService; @Autowired - NotifikasiMessageObjekModulDao notifikasiModulMessageDao; - - @Autowired RuanganDao ruanganDao; List loginUser; String namaUser; - -// private int headerActionToAction(String action){ -// if ("save".equals(action)){ -// return AppPermission.ADD; -// } else if ("edit".equals(action)){ -// return AppPermission.UPDATE; -// } else if ("delete".equals(action)){ -// return AppPermission.DELETE; -// } else if ("print".equals(action)){ -// return AppPermission.PRINT; -// } else { -// return AppPermission.VIEW; -// } -// } - - - private boolean contains(String source, String[] matchers){ - - - if (CommonUtil.isNullOrEmpty(source) || ArrayUtils.isEmpty(matchers)){ + + private boolean contains(String source, String[] matchers) { + if (CommonUtil.isNullOrEmpty(source) || ArrayUtils.isEmpty(matchers)) return false; - } - - for (int i=0;i 0){ -// cpos = pos; -// }else{ -// break; -// } -// } -// String oye = urlForm.substring(0, cpos); return potongan.toString(); } - - private boolean checkAuthSecure(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, boolean supervisi) throws Exception { + private boolean checkAuthSecure(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, + boolean supervisi) throws Exception { Authentication authentication = tokenAuthenticationService.getAuthentication(request); - namaUser = authentication.getName(); loginUser = loginUserDao.findByNamaUser(namaUser); - if (CommonUtil.isNullOrEmpty(loginUser)) { - LOG.info("Empty login user"); response.setHeader("RequireSupervisor", "false"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Empty login user"); response.setStatus(HttpServletResponse.SC_FORBIDDEN); @@ -176,132 +109,92 @@ public class AppInterceptor implements HandlerInterceptor { } return true; } - - private int checkUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action){ - + + private int checkUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action) { int result = -1; - - MapObjekModulToLoginUser modul = mapObjekModulToLoginUserService.findByObjekModulAplikasi(objekModulAplikasiVO.getId(), user.getId()); - + MapObjekModulToLoginUser modul = mapObjekModulToLoginUserService + .findByObjekModulAplikasi(objekModulAplikasiVO.getId(), user.getId()); if (modul != null) { - LOG.info("Module security match"); result = 0; switch (action) { - case AppPermission.ADD: - if (modul.getSimpan()){ - result = 1; - } - break; - case AppPermission.UPDATE: - if (modul.getEdit()){ - result = 1; - } - break; - case AppPermission.DELETE: - if (modul.getHapus()){ - result = 1; - } - break; - case AppPermission.PRINT: - if (modul.getCetak()){ - result = 1; - } - break; + case AppPermission.ADD: + if (modul.getSimpan()) + result = 1; + break; + case AppPermission.UPDATE: + if (modul.getEdit()) + result = 1; + break; + case AppPermission.DELETE: + if (modul.getHapus()) + result = 1; + break; + case AppPermission.PRINT: + if (modul.getCetak()) + result = 1; + break; } } - return result; } - - private int checkKelompokUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action){ - + + private int checkKelompokUserPermision(LoginUser user, ObjekModulAplikasiVO objekModulAplikasiVO, int action) { KelompokUser role = user.getKelompokUser(); int result = -2; - if (role != null) { - MapObjekModulToKelompokUser modul = mapObjekModulToKelompokUserService.findByObjekModulAplikasi(objekModulAplikasiVO.getId(), role.getId()); + MapObjekModulToKelompokUser modul = mapObjekModulToKelompokUserService + .findByObjekModulAplikasi(objekModulAplikasiVO.getId(), role.getId()); result = -1; if (modul != null) { - LOG.info("Module security match"); result = 0; switch (action) { - case AppPermission.ADD: - if (modul.getSimpan()){ - result = 1; - } - break; - case AppPermission.UPDATE: - if (modul.getEdit()){ - result = 1; - } - break; - case AppPermission.DELETE: - if (modul.getHapus()){ - result = 1; - } - break; - case AppPermission.PRINT: - if (modul.getCetak()){ - result = 1; - } - break; + case AppPermission.ADD: + if (modul.getSimpan()) + result = 1; + break; + case AppPermission.UPDATE: + if (modul.getEdit()) + result = 1; + break; + case AppPermission.DELETE: + if (modul.getHapus()) + result = 1; + break; + case AppPermission.PRINT: + if (modul.getCetak()) + result = 1; + break; } } } - return result; } - private boolean checkPermission(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, int action) throws Exception { - // Alter modified Syamsu - List objekModulAplikasi = objekModulAplikasiService.findByAlamatUrlForm(filterUrlForm(AlamatUrlForm)); - - - if (CommonUtil.isNullOrEmpty(objekModulAplikasi)){ - LOG.warn(AlamatUrlForm + " : Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar objek modul aplikasi.."); - return true; // Defaultnya diloloskan semuanya... - } - - if (!checkAuthSecure(request, response, AlamatUrlForm, false)) { + private boolean checkPermission(HttpServletRequest request, HttpServletResponse response, String AlamatUrlForm, + int action) throws Exception { + List objekModulAplikasi = objekModulAplikasiService + .findByAlamatUrlForm(filterUrlForm(AlamatUrlForm)); + if (CommonUtil.isNullOrEmpty(objekModulAplikasi)) + return true; + if (!checkAuthSecure(request, response, AlamatUrlForm, false)) return false; - } - int resultUser = checkUserPermision(loginUser.get(0), objekModulAplikasi.get(0), action); - - if (resultUser == 0){ - LOG.info("User {} has need superVisor for action in {} module application", namaUser, action); + if (resultUser == 0) { response.setHeader("RequireSupervisor", "true"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Action requires supervisor"); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return false; - } else if (resultUser == 1){ + } else if (resultUser == 1) { response.setHeader(Constants.MessageInfo.INFO_MESSAGE, "Supervise execution success"); response.setStatus(HttpServletResponse.SC_OK); return true; - } - + } int resultKelompokUser = checkKelompokUserPermision(loginUser.get(0), objekModulAplikasi.get(0), action); - - if (resultKelompokUser == -2){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar kelompok user.."); - return true; // Defaultnya diloloskan semuanya... -// LOG.info("User {} has no role to gain access restricted area", namaUser); -// response.setHeader("RequireSupervisor", "false"); -// response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, -// "User " + namaUser + " has no role to gain access restricted area"); -// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); -// return false; - } else if (resultKelompokUser == -1){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada di dalam daftar Map objek modul to kelompok user.."); - return true; // Defaultnya diloloskan semuanya... -// LOG.info("User {} has no access to module application", namaUser); -// response.setHeader("RequireSupervisor", "false"); -// response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, -// "User " + namaUser + " has no access to module application"); -// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); -// return false; - } else if (resultKelompokUser == 0) { - LOG.info("User {} has need superVisor for action in {} module application", namaUser, action); + if (resultKelompokUser == -2) { + return true; + } else if (resultKelompokUser == -1) { + return true; + } else if (resultKelompokUser == 0) { response.setHeader("RequireSupervisor", "true"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Action requires supervisor"); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); @@ -310,113 +203,54 @@ public class AppInterceptor implements HandlerInterceptor { response.setHeader(Constants.MessageInfo.INFO_MESSAGE, "Supervise execution success"); response.setStatus(HttpServletResponse.SC_OK); return true; - } + } } - /* - * return true untuk valid permission request ke controller method - */ @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - ////// Syamsu ///// - - // TUTUP DULU PENGGUNAANNYA... - + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { HandlerMethod hm; - Method method = null; -// int methodApp = AppPermission.VIEW; - + Method method; response.setHeader("Access-Control-Expose-Headers", "RequireSupervisor" + "," + Constants.MessageInfo.ERROR_MESSAGE + "," + Constants.MessageInfo.INFO_MESSAGE); - - ////// Syamsu ///// - - String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "": request.getHeader(Constants.HttpHeader.URL_FORM); - - // Buat Om, Kang, Aa Reza terkait Security Role - //String KdRuangan = null; - String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "": request.getHeader(Constants.HttpHeader.KD_RUANGAN); - + String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" + : request.getHeader(Constants.HttpHeader.URL_FORM); + String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "" + : request.getHeader(Constants.HttpHeader.KD_RUANGAN); int action = AppPermission.VIEW; - - if (CommonUtil.isNullOrEmpty(AlamatUrlForm)){ - //LOG.warn("Sementara defaultnya di loloskan semuanya di AppInterceptor jika tidak ada header 'AlamatUrlForm' .."); - return true; // Lewatin dulu sementara; - } - - if (CommonUtil.isNullOrEmpty(KdRuangan) || "0".equals(KdRuangan)){ - LOG.warn("Sementara defaultnya diloloskan semuanya di AppInterceptor jika tidak ada header 'KdRuangan' atau header 'KdRuangan'nya 0 .."); - return true; // Lewatin dulu sementara; - } - - //String headerAction = request.getHeader(Constants.HttpHeader.ACTION) == null ? "" : request.getHeader(Constants.HttpHeader.ACTION); - + if (CommonUtil.isNullOrEmpty(AlamatUrlForm)) + return true; + if (CommonUtil.isNullOrEmpty(KdRuangan) || "0".equals(KdRuangan)) + return true; String URI = request.getRequestURI(); String methodHttp = request.getMethod(); - try { - // Alter modified Syamsu if (handler instanceof org.springframework.web.method.HandlerMethod) { hm = (HandlerMethod) handler; method = hm.getMethod(); } else { return checkAuthSecure(request, response, AlamatUrlForm, true); } - - // AlamatUrlForm // Alter modified Syamsu boolean usingAnno = method != null && method.isAnnotationPresent(AppPermission.class); - boolean postM = "POST".equals(methodHttp); boolean signInOut = !URI.contains("auth/sign-in") && !URI.contains("auth/sign-out"); boolean getM = "GET".equals(methodHttp); - boolean cetak = contains (URI, PRINT_PATTERN); - - /*(URI.contains("/lap_") || URI.contains("/lap-") || URI.contains("/lap") - || URI.contains("/cetak_") || URI.contains("/print_") || URI.contains("/cetak-") - || URI.contains("/print-"));*/ - - boolean simpan = contains (URI, ADD_PATTERN); - - /*(URI.contains("/save_") || URI.contains("/add_") || URI.contains("/simpan_") - || URI.contains("/save-") || URI.contains("/add-") || URI.contains("/simpan-"));*/ - - boolean ubah = contains (URI, UPDATE_PATTERN); - - /*(URI.contains("/update_") || URI.contains("/edit_") || URI.contains("/ubah_") - || URI.contains("/update-") || URI.contains("/edit-") || URI.contains("/ubah-"));*/ - - boolean hapus = contains (URI, DELETE_PATTERN); - - /*(URI.contains("/delete_") || URI.contains("/hapus_") || URI.contains("/delete-") - || URI.contains("/hapus-")); */ - + boolean cetak = contains(URI, PRINT_PATTERN); + boolean simpan = contains(URI, ADD_PATTERN); + boolean ubah = contains(URI, UPDATE_PATTERN); + boolean hapus = contains(URI, DELETE_PATTERN); if (usingAnno) { - if (method.getAnnotation(AppPermission.class) != null) { + if (method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - - if (AppPermission.SPECIALS == action /* && "#/home".equals(AlamatUrlForm) */) { + if (AppPermission.SPECIALS == action) return true; - } } - if (getM && cetak) { - action = AppPermission.PRINT; - -// if (headerAction != null && !"".equals(headerAction)) { -// action = headerActionToAction(headerAction); -// } - - if (method.getAnnotation(AppPermission.class) != null) { + if (method != null && method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - return checkPermission(request, response, AlamatUrlForm, action); } - if ((usingAnno || postM) && signInOut) { - if (simpan) { action = AppPermission.ADD; } else if (ubah) { @@ -426,345 +260,104 @@ public class AppInterceptor implements HandlerInterceptor { } else if (cetak) { action = AppPermission.PRINT; } - -// if (headerAction != null && !"".equals(headerAction)) { -// action = headerActionToAction(headerAction); -// } - - if (method.getAnnotation(AppPermission.class) != null) { + if (method != null && method.getAnnotation(AppPermission.class) != null) action = method.getAnnotation(AppPermission.class).value(); - } - return checkPermission(request, response, AlamatUrlForm, action); - } - } catch (Exception e) { - e.printStackTrace(); - System.out.println("Not Found " + request.getRequestURL()); - - LOG.info("Error accured unauthorized"); response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "Something wrong happened"); response.setHeader("RequireSupervisor", "false"); response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); return false; } - - // TUTUP DULU PENGGUNAANNYA... - return true; } - @Override - public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) throws Exception {} - - + public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) { + } + @Override - public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) throws Exception { - + public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception ex) + throws Exception { String AlamatUrlForm = request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" : request.getHeader(Constants.HttpHeader.URL_FORM); String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN); - String idRuanganTujuan = request.getHeader(Constants.HttpHeader.KD_RUANGAN_T) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN_T); - String idRuanganTujuanA = request.getHeader(Constants.HttpHeader.KD_RUANGAN_A) == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN_A); - String tglKirim = request.getHeader(Constants.HttpHeader.TGL_KIRIM) == null ? "" : request.getHeader(Constants.HttpHeader.TGL_KIRIM); - boolean notHttpOK = response.getStatus() >= HttpServletResponse.SC_BAD_REQUEST; boolean notLewatMenu = CommonUtil.isNullOrEmpty(AlamatUrlForm) || CommonUtil.isNullOrEmpty(KdRuangan); - - Integer ruanganAsalId = 0; - - try { - ruanganAsalId = Integer.parseInt(KdRuangan); - }catch(Exception e){ - ex = e; - } - - + Integer ruanganAsalId = Integer.parseInt(KdRuangan); boolean adaError = CommonUtil.isNotNullOrEmpty(ex); - if (notHttpOK || notLewatMenu || adaError){ + if (notHttpOK || notLewatMenu || adaError) return; - } - Authentication authentication = tokenAuthenticationService.getAuthentication(request); - - if (CommonUtil.isNullOrEmpty(authentication)){ + if (CommonUtil.isNullOrEmpty(authentication)) return; - } - namaUser = authentication.getName(); loginUser = loginUserDao.findByNamaUser(namaUser); - - if (CommonUtil.isNullOrEmpty(loginUser)) { + if (CommonUtil.isNullOrEmpty(loginUser)) return; - } - String potongan = filterUrlForm(AlamatUrlForm); List objekModulAplikasiVOs = objekModulAplikasiService.findByAlamatUrlForm(potongan); - - if (CommonUtil.isNullOrEmpty(objekModulAplikasiVOs)){ + if (CommonUtil.isNullOrEmpty(objekModulAplikasiVOs)) return; - } - String URI = request.getRequestURI(); - Integer objekModulAplikasId = objekModulAplikasiVOs.get(0).getId(); - - List notifMessagingVOs = notifMessagingService.findByObjekModulAplikasiIdAndUrlBackEndOrUrlBackEndIsNull(objekModulAplikasId, URI); - - if (CommonUtil.isNullOrEmpty(notifMessagingVOs)) { + List notifMessagingVOs = notifMessagingService + .findByObjekModulAplikasiIdAndUrlBackEndOrUrlBackEndIsNull(objekModulAplikasId, URI); + if (CommonUtil.isNullOrEmpty(notifMessagingVOs)) return; - } - Integer notifMessagingId = notifMessagingVOs.get(0).getId(); - if (CommonUtil.isNullOrEmpty(tglKirim)) { - - List ruanganTujuansId = new ArrayList<>(); - System.out.println("--"); - - if (!"".equals(idRuanganTujuan)){ + if (!"".equals(idRuanganTujuan)) { JSONArray ruanganTujuanIds = new JSONArray(idRuanganTujuan); - for (int i=0; i 0){ - try{ - rabbitHole.sendNotif(rabbitHole, ruanganAsal, pegawai, notifikasiMessageObjekModulService, notifMessagingId, ruanganTujuansId); - }catch(Exception e){ - e.printStackTrace(); - LOG.info(DateUtil.now()+" send notif dari Ruangan {} dengan ruanganId {} pada notifMessageId {} ada masalah {}", - ruanganAsal.getNamaRuangan(), ruanganAsalId, notifMessagingId, e.getMessage()); - } - } - + if (!ruanganTujuansId.isEmpty()) + rabbitHole.sendNotif(rabbitHole, ruanganAsal, pegawai, notifikasiMessageObjekModulService, + notifMessagingId, ruanganTujuansId); } else { JSONArray tglKirims = new JSONArray(tglKirim); JSONArray ruanganTujuanIds = new JSONArray(idRuanganTujuan); SimpleDateFormat myFormat = new SimpleDateFormat("yyyy-MM-dd"); - - for (int i=0; i T convertToVO(T t, Object o){ -// BeanUtils.copyProperties(t, o); -// return t; -// } - - // try{ - // - // - // String AlamatUrlForm = - // request.getHeader(Constants.HttpHeader.URL_FORM) == null ? "" : - // request.getHeader(Constants.HttpHeader.URL_FORM); - // String KdRuangan = request.getHeader(Constants.HttpHeader.KD_RUANGAN) - // == null ? "" : request.getHeader(Constants.HttpHeader.KD_RUANGAN); - // - // Authentication authentication = - // tokenAuthenticationService.getAuthentication(request); - // - // namaUser = authentication.getName(); - // loginUser = loginUserDao.findByNamaUser(namaUser); - // - // - // if (loginUser.isEmpty()) { - // publisher.BroadcastMessage(KdRuangan, namaUser, AlamatUrlForm); - // } - // - // - // - // - //// String routingKeyAndQueueName = "ruanganId." + KdRuangan; - //// - //// publisher.sendRabbitMQNotification("127.0.0.1", "ruanganId." + - // KdRuangan, "Kd Ruangan : " + KdRuangan + ", AlamatUrlForm : " + - // AlamatUrlForm); - //// - //// subscriber.startRabbitMQNotification("127.0.0.1", - // routingKeyAndQueueName); - //// subscriber.listenRabbitMQNotification(routingKeyAndQueueName, - // subscriber.getDefaultConsumer(), false); - //// subscriber.stopRabbitMQNotification(); - // - // }catch(Exception e){ - // //e.printStackTrace(); - // } - - - -// //String urlSocket = messagePublisher.GetSettingDataFixed("UrlRabbitMQMessaging"); sementara kunci dulu. -// -// String urlSocket = "127.0.0.1"; -// -// List notifikasiMessageObjekModulVOs = notifikasiMessageObjekModulService.findByNotifMessagingIdAndRuanganId(notifMessagingId, ruanganTujuansId); -// -// if (CommonUtil.isNullOrEmpty(notifikasiMessageObjekModulVOs)) { -// return; -// } -// -// Integer ruanganIdtemp = 0; -// boolean connect = false; -// -// for (NotifikasiMessageObjekModulVO vo : notifikasiMessageObjekModulVOs){ -// Ruangan ruangan = vo.getRuangan(); -// ModulAplikasi modulAplikasi = vo.getModulAplikasi(); -// ObjekModulAplikasi objekModulAplikasi = vo.getObjekModulAplikasi(); -// String customURLObjekModul = vo.getCustomURLObjekModul(); -// String titleNotifikasi = vo.getTitleNotifikasi(); -// String pesanNotifikasi = vo.getPesanNotifikasi(); -// String namaFungsiFrontEnd = vo.getNamaFungsiFrontEnd(); -// -// if (ruangan.getId() == ruanganId){ -// continue; -// } -// -// RuanganVO dariRuangan = ruanganService.findById(ruanganId); -// -// if (ruanganIdtemp != ruangan.getId()){ -// if (connect){ -// rabbitHole.close(); -// } -// rabbitHole.connect(urlSocket, String.valueOf(ruangan.getId())); -// connect = true; -// ruanganIdtemp = ruangan.getId(); -// } -// -// Map map = new HashMap<>(); -// map.put("title", titleNotifikasi); -// map.put("dariRuangan", dariRuangan); -// map.put("ruanganId", ruangan.getId()); -// map.put("ruangan", convertToVO(new RuanganVO(), ruangan)); -// map.put("modulAplikasi", convertToVO(new ModulAplikasiVO(), modulAplikasi)); -// map.put("objekModulAplikasi", convertToVO(new ObjekModulAplikasiVO(), objekModulAplikasi)); -// map.put("titleNotifikasi", titleNotifikasi); -// map.put("pesanNotifikasi", pesanNotifikasi); -// map.put("namaFungsiFrontEnd", namaFungsiFrontEnd); -// map.put("fromPegawai", loginUser.get(0).getPegawai()); -// map.put("urlForm",CommonUtil.isNullOrEmpty(customURLObjekModul)? objekModulAplikasi.getAlamatUrlForm() : customURLObjekModul); -// -// rabbitHole.sendRabbitMQNotification(gson.toJson(map)); -// -// //messagePublisher.BroadcastMessage(map); -// } -// if (connect){ -// rabbitHole.close(); -// } - - -// private static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() { -// @Override -// @SuppressWarnings("unchecked") -// public TypeAdapter create(Gson gson, TypeToken type) { -// return (HibernateProxy.class.isAssignableFrom(type.getRawType()) -// ? (TypeAdapter) new HibernateProxyTypeAdapter((TypeAdapter)gson.getAdapter(TypeToken.get(type.getRawType().getSuperclass()))) -// : null); -// } -// }; -// -// -// private static final class HibernateProxyTypeAdapter extends TypeAdapter { -// -// private final TypeAdapter delegate; -// -// private HibernateProxyTypeAdapter(TypeAdapter delegate) { -// this.delegate = delegate; -// } -// -// @Override -// public HibernateProxy read(JsonReader r) throws IOException { -// throw new UnsupportedOperationException("Not supported"); -// } -// -// @SuppressWarnings({"rawtypes", "unchecked"}) -// @Override -// public void write(JsonWriter out, HibernateProxy value) throws IOException { -// if (value == null) { -// out.nullValue(); -// return; -// } -// -// -// -// delegate.write(out, ((HibernateProxy) value).getHibernateLazyInitializer().getImplementation()); -// } -// } } - - - -/* - * else if (method.isAnnotationPresent(AppMenuPermision.class)){ - * - * Authentication authentication = - * tokenAuthenticationService.getAuthentication(request); - * - * String namaUser = authentication.getName(); - * - * List loginUser = - * loginUserDao.findByNamaUser(namaUser); - * - * if (loginUser.isEmpty()) { // untuk testing false - * response.addHeader("Access-Control-Expose-Headers", - * "content-type"); - * response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, "User " + - * namaUser + " can not access current menu "); - * response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return - * false; } - * - * // get user login if (!loginUser.isEmpty()) { LoginUser user = - * loginUser.get(0); }else{ LOG.info("User {} is unauthorized", - * namaUser); - * response.setHeader(Constants.MessageInfo.ERROR_MESSAGE, - * "User is unauthorized"); - * response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); return - * false; } } - */ \ No newline at end of file From 2bd3622a0e59d1a410de320326f5bd436a2042f7 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Thu, 1 Feb 2024 18:11:50 +0700 Subject: [PATCH 06/10] Update application context Clean code --- .../medifirst2000/applicationContext.xml | 19 ++--- .../medifirst2000/applicationContext.xml | 81 ++----------------- 2 files changed, 13 insertions(+), 87 deletions(-) diff --git a/jasamedika-business/src/main/resources/com/jasamedika/medifirst2000/applicationContext.xml b/jasamedika-business/src/main/resources/com/jasamedika/medifirst2000/applicationContext.xml index 02818d18..98879fe0 100644 --- a/jasamedika-business/src/main/resources/com/jasamedika/medifirst2000/applicationContext.xml +++ b/jasamedika-business/src/main/resources/com/jasamedika/medifirst2000/applicationContext.xml @@ -7,19 +7,10 @@ http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd"> - - - - - - - + + + diff --git a/jasamedika-config/src/main/resources/com/jasamedika/medifirst2000/applicationContext.xml b/jasamedika-config/src/main/resources/com/jasamedika/medifirst2000/applicationContext.xml index d4824849..52a156ec 100644 --- a/jasamedika-config/src/main/resources/com/jasamedika/medifirst2000/applicationContext.xml +++ b/jasamedika-config/src/main/resources/com/jasamedika/medifirst2000/applicationContext.xml @@ -1,42 +1,22 @@ + http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> - - - - - - - + - - - + + + ${jdbc.serverName} @@ -44,9 +24,6 @@ ${jdbc.username} ${jdbc.password} ${jdbc.portNumber} - - @@ -68,10 +45,9 @@ ${hibernate.format_sql} ${hibernate.show_sql} none - - com.jasamedika.medifirst2000.logging.hibernate.interceptor.HibernateInterceptor + + com.jasamedika.medifirst2000.logging.hibernate.interceptor.HibernateInterceptor - @@ -85,43 +61,9 @@ - - - - - - - - - - - - - @@ -130,11 +72,4 @@ - - - - - - From efa978d020d2815165b31cc336edc67f10729c5f Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Thu, 1 Feb 2024 18:11:58 +0700 Subject: [PATCH 07/10] Update interceptor-test.xml Clean code --- .../src/test/resources/interceptor-test.xml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/jasamedika-bridging/src/test/resources/interceptor-test.xml b/jasamedika-bridging/src/test/resources/interceptor-test.xml index e7ea5632..e5107c3a 100644 --- a/jasamedika-bridging/src/test/resources/interceptor-test.xml +++ b/jasamedika-bridging/src/test/resources/interceptor-test.xml @@ -1,15 +1,13 @@ - - - + + - From ed4cc1efb5ee37a154aa0bdd4adcb3868ba2ad92 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Thu, 1 Feb 2024 19:23:33 +0700 Subject: [PATCH 08/10] Update project configuration Fix all apache commons io dependency --- Medifirst2000/pom.xml | 2 +- jasamedika-bridging/pom.xml | 1 - .../controller/BridgingEKlaimController.java | 20 +++++++++---------- jasamedika-cssd/pom.xml | 1 - jasamedika-ipsrs/pom.xml | 1 - jasamedika-it/pom.xml | 1 - jasamedika-k3kl/pom.xml | 1 - jasamedika-laundry/pom.xml | 1 - jasamedika-pelayanan/pom.xml | 1 - jasamedika-reporting/pom.xml | 1 - jasamedika-sdm/pom.xml | 1 - 11 files changed, 11 insertions(+), 20 deletions(-) diff --git a/Medifirst2000/pom.xml b/Medifirst2000/pom.xml index a6105582..f4ef78c4 100644 --- a/Medifirst2000/pom.xml +++ b/Medifirst2000/pom.xml @@ -65,7 +65,7 @@ 3.0.1 1.3 - 2.4 + 2.15.1 10.0.1 2.0.5 diff --git a/jasamedika-bridging/pom.xml b/jasamedika-bridging/pom.xml index e120ee41..b79077c1 100644 --- a/jasamedika-bridging/pom.xml +++ b/jasamedika-bridging/pom.xml @@ -115,7 +115,6 @@ commons-io commons-io ${commons-io.version} - runtime diff --git a/jasamedika-bridging/src/main/java/com/jasamedika/medifirst2000/controller/BridgingEKlaimController.java b/jasamedika-bridging/src/main/java/com/jasamedika/medifirst2000/controller/BridgingEKlaimController.java index a5cebcb6..28c897a1 100644 --- a/jasamedika-bridging/src/main/java/com/jasamedika/medifirst2000/controller/BridgingEKlaimController.java +++ b/jasamedika-bridging/src/main/java/com/jasamedika/medifirst2000/controller/BridgingEKlaimController.java @@ -1,12 +1,7 @@ package com.jasamedika.medifirst2000.controller; -import java.io.BufferedInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.HttpURLConnection; -import java.util.ArrayList; - +import com.jasamedika.medifirst2000.vo.custom.BridgeEKlaimVO; +import org.apache.commons.io.IOUtils; import org.json.JSONException; import org.json.JSONObject; import org.springframework.http.MediaType; @@ -15,7 +10,12 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import com.jasamedika.medifirst2000.vo.custom.BridgeEKlaimVO; +import java.io.BufferedInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.util.ArrayList; @RestController @RequestMapping("/e-klaim") @@ -37,7 +37,7 @@ public class BridgingEKlaimController { os.close(); InputStream in = new BufferedInputStream(con.getInputStream()); - String result = org.apache.commons.io.IOUtils.toString(in, "UTF-8"); + String result = IOUtils.toString(in, "UTF-8"); ArrayList ret = new ArrayList(); try { @@ -137,7 +137,7 @@ public class BridgingEKlaimController { os.close(); InputStream in = new BufferedInputStream(con.getInputStream()); - String result = org.apache.commons.io.IOUtils.toString(in, "UTF-8"); + String result = IOUtils.toString(in, "UTF-8"); ArrayList ret = new ArrayList(); try { diff --git a/jasamedika-cssd/pom.xml b/jasamedika-cssd/pom.xml index 98742706..a85e5239 100644 --- a/jasamedika-cssd/pom.xml +++ b/jasamedika-cssd/pom.xml @@ -106,7 +106,6 @@ commons-io commons-io ${commons-io.version} - runtime diff --git a/jasamedika-ipsrs/pom.xml b/jasamedika-ipsrs/pom.xml index 71f909e2..cf3fd134 100644 --- a/jasamedika-ipsrs/pom.xml +++ b/jasamedika-ipsrs/pom.xml @@ -106,7 +106,6 @@ commons-io commons-io ${commons-io.version} - runtime diff --git a/jasamedika-it/pom.xml b/jasamedika-it/pom.xml index c31a333d..151085d9 100644 --- a/jasamedika-it/pom.xml +++ b/jasamedika-it/pom.xml @@ -106,7 +106,6 @@ commons-io commons-io ${commons-io.version} - runtime diff --git a/jasamedika-k3kl/pom.xml b/jasamedika-k3kl/pom.xml index 7f8131f1..9f8c20cb 100644 --- a/jasamedika-k3kl/pom.xml +++ b/jasamedika-k3kl/pom.xml @@ -106,7 +106,6 @@ commons-io commons-io ${commons-io.version} - runtime diff --git a/jasamedika-laundry/pom.xml b/jasamedika-laundry/pom.xml index 793e11e3..b6d42264 100644 --- a/jasamedika-laundry/pom.xml +++ b/jasamedika-laundry/pom.xml @@ -106,7 +106,6 @@ commons-io commons-io ${commons-io.version} - runtime diff --git a/jasamedika-pelayanan/pom.xml b/jasamedika-pelayanan/pom.xml index fcd502d9..8f0476ca 100644 --- a/jasamedika-pelayanan/pom.xml +++ b/jasamedika-pelayanan/pom.xml @@ -106,7 +106,6 @@ commons-io commons-io ${commons-io.version} - runtime diff --git a/jasamedika-reporting/pom.xml b/jasamedika-reporting/pom.xml index ec5066c3..ae8d4ab8 100644 --- a/jasamedika-reporting/pom.xml +++ b/jasamedika-reporting/pom.xml @@ -102,7 +102,6 @@ commons-io commons-io ${commons-io.version} - runtime diff --git a/jasamedika-sdm/pom.xml b/jasamedika-sdm/pom.xml index f680f516..99390876 100644 --- a/jasamedika-sdm/pom.xml +++ b/jasamedika-sdm/pom.xml @@ -106,7 +106,6 @@ commons-io commons-io ${commons-io.version} - runtime From 213419a4a3fb58ad82d815075b30a58f81166253 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Thu, 1 Feb 2024 19:23:58 +0700 Subject: [PATCH 09/10] Remove all tests --- .../src/test/resources/interceptor-test.xml | 13 - .../dao/test/AsalAnggaranDaoTest.java | 18 - .../dao/test/DepartemenDaoTest.java | 31 -- .../dao/test/FungsiProdukDaoTest.java | 41 -- .../dao/test/GenerateNoCmDaoTest.java | 35 -- .../dao/test/JenisRekananDaoTest.java | 31 -- .../dao/test/KalkulatorDaoTest.java | 29 -- .../dao/test/KelompokProdukDaoTest.java | 31 -- .../dao/test/LoginUserDaoTest.java | 42 -- .../dao/test/PapAlergiDaoTest.java | 93 ---- .../dao/test/PapAnamesisDaoTest.java | 103 ---- .../dao/test/PapCatatanDaoTest.java | 85 ---- .../dao/test/PapEliminasiDaoTest.java | 128 ----- .../dao/test/PapGastrointestinalDaoTest.java | 103 ---- .../dao/test/PapGenataliaDaoTest.java | 152 ------ .../dao/test/PapKeluhanUtamaDaoTest.java | 79 --- .../dao/test/PapMuskoskeletalDaoTest.java | 93 ---- .../dao/test/PapMuskuloskeletalDaoTest.java | 74 --- .../dao/test/PapNeurologiDaoTest.java | 88 ---- .../dao/test/PapPernapasanDaoTest.java | 112 ----- .../dao/test/PapRadiologiDaoTest.java | 131 ----- .../dao/test/PapRiwayatKeluargaDaoTest.java | 103 ---- .../test/PapRiwayatPsikososialDaoTest.java | 97 ---- .../dao/test/PapSirkulasiDaoTest.java | 118 ----- .../dao/test/PapSkriningGiziDaoTest.java | 121 ----- .../medifirst2000/dao/test/PasienDaoTest.java | 31 -- .../dao/test/RuanganMDaoTest.java | 33 -- .../medifirst2000/dao/test/Testing.java | 101 ---- .../logging/SimpleLoggingTest.java | 52 -- .../service/test/AgamaServiceImplTest.java | 74 --- .../service/test/PacsServiceImplTest.java | 69 --- .../test/PapAlergiServiceImplTest.java | 143 ------ .../test/PapAnamesisServiceImplTest.java | 144 ------ .../service/test/PapBedahServiceImplTest.java | 181 ------- .../test/PapEliminasiServiceImplTest.java | 138 ----- .../PapGastrointestinalServiceImplTest.java | 132 ----- .../test/PapGenataliaServiceImplTest.java | 143 ------ .../test/PapGigiMulutServiceImplTest.java | 270 ---------- .../test/PapIntegumenServiceImplTest.java | 159 ------ .../PapKeluhanTambahanServiceImplTest.java | 160 ------ .../test/PapKeluhanUtamaServiceImplTest.java | 138 ----- .../PapMuskuloskeletalServiceImplTest.java | 158 ------ .../test/PapNeurologiServiceImplTest.java | 113 ----- .../test/PapPernapasanServiceImplTest.java | 189 ------- .../test/PapRehabilitasiServiceImplTest.java | 145 ------ .../test/PapSirkulasiServiceImplTest.java | 142 ------ .../test/PapSkriningGiziServiceImplTest.java | 146 ------ .../test/PapSkriningNyeriServiceImplTest.java | 179 ------- .../test/PapTandaVitalServiceImplTest.java | 144 ------ jasamedika-core/jasamedika-core.iml | 12 - .../medifirst2000/util/AgeCalculatorTest.java | 29 -- .../medifirst2000/util/CommonUtilTest.java | 22 - .../medifirst2000/util/CurrencyUtilTest.java | 29 -- .../medifirst2000/util/DateUtilTest.java | 62 --- .../util/IndonesiaNumberToWordsTest.java | 20 - .../medifirst2000/util/PasswordUtilTest.java | 39 -- .../medifirst2000/util/RegexUtilTest.java | 30 -- .../medifirst2000/util/StringUtilTest.java | 24 - .../medifirst2000/entities/JenisLogTests.java | 473 ------------------ .../src/test/resources/interceptor-test.xml | 15 - 60 files changed, 5890 deletions(-) delete mode 100644 jasamedika-bridging/src/test/resources/interceptor-test.xml delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/AsalAnggaranDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/DepartemenDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/FungsiProdukDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/GenerateNoCmDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/JenisRekananDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/KalkulatorDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/KelompokProdukDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/LoginUserDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapAlergiDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapAnamesisDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapCatatanDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapEliminasiDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapGastrointestinalDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapGenataliaDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapKeluhanUtamaDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapMuskoskeletalDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapMuskuloskeletalDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapNeurologiDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapPernapasanDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapRadiologiDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapRiwayatKeluargaDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapRiwayatPsikososialDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapSirkulasiDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapSkriningGiziDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PasienDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/RuanganMDaoTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/Testing.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/logging/SimpleLoggingTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/AgamaServiceImplTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PacsServiceImplTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapAlergiServiceImplTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapAnamesisServiceImplTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapBedahServiceImplTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapEliminasiServiceImplTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapGastrointestinalServiceImplTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapGenataliaServiceImplTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapGigiMulutServiceImplTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapIntegumenServiceImplTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapKeluhanTambahanServiceImplTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapKeluhanUtamaServiceImplTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapMuskuloskeletalServiceImplTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapNeurologiServiceImplTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapPernapasanServiceImplTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapRehabilitasiServiceImplTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapSirkulasiServiceImplTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapSkriningGiziServiceImplTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapSkriningNyeriServiceImplTest.java delete mode 100644 jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapTandaVitalServiceImplTest.java delete mode 100644 jasamedika-core/jasamedika-core.iml delete mode 100644 jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/AgeCalculatorTest.java delete mode 100644 jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/CommonUtilTest.java delete mode 100644 jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/CurrencyUtilTest.java delete mode 100644 jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/DateUtilTest.java delete mode 100644 jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/IndonesiaNumberToWordsTest.java delete mode 100644 jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/PasswordUtilTest.java delete mode 100644 jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/RegexUtilTest.java delete mode 100644 jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/StringUtilTest.java delete mode 100644 jasamedika-it/src/test/java/com/jasamedika/medifirst2000/entities/JenisLogTests.java delete mode 100644 jasamedika-web/src/test/resources/interceptor-test.xml diff --git a/jasamedika-bridging/src/test/resources/interceptor-test.xml b/jasamedika-bridging/src/test/resources/interceptor-test.xml deleted file mode 100644 index e5107c3a..00000000 --- a/jasamedika-bridging/src/test/resources/interceptor-test.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/AsalAnggaranDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/AsalAnggaranDaoTest.java deleted file mode 100644 index d05dd640..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/AsalAnggaranDaoTest.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -/**Agama Class Test - */ - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class AsalAnggaranDaoTest { - - @Test - public void contextLoad() { - } -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/DepartemenDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/DepartemenDaoTest.java deleted file mode 100644 index 1130caf1..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/DepartemenDaoTest.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -/**Agama Class Test - */ - -import static org.junit.Assert.assertNull; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import com.jasamedika.medifirst2000.dao.DepartemenDao; -import com.jasamedika.medifirst2000.entities.Departemen; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class DepartemenDaoTest { - - @Autowired - private DepartemenDao dao; - - @Test - public void testFindById() { - Departemen result = dao.findOne(1); - // System.out.println(result.getAlamats().size()); - // assertNotNull(result.getAlamats()); - //assertNull(result); - } -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/FungsiProdukDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/FungsiProdukDaoTest.java deleted file mode 100644 index 0c6c8a4b..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/FungsiProdukDaoTest.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -/**Agama Class Test - */ -import static org.junit.Assert.*; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import com.jasamedika.medifirst2000.dao.AntrianPasienDiPeriksaDao; -import com.jasamedika.medifirst2000.dao.FungsiProdukDao; -import com.jasamedika.medifirst2000.entities.FungsiProduk; -import com.jasamedika.medifirst2000.service.AntrianPasienDiPeriksaService; -import com.jasamedika.medifirst2000.service.MonitoringAbsenService; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class FungsiProdukDaoTest { - - @Autowired - private FungsiProdukDao dao; - - @Autowired - private MonitoringAbsenService monitoringAbsenService; - - @Test - public void testFindById() { - FungsiProduk result = dao.findOne(1); - assertNull(result); - } - - @Test - public void testLemburSDM(){ - Integer lembur = monitoringAbsenService.getLemburVerifiedbySDM(141, "1-November-2017"); - assertSame(360, lembur); - - } -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/GenerateNoCmDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/GenerateNoCmDaoTest.java deleted file mode 100644 index 15780477..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/GenerateNoCmDaoTest.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - -import java.util.List; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.dao.GenericViewDao; -import com.jasamedika.medifirst2000.dao.PapPernapasanDao; -import com.jasamedika.medifirst2000.dao.PasienDao; -import com.jasamedika.medifirst2000.entities.GenericView; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class GenerateNoCmDaoTest { - - @Autowired - private PasienDao pasienDao; - - @Test - @Transactional - public void testFindNoCmDaoSelect() { - List list=pasienDao.findAllNoCm(); - assertNotNull(list); - System.out.println("LISSSSSSSSSST : "+list.size()); - assertEquals("8", list.size()); - } -} \ No newline at end of file diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/JenisRekananDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/JenisRekananDaoTest.java deleted file mode 100644 index c8382d8c..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/JenisRekananDaoTest.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -/**Agama Class Test - */ - -import static org.junit.Assert.assertNull; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import com.jasamedika.medifirst2000.dao.JenisRekananDao; -import com.jasamedika.medifirst2000.entities.JenisRekanan; - -//@RunWith(SpringJUnit4ClassRunner.class) -//@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class JenisRekananDaoTest { - -// @Autowired - private JenisRekananDao dao; - -// @Test - public void testFindById() { - JenisRekanan result = dao.findOne(1); - // System.out.println(result.getAlamats().size()); - // assertNotNull(result.getAlamats()); - assertNull(result); - } -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/KalkulatorDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/KalkulatorDaoTest.java deleted file mode 100644 index 37ada593..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/KalkulatorDaoTest.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -/**Agama Class Test - */ - -import static org.junit.Assert.assertEquals; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import com.jasamedika.medifirst2000.dao.custom.impl.KalkulatorDaoCustomImpl; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class KalkulatorDaoTest { - - @Autowired - private KalkulatorDaoCustomImpl dao; - - @Test - public void testKalkluator() { - String operationInput = "14 + 6/3 - 3*5 + 9-8 * (4-2)"; - int result = dao.calculateFromString(operationInput); - assertEquals(-6, result); - } -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/KelompokProdukDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/KelompokProdukDaoTest.java deleted file mode 100644 index 1cb82ada..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/KelompokProdukDaoTest.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -/**Agama Class Test - */ - -import static org.junit.Assert.assertNull; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import com.jasamedika.medifirst2000.dao.KelompokProdukDao; -import com.jasamedika.medifirst2000.entities.KelompokProduk; - -//@RunWith(SpringJUnit4ClassRunner.class) -//@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class KelompokProdukDaoTest { - -// @Autowired - private KelompokProdukDao dao; - -// @Test - public void testFindById() { - KelompokProduk result = dao.findOne(1); - // System.out.println(result.getAlamats().size()); - // assertNotNull(result.getAlamats()); - assertNull(result); - } -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/LoginUserDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/LoginUserDaoTest.java deleted file mode 100644 index 2d0e0e3e..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/LoginUserDaoTest.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -/**Agama Class Test - */ - -import static org.junit.Assert.*; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import com.jasamedika.medifirst2000.dao.LoginUserDao; -import com.jasamedika.medifirst2000.entities.LoginUser; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class LoginUserDaoTest { - - @Autowired - private LoginUserDao dao; - - @Test - public void testFindById() { - try { - LoginUser result = dao.findOne(new Integer(1)); - assertNotNull(result); - } catch (Exception ex) { - ex.printStackTrace(); - } - // System.out.println(result.getAlamats().size()); - // assertNotNull(result.getAlamats()); - - } - - @Test - public void testNorec(){ - LoginUser loginUser = new LoginUser(); - assertNotNull(loginUser.getNoRec()); - } -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapAlergiDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapAlergiDaoTest.java deleted file mode 100644 index 03f69565..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapAlergiDaoTest.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - -/**Agama Class Test - */ - -import static org.junit.Assert.assertNull; - -import java.util.ArrayList; -import java.util.List; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.entities.GenericView; -import com.jasamedika.medifirst2000.entities.PapAlergi; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.entities.RegistrasiPelayananPasien; -import com.jasamedika.medifirst2000.dao.GenericViewDao; -import com.jasamedika.medifirst2000.dao.PapAlergiDao; -import com.jasamedika.medifirst2000.dao.PasienDao; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapAlergiDaoTest {/* - - @Autowired - private PapAlergiDao papAlergiDao; - - @Autowired - private PasienDao pasienDao; - - @Test - @Transactional - public void testPapAlergiDaoSave(){ - PapAlergi model = populateModel(); - PapAlergi resultModel1 = papAlergiDao.save(model); - Cek Hasil save - assertNotNull(resultModel1); - assertEquals(resultModel1.getKeteranganData(),"Keterangan Data Alergi"); - assertEquals(resultModel1.getPasien().getNamaPasien(),"adik"); - assertEquals(resultModel1.getRegistrasiPelayananPasien().getKeteranganLainnyaRencana(),"Rencana"); - } - - @Test - @Transactional - public void testPapAlergiDaoUpdate(){ - PapAlergi model = populateModel(); - PapAlergi result = papAlergiDao.save(model); - assertNotNull(result); - result.getPasien().setNamaPasien("Nama Update"); - result.getRegistrasiPelayananPasien().setKeteranganLainnyaRencana("Keterangan Update"); - result.setKeteranganData("Keterangan Data Update"); - - PapAlergi resultUpdate = papAlergiDao.save(result); - assertEquals("Keterangan Data Update",resultUpdate.getKeteranganData()); - } - - @Test - @Transactional - public void testPapAlergiDaoDelete(){ - PapAlergi model = populateModel(); - papAlergiDao.save(model); - - PapAlergi resultModel1 = papAlergiDao.findOne(model.getNoRec()); - Cek Model di Database - assertNotNull(resultModel1); - assertNotNull(resultModel1.getKeteranganData()); - - papAlergiDao.delete(model); - PapAlergi resultModel2 = papAlergiDao.findOne(model.getNoRec()); - Cek Hasil Delete Model - assertNull(resultModel2); - } - - public PapAlergi populateModel(){ - PapAlergi model = new PapAlergi(); - RegistrasiPelayananPasien registrasiPelayananPasien = new RegistrasiPelayananPasien(); - registrasiPelayananPasien.setKeteranganLainnyaRencana("Rencana"); - Pasien pasien = pasienDao.findOne(393); - - model.setRegistrasiPelayananPasien(registrasiPelayananPasien); - model.setPasien(pasien); - model.setKeteranganData("Keterangan Data Alergi"); - return model; - } -*/} \ No newline at end of file diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapAnamesisDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapAnamesisDaoTest.java deleted file mode 100644 index 2091975d..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapAnamesisDaoTest.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - -/**Agama Class Test - */ - -import static org.junit.Assert.assertNull; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.entities.GenericView; -import com.jasamedika.medifirst2000.entities.PapAlergi; -import com.jasamedika.medifirst2000.entities.PapAnamesis; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.entities.RegistrasiPelayananPasien; -import com.jasamedika.medifirst2000.dao.GenericViewDao; -import com.jasamedika.medifirst2000.dao.PapAnamesisDao; -import com.jasamedika.medifirst2000.dao.PasienDao; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapAnamesisDaoTest { - - @Autowired - private PapAnamesisDao papAnamesisDao; - - @Autowired - private PasienDao pasienDao; - - @Test - @Transactional - public void testPapAnamesisDaoSave(){ - PapAnamesis model = populateModel(); - PapAnamesis result = papAnamesisDao.save(model); - assertNotNull(result); - assertEquals(result.getKeluhan(),"Keterangan Keluhan"); - assertEquals(result.getPasien().getNamaPasien(),"adik"); - assertNotNull(result.getRegistrasiPelayananPasien()); - assertNotNull(result.getTglInput()); - - PapAnamesis resultFind = papAnamesisDao.findOne(model.getNoRec()); - assertNotNull(resultFind); - assertEquals(resultFind.getKeluhan(),"Keterangan Keluhan"); - assertEquals(resultFind.getPasien().getNamaPasien(),"adik"); - assertNotNull(resultFind.getRegistrasiPelayananPasien()); - assertNotNull(resultFind.getTglInput()); - } - - @Test - @Transactional - public void testPapAnamesisDaoUpdate(){ - PapAnamesis model = populateModel(); - PapAnamesis result = papAnamesisDao.save(model); - assertNotNull(result); - - result.setKeluhan("Update Keluhan"); - result.getPasien().setNamaPasien("Update Nama Pasien"); - result.getRegistrasiPelayananPasien().setKdDokter("Update Kode Dokter"); - papAnamesisDao.save(result); - - PapAnamesis resultUpdate = papAnamesisDao.findOne(result.getNoRec()); - assertEquals("Update Keluhan",resultUpdate.getKeluhan()); - assertEquals("Update Nama Pasien",resultUpdate.getPasien().getNamaPasien()); - assertEquals("Update Kode Dokter",resultUpdate.getRegistrasiPelayananPasien().getKdDokter()); - } - - @Test - @Transactional - public void testPapAnamesisDaoDelete(){ - PapAnamesis model = populateModel(); - papAnamesisDao.save(model); - - PapAnamesis result1 = papAnamesisDao.findOne(model.getNoRec()); - assertNotNull(result1); - assertNotNull(result1.getKeluhan()); - - papAnamesisDao.delete(model); - PapAnamesis result2 = papAnamesisDao.findOne(model.getNoRec()); - assertNull(result2); - - } - - public PapAnamesis populateModel(){ - PapAnamesis model = new PapAnamesis(); - Pasien pasien = pasienDao.findOne(393); - model.setPasien(pasien); - model.setTglInput(new Date()); - model.setRegistrasiPelayananPasien(new RegistrasiPelayananPasien()); - model.setKeluhan("Keterangan Keluhan"); - return model; - } -} \ No newline at end of file diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapCatatanDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapCatatanDaoTest.java deleted file mode 100644 index 393839fb..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapCatatanDaoTest.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.util.List; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.dao.GenericViewDao; -import com.jasamedika.medifirst2000.dao.PapCatatanDao; -import com.jasamedika.medifirst2000.entities.GenericView; -import com.jasamedika.medifirst2000.entities.PapCatatan; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapCatatanDaoTest { - - @Autowired - private GenericViewDao genericViewDao; - @Autowired - private PapCatatanDao papCatatanDao; - - @Test - @Transactional - public void testGenericDaoSelect() { - GenericView rujukan = populateGenericView("Rujukan"); - assertNotNull(rujukan); - assertEquals("1", String.valueOf(rujukan.getKdGenericView())); - } - - @Test - @Transactional - public void testPAPCatatanDaoSave() { - PapCatatan model = populateModel(); - PapCatatan resultModel=papCatatanDao.save(model); - assertNotNull(resultModel); - assertNotNull(resultModel.getRujukan()); - //assertEquals("1", String.valueOf(resultModel.getRujukan().getKdGenericView())); - PapCatatan resultModel2=papCatatanDao.findOne(resultModel.getNoRec()); - assertNotNull(resultModel2); - assertNotNull(resultModel2.getRujukan()); - //assertEquals("1", String.valueOf(resultModel2.getRujukan().getKdGenericView())); - } - - private PapCatatan populateModel() { - PapCatatan model=new PapCatatan(); - GenericView rujukan = populateGenericView("Rujukan"); - //model.setRujukan(rujukan); - return model; - } - - private GenericView populateGenericView(String previx) { - GenericView genericView=new GenericView(); - List listRujukan=genericViewDao.findGenericViewByPrevix(previx); - for (GenericView gv:listRujukan) { - if(gv.getKdGenericView()==1){ - genericView=gv; - } - } - return genericView; - } - - @Test - @Transactional - public void testPAPCatatanDaoFindAll() { - PapCatatan model1 = populateModel(); - PapCatatan resultModel1=papCatatanDao.save(model1); - PapCatatan model2 = populateModel(); - PapCatatan resultModel2=papCatatanDao.save(model2); - assertNotNull(resultModel1); - assertNotNull(resultModel2); - List results = (List) papCatatanDao.findAll(); - assertTrue(results.size() > 0); - assertNotNull(results); - assertTrue(results.size() == 2); - } - -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapEliminasiDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapEliminasiDaoTest.java deleted file mode 100644 index cebfb641..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapEliminasiDaoTest.java +++ /dev/null @@ -1,128 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.util.Date; -import java.util.List; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.dao.GenericViewDao; -import com.jasamedika.medifirst2000.dao.PapEliminasiDao; -import com.jasamedika.medifirst2000.dao.RegistrasiPelayananPasienDao; -import com.jasamedika.medifirst2000.entities.GenericView; -import com.jasamedika.medifirst2000.entities.PapEliminasi; -import com.jasamedika.medifirst2000.util.DateUtil; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapEliminasiDaoTest { - - @Autowired - private GenericViewDao genericViewDao; - @Autowired - private PapEliminasiDao papEliminasiDao; - @Autowired - private RegistrasiPelayananPasienDao registrasiPelayananPasienDao; - - @Test - @Transactional - public void testFindByNoCmAndTglInput() { - //registrasiPelayananPasienDao.findOne("40288c99557b0f0f01557b155bcc0000"); - Date tgl=DateUtil.toDate("2016-06-19"); - System.out.println("DATEEEEEEEEEE : "+ tgl); -// PapEliminasi abc=papEliminasiDao.findPapEliminasiByNoCmAndTglInput("00001", DateUtil.toDate("2016-06-19")); - PapEliminasi abc=papEliminasiDao.findByNoRec("40288c99559075a1015590762cb40000"); - assertNotNull(abc); - assertNotNull(abc.getPasien()); - assertEquals("00001", abc.getPasien().getNoCm()); - } -/* - @Test - @Transactional - public void testGenericDaoSelect() { - GenericView pengeluaranDefeaksi = populateGenericView("Pengeluaran Defeaksi"); - GenericView pengeluaranUrin = populateGenericView("Pengeluaran Urin"); - GenericView karakteristikFeses = populateGenericView("Karakteristik Feses"); - assertNotNull(pengeluaranDefeaksi); - assertNotNull(pengeluaranUrin); - assertNotNull(karakteristikFeses); - assertEquals("1", String.valueOf(pengeluaranDefeaksi.getKdGenericView())); - assertEquals("1", String.valueOf(pengeluaranUrin.getKdGenericView())); - assertEquals("1", String.valueOf(karakteristikFeses.getKdGenericView())); - } - - @Test - @Transactional - public void testPAPEliminasiDaoSave() { - PapEliminasi model = populateModel(); - PapEliminasi resultModel=papEliminasiDao.save(model); - assertNotNull(resultModel); - assertEquals("1", resultModel.getFrekuensiDefeaksi()); - assertEquals("2", resultModel.getKonsistensiDefeaksi()); - assertEquals("3", resultModel.getDiuresisUrin()); - assertNotNull(resultModel.getPengeluaranDefeaksi()); - assertNotNull(resultModel.getPengeluaranUrin()); - assertNotNull(resultModel.getKarakteristikFeses()); - PapEliminasi resultModel2=papEliminasiDao.findOne(resultModel.getNoRec()); - assertNotNull(resultModel2); - assertEquals("1", resultModel2.getFrekuensiDefeaksi()); - assertEquals("2", resultModel2.getKonsistensiDefeaksi()); - assertEquals("3", resultModel2.getDiuresisUrin()); - assertNotNull(resultModel2.getPengeluaranDefeaksi()); - assertNotNull(resultModel2.getPengeluaranUrin()); - assertNotNull(resultModel2.getKarakteristikFeses()); - assertEquals("1",String.valueOf(resultModel2.getPengeluaranDefeaksi().getKdGenericView())); - assertEquals("1",String.valueOf(resultModel2.getPengeluaranUrin().getKdGenericView())); - assertEquals("1",String.valueOf(resultModel2.getKarakteristikFeses().getKdGenericView())); - } - - private PapEliminasi populateModel() { - PapEliminasi model=new PapEliminasi(); - GenericView pengeluaranDefeaksi = populateGenericView("Pengeluaran Defeaksi"); - GenericView pengeluaranUrin = populateGenericView("Pengeluaran Urin"); - GenericView karakteristikFeses = populateGenericView("Karakteristik Feses"); - model.setPengeluaranDefeaksi(pengeluaranDefeaksi); - model.setFrekuensiDefeaksi("1"); - model.setKonsistensiDefeaksi("2"); - model.setKarakteristikFeses(karakteristikFeses); - model.setPengeluaranUrin(pengeluaranUrin); - model.setIsKelainanUrin(true); - model.setDiuresisUrin("3"); - return model; - } - - private GenericView populateGenericView(String previx) { - GenericView genericView=new GenericView(); - List list=genericViewDao.findGenericViewByPrevix(previx); - for (GenericView gv:list) { - if(gv.getKdGenericView()==1){ - genericView=gv; - } - } - return genericView; - } - - @Test - @Transactional - public void testPAPEliminasiDaoFindAll() { - PapEliminasi model1 = populateModel(); - PapEliminasi resultModel1=papEliminasiDao.save(model1); - PapEliminasi model2 = populateModel(); - PapEliminasi resultModel2=papEliminasiDao.save(model2); - assertNotNull(resultModel1); - assertNotNull(resultModel2); - List results = (List) papEliminasiDao.findAll(); - assertTrue(results.size() > 0); - assertNotNull(results); - assertTrue(results.size() == 2); - } -*/ -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapGastrointestinalDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapGastrointestinalDaoTest.java deleted file mode 100644 index 49cb3aae..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapGastrointestinalDaoTest.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.util.List; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.dao.GenericViewDao; -import com.jasamedika.medifirst2000.dao.PapGastrointestinalDao; -import com.jasamedika.medifirst2000.entities.GenericView; -import com.jasamedika.medifirst2000.entities.PapGastrointestinal; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapGastrointestinalDaoTest { - - @Autowired - private GenericViewDao genericViewDao; - @Autowired - private PapGastrointestinalDao papGastrointestinalDao; - - @Test - @Transactional - public void testGenericDaoSelect() { - GenericView mulut = populateGenericView("Mulut"); - assertNotNull(mulut); - assertEquals("1", String.valueOf(mulut.getKdGenericView())); - } - - @Test - @Transactional - public void testPAPGastrointestinalDaoSave() { - PapGastrointestinal model = populateModel(); - PapGastrointestinal resultModel=papGastrointestinalDao.save(model); - assertNotNull(resultModel); - assertNotNull(resultModel.getMulut()); - // assertEquals("1", String.valueOf(resultModel.getMulut().getKdGenericView())); - //assertEquals(true,resultModel.getIsAscites()); - //assertEquals(true,resultModel.getIsMual()); - //assertEquals(true,resultModel.getIsMuntah()); - //assertEquals(true,resultModel.getIsNyeriUluHati()); - assertEquals("1",resultModel.getPeristaltikUsus()); - assertEquals("2",resultModel.getLingkarPerut()); - PapGastrointestinal resultModel2=papGastrointestinalDao.findOne(resultModel.getNoRec()); - assertNotNull(resultModel2); - assertNotNull(resultModel2.getMulut()); - // assertEquals("1", String.valueOf(resultModel2.getMulut().getKdGenericView())); - // assertEquals(true,resultModel2.getIsAscites()); - // assertEquals(true,resultModel2.getIsMual()); - // assertEquals(true,resultModel2.getIsMuntah()); - // assertEquals(true,resultModel2.getIsNyeriUluHati()); - assertEquals("1",resultModel2.getPeristaltikUsus()); - assertEquals("2",resultModel2.getLingkarPerut()); - } - - private PapGastrointestinal populateModel() { - PapGastrointestinal model=new PapGastrointestinal(); - GenericView mulut = populateGenericView("Mulut"); -// model.setMulut(mulut); -// model.setIsAscites(true); -// model.setIsMual(true); -// model.setIsMuntah(true); -// model.setIsNyeriUluHati(true); - model.setPeristaltikUsus("1"); - model.setLingkarPerut("2"); - return model; - } - - private GenericView populateGenericView(String previx) { - GenericView genericView=new GenericView(); - List list=genericViewDao.findGenericViewByPrevix(previx); - for (GenericView gv:list) { - if(gv.getKdGenericView()==1){ - genericView=gv; - } - } - return genericView; - } - - @Test - @Transactional - public void testPAPGastrointestinalDaoFindAll() { - PapGastrointestinal model1 = populateModel(); - PapGastrointestinal resultModel1=papGastrointestinalDao.save(model1); - PapGastrointestinal model2 = populateModel(); - PapGastrointestinal resultModel2=papGastrointestinalDao.save(model2); - assertNotNull(resultModel1); - assertNotNull(resultModel2); - List results = (List) papGastrointestinalDao.findAll(); - assertTrue(results.size() > 0); - assertNotNull(results); - assertTrue(results.size() == 2); - } - -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapGenataliaDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapGenataliaDaoTest.java deleted file mode 100644 index daf0b917..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapGenataliaDaoTest.java +++ /dev/null @@ -1,152 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - -/**Agama Class Test - */ - -import static org.junit.Assert.assertNull; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.entities.GenericView; -import com.jasamedika.medifirst2000.entities.JenisKelamin; -import com.jasamedika.medifirst2000.entities.PapCatatan; -import com.jasamedika.medifirst2000.entities.PapGenatalia; -import com.jasamedika.medifirst2000.entities.PapRiwayatPsikososial; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.entities.Pendidikan; -import com.jasamedika.medifirst2000.entities.RegistrasiPelayananPasien; -import com.jasamedika.medifirst2000.dao.GenericViewDao; -import com.jasamedika.medifirst2000.dao.PapGenataliaDao; -import com.jasamedika.medifirst2000.dao.PasienDao; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapGenataliaDaoTest { - - @Autowired - private PapGenataliaDao papGenataliaDao; - - @Autowired - private PasienDao pasienDao; - - @Test - @Transactional - public void testPapGenetaliaDaoSave(){ - PapGenatalia model = populateModel(); - PapGenatalia result = papGenataliaDao.save(model); - assertNotNull(result); - assertEquals(result.getKeterangan(),"Keterangan Genatalia"); - assertEquals(result.getStatus(),"Status Genatalia"); - assertNotNull(result.getRegistrasiPelayananPasien()); - assertEquals(result.getRegistrasiPelayananPasien().getNamaTempatTujuan(),"Nama Tempat Tujuan"); - assertNotNull(result.getPasien()); - assertEquals(result.getPasien().getUmur(),"Umur Pasien"); - } - - @Test - @Transactional - public void testPapGenataliaDaoUpdate(){ - PapGenatalia model = populateModel(); - PapGenatalia resultModel1 = papGenataliaDao.save(model); - assertNotNull(resultModel1); - - /*Proses Update*/ - PapGenatalia resultModel2 = papGenataliaDao.findOne(model.getNoRec()); - resultModel2.setKeterangan("Keterangan Update"); - resultModel2.setStatus("Status Update"); - Pasien pasien = new Pasien(); - pasien.setUmur("Umur Update"); - resultModel2.setPasien(pasien); - RegistrasiPelayananPasien registrasiPelayananPasien = new RegistrasiPelayananPasien(); - registrasiPelayananPasien.setNamaTempatTujuan("Tujuan Update"); - resultModel2.setRegistrasiPelayananPasien(registrasiPelayananPasien); - papGenataliaDao.save(resultModel2); - - /*Cek Nilai Update di DB*/ - PapGenatalia resultModel3 = papGenataliaDao.findOne(model.getNoRec()); - assertEquals("Keterangan Update",resultModel3.getKeterangan()); - assertEquals("Status Update",resultModel3.getStatus()); - assertEquals("Umur Update",resultModel3.getPasien().getUmur()); - assertEquals("Tujuan Update",resultModel3.getRegistrasiPelayananPasien().getNamaTempatTujuan()); - } - -// @Test - @Transactional - public void testPapGenetaliaDaoFindAll(){ - /* Model 1 */ - PapGenatalia model = populateModel(); - PapGenatalia resultModel = papGenataliaDao.save(model); - assertNotNull(resultModel); - assertNotNull(resultModel.getKeterangan()); - - /* Model 2*/ - PapGenatalia model2 = populateModel(); - PapGenatalia resultModel2 = papGenataliaDao.save(model2); - assertNotNull(resultModel2); - assertNotNull(resultModel2.getKeterangan()); - - /* Cek Model di Database */ - try { - List hasil = toList(papGenataliaDao.findAll()); - assertNotNull(hasil); - } catch (Exception e) { - } - } - - @Test - @Transactional - public void testPapGenetaliaDaoDelete(){ - PapGenatalia model1 = populateModel(); - PapGenatalia resultModel = papGenataliaDao.save(model1); - assertNotNull(resultModel); - assertNotNull(resultModel.getKeterangan()); - PapGenatalia result1 = papGenataliaDao.findOne(model1.getNoRec()); - assertNotNull(result1); - - papGenataliaDao.delete(model1); - result1 = papGenataliaDao.findOne(model1.getNoRec()); - assertNull(result1); - } - - /* Source : */ - /* http://www.java2s.com/Code/Java/Collections-Data-Structure/ConvertIterabletoList.htm */ - public static List toList(Iterable iterable) { - if(iterable instanceof List) { - return (List) iterable; - } - ArrayList list = new ArrayList(); - if(iterable != null) { - for(E e: iterable) { - list.add(e); - } - } - return list; - } - - public PapGenatalia populateModel(){ - PapGenatalia model = new PapGenatalia(); - RegistrasiPelayananPasien registrasiPelayananPasien = new RegistrasiPelayananPasien(); - registrasiPelayananPasien.setNamaTempatTujuan("Nama Tempat Tujuan"); - Pasien pasien = pasienDao.findOne(541); - pasien.setUmur("Umur Pasien"); - - model.setRegistrasiPelayananPasien(registrasiPelayananPasien); - model.setPasien(pasien); - model.setStatus("Status Genatalia"); - model.setKeterangan("Keterangan Genatalia"); - return model; - } - -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapKeluhanUtamaDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapKeluhanUtamaDaoTest.java deleted file mode 100644 index be775c8d..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapKeluhanUtamaDaoTest.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.util.Date; -import java.util.List; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.dao.GenericViewDao; -import com.jasamedika.medifirst2000.dao.PapEliminasiDao; -import com.jasamedika.medifirst2000.dao.PapKeluhanTambahanDao; -import com.jasamedika.medifirst2000.dao.PapKeluhanUtamaDao; -import com.jasamedika.medifirst2000.dao.PasienDao; -import com.jasamedika.medifirst2000.dao.RegistrasiPelayananPasienDao; -import com.jasamedika.medifirst2000.entities.GenericView; -import com.jasamedika.medifirst2000.entities.PapEliminasi; -import com.jasamedika.medifirst2000.entities.PapKeluhanTambahan; -import com.jasamedika.medifirst2000.entities.PapKeluhanUtama; -import com.jasamedika.medifirst2000.entities.PapMuskuloskeletal; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.entities.RegistrasiPelayananPasien; -import com.jasamedika.medifirst2000.util.DateUtil; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapKeluhanUtamaDaoTest {/* - - @Autowired - private PapKeluhanUtamaDao papKeluhanUtamaDao; - @Autowired - private PasienDao pasienDao; - - @Test - @Transactional - public void testPAPMuskuloskeletalDaoSave() { - PapKeluhanUtama model = populateModel(); - PapKeluhanUtama resultModel=papKeluhanUtamaDao.save(model); - assertNotNull(resultModel); -// assertEquals(false, resultModel.getIsKelainanTulangAda()); - // assertEquals(true, resultModel.getIsGerakanAnakBebas()); - PapKeluhanUtama resultModel2=papKeluhanUtamaDao.findOne("40288cd955ec500d0155ed88a93b0004"); - assertNotNull(resultModel2); -// assertEquals(false, resultModel2.getIsKelainanTulangAda()); - // assertEquals(true, resultModel2.getIsGerakanAnakBebas()); - resultModel2=populateModelUpdate(); - PapKeluhanUtama resultModelUpdate=papKeluhanUtamaDao.save(resultModel2); - assertNotNull(resultModelUpdate); - assertEquals("abcd", resultModelUpdate.getKeluhanUtama()); - // assertEquals(false, resultModelUpdate.getIsGerakanAnakBebas()); - - } - - private PapKeluhanUtama populateModel() { - Pasien pasien=new Pasien(); - pasien.setId(535); - PapKeluhanUtama keluhanUtama=new PapKeluhanUtama(); - keluhanUtama.setPasien(pasien); - keluhanUtama.setKeluhanUtama("abc"); - return keluhanUtama; - } - - private PapKeluhanUtama populateModelUpdate() { - Pasien pasien=new Pasien(); - pasien.setId(535); - PapKeluhanUtama keluhanUtama=new PapKeluhanUtama(); - keluhanUtama.setPasien(pasien); - keluhanUtama.setKeluhanUtama("abcd"); - return keluhanUtama; - } - -*/} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapMuskoskeletalDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapMuskoskeletalDaoTest.java deleted file mode 100644 index 04178764..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapMuskoskeletalDaoTest.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - -/**Agama Class Test - */ - -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.entities.GenericView; -import com.jasamedika.medifirst2000.entities.PapAlergi; -import com.jasamedika.medifirst2000.entities.PapMuskuloskeletal; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.entities.RegistrasiPelayananPasien; -import com.jasamedika.medifirst2000.dao.GenericViewDao; -import com.jasamedika.medifirst2000.dao.PapAlergiDao; -import com.jasamedika.medifirst2000.dao.PapMuskuloskeletalDao; -import com.jasamedika.medifirst2000.dao.PasienDao; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapMuskoskeletalDaoTest { - - @Autowired - private PapMuskuloskeletalDao papMuskuloskeletalDao; - - @Autowired - private PasienDao pasienDao; - - @Test - @Transactional - public void testPapAlergiDaoSave(){ - PapMuskuloskeletal model = populateModel(); - PapMuskuloskeletal result = papMuskuloskeletalDao.save(model); - assertNotNull(result); - assertNotNull(result.getRegistrasiPelayananPasien()); - assertEquals(result.getRegistrasiPelayananPasien().getNamaTempatTujuan(),"Nama Tempat Tujuan"); - assertNotNull(result.getPasien()); - assertEquals(result.getPasien().getUmur(),"Umur Pasien"); - assertNotNull(result.getTglInput()); - assertTrue(result.getStatusEnabled()); - - PapMuskuloskeletal resultSelect = papMuskuloskeletalDao.findOne(model.getNoRec()); - assertNotNull(resultSelect); - assertNotNull(resultSelect.getRegistrasiPelayananPasien()); - assertEquals(resultSelect.getRegistrasiPelayananPasien().getNamaTempatTujuan(),"Nama Tempat Tujuan"); - assertNotNull(resultSelect.getPasien()); - assertEquals(resultSelect.getPasien().getUmur(),"Umur Pasien"); - assertNotNull(resultSelect.getTglInput()); - assertTrue(resultSelect.getStatusEnabled()); - } - - @Test - @Transactional - public void testPapAlergiDaoUpdate(){ - PapMuskuloskeletal model = populateModel(); - PapMuskuloskeletal result = papMuskuloskeletalDao.save(model); - assertNotNull(result); - } - -// @Test - @Transactional - public void testPapAlergiDaoDelete(){ - - } - - public PapMuskuloskeletal populateModel(){ - PapMuskuloskeletal model = new PapMuskuloskeletal(); - RegistrasiPelayananPasien registrasiPelayananPasien = new RegistrasiPelayananPasien(); - registrasiPelayananPasien.setNamaTempatTujuan("Nama Tempat Tujuan"); - Pasien pasien = pasienDao.findOne(393); - pasien.setUmur("Umur Pasien"); - - model.setRegistrasiPelayananPasien(registrasiPelayananPasien); - model.setPasien(pasien); - model.setTglInput(new Date()); - model.setStatusEnabled(true); - return model; - } -} \ No newline at end of file diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapMuskuloskeletalDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapMuskuloskeletalDaoTest.java deleted file mode 100644 index 2abe1453..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapMuskuloskeletalDaoTest.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.util.List; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.dao.PapMuskuloskeletalDao; -import com.jasamedika.medifirst2000.entities.PapMuskuloskeletal; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapMuskuloskeletalDaoTest { - - @Autowired - private PapMuskuloskeletalDao papMuskuloskeletalDao; - - @Test - @Transactional - public void testPAPMuskuloskeletalDaoSave() { - PapMuskuloskeletal model = populateModel(); - PapMuskuloskeletal resultModel=papMuskuloskeletalDao.save(model); - assertNotNull(resultModel); -// assertEquals(false, resultModel.getIsKelainanTulangAda()); - // assertEquals(true, resultModel.getIsGerakanAnakBebas()); - PapMuskuloskeletal resultModel2=papMuskuloskeletalDao.findOne(resultModel.getNoRec()); - assertNotNull(resultModel2); -// assertEquals(false, resultModel2.getIsKelainanTulangAda()); - // assertEquals(true, resultModel2.getIsGerakanAnakBebas()); - resultModel2=populateModelUpdate(); - PapMuskuloskeletal resultModelUpdate=papMuskuloskeletalDao.save(resultModel2); - assertNotNull(resultModelUpdate); - // assertEquals(true, resultModelUpdate.getIsKelainanTulangAda()); - // assertEquals(false, resultModelUpdate.getIsGerakanAnakBebas()); - - } - - private PapMuskuloskeletal populateModel() { - PapMuskuloskeletal model=new PapMuskuloskeletal(); - // model.setIsKelainanTulangAda(false); - // model.setIsGerakanAnakBebas(true); - return model; - } - - private PapMuskuloskeletal populateModelUpdate() { - PapMuskuloskeletal model=new PapMuskuloskeletal(); - // model.setIsKelainanTulangAda(true); - // model.setIsGerakanAnakBebas(false); - return model; - } - - @Test - @Transactional - public void testPAPMuskuloskeletalDaoFindAll() { - PapMuskuloskeletal model = populateModel(); - PapMuskuloskeletal resultModel1=papMuskuloskeletalDao.save(model); - PapMuskuloskeletal model2 = populateModel(); - PapMuskuloskeletal resultModel2=papMuskuloskeletalDao.save(model2); - assertNotNull(resultModel1); - assertNotNull(resultModel2); - List results = (List) papMuskuloskeletalDao.findAll(); - assertTrue(results.size() > 0); - assertNotNull(results); - assertTrue(results.size() == 2); - } -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapNeurologiDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapNeurologiDaoTest.java deleted file mode 100644 index 4b388748..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapNeurologiDaoTest.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.util.List; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.dao.GenericViewDao; -import com.jasamedika.medifirst2000.dao.PapNeurologiDao; -import com.jasamedika.medifirst2000.entities.GenericView; -import com.jasamedika.medifirst2000.entities.PapNeurologi; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapNeurologiDaoTest { - - @Autowired - private GenericViewDao genericViewDao; - @Autowired - private PapNeurologiDao papNeurologiDao; - - @Test - @Transactional - public void testGenericDaoSelect() { - GenericView kesadaran = populateGenericView("Kesadaran"); - assertNotNull(kesadaran); - assertEquals("1", String.valueOf(kesadaran.getKdGenericView())); - } - - @Test - @Transactional - public void testPAPNeurologiDaoSave() { - PapNeurologi model = populateModel(); - PapNeurologi resultModel=papNeurologiDao.save(model); - assertNotNull(resultModel); - assertNotNull(resultModel.getKesadaran()); - // assertEquals(true,resultModel.getIsGangguanNeorologis()); - // assertEquals("1", String.valueOf(resultModel.getKesadaran().getKdGenericView())); - PapNeurologi resultModel2=papNeurologiDao.findOne(resultModel.getNoRec()); - assertNotNull(resultModel2); - assertNotNull(resultModel2.getKesadaran()); - // assertEquals("1", String.valueOf(resultModel2.getKesadaran().getKdGenericView())); - // assertEquals(true,resultModel.getIsGangguanNeorologis()); - } - - private PapNeurologi populateModel() { - PapNeurologi model=new PapNeurologi(); - GenericView kesadaran = populateGenericView("Kesadaran"); -// model.setKesadaran(kesadaran); - // model.setIsGangguanNeorologis(true); - return model; - } - - private GenericView populateGenericView(String previx) { - GenericView genericView=new GenericView(); - List list=genericViewDao.findGenericViewByPrevix(previx); - for (GenericView gv:list) { - if(gv.getKdGenericView()==1){ - genericView=gv; - } - } - return genericView; - } - - @Test - @Transactional - public void testPAPNeurologiDaoFindAll() { - PapNeurologi model1 = populateModel(); - PapNeurologi resultModel1=papNeurologiDao.save(model1); - PapNeurologi model2 = populateModel(); - PapNeurologi resultModel2=papNeurologiDao.save(model2); - assertNotNull(resultModel1); - assertNotNull(resultModel2); - List results = (List) papNeurologiDao.findAll(); - assertTrue(results.size() > 0); - assertNotNull(results); - assertTrue(results.size() == 2); - } - -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapPernapasanDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapPernapasanDaoTest.java deleted file mode 100644 index 1bf0b0dd..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapPernapasanDaoTest.java +++ /dev/null @@ -1,112 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.util.List; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.dao.GenericViewDao; -import com.jasamedika.medifirst2000.dao.PapPernapasanDao; -import com.jasamedika.medifirst2000.entities.GenericView; -import com.jasamedika.medifirst2000.entities.PapPernapasan; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapPernapasanDaoTest { - - @Autowired - private GenericViewDao genericViewDao; - @Autowired - private PapPernapasanDao papPernapasanDao; - - @Test - @Transactional - public void testGenericDaoSelect() { - GenericView alatBantuNafas = populateGenericView("Alat bantu nafas"); - assertNotNull(alatBantuNafas); - assertEquals("1", String.valueOf(alatBantuNafas.getKdGenericView())); - } - - @Test - @Transactional - public void testPAPPernapasanDaoSave() { - PapPernapasan model = populateModel(); - PapPernapasan resultModel=papPernapasanDao.save(model); - assertNotNull(resultModel); - assertNotNull(resultModel.getAlatBantuNafas()); - // assertEquals("1", String.valueOf(resultModel.getAlatBantuNafas().getKdGenericView())); - /* - assertEquals(true,resultModel.getIsBentukDada()); - assertEquals(true,resultModel.getIsIrama()); - assertEquals(true,resultModel.getIsNafasKupingHidung()); - assertEquals(true,resultModel.getIsPolaNapas()); - assertEquals(true,resultModel.getIsRetraksiDada()); - assertEquals(true,resultModel.getIsSianosis()); - assertEquals(true,resultModel.getIsSuaraNapas()); - */ - PapPernapasan resultModel2=papPernapasanDao.findOne(resultModel.getNoRec()); - assertNotNull(resultModel2); - assertNotNull(resultModel2.getAlatBantuNafas()); - // assertEquals("1", String.valueOf(resultModel2.getAlatBantuNafas().getKdGenericView())); - /* - assertEquals(true,resultModel2.getIsBentukDada()); - assertEquals(true,resultModel2.getIsIrama()); - assertEquals(true,resultModel2.getIsNafasKupingHidung()); - assertEquals(true,resultModel2.getIsPolaNapas()); - assertEquals(true,resultModel2.getIsRetraksiDada()); - assertEquals(true,resultModel2.getIsSianosis()); - assertEquals(true,resultModel2.getIsSuaraNapas()); - */ - } - - private PapPernapasan populateModel() { - PapPernapasan model=new PapPernapasan(); - GenericView alatBantuNafas = populateGenericView("Alat bantu nafas"); -// model.setAlatBantuNafas(alatBantuNafas); - /* - model.setIsBentukDada(true); - model.setIsIrama(true); - model.setIsNafasKupingHidung(true); - model.setIsPolaNapas(true); - model.setIsRetraksiDada(true); - model.setIsSianosis(true); - model.setIsSuaraNapas(true); - */ - return model; - } - - private GenericView populateGenericView(String previx) { - GenericView genericView=new GenericView(); - List list=genericViewDao.findGenericViewByPrevix(previx); - for (GenericView gv:list) { - if(gv.getKdGenericView()==1){ - genericView=gv; - } - } - return genericView; - } - - @Test - @Transactional - public void testPAPPernapasanDaoFindAll() { - PapPernapasan model1 = populateModel(); - PapPernapasan resultModel1=papPernapasanDao.save(model1); - PapPernapasan model2 = populateModel(); - PapPernapasan resultModel2=papPernapasanDao.save(model2); - assertNotNull(resultModel1); - assertNotNull(resultModel2); - List results = (List) papPernapasanDao.findAll(); - assertTrue(results.size() > 0); - assertNotNull(results); - assertTrue(results.size() == 2); - } - -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapRadiologiDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapRadiologiDaoTest.java deleted file mode 100644 index 047f0b42..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapRadiologiDaoTest.java +++ /dev/null @@ -1,131 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - -import java.util.Date; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.dao.OrderPelayananDao; -import com.jasamedika.medifirst2000.dao.PapPernapasanDao; -import com.jasamedika.medifirst2000.dao.PapRencanaOrderRadiologiDao; -import com.jasamedika.medifirst2000.dao.PasienDao; -import com.jasamedika.medifirst2000.dao.RegistrasiPelayananPasienDao; -import com.jasamedika.medifirst2000.dao.StrukOrderDao; -import com.jasamedika.medifirst2000.entities.GenericView; -import com.jasamedika.medifirst2000.entities.OrderPelayanan; -import com.jasamedika.medifirst2000.entities.PapPernapasan; -import com.jasamedika.medifirst2000.entities.PapRencanaOrderRadiologi; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.entities.Produk; -import com.jasamedika.medifirst2000.entities.RegistrasiPelayananPasien; -import com.jasamedika.medifirst2000.entities.StrukOrder; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.ProdukVO; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapRadiologiDaoTest { - @Autowired - private OrderPelayananDao orderPelayananDao; - @Autowired - private StrukOrderDao strukOrderDao; - @Autowired - private PasienDao pasienDao; - @Autowired - private PapRencanaOrderRadiologiDao papRencanaOrderRadiologiDao; - @Autowired - private RegistrasiPelayananPasienDao registrasiPelayananPasienDao; - private Pasien pasien; - private RegistrasiPelayananPasien registrasiPelayananPasien; - private Date date=new Date(); - private String tgl="2016-06-23 "; - - @Test - @Transactional - public void testFindPasien() { - pasien=pasienDao.findOne(177); - assertNotNull(pasien); - assertEquals("0000001",pasien.getNoCm()); - } - - @Test - @Transactional - public void testFindRegistrasiPelayananPasien() { - registrasiPelayananPasien=registrasiPelayananPasienDao.finByNoCm("0000001", (short)0, DateUtil.toDate(tgl)); - assertNotNull(registrasiPelayananPasien); - } - - @Test - @Transactional - public void testGenerateNoOrder() { - Integer abc=strukOrderDao.getCountByMonthAndYear(date); - System.out.println("OOOOOO : "+abc); - } - @Test - @Transactional - public void testRadiologiSave() { - PapRencanaOrderRadiologi model=populateRencanaOrderRadiologi(); - PapRencanaOrderRadiologi resultModel=papRencanaOrderRadiologiDao.save(model); - assertNotNull(resultModel); - assertNotNull(resultModel.getPasien()); - assertEquals("0000001",resultModel.getPasien().getNoCm()); - StrukOrder strukOrder=populateStrukOrder(); - StrukOrder abc=strukOrderDao.save(strukOrder); - assertNotNull(abc); - assertEquals("11111",abc.getNoOrder()); - Produk produk1=populateProduk("produk1"); - OrderPelayanan orderPelayanan=populateOrderPelayanan(); - orderPelayanan.setNoOrder(abc); - orderPelayanan.setProduk(produk1); - assertNotNull(produk1); - assertEquals("produk1",produk1.getNamaProduk()); - OrderPelayanan abcd=orderPelayananDao.save(orderPelayanan); - assertNotNull(abcd); - assertNotNull(abcd.getProduk()); - assertNotNull(abcd.getNoOrder()); - assertEquals("produk1",abcd.getProduk().getNamaProduk()); - resultModel.setStrukOrder(strukOrder); - assertNotNull(resultModel.getStrukOrder()); - assertEquals("11111",resultModel.getStrukOrder().getNoOrder()); -// model.setStrukOrder(strukOrder); -// for(ProdukVO produk:vo.getProdukSet()){ -// Produk prod=produkConverter.transferVOToModel(produk, new Produk()); -// produkDao.save(prod); -// orderPelayanan.setProduk(prod); -// } - } - - private StrukOrder populateStrukOrder() { - StrukOrder model=new StrukOrder(); - model.setNoOrder("11111"); - return model; - } - - private Produk populateProduk(String produk) { - Produk produk1=new Produk(); - produk1.setId(1); - produk1.setNamaProduk(produk); - return produk1; - } - - private OrderPelayanan populateOrderPelayanan() { - OrderPelayanan model=new OrderPelayanan(); - return model; - } - - private PapRencanaOrderRadiologi populateRencanaOrderRadiologi() { - PapRencanaOrderRadiologi model=new PapRencanaOrderRadiologi(); - model.setKeluhan("aaaaaaaaa"); - model.setPasien(pasienDao.findOne(177)); - model.setRegistrasiPelayananPasien(registrasiPelayananPasienDao.finByNoCm("0000001", (short)0, DateUtil.toDate(tgl))); - model.setTglInput(date); - return model; - } -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapRiwayatKeluargaDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapRiwayatKeluargaDaoTest.java deleted file mode 100644 index 555b3ae4..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapRiwayatKeluargaDaoTest.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.util.List; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.dao.GenericViewDao; -import com.jasamedika.medifirst2000.dao.PapRiwayatKeluargaDao; -import com.jasamedika.medifirst2000.entities.GenericView; -import com.jasamedika.medifirst2000.entities.PapRiwayatKeluarga; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapRiwayatKeluargaDaoTest { - - @Autowired - private GenericViewDao genericViewDao; - @Autowired - private PapRiwayatKeluargaDao papRiwayatKeluargaDao; - - @Test - @Transactional - public void testGenericDaoSelect() { - } - - @Test - @Transactional - public void testPAPRiwayatKeluargaDaoSave() { - PapRiwayatKeluarga model = populateModel(); - PapRiwayatKeluarga resultModel=papRiwayatKeluargaDao.save(model); - assertNotNull(resultModel); - assertEquals("1",resultModel.getNamaIbu()); - assertEquals("1",resultModel.getUmurIbu()); - assertEquals("1",resultModel.getBangsaIbu()); - assertEquals("1",resultModel.getKesehatanIbu()); - assertEquals("1",resultModel.getNamaAyah()); - assertEquals("1",resultModel.getUmurAyah()); - assertEquals("1",resultModel.getBangsaAyah()); - assertEquals("1",resultModel.getKesehatanAyah()); - assertEquals("1",resultModel.getAnakAnakLain()); - PapRiwayatKeluarga resultModel2=papRiwayatKeluargaDao.findOne(resultModel.getNoRec()); - assertNotNull(resultModel2); - assertEquals("1",resultModel.getNamaIbu()); - assertEquals("1",resultModel.getUmurIbu()); - assertEquals("1",resultModel.getBangsaIbu()); - assertEquals("1",resultModel.getKesehatanIbu()); - assertEquals("1",resultModel.getNamaAyah()); - assertEquals("1",resultModel.getUmurAyah()); - assertEquals("1",resultModel.getBangsaAyah()); - assertEquals("1",resultModel.getKesehatanAyah()); - assertEquals("1",resultModel.getAnakAnakLain()); - } - - private PapRiwayatKeluarga populateModel() { - PapRiwayatKeluarga model=new PapRiwayatKeluarga(); - model.setNamaIbu("1"); - model.setUmurIbu("1"); - model.setBangsaIbu("1"); - model.setKesehatanIbu("1"); - model.setNamaAyah("1"); - model.setUmurAyah("1"); - model.setBangsaAyah("1"); - model.setKesehatanAyah("1"); - model.setAnakAnakLain("1"); - return model; - } - - private GenericView populateGenericView(String previx) { - GenericView genericView=new GenericView(); - List list=genericViewDao.findGenericViewByPrevix(previx); - for (GenericView gv:list) { - if(gv.getKdGenericView()==1){ - genericView=gv; - } - } - return genericView; - } - - @Test - @Transactional - public void testPAPRiwayatKeluargaDaoFindAll() { - PapRiwayatKeluarga model1 = populateModel(); - PapRiwayatKeluarga resultModel1=papRiwayatKeluargaDao.save(model1); - PapRiwayatKeluarga model2 = populateModel(); - PapRiwayatKeluarga resultModel2=papRiwayatKeluargaDao.save(model2); - assertNotNull(resultModel1); - assertNotNull(resultModel2); - List results = (List) papRiwayatKeluargaDao.findAll(); - assertTrue(results.size() > 0); - assertNotNull(results); - assertTrue(results.size() == 2); - } - -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapRiwayatPsikososialDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapRiwayatPsikososialDaoTest.java deleted file mode 100644 index 344c0934..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapRiwayatPsikososialDaoTest.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.util.List; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.dao.GenericViewDao; -import com.jasamedika.medifirst2000.dao.PapRiwayatPsikososialDao; -import com.jasamedika.medifirst2000.dao.PapRiwayatPsikososialDao; -import com.jasamedika.medifirst2000.entities.GenericView; -import com.jasamedika.medifirst2000.entities.PapRiwayatPsikososial; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapRiwayatPsikososialDaoTest { - - @Autowired - private GenericViewDao genericViewDao; - @Autowired - private PapRiwayatPsikososialDao papRiwayatPsikososialDao; - - @Test - @Transactional - public void testGenericDaoSelect() { - GenericView statusPsikologi = populateGenericView("Status Psikologi"); - GenericView tempatTinggal = populateGenericView("Tempat Tinggal"); - assertNotNull(statusPsikologi); - assertNotNull(tempatTinggal); - assertEquals("1", String.valueOf(statusPsikologi.getKdGenericView())); - assertEquals("1", String.valueOf(tempatTinggal.getKdGenericView())); - } - - @Test - @Transactional - public void testPAPRiwayatPsikososialDaoSave() { - PapRiwayatPsikososial model = populateModel(); - PapRiwayatPsikososial resultModel=papRiwayatPsikososialDao.save(model); - assertNotNull(resultModel); -// assertNotNull(resultModel.getStatusPsikologi()); -// assertNotNull(resultModel.getTempatTinggal()); -// assertEquals(true, resultModel.getIsHubunganPasien()); -// assertEquals("1",resultModel.getKecenderunganLainnya()); - PapRiwayatPsikososial resultModel2=papRiwayatPsikososialDao.findOne(resultModel.getNoRec()); - assertNotNull(resultModel2); -// assertNotNull(resultModel2.getStatusPsikologi()); -// assertNotNull(resultModel2.getTempatTinggal()); -// assertEquals(true, resultModel2.getIsHubunganPasien()); -// assertEquals("1",resultModel2.getKecenderunganLainnya()); - } - - private PapRiwayatPsikososial populateModel() { - PapRiwayatPsikososial model=new PapRiwayatPsikososial(); - GenericView statusPsikologi = populateGenericView("Status Psikologi"); - GenericView tempatTinggal = populateGenericView("Tempat Tinggal"); -// model.setStatusPsikologi(statusPsikologi); -// model.setTempatTinggal(tempatTinggal); -// model.setIsHubunganPasien(true); -// model.setKecenderunganLainnya("1"); - return model; - } - - private GenericView populateGenericView(String previx) { - GenericView genericView=new GenericView(); - List list=genericViewDao.findGenericViewByPrevix(previx); - for (GenericView gv:list) { - if(gv.getKdGenericView()==1){ - genericView=gv; - } - } - return genericView; - } - - @Test - @Transactional - public void testPAPRiwayatPsikososialDaoFindAll() { - PapRiwayatPsikososial model1 = populateModel(); - PapRiwayatPsikososial resultModel1=papRiwayatPsikososialDao.save(model1); - PapRiwayatPsikososial model2 = populateModel(); - PapRiwayatPsikososial resultModel2=papRiwayatPsikososialDao.save(model2); - assertNotNull(resultModel1); - assertNotNull(resultModel2); - List results = (List) papRiwayatPsikososialDao.findAll(); - assertTrue(results.size() > 0); - assertNotNull(results); - assertTrue(results.size() == 2); - } - -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapSirkulasiDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapSirkulasiDaoTest.java deleted file mode 100644 index ce14b09a..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapSirkulasiDaoTest.java +++ /dev/null @@ -1,118 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.util.List; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.dao.GenericViewDao; -import com.jasamedika.medifirst2000.dao.PapSirkulasiDao; -import com.jasamedika.medifirst2000.entities.GenericView; -import com.jasamedika.medifirst2000.entities.PapSirkulasi; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapSirkulasiDaoTest { - - @Autowired - private GenericViewDao genericViewDao; - @Autowired - private PapSirkulasiDao papSirkulasiDao; - /* - @Test - @Transactional - public void testGenericDaoSelect() { - GenericView intensitasNadi = populateGenericView("Intensitas Nadi"); - GenericView akral = populateGenericView("Akral"); - GenericView crt = populateGenericView("CRT"); - assertNotNull(intensitasNadi); - assertNotNull(akral); - assertNotNull(crt); - assertEquals("1", String.valueOf(intensitasNadi.getKdGenericView())); - assertEquals("1", String.valueOf(akral.getKdGenericView())); - assertEquals("1", String.valueOf(crt.getKdGenericView())); - } - - @Test - @Transactional - public void testPAPSirkulasiDaoSave() { - PapSirkulasi model = populateModel(); - PapSirkulasi resultModel=papSirkulasiDao.save(model); - assertNotNull(resultModel); - assertNotNull(resultModel.getIntensitasNadi()); - assertNotNull(resultModel.getAkral()); - assertNotNull(resultModel.getCrt()); - assertEquals("1", String.valueOf(resultModel.getIntensitasNadi().getKdGenericView())); - assertEquals("1", String.valueOf(resultModel.getAkral().getKdGenericView())); - assertEquals("1", String.valueOf(resultModel.getCrt().getKdGenericView())); - assertEquals(true,resultModel.getIsSianosis()); - assertEquals(true,resultModel.getIsPucat()); - assertEquals(true,resultModel.getIsIramaNadi()); - assertEquals(true,resultModel.getIsEdema()); - assertEquals(true,resultModel.getIsClubbingFinger()); - PapSirkulasi resultModel2=papSirkulasiDao.findOne(resultModel.getNoRec()); - assertNotNull(resultModel2); - assertNotNull(resultModel2.getIntensitasNadi()); - assertNotNull(resultModel2.getAkral()); - assertNotNull(resultModel2.getCrt()); - assertEquals("1", String.valueOf(resultModel2.getIntensitasNadi().getKdGenericView())); - assertEquals("1", String.valueOf(resultModel2.getAkral().getKdGenericView())); - assertEquals("1", String.valueOf(resultModel2.getCrt().getKdGenericView())); - assertEquals(true,resultModel.getIsSianosis()); - assertEquals(true,resultModel.getIsPucat()); - assertEquals(true,resultModel.getIsIramaNadi()); - assertEquals(true,resultModel.getIsEdema()); - assertEquals(true,resultModel.getIsClubbingFinger()); - } - - private PapSirkulasi populateModel() { - PapSirkulasi model=new PapSirkulasi(); - GenericView intensitasNadi = populateGenericView("Intensitas Nadi"); - GenericView akral = populateGenericView("Akral"); - GenericView crt = populateGenericView("CRT"); - model.setIntensitasNadi(intensitasNadi); - model.setAkral(akral); - model.setCrt(crt); - model.setIsSianosis(true); - model.setIsPucat(true); - model.setIsIramaNadi(true); - model.setIsEdema(true); - model.setIsClubbingFinger(true); - return model; - } - - private GenericView populateGenericView(String previx) { - GenericView genericView=new GenericView(); - List list=genericViewDao.findGenericViewByPrevix(previx); - for (GenericView gv:list) { - if(gv.getKdGenericView()==1){ - genericView=gv; - } - } - return genericView; - } - - @Test - @Transactional - public void testPAPSirkulasiDaoFindAll() { - PapSirkulasi model1 = populateModel(); - PapSirkulasi resultModel1=papSirkulasiDao.save(model1); - PapSirkulasi model2 = populateModel(); - PapSirkulasi resultModel2=papSirkulasiDao.save(model2); - assertNotNull(resultModel1); - assertNotNull(resultModel2); - List results = (List) papSirkulasiDao.findAll(); - assertTrue(results.size() > 0); - assertNotNull(results); - assertTrue(results.size() == 2); - } - */ -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapSkriningGiziDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapSkriningGiziDaoTest.java deleted file mode 100644 index da15a68a..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PapSkriningGiziDaoTest.java +++ /dev/null @@ -1,121 +0,0 @@ -//package com.jasamedika.medifirst2000.dao.test; -// -//import static org.junit.Assert.assertEquals; -//import static org.junit.Assert.assertNotNull; -// -///**Agama Class Test -// */ -// -//import static org.junit.Assert.assertNull; -// -//import java.util.ArrayList; -//import java.util.Date; -//import java.util.List; -// -//import org.junit.Test; -//import org.junit.runner.RunWith; -//import org.springframework.beans.factory.annotation.Autowired; -//import org.springframework.test.context.ContextConfiguration; -//import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -//import org.springframework.transaction.annotation.Transactional; -// -//import com.jasamedika.medifirst2000.entities.GenericView; -//import com.jasamedika.medifirst2000.entities.PapAlergi; -//import com.jasamedika.medifirst2000.entities.PapSkriningGizi; -//import com.jasamedika.medifirst2000.entities.Pasien; -//import com.jasamedika.medifirst2000.entities.RegistrasiPelayananPasien; -//import com.jasamedika.medifirst2000.dao.GenericViewDao; -//import com.jasamedika.medifirst2000.dao.PapSkriningGiziDao; -//import com.jasamedika.medifirst2000.dao.PasienDao; -// -//@RunWith(SpringJUnit4ClassRunner.class) -//@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -//public class PapSkriningGiziDaoTest { -// -// @Autowired -// private PapSkriningGiziDao papSkriningGiziDao; -// -// @Autowired -// private PasienDao pasienDao; -// -// @Test -// @Transactional -// public void testPapSkriningGiziDaoSave(){ -// PapSkriningGizi model = populateModel(); -// PapSkriningGizi result = papSkriningGiziDao.save(model); -// -// /* Cek Hasil save */ -// assertNotNull(result); -// assertEquals(String.valueOf(result.getBeratBadan()),String.valueOf((float)60)); -// assertEquals(String.valueOf(result.getLingkarKepala()),String.valueOf((float)50)); -// assertEquals(String.valueOf(result.getTinggiBadan()),String.valueOf((float)170)); -// assertNotNull(result.getTglInput()); -// assertEquals(result.getRegistrasiPelayananPasien().getNamaTempatTujuan(),"Tujuan"); -// assertEquals(result.getPasien().getNamaPasien(),"adik"); -// -// /*Cek Model di Database*/ -// PapSkriningGizi resultSelect = papSkriningGiziDao.findOne(model.getNoRec()); -// assertNotNull(resultSelect); -// assertEquals(String.valueOf(resultSelect.getBeratBadan()),String.valueOf((float)60)); -// assertEquals(String.valueOf(resultSelect.getLingkarKepala()),String.valueOf((float)50)); -// assertEquals(String.valueOf(resultSelect.getTinggiBadan()),String.valueOf((float)170)); -// assertNotNull(resultSelect.getTglInput()); -// assertEquals(resultSelect.getRegistrasiPelayananPasien().getNamaTempatTujuan(),"Tujuan"); -// assertEquals(resultSelect.getPasien().getNamaPasien(),"adik"); -// } -// -// @Test -// @Transactional -// public void testPapSkriningGiziDaoUpdate(){ -// PapSkriningGizi model = populateModel(); -// PapSkriningGizi result = papSkriningGiziDao.save(model); -// assertNotNull(result); -// -// /*Proses Update*/ -// result.setBeratBadan((float) 100); -// result.setLingkarKepala((float) 40); -// result.setTinggiBadan((float) 175); -// result.getPasien().setNamaPasien("Nama Update"); -// result.getRegistrasiPelayananPasien().setNamaTempatTujuan("Tujuan Update"); -// papSkriningGiziDao.save(result); -// -// /*Cek Hasil Update*/ -// PapSkriningGizi resultSelect = papSkriningGiziDao.findOne(model.getNoRec()); -// assertNotNull(resultSelect); -// assertEquals(String.valueOf(resultSelect.getBeratBadan()),String.valueOf((float)100)); -// assertEquals(String.valueOf(resultSelect.getLingkarKepala()),String.valueOf((float)40)); -// assertEquals(String.valueOf(resultSelect.getTinggiBadan()),String.valueOf((float)175)); -// assertNotNull(resultSelect.getTglInput()); -// assertEquals(resultSelect.getRegistrasiPelayananPasien().getNamaTempatTujuan(),"Tujuan Update"); -// assertEquals(resultSelect.getPasien().getNamaPasien(),"Nama Update"); -// } -// -// @Test -// @Transactional -// public void testPapSkriningGiziDaoDelete(){ -// PapSkriningGizi model = populateModel(); -// papSkriningGiziDao.save(model); -// -// PapSkriningGizi resultModel1 = papSkriningGiziDao.findOne(model.getNoRec()); -// /*Cek Model di Database*/ -// assertNotNull(resultModel1); -// -// papSkriningGiziDao.delete(model); -// PapSkriningGizi resultModel2 = papSkriningGiziDao.findOne(model.getNoRec()); -// /*Cek Hasil Delete Model*/ -// assertNull(resultModel2); -// } -// -// public PapSkriningGizi populateModel(){ -// PapSkriningGizi model = new PapSkriningGizi(); -// Pasien pasien = pasienDao.findOne(393); -// model.setPasien(pasien); -// model.setRegistrasiPelayananPasien(new RegistrasiPelayananPasien()); -// model.getRegistrasiPelayananPasien().setNamaTempatTujuan("Tujuan"); -// model.setTglInput(new Date()); -// model.setTinggiBadan((float)170); -// model.setBeratBadan((float)60); -// model.setLingkarKepala((float) 50); -// return model; -// } -//} \ No newline at end of file diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PasienDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PasienDaoTest.java deleted file mode 100644 index 167f9371..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/PasienDaoTest.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -/**Agama Class Test - */ - -import static org.junit.Assert.assertNotNull; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import com.jasamedika.medifirst2000.dao.PasienMDao; -import com.jasamedika.medifirst2000.entities.Pasien; - -//@RunWith(SpringJUnit4ClassRunner.class) -//@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PasienDaoTest { - -// @Autowired - private PasienMDao dao; - -// @Test - public void testFindById() { - Pasien result = dao.findOne(1); -// System.out.println(result.getAlamats().size()); -// assertNotNull(result.getAlamats()); - assertNotNull(result); - } -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/RuanganMDaoTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/RuanganMDaoTest.java deleted file mode 100644 index 5490b829..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/RuanganMDaoTest.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -/**RuanganMDao Class Test - */ - -import static org.junit.Assert.assertNull; - -import java.util.List; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import com.jasamedika.medifirst2000.dao.RuanganMDao; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class RuanganMDaoTest { - - @Autowired - private RuanganMDao dao; - - @Test - public void testNativeQuery() { - List result = dao.getNativeNamaKelas(); - assertNull(result); - - List result2 = dao.getNativeNamaRuangan("25", "26"); - assertNull(result2); - } -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/Testing.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/Testing.java deleted file mode 100644 index 8defd43a..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/dao/test/Testing.java +++ /dev/null @@ -1,101 +0,0 @@ -package com.jasamedika.medifirst2000.dao.test; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.util.Date; -import java.util.Map; -import java.util.Set; -import java.util.TreeMap; - -import org.apache.commons.lang.time.DateUtils; -import org.apache.poi.hssf.usermodel.HSSFRow; -import org.apache.poi.hssf.usermodel.HSSFSheet; -import org.apache.poi.hssf.usermodel.HSSFWorkbook; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.CellStyle; -import org.apache.poi.ss.usermodel.Font; -import org.apache.poi.ss.usermodel.IndexedColors; -import org.apache.poi.ss.util.CellRangeAddress; - -public class Testing { - public static void main(String[] args) throws IOException {// Create - // blank - // workbook - HSSFWorkbook workbook = new HSSFWorkbook(); - // Create a blank sheet - HSSFSheet spreadsheet = workbook.createSheet(" Employee Info "); - // Create row object - HSSFRow row; - // This data needs to be written (Object[]) - Map empinfo = new TreeMap(); - - CellStyle style = workbook.createCellStyle(); - style.setFillForegroundColor(IndexedColors.AQUA.getIndex()); - style.setFillPattern(CellStyle.SOLID_FOREGROUND); - Font font = workbook.createFont(); - font.setColor(IndexedColors.BLACK.getIndex()); - font.setBold(true); - style.setFont(font); - style.setWrapText(true); - - CellStyle styleIsi = workbook.createCellStyle(); - Font fontIsi = workbook.createFont(); - fontIsi.setColor(IndexedColors.BLACK.getIndex()); - fontIsi.setBold(false); - fontIsi.setFontName("Arial"); - fontIsi.setFontHeightInPoints((short)8); - styleIsi.setFont(fontIsi); - styleIsi.setWrapText(true); - - empinfo.put("01", new Object[] { "", "LAMPIRAN SURAT PENAWARAN HARGA OBAT TAHUN 2016 ", "", "" }); - empinfo.put("02", new Object[] { "", "TAHUN 2016", "", "" }); - empinfo.put("03", new Object[] { "", "EMP ID", "EMP NAME", "DESIGNATION" }); - empinfo.put("04", new Object[] { "", "tp01", "Gopal", "Technical Manager" }); - empinfo.put("05", new Object[] { "", "tp02", "Manisha", "Proof Reader" }); - empinfo.put("06", new Object[] { "", "tp03", "Masthan", "Technical Writer" }); - empinfo.put("07", new Object[] { "", "tp04", "Satish", "Technical Writer" }); - empinfo.put("08", new Object[] { "", "tp05", "Krishna", "Technical Writer" }); - empinfo.put("09", new Object[] { "", "tp06", "Krishna", "Technical Writer" }); - empinfo.put("10", new Object[] { "", "tp07", "Krishna", "Technical Writer" }); - empinfo.put("11", new Object[] { "", "tp08", "Krishna", "Technical Writer" }); - empinfo.put("12", new Object[] { "", "tp09", "Krishna", "Technical Writer" }); - empinfo.put("13", new Object[] { "", "tp10", "Krishna", "Technical Writer" }); - empinfo.put("14", new Object[] { "", "tp11", "Krishna", "Technical Writer" }); - empinfo.put("15", new Object[] { "", "tp12", "Krishna", "Technical Writer" }); - empinfo.put("16", new Object[] { "", "tp13", "Krishna", "Technical Writer" }); - - // Iterate over data and write to sheet - Set keyid = empinfo.keySet(); - int rowid = 0; - for (String key : keyid) { - row = spreadsheet.createRow(rowid++); - Object[] objectArr = empinfo.get(key); - int cellid = 0; - for (Object obj : objectArr) { - - Cell cell = row.createCell(cellid++); - if(key.equalsIgnoreCase("03") && cellid!=1){ - System.out.println(cellid); - cell.setCellStyle(style); - - }else{ - cell.setCellStyle(styleIsi); - } - cell.setCellValue((String) obj); - } - } - spreadsheet.setColumnWidth(0, 1000); - spreadsheet.setColumnWidth(1, 7500); - spreadsheet.setColumnWidth(2, 7500); - spreadsheet.setColumnWidth(3, 7500); - spreadsheet.addMergedRegion(new CellRangeAddress(0, 0, 1, 4)); - // Write the workbook in file system - FileOutputStream out = new FileOutputStream(new File("d:/Writesheet.xls")); - workbook.write(out); - out.close(); - System.out.println("d:/Writesheet.xlsx written successfully"); - - } -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/logging/SimpleLoggingTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/logging/SimpleLoggingTest.java deleted file mode 100644 index 16b1910b..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/logging/SimpleLoggingTest.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.jasamedika.medifirst2000.logging; - -/**Simple Logging Class Test - */ - -import static org.junit.Assert.assertNotNull; - -import java.util.List; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import com.jasamedika.medifirst2000.logging.dao.LoggingJdbcDaoImpl; -import com.jasamedika.medifirst2000.logging.entities.Logging; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class SimpleLoggingTest { - - @Autowired - private LoggingJdbcDaoImpl loggingJdbcDaoImpl; - - @Test - public void testCreate() { - loggingJdbcDaoImpl.create("nama", "deskripsi"); - } - - @Test - public void testUpdate() { - loggingJdbcDaoImpl.update(1, "nama xxx", "deskripsi xxx"); - } - - @Test - public void testDelete() { - loggingJdbcDaoImpl.delete(1); - } - - @Test - public void testGetAll() { - List results = loggingJdbcDaoImpl.listLoggings(); - assertNotNull(results); - } - - @Test - public void testGetById() { - Logging result = loggingJdbcDaoImpl.getLogging(2); - assertNotNull(result); - } -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/AgamaServiceImplTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/AgamaServiceImplTest.java deleted file mode 100644 index 2c35a4a9..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/AgamaServiceImplTest.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.jasamedika.medifirst2000.service.test; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.entities.RIS_Order; -import com.jasamedika.medifirst2000.service.impl.RIS_OrderServiceImpl; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class AgamaServiceImplTest { - - @Autowired - private RIS_OrderServiceImpl agamaService; - - @Test - @Transactional - public void testAdd() { - RIS_Order order = new RIS_Order(); - order.setORDER_KEY(1); - order.setCREATE_DATE(""); - order.setFLAG(""); - order.setPATIENT_ID(""); - order.setPATIENT_NAME(""); - order.setPATIENT_UID(""); - order.setLAST_NAME(""); - order.setFIRST_NAME(""); - order.setMIDDLE_NAME(""); - order.setAETITLE(""); - order.setSTUDY_RESERV_DATE(""); - order.setORDER_MODALITY(""); - order.setACCESSION_NUM(""); - order.setORDER_STATUS(""); - order.setORDER_CODE(""); - order.setORDER_NAME(""); - order.setORDER_REASON(""); - order.setSTUDY_REMARK(""); - order.setORDER_BODYPART(""); - order.setCHARGE_DOC_ID(""); - order.setCHARGE_DOC_NAME(""); - order.setCONSULT_DOC_ID(""); - order.setCONSULT_DOC_NAME(""); - order.setORDER_DEPT(""); - order.setORDER_DATE(""); - order.setORDER_NO(""); - order.setPATIENT_IO(""); - order.setPATIENT_WARD(""); - order.setIO_DATE(""); - order.setPATIENT_BIRTH_DATE(""); - order.setPATIENT_SEX("l"); - order.setORDER_DIAG(""); - order.setPATIENT_BLOOD(""); - order.setORDER_CNT(0); - order.setGROUP1(""); - order.setGROUP2(""); - order.setGROUP3(""); - order.setORDER_COMMENT(""); - order.setEXTENSION1(""); - order.setEXTENSION2(""); - order.setEXTENSION3(""); - order.setEXTENSION4(""); - order.setEXTENSION5(""); - order.setEXTENSION6(""); - order.setEXTENSION7(""); - order.setEXTENSION8(""); - order.setEXTENSION9(""); - order.setEXTENSION10(""); - agamaService.save(order); - } -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PacsServiceImplTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PacsServiceImplTest.java deleted file mode 100644 index 24b84e3f..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PacsServiceImplTest.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.jasamedika.medifirst2000.service.test; - - -import java.math.BigDecimal; -import java.util.List; - -import com.jasamedika.medifirst2000.dto.TPatient; -import com.jasamedika.medifirst2000.service.PacsService; -import com.jasamedika.medifirst2000.service.impl.PacsServiceImpl; - -public class PacsServiceImplTest { - - static PacsService test = new PacsServiceImpl(); - - public static void main(String[]args){ - insert(); - } - - public static void insert(){ - TPatient tPatient = new TPatient(); - tPatient.setFLAG("Y"); - tPatient.setINSTITUTION_KEY(new BigDecimal(1)); - tPatient.setLAST_STUDYDATE("211198"); - tPatient.setPATIENT_AGE("020Y"); - tPatient.setPATIENT_BIRTH_DATE("20-11-88"); - tPatient.setPATIENT_ID("NOCM.001"); - tPatient.setPATIENT_IO("I"); - tPatient.setPATIENT_KEY(new BigDecimal(2)); - tPatient.setPATIENT_NAME("REZA FAUZAN"); - tPatient.setPATIENT_SEX("M"); - test.insert(tPatient); - } - - public static void update(){ - TPatient tPatient = new TPatient(); - tPatient.setFLAG("Y"); - tPatient.setINSTITUTION_KEY(new BigDecimal(1)); - tPatient.setLAST_STUDYDATE("211198"); - tPatient.setPATIENT_AGE("020Y"); - tPatient.setPATIENT_BIRTH_DATE("20-11-88"); - tPatient.setPATIENT_ID("NOCM.001"); - tPatient.setPATIENT_IO("I"); - tPatient.setPATIENT_KEY(new BigDecimal(2)); - tPatient.setPATIENT_NAME("ELISA"); - tPatient.setPATIENT_SEX("M"); - test.update(tPatient); - } - - public static void delete(){ - test.delete("NOCM.001"); - } - - public static void getOne(){ - TPatient tPatient = test.getOne("NOCM.001"); - System.out.println( - tPatient.getPATIENT_KEY()+"\n"+ - tPatient.getPATIENT_NAME()+"\n"+ - tPatient.getPATIENT_ID()); - } - - public static void getAll(){ - List tPatients = test.getAll(); - for(TPatient tPatient : tPatients) - System.out.println( - tPatient.getPATIENT_KEY()+"\n"+ - tPatient.getPATIENT_NAME()+"\n"+ - tPatient.getPATIENT_ID()+"\n"); - } -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapAlergiServiceImplTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapAlergiServiceImplTest.java deleted file mode 100644 index dc8f5e10..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapAlergiServiceImplTest.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.jasamedika.medifirst2000.service.test; - -import static org.junit.Assert.*; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Map; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.converter.PasienConverter; -import com.jasamedika.medifirst2000.dao.PasienDao; -import com.jasamedika.medifirst2000.entities.PapAlergi; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.service.PapAlergiService; -import com.jasamedika.medifirst2000.service.PapSkriningNyeriService; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.AlergiVO; -import com.jasamedika.medifirst2000.vo.PapAlergiVO; -import com.jasamedika.medifirst2000.vo.PasienVO; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapAlergiServiceImplTest {/* - - @Autowired - private PapAlergiService papAlergiService; - - @Autowired - private PasienDao pasienDao; - - @Autowired - private PasienConverter pasienConverter; - - @Test - @Transactional - public void testAddAlergi() { - PapAlergiVO vo = populateModel(); - Map result = papAlergiService.addAlergi(vo); - assertNotNull(result); - - PapAlergi papAlergi = (PapAlergi) result.get("papAlergi"); - assertEquals("ALEGI SAMPO",papAlergi.getAlergi().getNamaAlergi()); - assertEquals("Keterangan",papAlergi.getKeteranganData()); - assertEquals("Reaksi",papAlergi.getReaksi()); - assertEquals(generateDate(),papAlergi.getTglInput()); - } - - @Test - @Transactional - public void testUpdateAlergi() { - PapAlergiVO vo = populateModel(); - Map result = papAlergiService.addAlergi(vo); - assertNotNull(result); - - PapAlergiVO voUpdate = populateModel(); - voUpdate.setKeteranganData("Keterangan Update"); - voUpdate.setReaksi("Reaksi Update"); - Map resultUpdate = papAlergiService.addAlergi(voUpdate); - assertNotNull(resultUpdate); - PapAlergi papAlergi = (PapAlergi) resultUpdate.get("papAlergi"); - assertEquals("Keterangan Update",papAlergi.getKeteranganData()); - assertEquals("Reaksi Update",papAlergi.getReaksi()); - - } - - @Test - @Transactional - public void testFindByNoCmAndTglInput() { - Map result = papAlergiService.findByNoCmAndTglInput("000001", DateUtil.toDate("2013-06-07 12:10:56")); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - } - - @Test - @Transactional - public void testFindRegistrasiPelayananPasienByNoCmAndTglRegistrasi() { - Map result = papAlergiService.findRegistrasiPelayananPasienByNoCmAndTglRegistrasi("000001",(short) 0, DateUtil.toDate("2013-06-07 12:10:56")); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - } - - @Test - @Transactional - public void testFindPasienByNoCm() { - Map result = papAlergiService.findPasienByNoCm("000001"); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - } - - @Test - @Transactional - public void testPopulateModel(){ - Cek Pasien Dao - Pasien pasien = pasienDao.findOne(544); - assertNotNull(pasien); - assertEquals("Reynaldi Ramadhani Pratama",pasien.getNamaPasien()); - - Cek Pasien Converter - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - assertNotNull(pasienVO); - assertEquals("Reynaldi Ramadhani Pratama",pasienVO.getNamaPasien()); - - PapAlergiVO vo = populateModel(); - assertEquals("ALEGI SAMPO",vo.getAlergi().getNamaAlergi()); - assertEquals("Keterangan",vo.getKeteranganData()); - assertEquals("Reaksi",vo.getReaksi()); - } - - private PapAlergiVO populateModel(){ - PapAlergiVO vo = new PapAlergiVO(); - Pasien pasien = pasienDao.findOne(544); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - AlergiVO alergiVO = new AlergiVO(); - alergiVO.setId(1); - alergiVO.setNamaAlergi("ALEGI SAMPO"); - vo.setPasien(pasienVO); - vo.setAlergi(alergiVO); - vo.setTglInput(generateDate()); - vo.setKeteranganData("Keterangan"); - vo.setReaksi("Reaksi"); - return vo; - } - - private Date generateDate(){ - SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a"); - String dateInString = "Friday, Jun 7, 2013 12:10:56 PM"; - - Date date = null; - try { - date = formatter.parse(dateInString); - } catch (ParseException e) { - e.printStackTrace(); - } - return date; - } -*/} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapAnamesisServiceImplTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapAnamesisServiceImplTest.java deleted file mode 100644 index 13c69d40..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapAnamesisServiceImplTest.java +++ /dev/null @@ -1,144 +0,0 @@ -package com.jasamedika.medifirst2000.service.test; - -import static org.junit.Assert.*; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Map; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; -import com.jasamedika.medifirst2000.converter.PasienConverter; -import com.jasamedika.medifirst2000.dao.PasienDao; -import com.jasamedika.medifirst2000.entities.PapAnamesis; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.service.PapAnamesisService; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.PapAnamesisVO; -import com.jasamedika.medifirst2000.vo.PasienVO; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapAnamesisServiceImplTest { - @Autowired - private PapAnamesisService papAnamesisService; - @Autowired - private PasienDao pasienDao; - @Autowired - private PasienConverter pasienConverter; - - @Test - @Transactional - public void testAddAnamesis() throws ParseException { - PapAnamesisVO papAnamesisVO = populateModelVO(); - assertNotNull(papAnamesisVO); - Map result = papAnamesisService.addAnamesis(papAnamesisVO); - assertNotNull(result); - assertEquals("Setyo Wibudi",((PapAnamesis) result.get("papAnamesis")).getPasien().getNamaPasien()); - - } - - @Test - @Transactional - public void testUpdateAnamesis() throws ParseException { - PapAnamesisVO papAnamesisVO = populateModelVO(); - Map result = papAnamesisService.addAnamesis(papAnamesisVO); - assertNotNull(result); - - PapAnamesisVO papAnamesisVOUpdate = populateModelVOUpdate(); - papAnamesisVOUpdate.setNoRec(((PapAnamesis) result.get("papAnamesis")).getNoRec()); - assertNotNull(papAnamesisVOUpdate); - assertEquals(papAnamesisVOUpdate.getNoRec(),((PapAnamesis) result.get("papAnamesis")).getNoRec()); - - Map resultUpdate = papAnamesisService.addAnamesis(papAnamesisVOUpdate); - assertEquals(false,((PapAnamesis) resultUpdate.get("papAnamesis")).getStatusEnabled()); - } - - - @Test - public void testFindByNoCmAndTglInput() { - String noCm = "000001"; - String tglInput = "2016-07-17 02:12:03"; - Map result = papAnamesisService.findByNoCmAndTglInput(noCm, DateUtil.toDate(tglInput)); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - } - - @Test - public void testFindByNoCmAndTglRegistrasi() { - String noCm = "000001"; - String tglRegistrasi = "2016-07-17 02:12:03"; - //Map result = papAnamesisService.findByNoCmAndTglInput(noCm, DateUtil.toDate(tglInput)); - Map result = papAnamesisService.findRegistrasiPelayananPasienByNoCmAndTglRegistrasi(noCm,(short) 0, DateUtil.toDate(tglRegistrasi)); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - } - - @Test - public void testFindPasienByNoCm() { - String noCm = "000000000000002"; - Map result = papAnamesisService.findPasienByNoCm(noCm); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - - } - - - private PapAnamesisVO populateModelVO() throws ParseException{ - PapAnamesisVO papAnamesisVO = new PapAnamesisVO(); - Pasien pasien = pasienDao.findOne(547); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - papAnamesisVO.setPasien(pasienVO); - papAnamesisVO.setTglInput(generateDate()); - papAnamesisVO.setStatusEnabled(true); - - return papAnamesisVO; - } - - private PapAnamesisVO populateModelVOUpdate() throws ParseException{ - PapAnamesisVO papAnamesisVO = new PapAnamesisVO(); - Pasien pasien = pasienDao.findOne(547); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - papAnamesisVO.setTglInput(generateDate()); - papAnamesisVO.setPasien(pasienVO); - papAnamesisVO.setStatusEnabled(false); - - return papAnamesisVO; - } - - @Test - public void testPopulate() throws ParseException{ - /*Cek Method Populate*/ - PapAnamesisVO papAnamesisVO = populateModelVO(); - assertNotNull(papAnamesisVO); - - - /*Cek Dao*/ - Pasien pasien = pasienDao.findOne(544); - assertNotNull(pasien); - assertEquals("Reynaldi Ramadhani Pratama",pasien.getNamaPasien()); - - /*Cek Converter*/ - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - assertNotNull(pasienVO); - assertEquals("Reynaldi Ramadhani Pratama",pasienVO.getNamaPasien()); - - } - - private Date generateDate() throws ParseException{ - SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a"); - String dateInString = "Friday, Jun 7, 2013 11:40:39 PM"; - - Date date = formatter.parse(dateInString); - return date; - - } - - -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapBedahServiceImplTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapBedahServiceImplTest.java deleted file mode 100644 index 05489341..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapBedahServiceImplTest.java +++ /dev/null @@ -1,181 +0,0 @@ -package com.jasamedika.medifirst2000.service.test; - -import static org.junit.Assert.*; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Map; - -import javax.validation.constraints.AssertTrue; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; -import com.jasamedika.medifirst2000.converter.PasienConverter; -import com.jasamedika.medifirst2000.converter.RuanganConverter; -import com.jasamedika.medifirst2000.dao.PasienDao; -import com.jasamedika.medifirst2000.dao.RuanganDao; -import com.jasamedika.medifirst2000.entities.PapBedah; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.entities.Ruangan; -import com.jasamedika.medifirst2000.service.PapBedahService; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.PapBedahVO; -import com.jasamedika.medifirst2000.vo.PasienVO; -import com.jasamedika.medifirst2000.vo.RuanganVO; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapBedahServiceImplTest { - - @Autowired - private PapBedahService papBedahService; - @Autowired - private PasienDao pasienDao; - @Autowired - private RuanganDao ruanganDao; - @Autowired - private PasienConverter pasienConverter; - @Autowired - private RuanganConverter ruanganConverter; - - @Test - @Transactional - public void testAddBedah() throws ParseException { - PapBedahVO papBedahVO = populateModelVO(); - assertNotNull(papBedahVO); - Map result = papBedahService.addBedah(papBedahVO); - //assertEquals("10",((PapBedah) result.get("papBedah")).getStrukOrder().getRuangan().getId()); - assertEquals("Setyo Wibudi",((PapBedah) result.get("papBedah")).getPasien().getNamaPasien()); - - } - - @Test - @Transactional - public void testRuangan() throws ParseException { - PapBedahVO papBedahVO = populateModelVO(); - assertNotNull(papBedahVO.getRuangan()); - assertEquals("10", String.valueOf(papBedahVO.getRuangan().getId())); - } - - @Test - @Transactional - public void testUpdateBedah() throws ParseException { - PapBedahVO papBedahVO = populateModelVO(); - Map result = papBedahService.addBedah(papBedahVO); - assertNotNull(result); - - PapBedahVO papBedahVOUpdate = populateModelVOUpdate(); - papBedahVOUpdate.setNoRec(((PapBedah) result.get("papBedah")).getNoRec()); - assertNotNull(papBedahVOUpdate); - assertEquals(papBedahVOUpdate.getNoRec(),((PapBedah) result.get("papBedah")).getNoRec()); - - Map resultUpdate = papBedahService.addBedah(papBedahVO); - assertEquals(false,((PapBedah) resultUpdate.get("papBedah")).getStatusEnabled()); - } - - - @Test - public void testFindByNoCmAndTglInput() { - String noCm = "000000000000002"; - String tglInput = "2016-06-19 14:45:36"; - Map result = papBedahService.findByNoCmAndTglInput(noCm, DateUtil.toDate(tglInput)); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - } - - @Test - public void testFindByNoCmAndTglRegistrasi() { - String noCm = "000000000000002"; - String tglRegistrasi = "2016-07-17 02:12:03"; - //Map result = papBedahService.findByNoCmAndTglInput(noCm, DateUtil.toDate(tglInput)); - Map result = papBedahService.findRegistrasiPelayananPasienByNoCmAndTglRegistrasi(noCm,(short) 0, DateUtil.toDate(tglRegistrasi)); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - } - - @Test - public void testFindPasienByNoCm() { - String noCm = "000000000000002"; - Map result = papBedahService.findPasienByNoCm(noCm); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - - } - - - private PapBedahVO populateModelVO() throws ParseException{ - PapBedahVO papBedahVO = new PapBedahVO(); - Pasien pasien = pasienDao.findOne(547); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - papBedahVO.setPasien(pasienVO); - - Ruangan ruangan = ruanganDao.findOne(10); - RuanganVO ruanganVO = ruanganConverter.transferModelToVO(ruangan,new RuanganVO()); - papBedahVO.setRuangan(ruanganVO); - papBedahVO.setRuanganTujuan(ruanganVO); - papBedahVO.setTglInput(generateDate()); - papBedahVO.setStatusEnabled(true); - - return papBedahVO; - } - - private PapBedahVO populateModelVOUpdate() throws ParseException{ - PapBedahVO papBedahVO = new PapBedahVO(); - Pasien pasien = pasienDao.findOne(547); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - - Ruangan ruangan = ruanganDao.findOne(10); - RuanganVO ruanganVO = ruanganConverter.transferModelToVO(ruangan,new RuanganVO()); - - papBedahVO.setRuangan(ruanganVO); - papBedahVO.setRuanganTujuan(ruanganVO); - papBedahVO.setTglInput(generateDate()); - papBedahVO.setPasien(pasienVO); - papBedahVO.setStatusEnabled(false); - - return papBedahVO; - } - - @Test - public void testPopulate() throws ParseException{ - /*Cek Method Populate*/ - PapBedahVO papBedahVO = populateModelVO(); - assertNotNull(papBedahVO); - - - /*Cek Dao*/ - Pasien pasien = pasienDao.findOne(544); - assertNotNull(pasien); - assertEquals("Reynaldi Ramadhani Pratama",pasien.getNamaPasien()); - Ruangan ruangan = ruanganDao.findOne(10); - assertNotNull(ruangan); - assertEquals("Klinik Psikologi",ruangan.getNamaRuangan()); - - /*Cek Converter*/ - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - assertNotNull(pasienVO); - assertEquals("Reynaldi Ramadhani Pratama",pasienVO.getNamaPasien()); - - RuanganVO ruanganVO = ruanganConverter.transferModelToVO(ruangan,new RuanganVO()); - assertNotNull(ruanganVO); - //assertEquals("Klinik Psikologi",pasienVO.getNamaExternal()); - - } - - private Date generateDate() throws ParseException{ - SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a"); - String dateInString = "Friday, Jun 7, 2013 11:40:39 PM"; - - Date date = formatter.parse(dateInString); - return date; - - } - -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapEliminasiServiceImplTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapEliminasiServiceImplTest.java deleted file mode 100644 index 4f10ca7d..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapEliminasiServiceImplTest.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.jasamedika.medifirst2000.service.test; - -import static org.junit.Assert.*; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Map; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.converter.PasienConverter; -import com.jasamedika.medifirst2000.dao.PasienDao; -import com.jasamedika.medifirst2000.entities.PapEliminasi; -import com.jasamedika.medifirst2000.entities.PapGenatalia; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.service.PapEliminasiService; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.PapEliminasiVO; -import com.jasamedika.medifirst2000.vo.PasienVO; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapEliminasiServiceImplTest { - - @Autowired - private PapEliminasiService papEliminasiService; - - @Autowired - private PasienDao pasienDao; - @Autowired - private PasienConverter pasienConverter; - - @Test - @Transactional - public void testAddEliminasi() { - PapEliminasiVO papEliminasiVO = populateModel(); - Map result = papEliminasiService.addEliminasi(papEliminasiVO); - assertNotNull(result); - assertEquals("Diuresis Urin",((PapEliminasi)result.get("papEliminasi")).getDiuresisUrin()); - assertEquals("Frekuensi Defraksi",((PapEliminasi)result.get("papEliminasi")).getFrekuensiDefeaksi()); - assertEquals("Reynaldi Ramadhani Pratama",((PapEliminasi)result.get("papEliminasi")).getPasien().getNamaPasien()); - } - - @Test - @Transactional - public void testUpdateEliminasi() { - PapEliminasiVO papEliminasiVO = populateModel(); - Map result = papEliminasiService.addEliminasi(papEliminasiVO); - assertNotNull(result); - - PapEliminasiVO papEliminasiVOUpdate = populateModelUpdate(); - papEliminasiVOUpdate.setNoRec(((PapEliminasi) result.get("papEliminasi")).getNoRec()); - assertNotNull(papEliminasiVOUpdate); - assertEquals(papEliminasiVOUpdate.getNoRec(),((PapEliminasi) result.get("papEliminasi")).getNoRec()); - - Map resultUpdate = papEliminasiService.updateEliminasi(papEliminasiVOUpdate); - assertNotNull(resultUpdate); - assertEquals("Diuresis Urin Update",((PapEliminasi)resultUpdate.get("papEliminasi")).getDiuresisUrin()); - assertEquals("Frekuensi Defraksi Update",((PapEliminasi)resultUpdate.get("papEliminasi")).getFrekuensiDefeaksi()); - } - - @Test - @Transactional - public void testFindByNoCmAndTglInput() { - String noCm = "000000000000005"; - String tglInput = "2016-07-17 04:26:00"; - Map result = papEliminasiService.findByNoCmAndTglInput(noCm, DateUtil.toDate(tglInput)); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - - } - - @Test - @Transactional - public void testPopulateModel(){ - /*Cek Pasien Dao*/ - Pasien pasien = pasienDao.findOne(544); - assertNotNull(pasien); - assertEquals("Reynaldi Ramadhani Pratama",pasien.getNamaPasien()); - - /*Cek Pasien Converter*/ - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - assertNotNull(pasienVO); - assertEquals("Reynaldi Ramadhani Pratama",pasienVO.getNamaPasien()); - - /*Cek Populate*/ - PapEliminasiVO papEliminasiVO = populateModel(); - assertNotNull(papEliminasiVO); - assertEquals("Diuresis Urin",papEliminasiVO.getDiuresisUrin()); - assertEquals("Frekuensi Defraksi",papEliminasiVO.getFrekuensiDefeaksi()); - assertEquals("Reynaldi Ramadhani Pratama",papEliminasiVO.getPasien().getNamaPasien()); - } - - private PapEliminasiVO populateModel(){ - PapEliminasiVO papEliminasiVO = new PapEliminasiVO(); - Pasien pasien = pasienDao.findOne(544); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - - papEliminasiVO.setDiuresisUrin("Diuresis Urin"); - papEliminasiVO.setFrekuensiDefeaksi("Frekuensi Defraksi"); - papEliminasiVO.setTglInput(generateDate()); - papEliminasiVO.setPasien(pasienVO); - return papEliminasiVO; - } - - private PapEliminasiVO populateModelUpdate(){ - PapEliminasiVO papEliminasiVO = new PapEliminasiVO(); - Pasien pasien = pasienDao.findOne(544); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - - papEliminasiVO.setDiuresisUrin("Diuresis Urin Update"); - papEliminasiVO.setFrekuensiDefeaksi("Frekuensi Defraksi Update"); - papEliminasiVO.setTglInput(new Date()); - papEliminasiVO.setPasien(pasienVO); - return papEliminasiVO; - } - - private Date generateDate(){ - SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a"); - String dateInString = "Friday, Jun 7, 2013 12:10:56 PM"; - - Date date = null; - try { - date = formatter.parse(dateInString); - } catch (ParseException e) { - e.printStackTrace(); - } - return date; - } - -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapGastrointestinalServiceImplTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapGastrointestinalServiceImplTest.java deleted file mode 100644 index ae7fcdde..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapGastrointestinalServiceImplTest.java +++ /dev/null @@ -1,132 +0,0 @@ -package com.jasamedika.medifirst2000.service.test; - -import static org.junit.Assert.*; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Map; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; -import com.jasamedika.medifirst2000.converter.PasienConverter; -import com.jasamedika.medifirst2000.dao.PasienDao; -import com.jasamedika.medifirst2000.entities.PapGastrointestinal; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.service.PapGastrointestinalService; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.PapGastrointestinalVO; -import com.jasamedika.medifirst2000.vo.PasienVO; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapGastrointestinalServiceImplTest { - - @Autowired - private PapGastrointestinalService papGastrointestinalService; - - @Autowired - private PasienDao pasienDao; - @Autowired - private PasienConverter pasienConverter; - @Autowired - private PasienConverter papGastrintestinal; - - @Test - @Transactional - public void testAddGastrointestinal() throws ParseException { - PapGastrointestinalVO papGastrointestinalVO = populateModelVO(); - assertNotNull(papGastrointestinalVO); - Map result = papGastrointestinalService.addGastrointestinal(papGastrointestinalVO); - assertEquals("15",((PapGastrointestinal) result.get("papGastrointestinal")).getLingkarPerut()); - assertEquals(true,((PapGastrointestinal) result.get("papGastrointestinal")).getIsNormal()); - assertNotNull(result); - - } - - @Test - @Transactional - public void testUpdateGastrointestinal() throws ParseException { - PapGastrointestinalVO papGastrointestinalVO = populateModelVO(); - Map result = papGastrointestinalService.addGastrointestinal(papGastrointestinalVO); - assertNotNull(result); - - PapGastrointestinalVO papGastrointestinalVOUpdate = populateModelVOUpdate(); - papGastrointestinalVOUpdate.setNoRec(((PapGastrointestinal) result.get("papGastrointestinal")).getNoRec()); - assertNotNull(papGastrointestinalVOUpdate); - assertEquals(papGastrointestinalVOUpdate.getNoRec(),((PapGastrointestinal) result.get("papGastrointestinal")).getNoRec()); - - Map resultUpdate = papGastrointestinalService.addGastrointestinal(papGastrointestinalVOUpdate); - assertEquals("15 update",((PapGastrointestinal) resultUpdate.get("papGastrointestinal")).getLingkarPerut()); - assertEquals(false,((PapGastrointestinal) resultUpdate.get("papGastrointestinal")).getIsNormal()); - } - - @Test - public void testFindByNoCmAndTglInput() { - String noCm = "000003"; - String tglInput = "2013-06-07 11:40:39"; - Map result = papGastrointestinalService.findByNoCmAndTglInput(noCm, DateUtil.toDate(tglInput)); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - //assertEquals(59,((PapGastrointestinal) result.get("papGastrointestinal")).getTglInput().getMinutes()); - assertEquals("15 update",((PapGastrointestinal) result.get("papGastrointestinal")).getLingkarPerut()); - } - - private PapGastrointestinalVO populateModelVO() throws ParseException{ - PapGastrointestinalVO papGastrointestinalVO = new PapGastrointestinalVO(); - Pasien pasien = pasienDao.findOne(547); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - - papGastrointestinalVO.setTglInput(generateDate()); - papGastrointestinalVO.setPasien(pasienVO); - papGastrointestinalVO.setIsNormal(true); - papGastrointestinalVO.setLingkarPerut("15"); - - return papGastrointestinalVO; - } - - private PapGastrointestinalVO populateModelVOUpdate() throws ParseException{ - PapGastrointestinalVO papGastrointestinalVO = new PapGastrointestinalVO(); - Pasien pasien = pasienDao.findOne(547); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - papGastrointestinalVO.setTglInput(generateDate()); - papGastrointestinalVO.setPasien(pasienVO); - papGastrointestinalVO.setLingkarPerut("15 update"); - papGastrointestinalVO.setIsNormal(false); - - return papGastrointestinalVO; - } - - - @Test - public void testPopulate() throws ParseException{ - /*Cek Method Populate*/ - PapGastrointestinalVO papGastrointestinalVO = populateModelVO(); - assertNotNull(papGastrointestinalVO); - - /*Cek Dao*/ - Pasien pasien = pasienDao.findOne(544); - assertNotNull(pasien); - assertEquals("Reynaldi Ramadhani Pratama",pasien.getNamaPasien()); - - /*Cek Converter*/ - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - assertNotNull(pasienVO); - assertEquals("Reynaldi Ramadhani Pratama",pasienVO.getNamaPasien()); - } - - private Date generateDate() throws ParseException{ - SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a"); - String dateInString = "Friday, Jun 7, 2013 11:40:39 PM"; - - Date date = formatter.parse(dateInString); - return date; - - } - - -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapGenataliaServiceImplTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapGenataliaServiceImplTest.java deleted file mode 100644 index 98b2360d..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapGenataliaServiceImplTest.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.jasamedika.medifirst2000.service.test; - -import static org.junit.Assert.*; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.converter.PasienConverter; -import com.jasamedika.medifirst2000.converter.RegistrasiPelayananPasienConverter; -import com.jasamedika.medifirst2000.dao.PasienDao; -import com.jasamedika.medifirst2000.dao.RegistrasiPelayananPasienDao; -import com.jasamedika.medifirst2000.entities.PapGenatalia; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.entities.RegistrasiPelayananPasien; -import com.jasamedika.medifirst2000.service.PapGenataliaService; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.PapGenataliaVO; -import com.jasamedika.medifirst2000.vo.PasienVO; -import com.jasamedika.medifirst2000.vo.RegistrasiPelayananPasienVO; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapGenataliaServiceImplTest { - - @Autowired - private PapGenataliaService papGenataliaService; - - @Autowired - private PasienDao pasienDao; - @Autowired - private PasienConverter pasienConverter; - -// @Autowired -// private RegistrasiPelayananPasienDao registrasiPelayananPasienDao; -// @Autowired RegistrasiPelayananPasienConverter registrasiPelayananPasienConverter; - - @Test - @Transactional - public void testAddGenatalia() throws ParseException { - PapGenataliaVO papGenataliaVO = populateModelVO(); - Map result = papGenataliaService.addGenatalia(papGenataliaVO); - assertNotNull(result); - assertEquals("Test Status Genatalia",((PapGenatalia) result.get("papGenatalia")).getStatus()); - assertNotEquals("Test Status Genatalia Error",((PapGenatalia) result.get("papGenatalia")).getStatus()); - assertEquals("Test Keterangan Genatalia",((PapGenatalia) result.get("papGenatalia")).getKeterangan()); - } - - @Test - @Transactional - public void testUpdateGenatalia() throws ParseException { - PapGenataliaVO papGenataliaVO = populateModelVO(); - Map result = papGenataliaService.addGenatalia(papGenataliaVO); - assertNotNull(result); - - PapGenataliaVO papGenataliaVOUpdate = populateModelVOUpdate(); - papGenataliaVOUpdate.setNoRec(((PapGenatalia) result.get("papGenatalia")).getNoRec()); - assertNotNull(papGenataliaVOUpdate); - assertEquals(papGenataliaVOUpdate.getNoRec(),((PapGenatalia) result.get("papGenatalia")).getNoRec()); - - Map resultUpdate = papGenataliaService.addGenatalia(papGenataliaVOUpdate); - assertEquals("Test Status Genatalia Update",((PapGenatalia) resultUpdate.get("papGenatalia")).getStatus()); - assertNotEquals("Test Status Genatalia Error",((PapGenatalia) resultUpdate.get("papGenatalia")).getStatus()); - assertEquals("Test Keterangan Genatalia Update",((PapGenatalia) resultUpdate.get("papGenatalia")).getKeterangan()); - } - - @Test - @Transactional - public void testPopulate() throws ParseException{ - /*Cek Method Populate*/ - PapGenataliaVO papGenataliaVO = populateModelVO(); - assertNotNull(papGenataliaVO); - - /*Cek Dao*/ - Pasien pasien = pasienDao.findOne(544); - assertNotNull(pasien); - assertEquals("Reynaldi Ramadhani Pratama",pasien.getNamaPasien()); - - /*Cek Converter*/ - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - assertNotNull(pasienVO); - assertEquals("Reynaldi Ramadhani Pratama",pasienVO.getNamaPasien()); - } - - @Test - @Transactional - public void testFindByNoCmAndTglInput() { - String noCm = "000001"; - String tglInput = "2016-07-17 02:12:03"; - Map result = papGenataliaService.findByNoCmAndTglInput(noCm, DateUtil.toDate(tglInput)); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - } - - - private PapGenataliaVO populateModelVO() throws ParseException{ - PapGenataliaVO papGenataliaVO = new PapGenataliaVO(); - //RegistrasiPelayananPasien registrasiPelayananPasien = registrasiPelayananPasienDao.findOne("2c9090ad56014d2c0156014f2f020003"); - //RegistrasiPelayananPasienVO registrasiPelayananPasienVO = registrasiPelayananPasienConverter.transferModelToVO(registrasiPelayananPasien, new RegistrasiPelayananPasienVO()); - Pasien pasien = pasienDao.findOne(544); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - - papGenataliaVO.setStatus("Test Status Genatalia"); - papGenataliaVO.setKeterangan("Test Keterangan Genatalia"); - papGenataliaVO.setTglInput(generateDate()); -// papGenataliaVO.setRegistrasiPelayananPasien(registrasiPelayananPasienVO); - papGenataliaVO.setPasien(pasienVO); - - return papGenataliaVO; - } - - private PapGenataliaVO populateModelVOUpdate() throws ParseException{ - PapGenataliaVO papGenataliaVO = new PapGenataliaVO(); - Pasien pasien = pasienDao.findOne(544); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - - papGenataliaVO.setStatus("Test Status Genatalia Update"); - papGenataliaVO.setKeterangan("Test Keterangan Genatalia Update"); - papGenataliaVO.setTglInput(generateDate()); - papGenataliaVO.setPasien(pasienVO); - - return papGenataliaVO; - } - - private Date generateDate() throws ParseException{ - SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a"); - String dateInString = "Friday, Jun 7, 2013 12:10:56 PM"; - - Date date = formatter.parse(dateInString); - return date; - } - -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapGigiMulutServiceImplTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapGigiMulutServiceImplTest.java deleted file mode 100644 index c77e56dd..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapGigiMulutServiceImplTest.java +++ /dev/null @@ -1,270 +0,0 @@ -package com.jasamedika.medifirst2000.service.test; - -import static org.junit.Assert.*; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Map; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; -import com.jasamedika.medifirst2000.converter.PasienConverter; -import com.jasamedika.medifirst2000.converter.RuanganConverter; -import com.jasamedika.medifirst2000.dao.PasienDao; -import com.jasamedika.medifirst2000.dao.RuanganDao; -import com.jasamedika.medifirst2000.entities.PapGigiMulut; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.entities.Ruangan; -import com.jasamedika.medifirst2000.service.PapGigiMulutService; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.PapBahanRestorasiVO; -import com.jasamedika.medifirst2000.vo.PapGigiKananDuaVO; -import com.jasamedika.medifirst2000.vo.PapGigiKananEmpatVO; -import com.jasamedika.medifirst2000.vo.PapGigiKananSatuVO; -import com.jasamedika.medifirst2000.vo.PapGigiKananTigaVO; -import com.jasamedika.medifirst2000.vo.PapGigiKiriDuaVO; -import com.jasamedika.medifirst2000.vo.PapGigiKiriEmpatVO; -import com.jasamedika.medifirst2000.vo.PapGigiKiriSatuVO; -import com.jasamedika.medifirst2000.vo.PapGigiKiriTigaVO; -import com.jasamedika.medifirst2000.vo.PapGigiMulutVO; -import com.jasamedika.medifirst2000.vo.PapKeadaanGigiVO; -import com.jasamedika.medifirst2000.vo.PapProtesaVO; -import com.jasamedika.medifirst2000.vo.PapRestorasiVO; -import com.jasamedika.medifirst2000.vo.PasienVO; -import com.jasamedika.medifirst2000.vo.RuanganVO; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") - -public class PapGigiMulutServiceImplTest { - - @Autowired - private PapGigiMulutService papGigiMulutService; - @Autowired - private PasienDao pasienDao; - @Autowired - private RuanganDao ruanganDao; - @Autowired - private PasienConverter pasienConverter; - @Autowired - private RuanganConverter ruanganConverter; - - @Test - @Transactional - public void testAddGigiMulut() throws ParseException { - PapGigiMulutVO papGigiMulutVO = populateModelVO(); - assertNotNull(papGigiMulutVO); - Map result = papGigiMulutService.addGigiMulut(papGigiMulutVO); - assertNotNull(result); - assertEquals("Setyo Wibudi",((PapGigiMulut) result.get("papGigiMulut")).getPasien().getNamaPasien()); - - } - - @Test - @Transactional - public void testUpdateGigiMulut() throws ParseException { - PapGigiMulutVO papGigiMulutVO = populateModelVO(); - Map result = papGigiMulutService.addGigiMulut(papGigiMulutVO); - assertNotNull(result); - - PapGigiMulutVO papGigiMulutVOUpdate = populateModelVOUpdate(); - papGigiMulutVOUpdate.setNoRec(((PapGigiMulut) result.get("papGigiMulut")).getNoRec()); - assertNotNull(papGigiMulutVOUpdate); - assertEquals(papGigiMulutVOUpdate.getNoRec(),((PapGigiMulut) result.get("papGigiMulut")).getNoRec()); - - Map resultUpdate = papGigiMulutService.addGigiMulut(papGigiMulutVOUpdate); - assertEquals(false,((PapGigiMulut) resultUpdate.get("papGigiMulut")).getStatusEnabled()); - } - - - @Test - public void testFindByNoCmAndTglInput() { - String noCm = "000003"; - String tglInput = "2013-06-07 11:40:39"; - Map result = papGigiMulutService.findByNoCmAndTglInput(noCm, DateUtil.toDate(tglInput)); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - } - - @Test - public void testFindByNoCmAndTglRegistrasi() { - String noCm = "000003"; - String tglRegistrasi = "2013-06-07 11:40:39"; - //Map result = papGigiMulutService.findByNoCmAndTglInput(noCm, DateUtil.toDate(tglInput)); - Map result = papGigiMulutService.findRegistrasiPelayananPasienByNoCmAndTglRegistrasi(noCm,(short) 0, DateUtil.toDate(tglRegistrasi)); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - } - - @Test - public void testFindPasienByNoCm() { - String noCm = "000003"; - Map result = papGigiMulutService.findPasienByNoCm(noCm); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - - } - - - private PapGigiMulutVO populateModelVO() throws ParseException{ - PapGigiMulutVO papGigiMulutVO = new PapGigiMulutVO(); - Pasien pasien = pasienDao.findOne(547); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - papGigiMulutVO.setPasien(pasienVO); - - PapKeadaanGigiVO papKeadaanGigiVO= new PapKeadaanGigiVO(); - papKeadaanGigiVO.setId(1); - papGigiMulutVO.setPapKeadaanGigi(papKeadaanGigiVO); - - PapGigiKiriSatuVO papGigiKiriSatuVO= new PapGigiKiriSatuVO(); - papGigiKiriSatuVO.setTujuhbelas("tujuhbelas"); - papGigiMulutVO.setPapGigiKiriSatu(papGigiKiriSatuVO); - - PapGigiKiriDuaVO papGigiKiriDuaVO= new PapGigiKiriDuaVO(); - papGigiKiriDuaVO.setLimalima("limalima"); - papGigiMulutVO.setPapGigiKiriDua(papGigiKiriDuaVO); - - PapGigiKiriTigaVO papGigiKiriTigaVO= new PapGigiKiriTigaVO(); - papGigiKiriTigaVO.setDelapandua("delapandua"); - papGigiMulutVO.setPapGigiKiriTiga(papGigiKiriTigaVO); - - PapGigiKiriEmpatVO papGigiKiriEmpatVO= new PapGigiKiriEmpatVO(); - papGigiKiriEmpatVO.setEmpatdua("empatdua"); - papGigiMulutVO.setPapGigiKiriEmpat(papGigiKiriEmpatVO); - - PapGigiKananSatuVO papGigiKananSatuVO= new PapGigiKananSatuVO(); - papGigiKananSatuVO.setDuadua("duadua"); - papGigiMulutVO.setPapGigiKananSatu(papGigiKananSatuVO); - - PapGigiKananDuaVO papGigiKananDuaVO= new PapGigiKananDuaVO(); - papGigiKananDuaVO.setEnamlima("enamlima"); - papGigiMulutVO.setPapGigiKananDua(papGigiKananDuaVO); - - PapGigiKananTigaVO papGigiKananTigaVO= new PapGigiKananTigaVO(); - papGigiKananTigaVO.setTujuhempat("tujuhempat"); - papGigiMulutVO.setPapGigiKananTiga(papGigiKananTigaVO); - - PapGigiKananEmpatVO papGigiKananEmpatVO= new PapGigiKananEmpatVO(); - papGigiKananEmpatVO.setTigadua("tigadua"); - papGigiMulutVO.setPapGigiKananEmpat(papGigiKananEmpatVO); - - PapRestorasiVO papRestorasiVO= new PapRestorasiVO(); - papRestorasiVO.setId(1); - papGigiMulutVO.setPapRestorasi(papRestorasiVO); - - PapBahanRestorasiVO papBahanRestorasiVO= new PapBahanRestorasiVO(); - papBahanRestorasiVO.setId(1); - papGigiMulutVO.setPapBahanRestorasi(papBahanRestorasiVO); - - PapProtesaVO papProtesaVO= new PapProtesaVO(); - papProtesaVO.setId(1); - papGigiMulutVO.setPapProtesa(papProtesaVO); - - papGigiMulutVO.setTglInput(generateDate()); - papGigiMulutVO.setStatusEnabled(true); - - return papGigiMulutVO; - } - - private PapGigiMulutVO populateModelVOUpdate() throws ParseException{ - PapGigiMulutVO papGigiMulutVO = new PapGigiMulutVO(); - Pasien pasien = pasienDao.findOne(547); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - papGigiMulutVO.setPasien(pasienVO); - - PapKeadaanGigiVO papKeadaanGigiVO= new PapKeadaanGigiVO(); - papKeadaanGigiVO.setId(1); - papGigiMulutVO.setPapKeadaanGigi(papKeadaanGigiVO); - - PapGigiKiriSatuVO papGigiKiriSatuVO= new PapGigiKiriSatuVO(); - papGigiKiriSatuVO.setTujuhbelas("tujuhbelas"); - papGigiMulutVO.setPapGigiKiriSatu(papGigiKiriSatuVO); - - PapGigiKiriDuaVO papGigiKiriDuaVO= new PapGigiKiriDuaVO(); - papGigiKiriDuaVO.setLimalima("limalima"); - papGigiMulutVO.setPapGigiKiriDua(papGigiKiriDuaVO); - - PapGigiKiriTigaVO papGigiKiriTigaVO= new PapGigiKiriTigaVO(); - papGigiKiriTigaVO.setDelapandua("delapandua"); - papGigiMulutVO.setPapGigiKiriTiga(papGigiKiriTigaVO); - - PapGigiKiriEmpatVO papGigiKiriEmpatVO= new PapGigiKiriEmpatVO(); - papGigiKiriEmpatVO.setEmpatdua("empatdua"); - papGigiMulutVO.setPapGigiKiriEmpat(papGigiKiriEmpatVO); - - PapGigiKananSatuVO papGigiKananSatuVO= new PapGigiKananSatuVO(); - papGigiKananSatuVO.setDuadua("duadua"); - papGigiMulutVO.setPapGigiKananSatu(papGigiKananSatuVO); - - PapGigiKananDuaVO papGigiKananDuaVO= new PapGigiKananDuaVO(); - papGigiKananDuaVO.setEnamlima("enamlima"); - papGigiMulutVO.setPapGigiKananDua(papGigiKananDuaVO); - - PapGigiKananTigaVO papGigiKananTigaVO= new PapGigiKananTigaVO(); - papGigiKananTigaVO.setTujuhempat("tujuhempat"); - papGigiMulutVO.setPapGigiKananTiga(papGigiKananTigaVO); - - PapGigiKananEmpatVO papGigiKananEmpatVO= new PapGigiKananEmpatVO(); - papGigiKananEmpatVO.setTigadua("tigadua"); - papGigiMulutVO.setPapGigiKananEmpat(papGigiKananEmpatVO); - - PapRestorasiVO papRestorasiVO= new PapRestorasiVO(); - papRestorasiVO.setId(1); - papGigiMulutVO.setPapRestorasi(papRestorasiVO); - - PapBahanRestorasiVO papBahanRestorasiVO= new PapBahanRestorasiVO(); - papBahanRestorasiVO.setId(1); - papGigiMulutVO.setPapBahanRestorasi(papBahanRestorasiVO); - - PapProtesaVO papProtesaVO= new PapProtesaVO(); - papProtesaVO.setId(1); - papGigiMulutVO.setPapProtesa(papProtesaVO); - - papGigiMulutVO.setTglInput(generateDate()); - papGigiMulutVO.setStatusEnabled(false); - - return papGigiMulutVO; - } - - @Test - public void testPopulate() throws ParseException{ - /*Cek Method Populate*/ - PapGigiMulutVO papGigiMulutVO = populateModelVO(); - assertNotNull(papGigiMulutVO); - - - /*Cek Dao*/ - Pasien pasien = pasienDao.findOne(544); - assertNotNull(pasien); - assertEquals("Reynaldi Ramadhani Pratama",pasien.getNamaPasien()); - Ruangan ruangan = ruanganDao.findOne(10); - assertNotNull(ruangan); - assertEquals("Klinik Psikologi",ruangan.getNamaRuangan()); - - /*Cek Converter*/ - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - assertNotNull(pasienVO); - assertEquals("Reynaldi Ramadhani Pratama",pasienVO.getNamaPasien()); - - RuanganVO ruanganVO = ruanganConverter.transferModelToVO(ruangan,new RuanganVO()); - assertNotNull(ruanganVO); - //assertEquals("Klinik Psikologi",pasienVO.getNamaExternal()); - - } - - private Date generateDate() throws ParseException{ - SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a"); - String dateInString = "Friday, Jun 7, 2013 11:40:39 PM"; - - Date date = formatter.parse(dateInString); - return date; - - } - -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapIntegumenServiceImplTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapIntegumenServiceImplTest.java deleted file mode 100644 index f9595bd0..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapIntegumenServiceImplTest.java +++ /dev/null @@ -1,159 +0,0 @@ -package com.jasamedika.medifirst2000.service.test; - -import static org.junit.Assert.*; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Map; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.converter.PasienConverter; -import com.jasamedika.medifirst2000.dao.PasienDao; -import com.jasamedika.medifirst2000.entities.PapIntegumen; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.service.PapIntegumenService; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.PapIntegumenVO; -import com.jasamedika.medifirst2000.vo.PasienVO; -import com.jasamedika.medifirst2000.vo.StatusAdaTidakAdaVO; -import com.jasamedika.medifirst2000.vo.WarnaKulitVO; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapIntegumenServiceImplTest { - - @Autowired - private PapIntegumenService papIntegumenService; - - @Autowired - private PasienDao pasienDao; - @Autowired - private PasienConverter pasienConverter; - - @Test - @Transactional - public void testAddIntegumen() { - PapIntegumenVO papIntegumenVO = populateModel(); - Map result = papIntegumenService.addIntegumen(papIntegumenVO); - assertNotNull(result); - assertEquals("Normal",((PapIntegumen) result.get("papIntegumen")).getWarnaKulit().getName()); - assertEquals("Tidak ada",((PapIntegumen) result.get("papIntegumen")).getKelainan().getName()); - assertEquals("Tidak ada",((PapIntegumen) result.get("papIntegumen")).getResikoDekubitos().getName()); - assertEquals("Tidak ada",((PapIntegumen) result.get("papIntegumen")).getLuka().getName()); - assertEquals("Reynaldi Ramadhani Pratama",((PapIntegumen) result.get("papIntegumen")).getPasien().getNamaPasien()); - assertTrue(((PapIntegumen) result.get("papIntegumen")).getIsNormal()); - } - - @Test - @Transactional - public void testUpdateIntegumen() { - PapIntegumenVO papIntegumenVO = populateModel(); - Map result = papIntegumenService.addIntegumen(papIntegumenVO); - assertNotNull(result); - - PapIntegumenVO papIntegumenVOUpdate = populateModelUpdate(); - Map resultUpdate = papIntegumenService.addIntegumen(papIntegumenVOUpdate); - assertNotNull(resultUpdate); - assertEquals("Pucat",((PapIntegumen) resultUpdate.get("papIntegumen")).getWarnaKulit().getName()); - assertEquals("Ada",((PapIntegumen) resultUpdate.get("papIntegumen")).getKelainan().getName()); - assertEquals("Ada",((PapIntegumen) resultUpdate.get("papIntegumen")).getResikoDekubitos().getName()); - assertEquals("Ada",((PapIntegumen) resultUpdate.get("papIntegumen")).getLuka().getName()); - assertEquals("Reynaldi Ramadhani Pratama",((PapIntegumen) resultUpdate.get("papIntegumen")).getPasien().getNamaPasien()); - assertFalse(((PapIntegumen) resultUpdate.get("papIntegumen")).getIsNormal()); - } - - @Test - @Transactional - public void testFindByNoCmAndTglInput() { - String noCm = "000000000000005"; - String tglInput = "2016-07-17 04:26:00"; - Map result = papIntegumenService.findByNoCmAndTglInput(noCm, DateUtil.toDate(tglInput)); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - } - - @Test - @Transactional - public void populateModelTest(){ - /*Cek Pasien Dao*/ - Pasien pasien = pasienDao.findOne(544); - assertNotNull(pasien); - assertEquals("Reynaldi Ramadhani Pratama",pasien.getNamaPasien()); - - /*Cek Pasien Converter*/ - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - assertNotNull(pasienVO); - assertEquals("Reynaldi Ramadhani Pratama",pasienVO.getNamaPasien()); - - /*Cek Populate*/ - PapIntegumenVO papIntegumenVO = populateModel(); - assertEquals("Normal",papIntegumenVO.getWarnaKulit().getName()); - assertEquals("Tidak ada",papIntegumenVO.getKelainan().getName()); - assertEquals("Tidak ada",papIntegumenVO.getResikoDekubitos().getName()); - assertEquals("Tidak ada",papIntegumenVO.getLuka().getName()); - } - - private PapIntegumenVO populateModel(){ - PapIntegumenVO papIntegumenVO = new PapIntegumenVO(); - Pasien pasien = pasienDao.findOne(544); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - WarnaKulitVO warnaKulitVO = new WarnaKulitVO(); - warnaKulitVO.setId(1); - warnaKulitVO.setName("Normal"); - StatusAdaTidakAdaVO statusAdaTidakAdaVO = new StatusAdaTidakAdaVO(); - statusAdaTidakAdaVO.setId(1); - statusAdaTidakAdaVO.setName("Tidak ada"); - - papIntegumenVO.setTglInput(generateDate()); - papIntegumenVO.setPasien(pasienVO); - papIntegumenVO.setWarnaKulit(warnaKulitVO); - papIntegumenVO.setKelainan(statusAdaTidakAdaVO); - papIntegumenVO.setResikoDekubitos(statusAdaTidakAdaVO); - papIntegumenVO.setLuka(statusAdaTidakAdaVO); - papIntegumenVO.setIsNormal(true); - return papIntegumenVO; - } - - private PapIntegumenVO populateModelUpdate(){ - PapIntegumenVO papIntegumenVO = new PapIntegumenVO(); - Pasien pasien = pasienDao.findOne(544); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - WarnaKulitVO warnaKulitVO = new WarnaKulitVO(); - warnaKulitVO.setId(2); - warnaKulitVO.setName("Pucat"); - StatusAdaTidakAdaVO statusAdaTidakAdaVO = new StatusAdaTidakAdaVO(); - statusAdaTidakAdaVO.setId(2); - statusAdaTidakAdaVO.setName("Ada"); - papIntegumenVO.setIsNormal(false); - - papIntegumenVO.setTglInput(generateDate()); - papIntegumenVO.setPasien(pasienVO); - papIntegumenVO.setWarnaKulit(warnaKulitVO); - papIntegumenVO.setKelainan(statusAdaTidakAdaVO); - papIntegumenVO.setResikoDekubitos(statusAdaTidakAdaVO); - papIntegumenVO.setLuka(statusAdaTidakAdaVO); - return papIntegumenVO; - } - - private Date generateDate(){ - SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a"); - String dateInString = "Friday, Jun 7, 2013 12:10:56 PM"; - - Date date = null; - try { - date = formatter.parse(dateInString); - } catch (ParseException e) { - e.printStackTrace(); - } - return date; - } - -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapKeluhanTambahanServiceImplTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapKeluhanTambahanServiceImplTest.java deleted file mode 100644 index 25bd5340..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapKeluhanTambahanServiceImplTest.java +++ /dev/null @@ -1,160 +0,0 @@ -package com.jasamedika.medifirst2000.service.test; - -import static org.junit.Assert.*; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Map; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; -import com.jasamedika.medifirst2000.converter.PasienConverter; -import com.jasamedika.medifirst2000.converter.RegistrasiPelayananPasienConverter; -import com.jasamedika.medifirst2000.dao.PasienDao; -import com.jasamedika.medifirst2000.dao.RegistrasiPelayananPasienDao; -import com.jasamedika.medifirst2000.entities.PapKeluhanTambahan; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.entities.RegistrasiPelayananPasien; -import com.jasamedika.medifirst2000.service.PapKeluhanTambahanService; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.PapKeluhanTambahanVO; -import com.jasamedika.medifirst2000.vo.PasienVO; -import com.jasamedika.medifirst2000.vo.RegistrasiPelayananPasienVO; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapKeluhanTambahanServiceImplTest { - - @Autowired - private PapKeluhanTambahanService papKeluhanTambahanService; - @Autowired - private PasienDao pasienDao; - @Autowired - private RegistrasiPelayananPasienDao registrasiPelayananpasienDao; - @Autowired - private PasienConverter pasienConverter; - @Autowired - private RegistrasiPelayananPasienConverter registrasiPelayananPasienConverter; - - @Test - @Transactional - public void testAddKeluhanTambahan() throws ParseException { - PapKeluhanTambahanVO papKeluhanTambahanVO = populateModelVO(); - assertNotNull(papKeluhanTambahanVO); - Map result = papKeluhanTambahanService.addKeluhanTambahan(papKeluhanTambahanVO); - assertNotNull(result); - assertEquals("Keluhan tambahan",((PapKeluhanTambahan) result.get("papKeluhanTambahan")).getKeluhanTambahan()); - //assertEquals("Setyo Wibudi",((PapKeluhanTambahan) result.get("papKeluhanTambahan")).getPasien().getNamaPasien()); - - } - - @Test - @Transactional - public void testUpdateKeluhanTambahan() throws ParseException { - PapKeluhanTambahanVO papKeluhanTambahanVO = populateModelVO(); - Map result = papKeluhanTambahanService.addKeluhanTambahan(papKeluhanTambahanVO); - assertNotNull(result); - - PapKeluhanTambahanVO papKeluhanTambahanVOUpdate = populateModelVOUpdate(); - papKeluhanTambahanVOUpdate.setNoRec(((PapKeluhanTambahan) result.get("papKeluhanTambahan")).getNoRec()); - assertNotNull(papKeluhanTambahanVOUpdate); - assertEquals(papKeluhanTambahanVOUpdate.getNoRec(),((PapKeluhanTambahan) result.get("papKeluhanTambahan")).getNoRec()); - - Map resultUpdate = papKeluhanTambahanService.addKeluhanTambahan(papKeluhanTambahanVOUpdate); - assertEquals(false,((PapKeluhanTambahan) resultUpdate.get("papKeluhanTambahan")).getStatusEnabled()); - assertEquals("Keluhan tambahan update",((PapKeluhanTambahan) resultUpdate.get("papKeluhanTambahan")).getKeluhanTambahan()); - } - - - @Test - public void testFindByNoCmAndTglInput() { - String noCm = "000000000000005"; - String tglInput = "2016-07-21 00:24:30"; - Map result = papKeluhanTambahanService.findByNoCmAndTglInput(noCm, DateUtil.toDate(tglInput)); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - assertEquals("keluhan Pertama",((PapKeluhanTambahan) result.get("papKeluhanTambahan")).getKeluhanTambahan()); - } - - @Test - public void testFindPasienByNoCmAndTglKeluhan() { - String noCm = "000000000000005"; - String tglKeluhan = "2016-07-21 00:23:37"; - Map result = papKeluhanTambahanService.findByNoCmAndTglkeluhan(DateUtil.toDate(tglKeluhan), noCm); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - //assertEquals("keluhan pertama",((PapKeluhanTambahan) result.get("papKeluhanTambahan")).getKeluhanTambahan()); - - } - - private PapKeluhanTambahanVO populateModelVO() throws ParseException{ - PapKeluhanTambahanVO papKeluhanTambahanVO = new PapKeluhanTambahanVO(); - Pasien pasien = pasienDao.findOne(547); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - - RegistrasiPelayananPasien registrasiPelayananPasien = registrasiPelayananpasienDao.findOne("2c9090ad56014d2c0156014f2f020003"); - RegistrasiPelayananPasienVO registrasiPelayananPasienVO = registrasiPelayananPasienConverter.transferModelToVO(registrasiPelayananPasien,new RegistrasiPelayananPasienVO()); - - //papKeluhanTambahanVO.setRegistrasiPelayananPasien(registrasiPelayananPasienVO); - // papKeluhanTambahanVO.setPasien(pasienVO); - papKeluhanTambahanVO.setKeluhanTambahan("Keluhan tambahan"); - papKeluhanTambahanVO.setTglInput(generateDate()); - papKeluhanTambahanVO.setTglMerasaKeluhan(generateDate()); - papKeluhanTambahanVO.setStatusEnabled(true); - - return papKeluhanTambahanVO; - } - - private PapKeluhanTambahanVO populateModelVOUpdate() throws ParseException{ - PapKeluhanTambahanVO papKeluhanTambahanVO = new PapKeluhanTambahanVO(); - Pasien pasien = pasienDao.findOne(547); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - - RegistrasiPelayananPasien registrasiPelayananPasien = registrasiPelayananpasienDao.findOne("2c9090ad56014d2c0156014f2f020003"); - RegistrasiPelayananPasienVO registrasiPelayananPasienVO = registrasiPelayananPasienConverter.transferModelToVO(registrasiPelayananPasien,new RegistrasiPelayananPasienVO()); - - //papKeluhanTambahanVO.setRegistrasiPelayananPasien(registrasiPelayananPasienVO); - papKeluhanTambahanVO.setTglInput(generateDate()); - papKeluhanTambahanVO.setTglMerasaKeluhan(generateDate()); - //papKeluhanTambahanVO.setPasien(pasienVO); - papKeluhanTambahanVO.setStatusEnabled(false); - papKeluhanTambahanVO.setKeluhanTambahan("Keluhan tambahan update"); - - return papKeluhanTambahanVO; - } - - @Test - public void testPopulate() throws ParseException{ - /*Cek Method Populate*/ - PapKeluhanTambahanVO papKeluhanTambahanVO = populateModelVO(); - assertNotNull(papKeluhanTambahanVO); - - - /*Cek Dao*/ - Pasien pasien = pasienDao.findOne(544); - assertNotNull(pasien); - assertEquals("Reynaldi Ramadhani Pratama",pasien.getNamaPasien()); - - /*Cek Converter*/ - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - assertNotNull(pasienVO); - assertEquals("Reynaldi Ramadhani Pratama",pasienVO.getNamaPasien()); - - assertEquals("Keluhan tambahan",papKeluhanTambahanVO.getKeluhanTambahan()); - } - - private Date generateDate() throws ParseException{ - SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a"); - String dateInString = "Friday, Jun 7, 2013 11:40:39 PM"; - - Date date = formatter.parse(dateInString); - return date; - - } - -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapKeluhanUtamaServiceImplTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapKeluhanUtamaServiceImplTest.java deleted file mode 100644 index 083dda69..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapKeluhanUtamaServiceImplTest.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.jasamedika.medifirst2000.service.test; - -import static org.junit.Assert.*; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Map; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; -import com.jasamedika.medifirst2000.converter.PasienConverter; -import com.jasamedika.medifirst2000.dao.PasienDao; -import com.jasamedika.medifirst2000.entities.PapKeluhanUtama; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.service.PapKeluhanUtamaService; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.PapKeluhanUtamaVO; -import com.jasamedika.medifirst2000.vo.PasienVO; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapKeluhanUtamaServiceImplTest { - - @Autowired - private PapKeluhanUtamaService papKeluhanUtamaService; - @Autowired - private PasienDao pasienDao; - @Autowired - private PasienConverter pasienConverter; - - @Test - @Transactional - public void testAddKeluhanUtama() throws ParseException { - PapKeluhanUtamaVO papKeluhanUtamaVO = populateModelVO(); - assertNotNull(papKeluhanUtamaVO); - Map result = papKeluhanUtamaService.addKeluhanUtama(papKeluhanUtamaVO); - assertNotNull(result); - assertEquals("Keluhan utama",((PapKeluhanUtama) result.get("papKeluhanUtama")).getKeluhanUtama()); - // assertEquals("Setyo Wibudi",((PapKeluhanUtama) result.get("papKeluhanUtama")).getPasien().getNamaPasien()); - - } - - @Test - @Transactional - public void testUpdateKeluhanUtama() throws ParseException { - PapKeluhanUtamaVO papKeluhanUtamaVO = populateModelVO(); - Map result = papKeluhanUtamaService.addKeluhanUtama(papKeluhanUtamaVO); - assertNotNull(result); - - PapKeluhanUtamaVO papKeluhanUtamaVOUpdate = populateModelVOUpdate(); - papKeluhanUtamaVOUpdate.setNoRec(((PapKeluhanUtama) result.get("papKeluhanUtama")).getNoRec()); - assertNotNull(papKeluhanUtamaVOUpdate); - assertEquals(papKeluhanUtamaVOUpdate.getNoRec(),((PapKeluhanUtama) result.get("papKeluhanUtama")).getNoRec()); - - Map resultUpdate = papKeluhanUtamaService.addKeluhanUtama(papKeluhanUtamaVOUpdate); - assertEquals(false,((PapKeluhanUtama) resultUpdate.get("papKeluhanUtama")).getStatusEnabled()); - assertEquals("Keluhan utama update",((PapKeluhanUtama) resultUpdate.get("papKeluhanUtama")).getKeluhanUtama()); - } - - - @Test - public void testFindByNoCmAndTglInput() { - String noCm = "000000000000005"; - String tglInput = "2016-07-17 04:26:00"; - Map result = papKeluhanUtamaService.findByNoCmAndTglInput(noCm, DateUtil.toDate(tglInput)); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - assertEquals("6786867867",((PapKeluhanUtama) result.get("papKeluhanUtama")).getKeluhanUtama()); - } - - @Test - public void testFindPasienByNoCm() { - String noCm = "000000000000005"; - Map result = papKeluhanUtamaService.findPasienByNoCm(noCm); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - assertEquals("6786867867",((PapKeluhanUtama) result.get("papKeluhanUtama")).getKeluhanUtama()); - - } - - private PapKeluhanUtamaVO populateModelVO() throws ParseException{ - PapKeluhanUtamaVO papKeluhanUtamaVO = new PapKeluhanUtamaVO(); - Pasien pasien = pasienDao.findOne(547); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - //papKeluhanUtamaVO.setPasien(pasienVO); - papKeluhanUtamaVO.setKeluhanUtama("Keluhan utama"); - papKeluhanUtamaVO.setTglInput(generateDate()); - papKeluhanUtamaVO.setStatusEnabled(true); - - return papKeluhanUtamaVO; - } - - private PapKeluhanUtamaVO populateModelVOUpdate() throws ParseException{ - PapKeluhanUtamaVO papKeluhanUtamaVO = new PapKeluhanUtamaVO(); - Pasien pasien = pasienDao.findOne(547); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - papKeluhanUtamaVO.setTglInput(generateDate()); - //papKeluhanUtamaVO.setPasien(pasienVO); - papKeluhanUtamaVO.setStatusEnabled(false); - papKeluhanUtamaVO.setKeluhanUtama("Keluhan utama update"); - - return papKeluhanUtamaVO; - } - - @Test - public void testPopulate() throws ParseException{ - /*Cek Method Populate*/ - PapKeluhanUtamaVO papKeluhanUtamaVO = populateModelVO(); - assertNotNull(papKeluhanUtamaVO); - - - /*Cek Dao*/ - Pasien pasien = pasienDao.findOne(544); - assertNotNull(pasien); - assertEquals("Reynaldi Ramadhani Pratama",pasien.getNamaPasien()); - - /*Cek Converter*/ - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - assertNotNull(pasienVO); - assertEquals("Reynaldi Ramadhani Pratama",pasienVO.getNamaPasien()); - - assertEquals("Keluhan utama",papKeluhanUtamaVO.getKeluhanUtama()); - } - - private Date generateDate() throws ParseException{ - SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a"); - String dateInString = "Friday, Jun 7, 2013 11:40:39 PM"; - - Date date = formatter.parse(dateInString); - return date; - - } -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapMuskuloskeletalServiceImplTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapMuskuloskeletalServiceImplTest.java deleted file mode 100644 index 073f388c..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapMuskuloskeletalServiceImplTest.java +++ /dev/null @@ -1,158 +0,0 @@ -package com.jasamedika.medifirst2000.service.test; - -import static org.junit.Assert.*; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Map; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.converter.PasienConverter; -import com.jasamedika.medifirst2000.dao.PasienDao; -import com.jasamedika.medifirst2000.entities.PapIntegumen; -import com.jasamedika.medifirst2000.entities.PapMuskuloskeletal; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.service.PapMuskuloskeletalService; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.GerakanAnakVO; -import com.jasamedika.medifirst2000.vo.PapMuskuloskeletalVO; -import com.jasamedika.medifirst2000.vo.PasienVO; -import com.jasamedika.medifirst2000.vo.StatusAdaTidakAdaVO; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapMuskuloskeletalServiceImplTest { - - @Autowired - private PapMuskuloskeletalService papMuskuloskeletalService; - - @Autowired - private PasienDao pasienDao; - - @Autowired - private PasienConverter pasienConverter; - - @Test - @Transactional - public void testAddMuskuloskeletal() { - PapMuskuloskeletalVO papMuskuloskeletalVO = populateModel(); - Map result = papMuskuloskeletalService.addMuskuloskeletal(papMuskuloskeletalVO); - assertNotNull(result); - assertEquals("Reynaldi Ramadhani Pratama",((PapMuskuloskeletal) result.get("papMuskuloskeletal")).getPasien().getNamaPasien()); - assertEquals("Tidak ada",((PapMuskuloskeletal) result.get("papMuskuloskeletal")).getKelainanTulang().getName()); - assertEquals("Bebas",((PapMuskuloskeletal) result.get("papMuskuloskeletal")).getGerakanAnak().getName()); - assertNotNull(((PapMuskuloskeletal) result.get("papMuskuloskeletal")).getTglInput()); - } - - @Test - @Transactional - public void testUpdateMuskuloskeletal() { - PapMuskuloskeletalVO papMuskuloskeletalVO = populateModel(); - Map result = papMuskuloskeletalService.addMuskuloskeletal(papMuskuloskeletalVO); - assertNotNull(result); - - PapMuskuloskeletalVO papMuskuloskeletalVOUpdate = populateModelUpdate(); - Map resultUpdate = papMuskuloskeletalService.addMuskuloskeletal(papMuskuloskeletalVOUpdate); - assertEquals("Reynaldi Ramadhani Pratama",((PapMuskuloskeletal) resultUpdate.get("papMuskuloskeletal")).getPasien().getNamaPasien()); - assertEquals("Ada",((PapMuskuloskeletal) resultUpdate.get("papMuskuloskeletal")).getKelainanTulang().getName()); - assertEquals("Terbatas",((PapMuskuloskeletal) resultUpdate.get("papMuskuloskeletal")).getGerakanAnak().getName()); - assertNotNull(((PapMuskuloskeletal) resultUpdate.get("papMuskuloskeletal")).getTglInput()); - } - - @Test - @Transactional - public void testFindByNoCmAndTglInput() { - String noCm = "000001"; - String tglInput = "2013-06-07 12:10:56"; - Map result = papMuskuloskeletalService.findByNoCmAndTglInput(noCm, DateUtil.toDate(tglInput)); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - } - - @Test - @Transactional - public void testPopulateModel(){ - /*Cek Pasien Dao*/ - Pasien pasien = pasienDao.findOne(544); - assertNotNull(pasien); - assertEquals("Reynaldi Ramadhani Pratama",pasien.getNamaPasien()); - - /*Cek Pasien Converter*/ - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - assertNotNull(pasienVO); - assertEquals("Reynaldi Ramadhani Pratama",pasienVO.getNamaPasien()); - - /*Cek Atribut VO*/ - StatusAdaTidakAdaVO statusAdaTidakAdaVO = new StatusAdaTidakAdaVO(); - statusAdaTidakAdaVO.setId(1); - statusAdaTidakAdaVO.setName("Tidak Ada"); - assertNotNull(statusAdaTidakAdaVO); - assertEquals(String.valueOf(1), String.valueOf(statusAdaTidakAdaVO.getId())); - assertEquals("Tidak Ada",statusAdaTidakAdaVO.getName()); - GerakanAnakVO gerakanAnakVO = new GerakanAnakVO(); - gerakanAnakVO.setId(1); - gerakanAnakVO.setName("Bebas"); - assertEquals(String.valueOf(1), String.valueOf(gerakanAnakVO.getId())); - assertNotNull(gerakanAnakVO); - - } - - public PapMuskuloskeletalVO populateModel(){ - PapMuskuloskeletalVO papMuskuloskeletalVO = new PapMuskuloskeletalVO(); - Pasien pasien = pasienDao.findOne(544); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - StatusAdaTidakAdaVO statusAdaTidakAdaVO = new StatusAdaTidakAdaVO(); - statusAdaTidakAdaVO.setId(1); - statusAdaTidakAdaVO.setName("Tidak ada"); - GerakanAnakVO gerakanAnakVO = new GerakanAnakVO(); - gerakanAnakVO.setId(1); - gerakanAnakVO.setName("Bebas"); - - papMuskuloskeletalVO.setIsNormal(true); - papMuskuloskeletalVO.setKelainanTulang(statusAdaTidakAdaVO); - papMuskuloskeletalVO.setPasien(pasienVO); - papMuskuloskeletalVO.setTglInput(generateDate()); - papMuskuloskeletalVO.setGerakanAnak(gerakanAnakVO); - return papMuskuloskeletalVO; - } - - public PapMuskuloskeletalVO populateModelUpdate(){ - PapMuskuloskeletalVO papMuskuloskeletalVO = new PapMuskuloskeletalVO(); - Pasien pasien = pasienDao.findOne(544); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - StatusAdaTidakAdaVO statusAdaTidakAdaVO = new StatusAdaTidakAdaVO(); - statusAdaTidakAdaVO.setId(2); - statusAdaTidakAdaVO.setName("Ada"); - GerakanAnakVO gerakanAnakVO = new GerakanAnakVO(); - gerakanAnakVO.setId(2); - gerakanAnakVO.setName("Terbatas"); - - papMuskuloskeletalVO.setKelainanTulang(statusAdaTidakAdaVO); - papMuskuloskeletalVO.setPasien(pasienVO); - papMuskuloskeletalVO.setTglInput(new Date()); - papMuskuloskeletalVO.setGerakanAnak(gerakanAnakVO); - return papMuskuloskeletalVO; - } - - private Date generateDate(){ - SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a"); - String dateInString = "Friday, Jun 7, 2013 12:10:56 PM"; - - Date date = null; - try { - date = formatter.parse(dateInString); - } catch (ParseException e) { - e.printStackTrace(); - } - return date; - } - -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapNeurologiServiceImplTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapNeurologiServiceImplTest.java deleted file mode 100644 index aa915486..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapNeurologiServiceImplTest.java +++ /dev/null @@ -1,113 +0,0 @@ -package com.jasamedika.medifirst2000.service.test; - -import static org.junit.Assert.*; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Map; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; -import com.jasamedika.medifirst2000.converter.PasienConverter; -import com.jasamedika.medifirst2000.dao.PasienDao; -import com.jasamedika.medifirst2000.entities.PapNeurologi; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.service.PapNeurologiService; -import com.jasamedika.medifirst2000.vo.PapNeurologiVO; -import com.jasamedika.medifirst2000.vo.PasienVO; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapNeurologiServiceImplTest { - - @Autowired - private PapNeurologiService papNeurologiService; - @Autowired - private PasienDao pasienDao; - @Autowired - private PasienConverter pasienConverter; - - @Test - public void testAddNeurologi() throws ParseException { - PapNeurologiVO papNeurologiVO = populateModelVO(); - assertNotNull(papNeurologiVO); - Map result = papNeurologiService.addNeurologi(papNeurologiVO); - //assertEquals("15",((PapNeurologi) result.get("papNeurologi")).getLingkarPerut()); - assertEquals(true,((PapNeurologi) result.get("papNeurologi")).getIsNormal()); - assertNotNull(result); - - } - - @Test - @Transactional - public void testUpdateNeurologi() throws ParseException { - PapNeurologiVO papNeurologiVO = populateModelVO(); - Map result = papNeurologiService.addNeurologi(papNeurologiVO); - assertNotNull(result); - - PapNeurologiVO papNeurologiVOUpdate = populateModelVOUpdate(); - papNeurologiVOUpdate.setNoRec(((PapNeurologi) result.get("papNeurologi")).getNoRec()); - assertNotNull(papNeurologiVOUpdate); - assertEquals(papNeurologiVOUpdate.getNoRec(),((PapNeurologi) result.get("papNeurologi")).getNoRec()); - - Map resultUpdate = papNeurologiService.addNeurologi(papNeurologiVOUpdate); - assertEquals(false,((PapNeurologi) resultUpdate.get("papNeurologi")).getIsNormal()); - assertEquals(false,((PapNeurologi) resultUpdate.get("papNeurologi")).getStatusEnabled()); - } - - - private PapNeurologiVO populateModelVO() throws ParseException{ - PapNeurologiVO papNeurologiVO = new PapNeurologiVO(); - Pasien pasien = pasienDao.findOne(547); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - - papNeurologiVO.setTglInput(generateDate()); - papNeurologiVO.setPasien(pasienVO); - papNeurologiVO.setIsNormal(true); - papNeurologiVO.setStatusEnabled(true); - - return papNeurologiVO; - } - - private PapNeurologiVO populateModelVOUpdate() throws ParseException{ - PapNeurologiVO papNeurologiVO = new PapNeurologiVO(); - Pasien pasien = pasienDao.findOne(547); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - papNeurologiVO.setTglInput(generateDate()); - papNeurologiVO.setPasien(pasienVO); - papNeurologiVO.setIsNormal(false); - papNeurologiVO.setStatusEnabled(false); - - return papNeurologiVO; - } - - @Test - public void testPopulate() throws ParseException{ - /*Cek Method Populate*/ - PapNeurologiVO papNeurologiVO = populateModelVO(); - assertNotNull(papNeurologiVO); - - /*Cek Dao*/ - Pasien pasien = pasienDao.findOne(544); - assertNotNull(pasien); - assertEquals("Reynaldi Ramadhani Pratama",pasien.getNamaPasien()); - - /*Cek Converter*/ - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - assertNotNull(pasienVO); - assertEquals("Reynaldi Ramadhani Pratama",pasienVO.getNamaPasien()); - } - - private Date generateDate() throws ParseException{ - SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a"); - String dateInString = "Friday, Jun 7, 2013 11:40:39 PM"; - - Date date = formatter.parse(dateInString); - return date; - - } - -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapPernapasanServiceImplTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapPernapasanServiceImplTest.java deleted file mode 100644 index ec1a2c14..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapPernapasanServiceImplTest.java +++ /dev/null @@ -1,189 +0,0 @@ -package com.jasamedika.medifirst2000.service.test; - -import static org.junit.Assert.*; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Map; -import java.util.UUID; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; -import com.jasamedika.medifirst2000.converter.PasienConverter; -import com.jasamedika.medifirst2000.dao.PasienDao; -import com.jasamedika.medifirst2000.entities.PapPernapasan; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.service.PapPernapasanService; -import com.jasamedika.medifirst2000.service.PasienService; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.DataAlatBantuNafasVO; -import com.jasamedika.medifirst2000.vo.PapPernapasanVO; -import com.jasamedika.medifirst2000.vo.PasienVO; -import com.jasamedika.medifirst2000.vo.StatusAdaTidakAdaVO; -import com.jasamedika.medifirst2000.vo.StatusNormalTidakNormalVO; -import com.jasamedika.medifirst2000.vo.StatusRegulerIrregulerVO; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapPernapasanServiceImplTest { - - @Autowired - private PapPernapasanService papPernapasanService; - @Autowired - private PasienService pasienService; - @Autowired - public PasienDao pasienDao; - @Autowired - public PasienConverter pasienConverter; - //public PasienVO pasienVO; - - @Transactional - @Test - public void testAddPernapasan() throws ParseException { - - PapPernapasanVO papPernapasanVO = populateModelVO(); - assertNotNull(papPernapasanVO); - Map result = papPernapasanService.addPernapasan(papPernapasanVO); - assertNotNull(result); - assertEquals(true,((PapPernapasan) result.get("papPernapasan")).getIsNormal()); - - } - - @Test - @Transactional - public void testUpdatePernapasan() throws ParseException { - PapPernapasanVO papPernapasanVO = populateModelVO(); - Map result = papPernapasanService.addPernapasan(papPernapasanVO); - assertNotNull(result); - - PapPernapasanVO papPernapasanVOUpdate = populateModelVOUpdate(); - papPernapasanVOUpdate.setNoRec(((PapPernapasan) result.get("papPernapasan")).getNoRec()); - assertNotNull(papPernapasanVOUpdate); - assertEquals(papPernapasanVOUpdate.getNoRec(),((PapPernapasan) result.get("papPernapasan")).getNoRec()); - - Map resultUpdate = papPernapasanService.addPernapasan(papPernapasanVOUpdate); - assertEquals(false,((PapPernapasan) resultUpdate.get("papPernapasan")).getIsNormal()); - assertEquals(false,((PapPernapasan) resultUpdate.get("papPernapasan")).getStatusEnabled()); - } - - @Test - public void testFindByNoCmAndTglInput() { - String noCm = "000000000000005"; - String tglInput = "2016-07-17 04:26:00"; - Map result = papPernapasanService.findByNoCmAndTglInput(noCm, DateUtil.toDate(tglInput)); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - } - - private PapPernapasanVO populateModelVO() throws ParseException{ - PapPernapasanVO papPernapasanVO = new PapPernapasanVO(); - Pasien pasien = pasienDao.findOne(547); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - papPernapasanVO.setPasien(pasienVO); - - final String uuid = UUID.randomUUID().toString().replaceAll("-", ""); - papPernapasanVO.setNoRec(uuid); - - DataAlatBantuNafasVO alatBantuNafasVO = new DataAlatBantuNafasVO(); - alatBantuNafasVO.setId(1); - papPernapasanVO.setAlatBantuNafas(alatBantuNafasVO); - - StatusNormalTidakNormalVO bentukDadaVO = new StatusNormalTidakNormalVO(); - bentukDadaVO.setId(1); - papPernapasanVO.setBentukDada(bentukDadaVO); - - StatusRegulerIrregulerVO iramaVO = new StatusRegulerIrregulerVO(); - iramaVO.setId(1); - papPernapasanVO.setIrama(iramaVO); - - StatusAdaTidakAdaVO retraksiDadaVO = new StatusAdaTidakAdaVO(); - retraksiDadaVO.setId(1); - papPernapasanVO.setRetraksiDada(retraksiDadaVO); - - papPernapasanVO.setTglInput(generateDate()); - - StatusNormalTidakNormalVO polaNapasVO = new StatusNormalTidakNormalVO(); - polaNapasVO.setId(1); - papPernapasanVO.setPolaNapas(polaNapasVO); - - StatusNormalTidakNormalVO suaraNapasVO = new StatusNormalTidakNormalVO(); - suaraNapasVO.setId(1); - papPernapasanVO.setSuaraNapas(suaraNapasVO); - - StatusAdaTidakAdaVO nafasKupingHidungVO = new StatusAdaTidakAdaVO(); - nafasKupingHidungVO.setId(1); - papPernapasanVO.setNafasKupingHidung(nafasKupingHidungVO); - - StatusAdaTidakAdaVO sianosisVO = new StatusAdaTidakAdaVO(); - sianosisVO.setId(1); - papPernapasanVO.setSianosis(sianosisVO); - papPernapasanVO.setKdProfile((short) 897); - papPernapasanVO.setIsNormal(true); - papPernapasanVO.setStatusEnabled(true); - - return papPernapasanVO; - } - - private PapPernapasanVO populateModelVOUpdate() throws ParseException{ - PapPernapasanVO papPernapasanVO = new PapPernapasanVO(); - Pasien pasien = pasienDao.findOne(547); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - papPernapasanVO.setPasien(pasienVO); - - final String uuid = UUID.randomUUID().toString().replaceAll("-", ""); - papPernapasanVO.setNoRec(uuid); - - DataAlatBantuNafasVO alatBantuNafasVO = new DataAlatBantuNafasVO(); - alatBantuNafasVO.setId(1); - papPernapasanVO.setAlatBantuNafas(alatBantuNafasVO); - - StatusNormalTidakNormalVO bentukDadaVO = new StatusNormalTidakNormalVO(); - bentukDadaVO.setId(1); - papPernapasanVO.setBentukDada(bentukDadaVO); - - StatusRegulerIrregulerVO iramaVO = new StatusRegulerIrregulerVO(); - iramaVO.setId(1); - papPernapasanVO.setIrama(iramaVO); - - StatusAdaTidakAdaVO retraksiDadaVO = new StatusAdaTidakAdaVO(); - retraksiDadaVO.setId(1); - papPernapasanVO.setRetraksiDada(retraksiDadaVO); - - papPernapasanVO.setTglInput(generateDate()); - - StatusNormalTidakNormalVO polaNapasVO = new StatusNormalTidakNormalVO(); - polaNapasVO.setId(1); - papPernapasanVO.setPolaNapas(polaNapasVO); - - StatusNormalTidakNormalVO suaraNapasVO = new StatusNormalTidakNormalVO(); - suaraNapasVO.setId(1); - papPernapasanVO.setSuaraNapas(suaraNapasVO); - - StatusAdaTidakAdaVO nafasKupingHidungVO = new StatusAdaTidakAdaVO(); - nafasKupingHidungVO.setId(1); - papPernapasanVO.setNafasKupingHidung(nafasKupingHidungVO); - - StatusAdaTidakAdaVO sianosisVO = new StatusAdaTidakAdaVO(); - sianosisVO.setId(1); - papPernapasanVO.setSianosis(sianosisVO); - papPernapasanVO.setKdProfile((short) 890); - papPernapasanVO.setIsNormal(false); - papPernapasanVO.setStatusEnabled(false); - - return papPernapasanVO; - } - - private Date generateDate() throws ParseException{ - SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a"); - String dateInString = "Friday, Jun 7, 2013 12:10:56 PM"; - - Date date = formatter.parse(dateInString); - return date; - - } - -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapRehabilitasiServiceImplTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapRehabilitasiServiceImplTest.java deleted file mode 100644 index 7538951d..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapRehabilitasiServiceImplTest.java +++ /dev/null @@ -1,145 +0,0 @@ -package com.jasamedika.medifirst2000.service.test; - -import static org.junit.Assert.*; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Map; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; -import com.jasamedika.medifirst2000.converter.PasienConverter; -import com.jasamedika.medifirst2000.dao.PasienDao; -import com.jasamedika.medifirst2000.entities.PapRehabilitasi; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.service.PapRehabilitasiService; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.PapRehabilitasiVO; -import com.jasamedika.medifirst2000.vo.PasienVO; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") - -public class PapRehabilitasiServiceImplTest { - - @Autowired - private PapRehabilitasiService papRehabilitasiService; - @Autowired - private PasienDao pasienDao; - @Autowired - private PasienConverter pasienConverter; - - @Test - @Transactional - public void testAddRehabilitasi() throws ParseException { - PapRehabilitasiVO papRehabilitasiVO = populateModelVO(); - assertNotNull(papRehabilitasiVO); - Map result = papRehabilitasiService.addRehabilitasi(papRehabilitasiVO); - assertNotNull(result); - assertEquals("Setyo Wibudi",((PapRehabilitasi) result.get("papRehabilitasi")).getPasien().getNamaPasien()); - - } - - @Test - @Transactional - public void testUpdateRehabilitasi() throws ParseException { - PapRehabilitasiVO papRehabilitasiVO = populateModelVO(); - Map result = papRehabilitasiService.addRehabilitasi(papRehabilitasiVO); - assertNotNull(result); - - PapRehabilitasiVO papRehabilitasiVOUpdate = populateModelVOUpdate(); - papRehabilitasiVOUpdate.setNoRec(((PapRehabilitasi) result.get("papRehabilitasi")).getNoRec()); - assertNotNull(papRehabilitasiVOUpdate); - assertEquals(papRehabilitasiVOUpdate.getNoRec(),((PapRehabilitasi) result.get("papRehabilitasi")).getNoRec()); - - Map resultUpdate = papRehabilitasiService.addRehabilitasi(papRehabilitasiVOUpdate); - assertEquals(false,((PapRehabilitasi) resultUpdate.get("papRehabilitasi")).getStatusEnabled()); - } - - - @Test - public void testFindByNoCmAndTglInput() { - String noCm = "000003"; - String tglInput = "2013-06-07 11:40:39"; - Map result = papRehabilitasiService.findByNoCmAndTglInput(noCm, DateUtil.toDate(tglInput)); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - } - - @Test - public void testFindByNoCmAndTglRegistrasi() { - String noCm = "000001"; - String tglRegistrasi = "2016-07-17 02:12:03"; - //Map result = papRehabilitasiService.findByNoCmAndTglInput(noCm, DateUtil.toDate(tglInput)); - Map result = papRehabilitasiService.findRegistrasiPelayananPasienByNoCmAndTglRegistrasi(noCm,(short) 0, DateUtil.toDate(tglRegistrasi)); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - } - - @Test - public void testFindPasienByNoCm() { - String noCm = "000000000000002"; - Map result = papRehabilitasiService.findPasienByNoCm(noCm); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - - } - - - private PapRehabilitasiVO populateModelVO() throws ParseException{ - PapRehabilitasiVO papRehabilitasiVO = new PapRehabilitasiVO(); - Pasien pasien = pasienDao.findOne(547); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - papRehabilitasiVO.setPasien(pasienVO); - papRehabilitasiVO.setTglInput(generateDate()); - papRehabilitasiVO.setStatusEnabled(true); - - return papRehabilitasiVO; - } - - private PapRehabilitasiVO populateModelVOUpdate() throws ParseException{ - PapRehabilitasiVO papRehabilitasiVO = new PapRehabilitasiVO(); - Pasien pasien = pasienDao.findOne(547); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - papRehabilitasiVO.setTglInput(generateDate()); - papRehabilitasiVO.setPasien(pasienVO); - papRehabilitasiVO.setStatusEnabled(false); - - return papRehabilitasiVO; - } - - @Test - public void testPopulate() throws ParseException{ - /*Cek Method Populate*/ - PapRehabilitasiVO papRehabilitasiVO = populateModelVO(); - assertNotNull(papRehabilitasiVO); - - - /*Cek Dao*/ - Pasien pasien = pasienDao.findOne(544); - assertNotNull(pasien); - assertEquals("Reynaldi Ramadhani Pratama",pasien.getNamaPasien()); - - /*Cek Converter*/ - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - assertNotNull(pasienVO); - assertEquals("Reynaldi Ramadhani Pratama",pasienVO.getNamaPasien()); - - } - - private Date generateDate() throws ParseException{ - SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a"); - String dateInString = "Friday, Jun 7, 2013 11:40:39 PM"; - - Date date = formatter.parse(dateInString); - return date; - - } - -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapSirkulasiServiceImplTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapSirkulasiServiceImplTest.java deleted file mode 100644 index f58fbbf2..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapSirkulasiServiceImplTest.java +++ /dev/null @@ -1,142 +0,0 @@ -package com.jasamedika.medifirst2000.service.test; - -import static org.junit.Assert.*; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Map; -import java.util.UUID; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.converter.PasienConverter; -import com.jasamedika.medifirst2000.dao.PasienDao; -import com.jasamedika.medifirst2000.entities.PapSirkulasi; -import com.jasamedika.medifirst2000.entities.PapGenatalia; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.service.AgamaService; -import com.jasamedika.medifirst2000.service.PapSirkulasiService; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.PapSirkulasiVO; -import com.jasamedika.medifirst2000.vo.PasienVO; -import com.jasamedika.medifirst2000.vo.StatusAdaTidakAdaVO; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") - -public class PapSirkulasiServiceImplTest { - - @Autowired - private PapSirkulasiService papSirkulasiService; - @Autowired - private PasienDao pasienDao; - @Autowired - private PasienConverter pasienConverter; - - @Test - @Transactional - public void testAddSirkulasi() throws ParseException { - PapSirkulasiVO papSirkulasiVO = populateModelVO(); - assertNotNull(papSirkulasiVO); - Map result = papSirkulasiService.addSirkulasi(papSirkulasiVO); - assertEquals(true,((PapSirkulasi) result.get("papSirkulasi")).getIsNormal()); - assertNotNull(result); - - } - - @Test - @Transactional - public void testUpdateSirkulasi() throws ParseException { - PapSirkulasiVO papSirkulasiVO = populateModelVO(); - Map result = papSirkulasiService.addSirkulasi(papSirkulasiVO); - assertNotNull(result); - - PapSirkulasiVO papSirkulasiVOUpdate = populateModelVOUpdate(); - papSirkulasiVOUpdate.setNoRec(((PapSirkulasi) result.get("papSirkulasi")).getNoRec()); - assertNotNull(papSirkulasiVOUpdate); - assertEquals(papSirkulasiVOUpdate.getNoRec(),((PapSirkulasi) result.get("papSirkulasi")).getNoRec()); - - Map resultUpdate = papSirkulasiService.addSirkulasi(papSirkulasiVOUpdate); - assertEquals(false,((PapSirkulasi) resultUpdate.get("papSirkulasi")).getIsNormal()); - assertEquals(false,((PapSirkulasi) resultUpdate.get("papSirkulasi")).getStatusEnabled()); - } - - - private PapSirkulasiVO populateModelVO() throws ParseException{ - PapSirkulasiVO papSirkulasiVO = new PapSirkulasiVO(); - Pasien pasien = pasienDao.findOne(547); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - - StatusAdaTidakAdaVO sianosisVO = new StatusAdaTidakAdaVO(); - sianosisVO.setName("Tidak ada"); - sianosisVO.setId(1); - papSirkulasiVO.setSianosis(sianosisVO); - - StatusAdaTidakAdaVO pucatVO = new StatusAdaTidakAdaVO(); - pucatVO.setName("Tidak ada"); - pucatVO.setId(1); - papSirkulasiVO.setPucat(pucatVO); - - papSirkulasiVO.setTglInput(generateDate()); - papSirkulasiVO.setPasien(pasienVO); - papSirkulasiVO.setIsNormal(true); - papSirkulasiVO.setStatusEnabled(true); - - return papSirkulasiVO; - } - - @Test - public void testFindByNoCmAndTglInput() { - String noCm = "000000000000005"; - String tglInput = "2016-07-17 04:26:00"; - Map result = papSirkulasiService.findByNoCmAndTglInput(noCm, DateUtil.toDate(tglInput)); - assertNotNull(result); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - } - - private PapSirkulasiVO populateModelVOUpdate() throws ParseException{ - PapSirkulasiVO papSirkulasiVO = new PapSirkulasiVO(); - Pasien pasien = pasienDao.findOne(547); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - papSirkulasiVO.setTglInput(generateDate()); - papSirkulasiVO.setPasien(pasienVO); - papSirkulasiVO.setIsNormal(false); - papSirkulasiVO.setStatusEnabled(false); - - return papSirkulasiVO; - } - - @Test - public void testPopulate() throws ParseException{ - /*Cek Method Populate*/ - PapSirkulasiVO papSirkulasiVO = populateModelVO(); - assertNotNull(papSirkulasiVO); - - /*Cek Dao*/ - Pasien pasien = pasienDao.findOne(544); - assertNotNull(pasien); - assertEquals("Reynaldi Ramadhani Pratama",pasien.getNamaPasien()); - - /*Cek Converter*/ - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - assertNotNull(pasienVO); - assertEquals("Reynaldi Ramadhani Pratama",pasienVO.getNamaPasien()); - } - - private Date generateDate() throws ParseException{ - SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a"); - String dateInString = "Friday, Jun 7, 2013 11:40:39 PM"; - - Date date = formatter.parse(dateInString); - return date; - - } - -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapSkriningGiziServiceImplTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapSkriningGiziServiceImplTest.java deleted file mode 100644 index c64e4287..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapSkriningGiziServiceImplTest.java +++ /dev/null @@ -1,146 +0,0 @@ -package com.jasamedika.medifirst2000.service.test; - -import static org.junit.Assert.*; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Map; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.converter.PasienConverter; -import com.jasamedika.medifirst2000.dao.PasienDao; -import com.jasamedika.medifirst2000.entities.PapSkriningGizi; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.service.PapSkriningGiziService; -import com.jasamedika.medifirst2000.vo.PapSkriningGiziVO; -import com.jasamedika.medifirst2000.vo.PasienVO; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapSkriningGiziServiceImplTest { - - @Autowired - private PapSkriningGiziService papSkriningGiziService; - - @Autowired - private PasienDao pasienDao; - - @Autowired - private PasienConverter pasienConverter; - - @Test - @Transactional - public void testAddSkriningGizi() { - PapSkriningGiziVO vo = populateModel(); - Map result = papSkriningGiziService.addSkriningGizi(vo); - assertNotNull(result); - - PapSkriningGizi papSkriningGizi = (PapSkriningGizi) result.get("papSkriningGizi"); - assertNotNull(papSkriningGizi); - assertEquals(generateDate(),papSkriningGizi.getTglInput()); - assertEquals(String.valueOf((float) 170),String.valueOf(papSkriningGizi.getTinggiBadan())); - assertEquals(String.valueOf((float) 68),String.valueOf(papSkriningGizi.getBeratBadan())); - assertEquals(String.valueOf((float) 60),String.valueOf(papSkriningGizi.getLingkarKepala())); - } - - @Test - @Transactional - public void testUpdateSkriningGizi() { - PapSkriningGiziVO vo = populateModel(); - Map result = papSkriningGiziService.addSkriningGizi(vo); - assertNotNull(result); - - PapSkriningGiziVO voUpdate = populateModel(); - voUpdate.setBeratBadan((float) 100); - voUpdate.setTinggiBadan((float) 100); - voUpdate.setLingkarKepala((float) 100); - - Map resultUpdate = papSkriningGiziService.addSkriningGizi(voUpdate); - assertNotNull(resultUpdate); - - PapSkriningGizi papSkriningGizi = (PapSkriningGizi) resultUpdate.get("papSkriningGizi"); - assertNotNull(papSkriningGizi); - assertEquals(generateDate(),papSkriningGizi.getTglInput()); - assertEquals(String.valueOf((float) 100),String.valueOf(papSkriningGizi.getTinggiBadan())); - assertEquals(String.valueOf((float) 100),String.valueOf(papSkriningGizi.getBeratBadan())); - assertEquals(String.valueOf((float) 100),String.valueOf(papSkriningGizi.getLingkarKepala())); - - } - - @Test - @Transactional - public void testFindByNoCmAndTglInput() { - Date date = generateDatefromString("06/07/2013 12:10:56"); - Map result = papSkriningGiziService.findByNoCmAndTglInput("000001", date); - assertNotNull(result); - } - - @Test - @Transactional - public void testPopulateModel(){ - /*Cek Pasien Dao*/ - Pasien pasien = pasienDao.findOne(544); - assertNotNull(pasien); - assertEquals("Reynaldi Ramadhani Pratama",pasien.getNamaPasien()); - - /*Cek Pasien Converter*/ - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - assertNotNull(pasienVO); - assertEquals("Reynaldi Ramadhani Pratama",pasienVO.getNamaPasien()); - - /*Cek Populate Model*/ - PapSkriningGiziVO vo = populateModel(); - assertNotNull(vo); - assertEquals(generateDate(),vo.getTglInput()); - assertEquals(String.valueOf((float) 170),String.valueOf(vo.getTinggiBadan())); - assertEquals(String.valueOf((float) 68),String.valueOf(vo.getBeratBadan())); - assertEquals(String.valueOf((float) 60),String.valueOf(vo.getLingkarKepala())); - - } - - private PapSkriningGiziVO populateModel(){ - PapSkriningGiziVO vo = new PapSkriningGiziVO(); - Pasien pasien = pasienDao.findOne(544); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - -// vo.setPasien(pasienVO); - vo.setTglInput(generateDate()); - vo.setTinggiBadan((float) 170); - vo.setBeratBadan((float) 68); - vo.setLingkarKepala((float) 60); - return vo; - } - - private Date generateDate(){ - SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a"); - String dateInString = "Friday, Jun 7, 2013 12:10:56 PM"; - - Date date = null; - try { - date = formatter.parse(dateInString); - } catch (ParseException e) { - e.printStackTrace(); - } - return date; - } - - private Date generateDatefromString(String string){ - SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss"); - - Date date = null; - try { - date = formatter.parse(string); - } catch (ParseException e) { - e.printStackTrace(); - } - return date; - } - -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapSkriningNyeriServiceImplTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapSkriningNyeriServiceImplTest.java deleted file mode 100644 index 1477471b..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapSkriningNyeriServiceImplTest.java +++ /dev/null @@ -1,179 +0,0 @@ -package com.jasamedika.medifirst2000.service.test; - -import static org.junit.Assert.*; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Map; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.converter.PasienConverter; -import com.jasamedika.medifirst2000.dao.PasienDao; -import com.jasamedika.medifirst2000.entities.DataLokasiNyeri; -import com.jasamedika.medifirst2000.entities.PapMuskuloskeletal; -import com.jasamedika.medifirst2000.entities.PapSkriningNyeri; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.service.PapSkriningNyeriService; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.DataLokasiNyeriVO; -import com.jasamedika.medifirst2000.vo.DataTipeNyeriVO; -import com.jasamedika.medifirst2000.vo.PapSkriningNyeriVO; -import com.jasamedika.medifirst2000.vo.PasienVO; -import com.jasamedika.medifirst2000.vo.StatusAdaTidakAdaVO; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapSkriningNyeriServiceImplTest { - - @Autowired - private PapSkriningNyeriService papSkriningNyeriService; - - @Autowired - private PasienDao pasienDao; - - @Autowired - private PasienConverter pasienConverter; - - @Test - @Transactional - public void testAddSkriningNyeri() { - PapSkriningNyeriVO papSkrinigNyeriVO = populateModel(); - Map result = papSkriningNyeriService.addSkriningNyeri(papSkrinigNyeriVO); - assertNotNull(result); - PapSkriningNyeri papSkriningNyeri = ((PapSkriningNyeri) result.get("papSkriningNyeri")); -// assertNotNull(papSkriningNyeri); -// assertNotNull(papSkriningNyeri.getPasien()); -// assertEquals("Reynaldi Ramadhani Pratama",((PapSkriningNyeri) result.get("papSkriningNyeri")).getPasien().getNamaPasien()); -// assertEquals("Frekuensi",((PapSkriningNyeri) result.get("papSkriningNyeri")).getFrekuensi()); -// assertEquals("Durasi",((PapSkriningNyeri) result.get("papSkriningNyeri")).getDurasi()); -// assertEquals("Tidak ada",((PapSkriningNyeri) result.get("papSkriningNyeri")).getRasaNyeri().getName()); - } - - @Test - @Transactional - public void testUpdateSkriningNyeri() { - PapSkriningNyeriVO papSkrinigNyeriVO = populateModel(); - Map result = papSkriningNyeriService.addSkriningNyeri(papSkrinigNyeriVO); - assertNotNull(result); - - PapSkriningNyeriVO papSkrinigNyeriVOUpdate = populateModel(); - papSkrinigNyeriVOUpdate.setDurasi("Durasi Update"); - papSkrinigNyeriVOUpdate.setFrekuensi("Frekuensi Update"); - Map resultUpdate = papSkriningNyeriService.addSkriningNyeri(papSkrinigNyeriVOUpdate); - assertNotNull(resultUpdate); - -// PapSkriningNyeri papSkriningNyeri = ((PapSkriningNyeri) resultUpdate.get("papSkriningNyeri")); -// assertNotNull(papSkriningNyeri); -// assertNotNull(papSkriningNyeri.getPasien()); - -// assertEquals("Frekuensi",((PapSkriningNyeri) resultUpdate.get("papSkriningNyeri")).getFrekuensi()); -// assertEquals("Durasi",((PapSkriningNyeri) resultUpdate.get("papSkriningNyeri")).getDurasi()); -// assertEquals("Tidak ada",((PapSkriningNyeri) resultUpdate.get("papSkriningNyeri")).getRasaNyeri().getName()); - } - - @Test - @Transactional - public void testFindByNoCmAndTglInput() { - Map result = papSkriningNyeriService.findByNoCmAndTglInput("000000000000005", DateUtil.toDate("2016-07-17 04:26:00")); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - } - - @Test - @Transactional - public void testFindRegistrasiPelayananPasienByNoCmAndTglRegistrasi() { - Map result = papSkriningNyeriService.findByNoCmAndTglInput("000000000000005", DateUtil.toDate("2016-07-17 04:26:00")); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - } - - @Test - @Transactional - public void testfindRegistrasiPelayanaPasien() { - Map result = papSkriningNyeriService.findRegistrasiPelayananPasienByNoCmAndTglRegistrasi("000000000000005",(short) 0, DateUtil.toDate("2016-07-17 05:41:29")); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); -// assertTrue(dataFound); - assertFalse(dataFound); - } - - @Test - @Transactional - public void testFindPasienByNoCm() { - Map result = papSkriningNyeriService.findPasienByNoCm("000000000000005"); - Boolean dataFound=new Boolean((boolean) result.get("dataFound")); - assertTrue(dataFound); - } - - @Test - @Transactional - public void testPopulateModel(){ - /*Cek Pasien Dao*/ - Pasien pasien = pasienDao.findOne(544); - assertNotNull(pasien); - assertEquals("Reynaldi Ramadhani Pratama",pasien.getNamaPasien()); - - /*Cek Pasien Converter*/ - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - assertNotNull(pasienVO); - assertEquals("Reynaldi Ramadhani Pratama",pasienVO.getNamaPasien()); - - /*Cek Atribut VO*/ - StatusAdaTidakAdaVO statusAdaTidakAdaVO = new StatusAdaTidakAdaVO(); - statusAdaTidakAdaVO.setId(1); - statusAdaTidakAdaVO.setName("Tidak Ada"); - assertNotNull(statusAdaTidakAdaVO); - assertEquals(String.valueOf(1), String.valueOf(statusAdaTidakAdaVO.getId())); - assertEquals("Tidak Ada",statusAdaTidakAdaVO.getName()); - - /*Cek PopulateModel*/ - PapSkriningNyeriVO papSkriningNyeriVO = populateModel(); - assertEquals("Frekuensi",papSkriningNyeriVO.getFrekuensi()); - assertEquals("Durasi",papSkriningNyeriVO.getDurasi()); - assertEquals("Lokasi nyeri 1",papSkriningNyeriVO.getLokasiNyeri().getName()); - assertEquals("Terus menerus",papSkriningNyeriVO.getTypeNyeri().getName()); - } - - private PapSkriningNyeriVO populateModel(){ - PapSkriningNyeriVO papSkriningNyeriVO = new PapSkriningNyeriVO(); - Pasien pasien = pasienDao.findOne(544); - PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); - StatusAdaTidakAdaVO statusAdaTidakAdaVO = new StatusAdaTidakAdaVO(); - statusAdaTidakAdaVO.setId(1); - statusAdaTidakAdaVO.setName("Tidak ada"); - DataLokasiNyeriVO dataLokasiNyeriVO = new DataLokasiNyeriVO(); - dataLokasiNyeriVO.setId(1); - dataLokasiNyeriVO.setName("Lokasi nyeri 1"); - DataTipeNyeriVO dataTypeNyeriVO = new DataTipeNyeriVO(); - dataTypeNyeriVO.setId(1); - dataTypeNyeriVO.setName("Terus menerus"); - - papSkriningNyeriVO.setFrekuensi("Frekuensi"); - papSkriningNyeriVO.setRasaNyeri(statusAdaTidakAdaVO); - papSkriningNyeriVO.setDurasi("Durasi"); - papSkriningNyeriVO.setTypeNyeri(dataTypeNyeriVO); - papSkriningNyeriVO.setLokasiNyeri(dataLokasiNyeriVO); - //papSkriningNyeriVO.setPasien(pasienVO); - papSkriningNyeriVO.setTglInput(generateDate()); - return papSkriningNyeriVO; - } - - private Date generateDate(){ - SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a"); - String dateInString = "Friday, Jun 7, 2013 12:10:56 PM"; - - Date date = null; - try { - date = formatter.parse(dateInString); - } catch (ParseException e) { - e.printStackTrace(); - } - return date; - } -} diff --git a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapTandaVitalServiceImplTest.java b/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapTandaVitalServiceImplTest.java deleted file mode 100644 index 0f812649..00000000 --- a/jasamedika-business/src/test/java/com/jasamedika/medifirst2000/service/test/PapTandaVitalServiceImplTest.java +++ /dev/null @@ -1,144 +0,0 @@ -package com.jasamedika.medifirst2000.service.test; - -import static org.junit.Assert.*; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Map; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -import com.jasamedika.medifirst2000.converter.PasienConverter; -import com.jasamedika.medifirst2000.dao.PasienDao; -import com.jasamedika.medifirst2000.entities.PapTandaVital; -import com.jasamedika.medifirst2000.entities.Pasien; -import com.jasamedika.medifirst2000.service.PapTandaVitalService; -import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.PapTandaVitalVO; -import com.jasamedika.medifirst2000.vo.PasienVO; -import com.jasamedika.medifirst2000.vo.StatusYaTidakVO; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class PapTandaVitalServiceImplTest { - - @Autowired - private PapTandaVitalService papTandaVitalService; - - @Autowired - private PasienDao pasienDao; - - @Autowired - private PasienConverter pasienConverter; - - @Test - @Transactional - public void testAddTandaVital() { - /*PapTandaVitalVO vo = populateModel(); - Map result = papTandaVitalService.addTandaVital(vo); - assertNotNull(result); - - PapTandaVital papTandaVital = (PapTandaVital) result.get("papTandaVital"); - //assertEquals("Reynaldi Ramadhani Pratama", papTandaVital.getPasien().getNamaPasien()); - assertEquals("Tidak", papTandaVital.getKesadaran().getName()); - assertEquals(generateDate(), papTandaVital.getTglInput());*/ - } - - @Test - @Transactional - public void testUpdateTandaVital() { - /*PapTandaVitalVO vo = populateModel(); - Map result = papTandaVitalService.addTandaVital(vo); - assertNotNull(result); - - PapTandaVitalVO voUpdate = populateModel(); - StatusYaTidakVO statusYaTidakVO = new StatusYaTidakVO(); - statusYaTidakVO.setId(2); - statusYaTidakVO.setName("Ya"); - voUpdate.setKesadaran(statusYaTidakVO); - Map resultUpdate = papTandaVitalService.addTandaVital(voUpdate); - assertNotNull(resultUpdate); - PapTandaVital papTandaVital = (PapTandaVital) resultUpdate.get("papTandaVital"); - assertEquals("Ya",papTandaVital.getKesadaran().getName());*/ - } - - @Test - @Transactional - public void testFindByNoCmAndTglInput() { -// Map result = papTandaVitalService.findByNoCmAndTglInput("000001", DateUtil.toDate("2013-06-07 12:10:56")); -// Boolean dataFound=new Boolean((boolean) result.get("dataFound")); -// assertTrue(dataFound); - } - - @Test - @Transactional - public void testFindRegistrasiPelayananPasienByNoCmAndTglRegistrasi() { -// Map result = papTandaVitalService.findRegistrasiPelayananPasienByNoCmAndTglRegistrasi("000000000000005",(short) 0, DateUtil.toDate("2016-07-17 04:26:00")); -// Boolean dataFound=new Boolean((boolean) result.get("dataFound")); -// assertTrue(dataFound); - } - - @Test - @Transactional - public void testFindPasienByNoCm() { -// Map result = papTandaVitalService.findPasienByNoCm("000000000000005"); -// Boolean dataFound=new Boolean((boolean) result.get("dataFound")); -// assertTrue(dataFound); - } - - - @Test - @Transactional - public void testPopulateModel(){ -// /*Cek Pasien Dao*/ -// Pasien pasien = pasienDao.findOne(544); -// assertNotNull(pasien); -// assertEquals("Reynaldi Ramadhani Pratama",pasien.getNamaPasien()); -// -// /*Cek Pasien Converter*/ -// PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); -// assertNotNull(pasienVO); -// assertEquals("Reynaldi Ramadhani Pratama",pasienVO.getNamaPasien()); -// -// /*Cek VO*/ -// PapTandaVitalVO vo = populateModel(); -// //assertEquals("Reynaldi Ramadhani Pratama", vo.getPasien().getNamaPasien()); -// assertEquals("Tidak", vo.getKesadaran().getName()); -// assertEquals(generateDate(), vo.getTglInput()); - } - - private PapTandaVitalVO populateModel(){ - PapTandaVitalVO vo = new PapTandaVitalVO(); -// Pasien pasien = pasienDao.findOne(544); -// PasienVO pasienVO = pasienConverter.transferModelToVO(pasien,new PasienVO()); -// StatusYaTidakVO statusYaTidakVO = new StatusYaTidakVO(); -// statusYaTidakVO.setId(1); -// statusYaTidakVO.setName("Tidak"); -// -// //vo.setPasien(pasienVO); -// vo.setKesadaran(statusYaTidakVO); -// vo.setTglInput(generateDate()); - return vo; - - } - - private Date generateDate(){ - SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a"); - String dateInString = "Friday, Jun 7, 2013 12:10:56 PM"; - - Date date = null; - try { - date = formatter.parse(dateInString); - } catch (ParseException e) { - e.printStackTrace(); - } - return date; - } - -} diff --git a/jasamedika-core/jasamedika-core.iml b/jasamedika-core/jasamedika-core.iml deleted file mode 100644 index e3973599..00000000 --- a/jasamedika-core/jasamedika-core.iml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/AgeCalculatorTest.java b/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/AgeCalculatorTest.java deleted file mode 100644 index 6f9d48f9..00000000 --- a/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/AgeCalculatorTest.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.jasamedika.medifirst2000.util; - -import static org.junit.Assert.assertEquals; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; - -import org.junit.Test; - -/** - * The Class AgeCalculatorTest. - * - * @author Roberto - */ -public class AgeCalculatorTest { - - //@Test - public void testGetAge() throws ParseException { -// SimpleDateFormat sdf = new SimpleDateFormat("dd-M-yyyy hh:mm:ss"); -// String dateInString = "11-05-1989 10:20:56"; - SimpleDateFormat sdf = new SimpleDateFormat("dd-M-yyyy"); - String dateInString = "11-05-1989"; - Date birthDate = sdf.parse(dateInString); - assertEquals(AgeCalculator.calculateAge(birthDate).getDays(), 0); - assertEquals(AgeCalculator.calculateAge(birthDate).getMonths(), 0); - assertEquals(AgeCalculator.calculateAge(birthDate).getYears(), 27); - } -} diff --git a/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/CommonUtilTest.java b/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/CommonUtilTest.java deleted file mode 100644 index 56f7dfa0..00000000 --- a/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/CommonUtilTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.jasamedika.medifirst2000.util; - -import static org.junit.Assert.assertFalse; - -import org.junit.Test; - -/** - * The Class DateUtilTest. - * - * @author Roberto - */ -public class CommonUtilTest { - - @Test - public void testCheckEquality() { - - String object1 = "harkit"; - String object2 = "Harkit"; - assertFalse(CommonUtil.checkEquality(object1, object2)); - } - -} diff --git a/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/CurrencyUtilTest.java b/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/CurrencyUtilTest.java deleted file mode 100644 index 9d1273cb..00000000 --- a/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/CurrencyUtilTest.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.jasamedika.medifirst2000.util; - -import org.junit.Test; -import static org.junit.Assert.*; - -/** - * The Class CurrencyUtilTest. - * - * @author Roberto - */ -public class CurrencyUtilTest { - - @Test - public void testGetPriceInINA() { - - double input = 10000000; - assertNotNull(CurrencyUtil.getPriceInINA(input)); - assertEquals(CurrencyUtil.getPriceInINA(input), "Rp. 10.000.000,00"); - } - - @Test - public void testGetPriceInUSD() { - - double input = 100.25; - assertNotNull(CurrencyUtil.getPriceInUSD(input)); - assertEquals(CurrencyUtil.getPriceInUSD(input), "$100.25"); - } - -} diff --git a/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/DateUtilTest.java b/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/DateUtilTest.java deleted file mode 100644 index 9a9b9a21..00000000 --- a/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/DateUtilTest.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.jasamedika.medifirst2000.util; - -import static org.junit.Assert.assertEquals; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; - -import org.junit.Test; - -/** - * The Class DateUtilTest. - * - * @author Roberto - */ -public class DateUtilTest { - -// @Test -// public void testGetAge() throws ParseException { -// SimpleDateFormat sdf = new SimpleDateFormat("dd-M-yyyy hh:mm:ss"); -// String dateInString = "30-06-1976 10:20:56"; -// Date birthDate = sdf.parse(dateInString); -// int result = DateUtil.getAge(birthDate); -// assertEquals(result, 40); -// } - -// @Test -// public void testGetMonthOf2Date() throws ParseException { -// SimpleDateFormat sdf = new SimpleDateFormat("dd-M-yyyy hh:mm:ss"); -// String dateInString1 = "30-06-2016 10:20:56"; -// Date date1 = sdf.parse(dateInString1); -// String dateInString2 = "30-05-2016 10:20:56"; -// Date date2 = sdf.parse(dateInString2); -// int result = DateUtil.getMonthOf2Date(date1, date2); -// assertEquals(result, 1); -// } - -// @Test -// public void testFromExcelDateToDate() throws Exception { -// String date = "06-2016"; -// -// SimpleDateFormat formatter = new SimpleDateFormat("MM-yyyy"); -// assertEquals(date, formatter.format(DateUtil.fromExcelDateToDate(date))); -// } - -// @Test -// public void testGetFirstDate() throws Exception { -// SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy"); -// System.out.println(DateUtil.getFirstLastDateOfMonth(new Date(), true)); -// System.out.println(DateUtil.getFirstLastDateOfMonth(new Date(), false)); -// assertEquals("01-03-2017", formatter.format(DateUtil.getFirstLastDateOfMonth(new Date(), true))); -// } - -// @Test -// public void testGetLastDate() throws Exception { -// SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy"); -// System.out.println(DateUtil.getFirstLastDateOfMonth(new Date(), true)); -// System.out.println(DateUtil.getFirstLastDateOfMonth(new Date(), false)); -// assertEquals("31-03-2017", formatter.format(DateUtil.getFirstLastDateOfMonth(new Date(), false))); -// } - -} diff --git a/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/IndonesiaNumberToWordsTest.java b/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/IndonesiaNumberToWordsTest.java deleted file mode 100644 index ffc07866..00000000 --- a/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/IndonesiaNumberToWordsTest.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.jasamedika.medifirst2000.util; - -import static org.junit.Assert.assertEquals; - -import org.junit.Test; - -/** - * The Class DateUtilTest. - * - * @author Roberto - */ -public class IndonesiaNumberToWordsTest { - - @Test - public void testConvert() { - long input = 92803; - String result = IndonesianNumberToWords.convert(input); - assertEquals(result, "sembilan puluh dua ribu delapan ratus tiga"); - } -} diff --git a/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/PasswordUtilTest.java b/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/PasswordUtilTest.java deleted file mode 100644 index ef81ff96..00000000 --- a/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/PasswordUtilTest.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.jasamedika.medifirst2000.util; - -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.security.NoSuchAlgorithmException; - -import org.junit.Test; - -/** - * The Class PasswordUtilTest. - * - * @author Roberto - */ -public class PasswordUtilTest { - - @Test - public void testGeneratePassword() throws NoSuchAlgorithmException, - UnsupportedEncodingException { - PasswordUtil passwordUtil = new PasswordUtil(); - String password = "admin"; - String encryptedPassword = passwordUtil.encryptPassword(password); - System.out.println("encryptedPassword (" + password + ") = " - + encryptedPassword); - assertNotNull(encryptedPassword); - } - - @Test - public void testPasswordEquals() throws - IOException { - PasswordUtil passwordUtil = new PasswordUtil(); - String password = "admin"; - String hashPassword = "9NEWRrb+A0sJ+41H+acQEy7rdY8=$GCZZyCy+Cs4="; - assertTrue(passwordUtil.isPasswordEqual(password, hashPassword)); - } - -} diff --git a/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/RegexUtilTest.java b/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/RegexUtilTest.java deleted file mode 100644 index e08bd989..00000000 --- a/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/RegexUtilTest.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.jasamedika.medifirst2000.util; - -import static org.junit.Assert.assertTrue; - -import java.text.ParseException; - -import org.junit.Test; - -/** - * The Class RegexUtilTest. - * - * @author Roberto - */ -public class RegexUtilTest { - - @Test - public void testValidateIndonesiaPhoneNumber() throws ParseException { - assertTrue(StringUtil.validateIndonesiaPhoneNumber("082112345678")); - assertTrue(StringUtil.validateIndonesiaPhoneNumber("0821 1234567")); - assertTrue(StringUtil.validateIndonesiaPhoneNumber("021 1234567")); - } - - @Test - public void testValidateExampleNoRegistration() throws ParseException { - assertTrue(StringUtil.validateNoRegistrationExample("REG000001")); - assertTrue(StringUtil.validateNoRegistrationExample("REG000021")); - assertTrue(StringUtil.validateNoRegistrationExample("REG123456")); - } - -} diff --git a/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/StringUtilTest.java b/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/StringUtilTest.java deleted file mode 100644 index 963f543e..00000000 --- a/jasamedika-core/src/test/java/com/jasamedika/medifirst2000/util/StringUtilTest.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.jasamedika.medifirst2000.util; - -import static org.junit.Assert.assertEquals; - -import java.text.ParseException; - -import org.junit.Test; - -/** - * The Class AgeCalculatorTest. - * - * @author Roberto - */ -public class StringUtilTest { - - @Test - public void testNumberFormat() throws ParseException { - - assertEquals(StringUtil.formatNumber("10", 4), "0010"); - assertEquals(StringUtil.formatNumber("6", 2), "06"); - - assertEquals(StringUtil.formatNumber("16", 5), "00016"); - } -} diff --git a/jasamedika-it/src/test/java/com/jasamedika/medifirst2000/entities/JenisLogTests.java b/jasamedika-it/src/test/java/com/jasamedika/medifirst2000/entities/JenisLogTests.java deleted file mode 100644 index 484a09cb..00000000 --- a/jasamedika-it/src/test/java/com/jasamedika/medifirst2000/entities/JenisLogTests.java +++ /dev/null @@ -1,473 +0,0 @@ -package com.jasamedika.medifirst2000.entities; - -import com.jasamedika.medifirst2000.logging.dao.JenisLogDao; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.transaction.annotation.Transactional; - -/** - * @author Salman - * @version 1.0.0 - * @since 31/01/2024 - */ -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:com/jasamedika/**/applicationContext.xml") -public class JenisLogTests { - private final Logger LOGGER = LoggerFactory.getLogger(JenisLogTests.class); - - @Autowired - private JenisLogDao jenisLogDao; - - @Test - @Transactional - public void initJenisLog() { - if (!jenisLogDao.existsByJenisLog("Batal Bayar")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Batal Bayar"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Batal Input Master Barang Produksi")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Batal Input Master Barang Produksi"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Batal Input Pengajuan Pelatihan")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Batal Input Pengajuan Pelatihan"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Batal Keluhan Pelanggan")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Batal Keluhan Pelanggan"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Batal Kirim")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Batal Kirim"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Batal Penanganan Keluhan Pelanggan")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Batal Penanganan Keluhan Pelanggan"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Batal Penelitian Kegiatan Eksternal")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Batal Penelitian Kegiatan Eksternal"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Batal Penelitian Kegiatan Pegawai")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Batal Penelitian Kegiatan Pegawai"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Batal Rawat Inap")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Batal Rawat Inap"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Batal Usulan Permintaan Barang")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Batal Usulan Permintaan Barang"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("CPPT")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("CPPT"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Diagnosis")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Diagnosis"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Diskon Layanan")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Diskon Layanan"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Edit Registrasi")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Edit Registrasi"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Hapus ChartOfAccout")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Hapus ChartOfAccout"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Hapus Konsul")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Hapus Konsul"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Hapus Layanan")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Hapus Layanan"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Hapus Layanan Tidak Terklaim")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Hapus Layanan Tidak Terklaim"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Hapus Registrasi")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Hapus Registrasi"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Hapus Resep Apotik")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Hapus Resep Apotik"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Input Barang Kadaluarsa")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Input Barang Kadaluarsa"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Input Resep Apotik")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Input Resep Apotik"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Input SEP")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Input SEP"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Input Tindakan")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Input Tindakan"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Input/Ubah Petugas Layanan")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Input/Ubah Petugas Layanan"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Keluhan Pelanggan")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Keluhan Pelanggan"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Klaim Tindakan Tidak Terklaim")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Klaim Tindakan Tidak Terklaim"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Konsul Ruangan")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Konsul Ruangan"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Konsultasi")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Konsultasi"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Login User")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Login User"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Order Jadwal Bedah")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Order Jadwal Bedah"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Order Laboratorium")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Order Laboratorium"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Order Radiologi")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Order Radiologi"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Order Resep")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Order Resep"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Pasien Pindah")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Pasien Pindah"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Pasien Pulang")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Pasien Pulang"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Pendaftaran Pasien")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Pendaftaran Pasien"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Pengkajian Awal")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Pengkajian Awal"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Pengkajian Keperawatan")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Pengkajian Keperawatan"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Resume Medis")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Resume Medis"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Retur Resep Apotik")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Retur Resep Apotik"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Save SPPB Struk Order")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Save SPPB Struk Order"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Simpan EMR ICU")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Simpan EMR ICU"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Simpan Penelitian Kegiatan Eksternal")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Simpan Penelitian Kegiatan Eksternal"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Simpan Penelitian Kegiatan Pegawai")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Simpan Penelitian Kegiatan Pegawai"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Simpan Struk Pelayanan")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Simpan Struk Pelayanan"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Status Kehadiran Peserta Pelatihan")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Status Kehadiran Peserta Pelatihan"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Stok Opname")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Stok Opname"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Summary List")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Summary List"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Tambah Produk")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Tambah Produk"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Ubah Penelitian Kegiatan Eksternal")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Ubah Penelitian Kegiatan Eksternal"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Ubah Penelitian Kegiatan Pegawai")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Ubah Penelitian Kegiatan Pegawai"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Ubah Produk")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Ubah Produk"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Ubah Rekanan")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Ubah Rekanan"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Ubah Tgl Detail Registrasi")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Ubah Tgl Detail Registrasi"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Ubah Tgl Pelayanan")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Ubah Tgl Pelayanan"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Unverifikasi Pengajuan Pelatihan Bag SDM")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Unverifikasi Pengajuan Pelatihan Bag SDM"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Unverifikasi TataRekening")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Unverifikasi TataRekening"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Update NoStruk Terima Barang")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Update NoStruk Terima Barang"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Update Struk Pelayanan")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Update Struk Pelayanan"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Verifikasi Order Laboratorium")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Verifikasi Order Laboratorium"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Verifikasi Pengajuan Pelatihan Bag SDM")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Verifikasi Pengajuan Pelatihan Bag SDM"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - if (!jenisLogDao.existsByJenisLog("Verifikasi TataRekening")) { - JenisLog jenisLog = new JenisLog(); - jenisLog.setJenisLog("Verifikasi TataRekening"); - jenisLog.setStatusEnabled(true); - jenisLog.setKdProfile((short) 0); - jenisLogDao.save(jenisLog); - } - - LOGGER.info("Initiate jenis log data...!"); - } -} diff --git a/jasamedika-web/src/test/resources/interceptor-test.xml b/jasamedika-web/src/test/resources/interceptor-test.xml deleted file mode 100644 index e7ea5632..00000000 --- a/jasamedika-web/src/test/resources/interceptor-test.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - From f8f426a7aa2ba87048177b7f6a99c5729211c39b Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Thu, 1 Feb 2024 20:30:15 +0700 Subject: [PATCH 10/10] Update pom.xml --- Medifirst2000/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Medifirst2000/pom.xml b/Medifirst2000/pom.xml index f4ef78c4..296c1e16 100644 --- a/Medifirst2000/pom.xml +++ b/Medifirst2000/pom.xml @@ -19,10 +19,10 @@ ../jasamedika-it ../jasamedika-k3kl ../jasamedika-laundry + ../jasamedika-pelayanan ../jasamedika-reporting ../jasamedika-sdm ../jasamedika-web - ../jasamedika-pelayanan