pembuatan service akses menu skoring tindakan medis dan penyesuaian untuk front-end

This commit is contained in:
salmanoe 2021-03-07 17:11:03 +07:00
parent 1b668a51ee
commit ef5067ee34
6 changed files with 242 additions and 69 deletions

View File

@ -14,7 +14,7 @@ import com.jasamedika.medifirst2000.entities.MapPegawaiJabatanToUnitKerja;
/**
* Repository class for AbsensiPegawai
*
* @author Gunandi
* @author Gunandi ft Salman
*/
@Repository("mapPegawaiJabatanToUnitKerjaDao")
public interface MapPegawaiJabatanToUnitKerjaDao extends CrudRepository<MapPegawaiJabatanToUnitKerja, Integer> {
@ -395,4 +395,48 @@ public interface MapPegawaiJabatanToUnitKerjaDao extends CrudRepository<MapPegaw
List<Map<String, Object>> findEvaluasiJabatanByAllJabatanPegawaiBaru(
@Param("listJabatanId") List<Integer> listIdJabatan);
String strAksesPegawaiStaf = "select new Map(mjp.unitKerjaPegawaiId as unitKerjaId,pg.id as pegawaiId) "
+ "from MapPegawaiJabatanToUnitKerja mjp " + "inner join mjp.pegawai pg " + "inner join mjp.jabatan jb "
+ "where mjp.statusEnabled is true " + "and pg.statusEnabled is true " + "and jb.statusEnabled is true "
+ "and pg.id = :pegawaiId " + "and jb.levelJabatan in (5) ";
String strAksesPegawaiAtasan = "select distinct new Map(mjp.unitKerjaPegawaiId as unitKerjaId,pg.id as pegawaiId) "
+ "from MapPegawaiJabatanToUnitKerja mjp, MapPegawaiJabatanToUnitKerja mja "
+ "inner join mjp.atasanLangsung pg " + "inner join mja.jabatan jb "
+ "where mjp.atasanLangsungId = mja.pegawaiId " + "and mja.pegawaiId = pg.id "
+ "and mjp.statusEnabled is true " + "and mja.statusEnabled is true " + "and pg.statusEnabled is true "
+ "and jb.statusEnabled is true " + "and pg.id = :pegawaiId " + "and jb.levelJabatan in (4,3) ";
String strAksesPegawaiPenilai = "select distinct new Map(mjp.unitKerjaPegawaiId as unitKerjaId,pg.id as pegawaiId) "
+ "from MapPegawaiJabatanToUnitKerja mjp, MapPegawaiJabatanToUnitKerja mjn "
+ "inner join mjp.pejabatPenilai pg " + "inner join mjn.jabatan jb "
+ "where mjp.pejabatPenilaiId = mjn.pegawaiId " + "and mjn.pegawaiId = pg.id "
+ "and mjp.statusEnabled is true " + "and mjn.statusEnabled is true " + "and pg.statusEnabled is true "
+ "and jb.statusEnabled is true " + "and pg.id = :pegawaiId " + "and jb.levelJabatan in (2,1) ";
String unitKerja = "and mjp.unitKerjaPegawaiId in (:listUnitKerjaId) ";
String sortUnitKerja = "order by mjp.unitKerjaPegawaiId";
@Query(strAksesPegawaiStaf + unitKerja + sortUnitKerja)
List<Map<String, Object>> findAksesPegawaiStaf(@Param("listUnitKerjaId") List<Integer> listIdUnitKerja,
@Param("pegawaiId") Integer idPegawai);
@Query(strAksesPegawaiAtasan + unitKerja + sortUnitKerja)
List<Map<String, Object>> findAksesPegawaiAtasan(@Param("listUnitKerjaId") List<Integer> listIdUnitKerja,
@Param("pegawaiId") Integer idPegawai);
@Query(strAksesPegawaiPenilai + unitKerja + sortUnitKerja)
List<Map<String, Object>> findAksesPegawaiPenilai(@Param("listUnitKerjaId") List<Integer> listIdUnitKerja,
@Param("pegawaiId") Integer idPegawai);
@Query(strAksesPegawaiStaf + sortUnitKerja)
List<Map<String, Object>> findAksesPegawaiStaf(@Param("pegawaiId") Integer idPegawai);
@Query(strAksesPegawaiAtasan + sortUnitKerja)
List<Map<String, Object>> findAksesPegawaiAtasan(@Param("pegawaiId") Integer idPegawai);
@Query(strAksesPegawaiPenilai + sortUnitKerja)
List<Map<String, Object>> findAksesPegawaiPenilai(@Param("pegawaiId") Integer idPegawai);
}

View File

@ -23,7 +23,7 @@ public interface SkoringTindakanMedisDao extends PagingAndSortingRepository<Skor
+ "inner join stm.produk pr " + "inner join stm.kelompokKerja sk " + "inner join sk.unitKerja uk "
+ "where stm.statusEnabled is true";
String kelompokKerja = " and sk.id = :subunitKerjaId";
String kelompokKerja = " and sk.id in (:listSubunitKerjaId)";
String produk = " and lower(pr.namaProduk) like %:namaProduk%";
@ -37,7 +37,7 @@ public interface SkoringTindakanMedisDao extends PagingAndSortingRepository<Skor
List<Map<String, Object>> findAllEnabled();
@Query(strAllEnabled + kelompokKerja + sortSearch)
List<Map<String, Object>> findAllEnabledByUnit(@Param("subunitKerjaId") Integer idKelompokKerja);
List<Map<String, Object>> findAllEnabledByUnit(@Param("listSubunitKerjaId") List<Integer> listIdKelompokKerja);
@Query(strAllEnabled + produk + sortSearch)
List<Map<String, Object>> findAllEnabledByProduk(@Param("namaProduk") String namaProduk);
@ -49,15 +49,15 @@ public interface SkoringTindakanMedisDao extends PagingAndSortingRepository<Skor
List<Map<String, Object>> findAllEnabledByVerif(@Param("isStatusVerifikasi") Boolean statusVerifikasi);
@Query(strAllEnabled + kelompokKerja + produk + sortSearch)
List<Map<String, Object>> findAllEnabledByUnitProduk(@Param("subunitKerjaId") Integer idKelompokKerja,
List<Map<String, Object>> findAllEnabledByUnitProduk(@Param("listSubunitKerjaId") List<Integer> listIdKelompokKerja,
@Param("namaProduk") String namaProduk);
@Query(strAllEnabled + kelompokKerja + detailProduk + sortSearch)
List<Map<String, Object>> findAllEnabledByUnitDetail(@Param("subunitKerjaId") Integer idKelompokKerja,
List<Map<String, Object>> findAllEnabledByUnitDetail(@Param("listSubunitKerjaId") List<Integer> listIdKelompokKerja,
@Param("detailProduk") String detailProduk);
@Query(strAllEnabled + kelompokKerja + statusVerifikasi + sortSearch)
List<Map<String, Object>> findAllEnabledByUnitVerif(@Param("subunitKerjaId") Integer idKelompokKerja,
List<Map<String, Object>> findAllEnabledByUnitVerif(@Param("listSubunitKerjaId") List<Integer> listIdKelompokKerja,
@Param("isStatusVerifikasi") Boolean statusVerifikasi);
@Query(strAllEnabled + produk + detailProduk + sortSearch)
@ -73,15 +73,15 @@ public interface SkoringTindakanMedisDao extends PagingAndSortingRepository<Skor
@Param("isStatusVerifikasi") Boolean statusVerifikasi);
@Query(strAllEnabled + kelompokKerja + produk + detailProduk + sortSearch)
List<Map<String, Object>> findAllEnabledByUnitProdukDetail(@Param("subunitKerjaId") Integer idKelompokKerja,
List<Map<String, Object>> findAllEnabledByUnitProdukDetail(@Param("listSubunitKerjaId") List<Integer> listIdKelompokKerja,
@Param("namaProduk") String namaProduk, @Param("detailProduk") String detailProduk);
@Query(strAllEnabled + kelompokKerja + produk + statusVerifikasi + sortSearch)
List<Map<String, Object>> findAllEnabledByUnitProdukVerif(@Param("subunitKerjaId") Integer idKelompokKerja,
List<Map<String, Object>> findAllEnabledByUnitProdukVerif(@Param("listSubunitKerjaId") List<Integer> listIdKelompokKerja,
@Param("namaProduk") String namaProduk, @Param("isStatusVerifikasi") Boolean statusVerifikasi);
@Query(strAllEnabled + kelompokKerja + detailProduk + statusVerifikasi + sortSearch)
List<Map<String, Object>> findAllEnabledByUnitDetailVerif(@Param("subunitKerjaId") Integer idKelompokKerja,
List<Map<String, Object>> findAllEnabledByUnitDetailVerif(@Param("listSubunitKerjaId") List<Integer> listIdKelompokKerja,
@Param("detailProduk") String detailProduk, @Param("isStatusVerifikasi") Boolean statusVerifikasi);
@Query(strAllEnabled + produk + detailProduk + statusVerifikasi + sortSearch)
@ -89,7 +89,7 @@ public interface SkoringTindakanMedisDao extends PagingAndSortingRepository<Skor
@Param("detailProduk") String detailProduk, @Param("isStatusVerifikasi") Boolean statusVerifikasi);
@Query(strAllEnabled + kelompokKerja + produk + detailProduk + statusVerifikasi + sortSearch)
List<Map<String, Object>> findAllEnabledByUnitProdukDetailVerif(@Param("subunitKerjaId") Integer idKelompokKerja,
List<Map<String, Object>> findAllEnabledByUnitProdukDetailVerif(@Param("listSubunitKerjaId") List<Integer> listIdKelompokKerja,
@Param("namaProduk") String namaProduk, @Param("detailProduk") String detailProduk,
@Param("isStatusVerifikasi") Boolean statusVerifikasi);

View File

@ -12,43 +12,37 @@ import com.jasamedika.medifirst2000.entities.SubUnitKerjaPegawai;
@Repository
public interface SubUnitKerjaDao extends PagingAndSortingRepository<SubUnitKerjaPegawai, Integer> {
@Query("select model from SubUnitKerjaPegawai model where model.statusEnabled is true and model.id != 0 order by model.name")
List<SubUnitKerjaPegawai> getAllSubUnitKerja();
@Query("select model from SubUnitKerjaPegawai model where model.statusEnabled is true and lower(model.name) like lower(:name) order by model.name")
List<SubUnitKerjaPegawai> getSubUnitKerjaByName(@Param("name") String name);
@Query("select model from SubUnitKerjaPegawai model where model.statusEnabled is true and model.unitKerjaId = :id order by model.name")
List<SubUnitKerjaPegawai> getSubUnitKerjaByUnitkerja(@Param("id") Integer id);
@Query("select subUnitKerja.id "+
"from MapPegawaiJabatanToUnitKerja mappeg "+
"left join mappeg.pegawai p "+
"inner join mappeg.subUnitKerjaPegawai subUnitKerja "+
"where mappeg.statusEnabled is true "+
"and mappeg.isPrimary is true "+
"and mappeg.statusEnabled is true "+
"and p.statusEnabled is true "+
"and p.id = :idPegawai")
@Query("select subUnitKerja.id " + "from MapPegawaiJabatanToUnitKerja mappeg " + "left join mappeg.pegawai p "
+ "inner join mappeg.subUnitKerjaPegawai subUnitKerja " + "where mappeg.statusEnabled is true "
+ "and mappeg.isPrimary is true " + "and mappeg.statusEnabled is true " + "and p.statusEnabled is true "
+ "and p.id = :idPegawai")
Integer getByIdPegawai(@Param("idPegawai") Integer idPegawai);
@Query("select new Map(model.id as id, model.name as namaSubunitKerja) "+
"from SubUnitKerjaPegawai model "+
"where model.statusEnabled is true and model.unitKerjaId=:idUnitKerjaPegawai "
+ "order by model.name")
@Query("select new Map(model.id as id, model.name as namaSubunitKerja) " + "from SubUnitKerjaPegawai model "
+ "where model.statusEnabled is true and model.unitKerjaId=:idUnitKerjaPegawai " + "order by model.name")
List<Map<String, Object>> getSubunitKerjaByUnitKerja(@Param("idUnitKerjaPegawai") Integer idUnitKerjaPegawai);
@Query("select new Map(model.id as id, model.name as name) "+
"from SubUnitKerjaPegawai model "+
"where model.id=:id and model.statusEnabled is true")
@Query("select model.id " + "from SubUnitKerjaPegawai model " + "where model.statusEnabled is true "
+ "and model.unitKerjaId in (:listUnitKerjaId) " + "order by model.id")
List<Integer> getSubunitKerjaByUnitKerja(@Param("listUnitKerjaId") List<Integer> listIdUnitKerja);
@Query("select new Map(model.id as id, model.name as name) " + "from SubUnitKerjaPegawai model "
+ "where model.id=:id and model.statusEnabled is true")
Map<String, Object> getSubunitKerjaById(@Param("id") Integer id);
@Query("select new Map(subunit.id as id, subunit.name as name, subunit.name as names) "
+ "from SubUnitKerjaPegawai subunit "
+ "where subunit.statusEnabled is true "
+ "and subunit.unitKerjaId = :idUnitKerja "
+ "order by subunit.name")
+ "from SubUnitKerjaPegawai subunit " + "where subunit.statusEnabled is true "
+ "and subunit.unitKerjaId = :idUnitKerja " + "order by subunit.name")
List<Map<String, Object>> getSubUnitKerjaCustomByUnitKerja(@Param("idUnitKerja") Integer idUnitKerja);
}

View File

@ -11,7 +11,7 @@ import com.jasamedika.medifirst2000.vo.SkoringTindakanMedisVO;
public interface SkoringTindakanMedisService
extends BaseVoService<SkoringTindakanMedis, SkoringTindakanMedisVO, String> {
List<Map<String, Object>> findAllEnabled(Integer idKelompokKerja, String namaProduk, String detailProduk,
List<Map<String, Object>> findAllEnabled(List<Integer> listIdKelompokKerja, String namaProduk, String detailProduk,
Boolean statusVerifikasi) throws JpaSystemException;
List<Map<String, Object>> findDaftarInputTindakanByRuanganKelas(Integer idRuangan) throws JpaSystemException;
@ -19,4 +19,6 @@ public interface SkoringTindakanMedisService
List<Map<String, Object>> findDuplicateSkoring(String namaProduk, Integer idKelompokKerja, Double skor,
String detailProduk, String noRec) throws JpaSystemException;
Map<String, Object> findAkses(Integer idPegawai) throws JpaSystemException;
}

View File

@ -1,7 +1,9 @@
package com.jasamedika.medifirst2000.service.impl;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -9,11 +11,14 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.jpa.JpaSystemException;
import org.springframework.stereotype.Service;
import com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.dao.LoggingUserDao;
import com.jasamedika.medifirst2000.dao.MapPegawaiJabatanToUnitKerjaDao;
import com.jasamedika.medifirst2000.dao.ProdukDao;
import com.jasamedika.medifirst2000.dao.SettingDataFixedDao;
import com.jasamedika.medifirst2000.dao.SkoringTindakanMedisDao;
import com.jasamedika.medifirst2000.dao.SubUnitKerjaDao;
import com.jasamedika.medifirst2000.entities.LoggingUser;
import com.jasamedika.medifirst2000.entities.LoginUser;
import com.jasamedika.medifirst2000.entities.Produk;
@ -50,6 +55,12 @@ public class SkoringTindakanMedisServiceImpl extends BaseVoServiceImpl implement
@Autowired
private LoggingUserDao loggingUserDao;
@Autowired
private MapPegawaiJabatanToUnitKerjaDao mappingJabatanDao;
@Autowired
private SubUnitKerjaDao subUnitKerjaDao;
public void addLoggingUser(Integer idLoginUser, String idReferensi, String keterangan) {
LoggingUser loggingUser = new LoggingUser();
LoginUser loginUser = new LoginUser();
@ -151,63 +162,64 @@ public class SkoringTindakanMedisServiceImpl extends BaseVoServiceImpl implement
}
@Override
public List<Map<String, Object>> findAllEnabled(Integer idKelompokKerja, String namaProduk, String detailProduk,
Boolean statusVerifikasi) throws JpaSystemException {
public List<Map<String, Object>> findAllEnabled(List<Integer> listIdKelompokKerja, String namaProduk,
String detailProduk, Boolean statusVerifikasi) throws JpaSystemException {
List<Map<String, Object>> result = new ArrayList<>();
if (CommonUtil.isNullOrEmpty(idKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
if (CommonUtil.isNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
&& CommonUtil.isNullOrEmpty(detailProduk) && CommonUtil.isNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabled();
} else if (CommonUtil.isNotNullOrEmpty(idKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
} else if (CommonUtil.isNotNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
&& CommonUtil.isNullOrEmpty(detailProduk) && CommonUtil.isNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByUnit(idKelompokKerja);
} else if (CommonUtil.isNullOrEmpty(idKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
result = skoringTindakanMedisDao.findAllEnabledByUnit(listIdKelompokKerja);
} else if (CommonUtil.isNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
&& CommonUtil.isNullOrEmpty(detailProduk) && CommonUtil.isNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByProduk(namaProduk.toLowerCase());
} else if (CommonUtil.isNullOrEmpty(idKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
} else if (CommonUtil.isNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
&& CommonUtil.isNotNullOrEmpty(detailProduk) && CommonUtil.isNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByDetail(detailProduk.toLowerCase());
} else if (CommonUtil.isNullOrEmpty(idKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
} else if (CommonUtil.isNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
&& CommonUtil.isNullOrEmpty(detailProduk) && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByVerif(statusVerifikasi);
} else if (CommonUtil.isNotNullOrEmpty(idKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
} else if (CommonUtil.isNotNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
&& CommonUtil.isNullOrEmpty(detailProduk) && CommonUtil.isNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByUnitProduk(idKelompokKerja, namaProduk.toLowerCase());
} else if (CommonUtil.isNotNullOrEmpty(idKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
result = skoringTindakanMedisDao.findAllEnabledByUnitProduk(listIdKelompokKerja, namaProduk.toLowerCase());
} else if (CommonUtil.isNotNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
&& CommonUtil.isNotNullOrEmpty(detailProduk) && CommonUtil.isNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByUnitDetail(idKelompokKerja, detailProduk.toLowerCase());
} else if (CommonUtil.isNotNullOrEmpty(idKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
result = skoringTindakanMedisDao.findAllEnabledByUnitDetail(listIdKelompokKerja,
detailProduk.toLowerCase());
} else if (CommonUtil.isNotNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
&& CommonUtil.isNullOrEmpty(detailProduk) && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByUnitVerif(idKelompokKerja, statusVerifikasi);
} else if (CommonUtil.isNullOrEmpty(idKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
result = skoringTindakanMedisDao.findAllEnabledByUnitVerif(listIdKelompokKerja, statusVerifikasi);
} else if (CommonUtil.isNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
&& CommonUtil.isNotNullOrEmpty(detailProduk) && CommonUtil.isNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByProdukDetail(namaProduk.toLowerCase(),
detailProduk.toLowerCase());
} else if (CommonUtil.isNullOrEmpty(idKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
} else if (CommonUtil.isNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
&& CommonUtil.isNullOrEmpty(detailProduk) && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByProdukVerif(namaProduk.toLowerCase(), statusVerifikasi);
} else if (CommonUtil.isNullOrEmpty(idKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
} else if (CommonUtil.isNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
&& CommonUtil.isNotNullOrEmpty(detailProduk) && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByDetailVerif(detailProduk.toLowerCase(), statusVerifikasi);
} else if (CommonUtil.isNotNullOrEmpty(idKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
} else if (CommonUtil.isNotNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
&& CommonUtil.isNotNullOrEmpty(detailProduk) && CommonUtil.isNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByUnitProdukDetail(idKelompokKerja, namaProduk.toLowerCase(),
detailProduk.toLowerCase());
} else if (CommonUtil.isNotNullOrEmpty(idKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
result = skoringTindakanMedisDao.findAllEnabledByUnitProdukDetail(listIdKelompokKerja,
namaProduk.toLowerCase(), detailProduk.toLowerCase());
} else if (CommonUtil.isNotNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
&& CommonUtil.isNullOrEmpty(detailProduk) && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByUnitProdukVerif(idKelompokKerja, namaProduk.toLowerCase(),
statusVerifikasi);
} else if (CommonUtil.isNotNullOrEmpty(idKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
result = skoringTindakanMedisDao.findAllEnabledByUnitProdukVerif(listIdKelompokKerja,
namaProduk.toLowerCase(), statusVerifikasi);
} else if (CommonUtil.isNotNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
&& CommonUtil.isNotNullOrEmpty(detailProduk) && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByUnitDetailVerif(idKelompokKerja,
result = skoringTindakanMedisDao.findAllEnabledByUnitDetailVerif(listIdKelompokKerja,
detailProduk.toLowerCase(), statusVerifikasi);
} else if (CommonUtil.isNullOrEmpty(idKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
} else if (CommonUtil.isNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
&& CommonUtil.isNotNullOrEmpty(detailProduk) && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByProdukDetailVerif(namaProduk.toLowerCase(),
detailProduk.toLowerCase(), statusVerifikasi);
} else if (CommonUtil.isNotNullOrEmpty(idKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
} else if (CommonUtil.isNotNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
&& CommonUtil.isNotNullOrEmpty(detailProduk) && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByUnitProdukDetailVerif(idKelompokKerja,
result = skoringTindakanMedisDao.findAllEnabledByUnitProdukDetailVerif(listIdKelompokKerja,
namaProduk.toLowerCase(), detailProduk.toLowerCase(), statusVerifikasi);
}
@ -246,4 +258,106 @@ public class SkoringTindakanMedisServiceImpl extends BaseVoServiceImpl implement
return result;
}
@Override
public Map<String, Object> findAkses(Integer idPegawai) throws JpaSystemException {
Map<String, Object> result = new HashMap<>();
List<Integer> listRs = new ArrayList<>();
List<Integer> listIdUnitKerja = new ArrayList<>();
List<Integer> listUnitKerjaSuperuser = new ArrayList<>();
listIdUnitKerja.addAll(Arrays.asList(Master.UnitKerja.KSM));
listUnitKerjaSuperuser.add(Master.UnitKerja.BAG_SDM);
List<Map<String, Object>> listSuperuser = mappingJabatanDao.findAksesPegawaiPenilai(listIdUnitKerja, idPegawai);
listSuperuser.addAll(mappingJabatanDao.findAksesPegawaiStaf(listUnitKerjaSuperuser, idPegawai));
listSuperuser.addAll(mappingJabatanDao.findAksesPegawaiAtasan(listUnitKerjaSuperuser, idPegawai));
listSuperuser.addAll(mappingJabatanDao.findAksesPegawaiPenilai(listUnitKerjaSuperuser, idPegawai));
if (CommonUtil.isNotNullOrEmpty(listSuperuser)) {
listRs.addAll(listIdUnitKerja);
result.put("isSuperuser", true);
result.put("isAtasan", false);
result.put("isStaf", false);
result.put("listId", listRs);
result.put("listKk", subUnitKerjaDao.getSubunitKerjaByUnitKerja(listRs));
} else {
List<Map<String, Object>> listAtasan = mappingJabatanDao.findAksesPegawaiAtasan(listIdUnitKerja, idPegawai);
if (CommonUtil.isNotNullOrEmpty(listAtasan)) {
for (Map<String, Object> map : listAtasan) {
if (!listRs.contains(Integer.valueOf(map.get("unitKerjaId").toString()))) {
listRs.add(Integer.valueOf(map.get("unitKerjaId").toString()));
}
}
result.put("isSuperuser", false);
result.put("isAtasan", true);
result.put("isStaf", false);
result.put("listId", listRs);
result.put("listKk", subUnitKerjaDao.getSubunitKerjaByUnitKerja(listRs));
} else {
List<Map<String, Object>> listStaf = mappingJabatanDao.findAksesPegawaiStaf(listIdUnitKerja, idPegawai);
if (CommonUtil.isNotNullOrEmpty(listStaf)) {
for (Map<String, Object> map : listStaf) {
if (!listRs.contains(Integer.valueOf(map.get("unitKerjaId").toString()))) {
listRs.add(Integer.valueOf(map.get("unitKerjaId").toString()));
}
}
result.put("isSuperuser", false);
result.put("isAtasan", false);
result.put("isStaf", true);
result.put("listId", listRs);
result.put("listKk", subUnitKerjaDao.getSubunitKerjaByUnitKerja(listRs));
} else {
List<Map<String, Object>> listSuperElse = mappingJabatanDao.findAksesPegawaiPenilai(idPegawai);
if (CommonUtil.isNotNullOrEmpty(listSuperElse)) {
for (Map<String, Object> map : listSuperElse) {
if (!listRs.contains(Integer.valueOf(map.get("unitKerjaId").toString()))) {
listRs.add(Integer.valueOf(map.get("unitKerjaId").toString()));
}
}
result.put("isSuperuser", false);
result.put("isAtasan", false);
result.put("isStaf", false);
result.put("listId", listRs);
result.put("listKk", subUnitKerjaDao.getSubunitKerjaByUnitKerja(listRs));
} else {
List<Map<String, Object>> listAtasanElse = mappingJabatanDao.findAksesPegawaiAtasan(idPegawai);
if (CommonUtil.isNotNullOrEmpty(listAtasanElse)) {
for (Map<String, Object> map : listAtasanElse) {
if (!listRs.contains(Integer.valueOf(map.get("unitKerjaId").toString()))) {
listRs.add(Integer.valueOf(map.get("unitKerjaId").toString()));
}
}
result.put("isSuperuser", false);
result.put("isAtasan", false);
result.put("isStaf", false);
result.put("listId", listRs);
result.put("listKk", subUnitKerjaDao.getSubunitKerjaByUnitKerja(listRs));
} else {
List<Map<String, Object>> listStafElse = mappingJabatanDao.findAksesPegawaiStaf(idPegawai);
if (CommonUtil.isNotNullOrEmpty(listStafElse)) {
for (Map<String, Object> map : listStafElse) {
if (!listRs.contains(Integer.valueOf(map.get("unitKerjaId").toString()))) {
listRs.add(Integer.valueOf(map.get("unitKerjaId").toString()));
}
}
result.put("isSuperuser", false);
result.put("isAtasan", false);
result.put("isStaf", false);
result.put("listId", listRs);
result.put("listKk", subUnitKerjaDao.getSubunitKerjaByUnitKerja(listRs));
}
}
}
}
}
}
return result;
}
}

View File

@ -361,14 +361,14 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
@RequestMapping(value = "/get-all-skoring-tindakan-medis", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> getAllSkoringTindakanMedis(HttpServletRequest request,
@RequestParam(value = "kelompokKerjaId", required = false) Integer idKelompokKerja,
@RequestParam(value = "listKelompokKerjaId", required = false) List<Integer> listIdKelompokKerja,
@RequestParam(value = "namaProduk", required = false) String namaProduk,
@RequestParam(value = "detailProduk", required = false) String detailProduk,
@RequestParam(value = "isStatusVerifikasi", required = false) Boolean statusVerifikasi)
throws ParseException {
try {
List<Map<String, Object>> result = skoringTindakanMedisService.findAllEnabled(idKelompokKerja, namaProduk,
detailProduk, statusVerifikasi);
List<Map<String, Object>> result = skoringTindakanMedisService.findAllEnabled(listIdKelompokKerja,
namaProduk, detailProduk, statusVerifikasi);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
@ -427,6 +427,25 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
}
}
@RequestMapping(value = "/get-akses-skoring-tindakan-medis", method = RequestMethod.GET)
public ResponseEntity<Map<String, Object>> getDuplicateSkoringTindakanMedis(HttpServletRequest request,
@RequestParam(value = "pegawaiId", required = true) Integer idPegawai) throws ParseException {
try {
Map<String, Object> result = skoringTindakanMedisService.findAkses(idPegawai);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
} catch (ServiceVOException sve) {
LOGGER.error("Got exception {} when get akses skoring tindakan medis", sve.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when get akses skoring tindakan medis", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/save-kontrak-kinerja", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<LogbookKinerjaVO> saveKontrakKinerja(HttpServletRequest request,
@Valid @RequestBody LogbookKinerjaVO vo) {