- perombakan service hitung target pelayanan

- penambahan komponen id kedudukan untuk validasi hapus data pegawai
- hapus service rekapitulasi pendapatan ruangan harian
- penyesuaian service skoring dengan penerapan tanggal pembaharuan data
- pembuatan service simpan target pelayanan triwulan
This commit is contained in:
salmanoe 2021-05-27 14:30:19 +07:00
parent 1dd28f5b6b
commit dd8c3db33b
25 changed files with 701 additions and 892 deletions

View File

@ -79,6 +79,19 @@ public class Master {
public static final Double HK_02_04_III_558_2015_5_B_C_D = 0.35;
}
public static final class IndikatorKinerja {
public static final Integer KONSUL_EKS = 447;
public static final Integer KONSUL_GADAR = 448;
public static final Integer KONSUL_REG = 449;
public static final Integer TINDAKAN_EKS = 450;
public static final Integer TINDAKAN_GADAR = 451;
public static final Integer TINDAKAN_OPS = 452;
public static final Integer TINDAKAN_REG = 453;
public static final Integer VISITE = 454;
public static final Integer[] INDIKATOR_PELAYANAN_MEDIS = { 447, 448, 449, 454, 450, 451, 452, 453 };
}
public static final class Jabatan {
public static final int DIRUT_STRUKTURAL = 896;
public static final int DIRUT_INTERNAL = 137;

View File

@ -19,10 +19,11 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository<IkiDanRe
// grade_nilai_jabatan
@Query("select NEW Map ( " + "jabatanInternal.namaJabatan as namaJabatan, "
+ "kelompokJabatan.id as kelompokJabatanId, " + "nilaiKelompokJabatan.id as nilaiKelompokJabatan, "
+ "nilaiKelompokJabatan.gradeDesc as grade, " + "pegawai.nipPns as nipPns, " + "pegawai.nipPns as nipPns, "
+ "pegawai.namaLengkap as namaLengkap, " + "pegawai.nilaiJabatan as nilaiJabatan, "
+ "golongan.id as idGolongan, " + "golongan.golonganPegawai as golongan, "
+ "unitKerja.name as unitKerja, " + "unitKerja.id as idUnitKerja, " + "subUnitKerja.id as idSubUnitKerja, "
+ "nilaiKelompokJabatan.gradeDesc as grade, " + "pegawai.nipPns as nipPns, "
+ "pegawai.nipPns as nipPns, " + "pegawai.namaLengkap as namaLengkap, "
+ "pegawai.nilaiJabatan as nilaiJabatan, " + "golongan.id as idGolongan, "
+ "golongan.golonganPegawai as golongan, " + "unitKerja.name as unitKerja, "
+ "unitKerja.id as idUnitKerja, " + "subUnitKerja.id as idSubUnitKerja, "
+ "subUnitKerja.name as subUnitKerja, " + "pegawai.id as idPegawai) "
+ "from MapPegawaiJabatanToUnitKerja mapPegawai " + "left join mapPegawai.pegawai pegawai "
+ "left join pegawai.detailKelompokJabatan nilaiKelompokJabatan "
@ -96,24 +97,23 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository<IkiDanRe
+ " left join ikiDanRemunerasi.pegawai pegawai " + "left join ikiDanRemunerasi.strukHistory strukHistori "
+ "where to_char(strukHistori.tglHistori,'yyyy-MM') =:periode " + "and pegawai.id = :idPegawai")
public Double findRemunerasi(@Param("periode") String periode, @Param("idPegawai") Integer idPegawai);
// Target_Pelayanan
@Query("select distinct new Map(pp.noRec as noRec,pp.tglPelayanan as tglPelayanan," + "uk.id as idKsm,uk.name as Ksm,"
@Query("select distinct new Map(pp.noRec as noRec,pp.tglPelayanan as tglPelayanan,"
+ "su.id as idKelompokKerja,su.name as kelompokKerja,"
+ "pr.id as idTindakan,pr.namaProduk as namaTindakan," + "ru.id as idRuangan, pp.jumlah as jumlahTindakan) "
+ "pr.id as idTindakan,pr.namaProduk as namaTindakan,"
+ "ru.departemenId as idDepartemen, ru.id as idRuangan, " + "pp.jumlah as jumlahTindakan) "
+ "from PelayananPasienPetugas ppp, MapRuanganToProduk mrtp, MapPegawaiJabatanToUnitKerja mpju "
+ "left join ppp.pelayananPasien pp " + "left join ppp.kdpegawai pg " + "left join pp.produk pr "
+ "left join pp.pasienDaftar apd " + "left join pr.detailJenisProduk djp "
+ "left join apd.pasienDaftar pd " + "left join apd.ruangan ru " + "left join apd.kelas kl "
+ "left join pd.pasien ps " + "left join pd.kelompokPasien kps " + "left join mrtp.ruangan ru1 "
+ "left join mpju.unitKerjaPegawai uk " + "left join mpju.subUnitKerjaPegawai su "
+ "left join apd.pasienDaftar pd " + "left join apd.ruangan ru " + "left join mpju.subUnitKerjaPegawai su "
+ "where mrtp.produkId = pr.id " + "and mrtp.ruanganId = apd.ruanganId "
+ "and ppp.kdpegawai = mpju.pegawai " + "and mpju.pegawaiId = pg.id "
+ "and mpju.unitKerjaPegawaiId in (:listKsmId)" + "and mrtp.statusEnabled is true "
+ "and mpju.statusEnabled is true " + "and pg.statusEnabled is true " + "and uk.statusEnabled is true "
+ "and su.statusEnabled is true " + "and pp.tglPelayanan between :tglAwal and :tglAkhir "
+ "and mpju.statusEnabled is true " + "and pg.statusEnabled is true " + "and su.statusEnabled is true "
+ "and pd.statusEnabled is true " + "and pp.tglPelayanan between :tglAwal and :tglAkhir "
+ "and pg.jenisPegawaiId = :dokterId " + "and djp.jenisProdukId not in (:listNontindakanId) "
+ "and pr.id <> :karcisId")
+ "and pr.id <> :karcisId order by su.name, pr.id")
public List<Map<String, Object>> getDataLayanan(@Param("tglAwal") Date tglAwal, @Param("tglAkhir") Date tglAkhir,
@Param("dokterId") Integer dokterId, @Param("listKsmId") List<Integer> listKsmId,
@Param("listNontindakanId") List<Integer> listNontindakanId, @Param("karcisId") Integer karcisId);

View File

@ -27,7 +27,7 @@ public interface IndikatorKinerjaDao extends PagingAndSortingRepository<Indikato
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)
@ -71,7 +71,7 @@ public interface IndikatorKinerjaDao extends PagingAndSortingRepository<Indikato
@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 (:listIdDup)")
List<Map<String, Object>> findAllDup(@Param("listIdDup") List<Integer> listIdDup);
+ "where ik.statusEnabled is true " + "and ik.id in (:listIdIndikator)")
List<Map<String, Object>> findIndikator(@Param("listIdIndikator") List<Integer> listIdIndikator);
}

View File

@ -386,9 +386,10 @@ public interface PegawaiDao extends PagingAndSortingRepository<Pegawai, Integer>
+ "jabatanFungsional.namaJabatan as namaJabatan," + "jabatanLamar.namaJabatan as jabatanLamar,"
+ "jabatanStruktural.namaJabatan as jabatanStruktural," + "jenisKelamin.jenisKelamin as jenisKelamin,"
+ "jenisPegawai.jenisPegawai as jenisPegawai," + "jenisPegawaiLamar.jenisPegawai as jenisPegawaiLamar,"
+ "kategoriPegawai.kategoryPegawai as kategoriPegawai," + "kedudukan.name as kedudukan,"
+ "kualifikasiJurusan.kualifikasiJurusan as kualifikasiJurusan," + "negara.namaNegara as namaNegara,"
+ "pangkat.namaPangkat as namaPangkat," + "pendidikan.namaPendidikan as namaPendidikan,"
+ "kategoriPegawai.kategoryPegawai as kategoriPegawai," + "kedudukan.id as kedudukanId,"
+ "kedudukan.name as kedudukan," + "kualifikasiJurusan.kualifikasiJurusan as kualifikasiJurusan,"
+ "negara.namaNegara as namaNegara," + "pangkat.namaPangkat as namaPangkat,"
+ "pendidikan.namaPendidikan as namaPendidikan,"
+ "penghasilanTidakKenaPajak.deskripsi as penghasilanTidakKenaPajak,"
+ "pegawai.totalNilaiScore as totalNilaiScore," + "pegawai.tunjanganFungsional as tunjanganFungsional,"
+ "pegawai.tunjanganPapua as tunjanganPapua," + "pegawai.tunjanganUmum as tunjanganUmum,"

View File

@ -140,20 +140,6 @@ public interface PelayananPasienDao extends PagingAndSortingRepository<Pelayanan
+ "from Pasien pasien " + "left join pasien.alamats alamat " + "where pasien.id = :noCm")
Map<String, Object> getDataPasienMeninggal(@Param("noCm") Integer noCm);
@Query("select distinct new Map(pp.noRec as noRec,pp.tglPelayanan as tglPelayanan,"
+ "pr.id as idProduk,pr.namaProduk as namaProduk,"
+ "dp.id as idDepartemen, dp.namaDepartemen as namaDepartemen,"
+ "ru.id as idRuangan,ru.namaRuangan as namaRuangan,"
+ "jp.id as idJenisProduk,pp.jumlah as jumlahTindakan,pp.hargaJual as hargaJual,pp.hargaDiscount as hargaDiskon) "
+ "from PelayananPasien pp, MapRuanganToProduk mrtp " + "left join pp.produk pr "
+ "left join pp.pasienDaftar apd " + "left join pr.detailJenisProduk djp " + "left join apd.ruangan ru "
+ "left join ru.departemen dp " + "left join djp.jenisProduk jp " + "where mrtp.produkId = pr.id "
+ "and mrtp.ruanganId = apd.ruanganId " + "and mrtp.statusEnabled is true "
+ "and pp.tglPelayanan between :tglAwal " + "and :tglAkhir "
+ "and djp.jenisProdukId not in (:listNontindakanId) " + "order by dp.id, ru.id")
List<Map<String, Object>> findDataLayananAllRuangan(@Param("tglAwal") Date tglAwal,
@Param("tglAkhir") Date tglAkhir, @Param("listNontindakanId") List<Integer> listNontindakanId);
@Query("select new Map(" + "pg.id as idPegawai, " + "pg.namaLengkap as namaPegawai, "
+ "pg.typePegawaiId as tipePegawai, " + "kp.id as idKelPasien, " + "pr.id as idLayanan, "
+ "pr.namaProduk as namaLayanan, " + "ru.departemenId as idDepartemen, "

View File

@ -1,5 +1,6 @@
package com.jasamedika.medifirst2000.dao;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -19,7 +20,7 @@ public interface SkoringTindakanMedisDao extends PagingAndSortingRepository<Skor
+ "stm.skor as skor," + "stm.statusVerifikasi as isStatusVerifikasi,"
+ "(case when stm.statusVerifikasi is false then 'Belum Terverifikasi' "
+ "when stm.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi,"
+ "stm.tanggalMulaiBerlaku as tglMulaiBerlaku) " + "from SkoringTindakanMedis stm "
+ "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";
@ -31,7 +32,7 @@ public interface SkoringTindakanMedisDao extends PagingAndSortingRepository<Skor
String statusVerifikasi = " and stm.statusVerifikasi = :isStatusVerifikasi";
String sortSearch = " order by sk.name asc,pr.namaProduk asc,stm.detailProduk asc,stm.tanggalMulaiBerlaku desc";
String sortSearch = " order by sk.name asc,pr.namaProduk asc,stm.detailProduk asc,stm.tanggalPembaharuanData desc";
@Query(strAllEnabled + sortSearch)
List<Map<String, Object>> findAllEnabled();
@ -73,25 +74,28 @@ public interface SkoringTindakanMedisDao extends PagingAndSortingRepository<Skor
@Param("isStatusVerifikasi") Boolean statusVerifikasi);
@Query(strAllEnabled + kelompokKerja + produk + detailProduk + sortSearch)
List<Map<String, Object>> findAllEnabledByUnitProdukDetail(@Param("listSubunitKerjaId") List<Integer> listIdKelompokKerja,
@Param("namaProduk") String namaProduk, @Param("detailProduk") String detailProduk);
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("listSubunitKerjaId") List<Integer> listIdKelompokKerja,
@Param("namaProduk") String namaProduk, @Param("isStatusVerifikasi") Boolean statusVerifikasi);
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("listSubunitKerjaId") List<Integer> listIdKelompokKerja,
@Param("detailProduk") String detailProduk, @Param("isStatusVerifikasi") Boolean statusVerifikasi);
List<Map<String, Object>> findAllEnabledByUnitDetailVerif(
@Param("listSubunitKerjaId") List<Integer> listIdKelompokKerja, @Param("detailProduk") String detailProduk,
@Param("isStatusVerifikasi") Boolean statusVerifikasi);
@Query(strAllEnabled + produk + detailProduk + statusVerifikasi + sortSearch)
List<Map<String, Object>> findAllEnabledByProdukDetailVerif(@Param("namaProduk") String namaProduk,
@Param("detailProduk") String detailProduk, @Param("isStatusVerifikasi") Boolean statusVerifikasi);
@Query(strAllEnabled + kelompokKerja + produk + detailProduk + statusVerifikasi + sortSearch)
List<Map<String, Object>> findAllEnabledByUnitProdukDetailVerif(@Param("listSubunitKerjaId") List<Integer> listIdKelompokKerja,
@Param("namaProduk") String namaProduk, @Param("detailProduk") String detailProduk,
@Param("isStatusVerifikasi") Boolean statusVerifikasi);
List<Map<String, Object>> findAllEnabledByUnitProdukDetailVerif(
@Param("listSubunitKerjaId") List<Integer> 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 "
+ "where stm.statusEnabled is true "
@ -116,4 +120,12 @@ public interface SkoringTindakanMedisDao extends PagingAndSortingRepository<Skor
+ "where stm.statusEnabled is true " + "and stm.noRec in (:listNorec)")
List<Map<String, Object>> findAllDup(@Param("listNorec") List<String> listNorec);
@Query("select new Map(sk.id as kelompokKerjaId,sk.name as kelompokKerja,"
+ "stm.produkId as produkId,stm.skor as skor,"
+ "stm.tanggalMulaiBerlaku as tglBerlaku,stm.tanggalPembaharuanData as tglPembaharuanData) "
+ "from SkoringTindakanMedis stm " + "inner join stm.kelompokKerja sk "
+ "where stm.statusEnabled is true and stm.statusVerifikasi is true " + "and sk.statusEnabled is true "
+ "order by sk.name asc, stm.produkId asc, stm.tanggalPembaharuanData desc")
List<Map<String, Object>> findLatestActiveSkor();
}

View File

@ -28,6 +28,11 @@ public interface SubUnitKerjaDao extends PagingAndSortingRepository<SubUnitKerja
+ "and p.id = :idPegawai")
Integer getByIdPegawai(@Param("idPegawai") Integer idPegawai);
@Query("select new Map(model.id as id, model.name as name, model.unitKerjaId as unitKerjaId) "
+ "from SubUnitKerjaPegawai model " + "where model.statusEnabled is true "
+ "and model.id in (:listSubunitKerjaId) " + "order by model.name")
List<Map<String, Object>> findSubunitKerja(@Param("listSubunitKerjaId") List<Integer> listIdSubunitKerja);
@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);

View File

@ -13,12 +13,13 @@ import com.jasamedika.medifirst2000.entities.TargetLayanan;
@Repository("targetLayananDao")
public interface TargetLayananDao extends CrudRepository<TargetLayanan, String> {
@Query("select new Map(tl.subUnitKerjaPegawaiId as idSubunit,"
+ "tl.targetOperasi as targetOperasi,tl.targetNonoperasi as targetNonoperasi,"
+ "tl.targetVisite as targetVisite,tl.targetKonsultasi as targetKonsultasi,"
+ "to_char(tl.periode,'yyyy-MM') as periode,max(tl.tglHitung) as lastTglHitung) " + "from TargetLayanan tl "
+ "where to_char(tl.periode,'yyyy-MM') between :tglAwal and :tglAkhir "
+ "group by tl.subUnitKerjaPegawaiId, tl.targetOperasi, tl.targetNonoperasi, tl.targetVisite, tl.targetKonsultasi, to_char(periode,'yyyy-MM')")
public List<Map<String, Object>> getLastTargetLayanan(@Param("tglAwal") String tglAwal, @Param("tglAkhir") String tglAkhir);
@Query("select new Map(sk.id as kelompokKerjaId," + "ikm.id as indikatorId,"
+ "tl.target as target,to_char(tl.periode,'yyyy-MM') as periode,tl.tglHitung as tglHitung) "
+ "from TargetLayanan tl " + "inner join tl.subUnitKerjaPegawai sk " + "inner join tl.indikator ikm "
+ "where sk.statusEnabled is true " + "and ikm.statusEnabled is true and ikm.statusVerifikasi is true "
+ "and to_char(tl.periode,'yyyy-MM') between :tglAwal and :tglAkhir "
+ "order by sk.name, tl.tglHitung desc")
public List<Map<String, Object>> getLastTargetLayanan(@Param("tglAwal") String tglAwal,
@Param("tglAkhir") String tglAkhir);
}

View File

@ -329,9 +329,10 @@ public class PegawaiDaoCustomImpl extends CoreDaoImpl<Pegawai> implements Pegawa
+ "jabatanFungsional.namaJabatan as namaJabatan," + "jabatanLamar.namaJabatan as jabatanLamar,"
+ "jabatanStruktural.namaJabatan as jabatanStruktural," + "jenisKelamin.jenisKelamin as jenisKelamin,"
+ "jenisPegawai.jenisPegawai as jenisPegawai," + "jenisPegawaiLamar.jenisPegawai as jenisPegawaiLamar,"
+ "kategoriPegawai.kategoryPegawai as kategoriPegawai," + "kedudukan.name as kedudukan,"
+ "kualifikasiJurusan.kualifikasiJurusan as kualifikasiJurusan," + "negara.namaNegara as namaNegara,"
+ "pangkat.namaPangkat as namaPangkat," + "pendidikan.namaPendidikan as namaPendidikan,"
+ "kategoriPegawai.kategoryPegawai as kategoriPegawai," + "kedudukan.id as kedudukanId,"
+ "kedudukan.name as kedudukan," + "kualifikasiJurusan.kualifikasiJurusan as kualifikasiJurusan,"
+ "negara.namaNegara as namaNegara," + "pangkat.namaPangkat as namaPangkat,"
+ "pendidikan.namaPendidikan as namaPendidikan,"
+ "penghasilanTidakKenaPajak.deskripsi as penghasilanTidakKenaPajak,"
+ "pegawai.totalNilaiScore as totalNilaiScore," + "pegawai.tunjanganFungsional as tunjanganFungsional,"
+ "pegawai.tunjanganPapua as tunjanganPapua," + "pegawai.tunjanganUmum as tunjanganUmum,"
@ -470,9 +471,10 @@ public class PegawaiDaoCustomImpl extends CoreDaoImpl<Pegawai> implements Pegawa
+ "jabatanFungsional.namaJabatan as namaJabatan," + "jabatanLamar.namaJabatan as jabatanLamar,"
+ "jabatanStruktural.namaJabatan as jabatanStruktural," + "jenisKelamin.jenisKelamin as jenisKelamin,"
+ "jenisPegawai.jenisPegawai as jenisPegawai," + "jenisPegawaiLamar.jenisPegawai as jenisPegawaiLamar,"
+ "kategoriPegawai.kategoryPegawai as kategoriPegawai," + "kedudukan.name as kedudukan,"
+ "kualifikasiJurusan.kualifikasiJurusan as kualifikasiJurusan," + "negara.namaNegara as namaNegara,"
+ "pangkat.namaPangkat as namaPangkat," + "pendidikan.namaPendidikan as namaPendidikan,"
+ "kategoriPegawai.kategoryPegawai as kategoriPegawai," + "kedudukan.id as kedudukanId,"
+ "kedudukan.name as kedudukan," + "kualifikasiJurusan.kualifikasiJurusan as kualifikasiJurusan,"
+ "negara.namaNegara as namaNegara," + "pangkat.namaPangkat as namaPangkat,"
+ "pendidikan.namaPendidikan as namaPendidikan,"
+ "penghasilanTidakKenaPajak.deskripsi as penghasilanTidakKenaPajak,"
+ "pegawai.totalNilaiScore as totalNilaiScore," + "pegawai.tunjanganFungsional as tunjanganFungsional,"
+ "pegawai.tunjanganPapua as tunjanganPapua," + "pegawai.tunjanganUmum as tunjanganUmum,"

View File

@ -28,9 +28,7 @@ public interface IkiDanRemunerasiService {
public List<Map<String, Object>> findAllIKU();
public Map<String, Object> savePirDanIku(List<SettingPirSdmVO> vo);
public List<Map<String, Object>> calculateTargetLayananBulanan();
public List<Map<String, Object>> findAllTargetCapaianLayanan(String strPeriode) throws ParseException;
public List<Map<String, Object>> findAllTargetCapaianLayanan(String strPeriode, Integer jmlBulan) throws ParseException;
}

View File

@ -14,8 +14,6 @@ public interface PelayananPasienService {
Map<String, Object> findTindakanPasienMeninggal(Integer noCm);
List<Map<String, Object>> getRekapPendapatanAllRuangan(String tglAwal, String tglAkhir) throws ParseException;
List<Map<String, Object>> hitungRemunerasiDokterDenganFfs(String tglAwal, String tglAkhir);
List<String> updateKlaimDiskonKaryawan(String noRegistrasi, Double totalKlaim);

View File

@ -1,13 +1,18 @@
package com.jasamedika.medifirst2000.service;
import java.text.ParseException;
import java.util.List;
import java.util.Map;
import org.springframework.orm.jpa.JpaSystemException;
import com.jasamedika.medifirst2000.entities.TargetLayanan;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.vo.TargetLayananCustomVO;
import com.jasamedika.medifirst2000.vo.TargetLayananVO;
public interface TargetLayananService extends BaseVoService<TargetLayanan, TargetLayananVO, String> {
Map<String, Object> addAll(List<TargetLayananVO> vos);
List<String> addAll(List<TargetLayananCustomVO> vos)
throws JpaSystemException, ServiceVOException, ParseException;
}

View File

@ -9,8 +9,10 @@ import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -19,11 +21,14 @@ import org.springframework.transaction.annotation.Transactional;
import com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.dao.IkiDanRemunerasiDao;
import com.jasamedika.medifirst2000.dao.IndikatorKinerjaDao;
import com.jasamedika.medifirst2000.dao.MonitoringAbsenDao;
import com.jasamedika.medifirst2000.dao.RunningNumberDao;
import com.jasamedika.medifirst2000.dao.SettingPirSdmDao;
import com.jasamedika.medifirst2000.dao.SkoringTindakanMedisDao;
import com.jasamedika.medifirst2000.dao.StrukHistoriDao;
import com.jasamedika.medifirst2000.dao.StrukPelayananDao;
import com.jasamedika.medifirst2000.dao.SubUnitKerjaDao;
import com.jasamedika.medifirst2000.dao.TargetLayananDao;
import com.jasamedika.medifirst2000.entities.EvaluasiJabatan;
import com.jasamedika.medifirst2000.entities.IkiDanRemunerasi;
@ -52,7 +57,7 @@ import com.jasamedika.medifirst2000.vo.SuratKeputusanVO;
import com.jasamedika.medifirst2000.vo.UnitKerjaPegawaiVO;
@Service("IkiDanRemunerasiService")
public class IkiDanRemunerasiServiceImpl implements IkiDanRemunerasiService {
public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements IkiDanRemunerasiService {
@Autowired
private IkiDanRemunerasiDao ikiDanRemunerasiDao;
@ -66,6 +71,27 @@ public class IkiDanRemunerasiServiceImpl implements IkiDanRemunerasiService {
@Autowired
private SettingPirSdmDao settingPirSdmDao;
@Autowired
private RunningNumberDao runningNumberDao;
@Autowired
private StrukHistoriDao strukHistoriDao;
@Autowired
private BaseConverterImpl<StrukHistoriVO, StrukHistori> strukHistoriConverter;
@Autowired
private TargetLayananDao targetLayananDao;
@Autowired
private SkoringTindakanMedisDao skoringTindakanMedisDao;
@Autowired
private IndikatorKinerjaDao indikatorKinerjaDao;
@Autowired
private SubUnitKerjaDao subunitKerjaDao;
@Autowired
private BaseConverterImpl<IkiDanRemunerasiVO, IkiDanRemunerasi> ikiDanRemunerasiConverter;
@ -90,18 +116,6 @@ public class IkiDanRemunerasiServiceImpl implements IkiDanRemunerasiService {
@Autowired
private BaseConverterImpl<PegawaiVO, Pegawai> pegawaiConverter;
@Autowired
private RunningNumberDao runningNumberDao;
@Autowired
private StrukHistoriDao strukHistoriDao;
@Autowired
private BaseConverterImpl<StrukHistoriVO, StrukHistori> strukHistoriConverter;
@Autowired
private TargetLayananDao targetLayananDao;
@Override
public Map<String, Object> loadData() {
Map<String, Object> result = new HashMap<>();
@ -433,158 +447,15 @@ public class IkiDanRemunerasiServiceImpl implements IkiDanRemunerasiService {
}
@Override
public List<Map<String, Object>> calculateTargetLayananBulanan() {
List<Map<String, Object>> result = new ArrayList<>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
// setting_checking_perimeter
Calendar bulan3 = Calendar.getInstance();
bulan3.add(Calendar.MONTH, -3);
Calendar bulan2 = Calendar.getInstance();
bulan2.add(Calendar.MONTH, -2);
Calendar bulan1 = Calendar.getInstance();
bulan1.add(Calendar.MONTH, -1);
// get_three_month_earlier
Calendar calTglAwal = Calendar.getInstance();
calTglAwal.set(Calendar.HOUR_OF_DAY, 0);
calTglAwal.set(Calendar.MINUTE, 0);
calTglAwal.set(Calendar.SECOND, 0);
calTglAwal.set(Calendar.DAY_OF_MONTH, 1);
calTglAwal.add(Calendar.MONTH, -3);
// get_last_month
Calendar calTglAkhir = Calendar.getInstance();
calTglAkhir.set(Calendar.HOUR_OF_DAY, 23);
calTglAkhir.set(Calendar.MINUTE, 59);
calTglAkhir.set(Calendar.SECOND, 0);
calTglAkhir.add(Calendar.MONTH, -1);
calTglAkhir.set(Calendar.DAY_OF_MONTH, calTglAkhir.getActualMaximum(Calendar.DAY_OF_MONTH));
List<Map<String, Object>> dataLayanan = ikiDanRemunerasiDao.getDataLayanan(calTglAwal.getTime(),
calTglAkhir.getTime(), Master.JenisPegawai.DOKTER, Arrays.asList(Master.UnitKerja.KSM),
Arrays.asList(Master.JenisProduk.NONTINDAKAN), Master.Produk.KARCIS);
// get_kategori_bulan
List<String> listBulanPelayanan = new ArrayList<>();
for (Map<String, Object> dat : dataLayanan) {
if (!listBulanPelayanan.contains(sdf.format(dat.get("tglPelayanan")))) {
listBulanPelayanan.add(sdf.format(dat.get("tglPelayanan")));
}
}
// get_kategori_kelompok_kerja
List<Integer> listIdKK = new ArrayList<>();
List<Map<String, Object>> listKK = new ArrayList<>();
for (Map<String, Object> map : dataLayanan) {
if (!listIdKK.contains(map.get("idKelompokKerja"))) {
listIdKK.add(Integer.parseInt(map.get("idKelompokKerja").toString()));
Map<String, Object> mapKK = new HashMap<>();
mapKK.put("idKsm", map.get("idKsm"));
mapKK.put("namaKsm", map.get("Ksm"));
mapKK.put("id", map.get("idKelompokKerja"));
mapKK.put("name", map.get("kelompokKerja"));
listKK.add(mapKK);
}
}
for (Map<String, Object> kk : listKK) {
Map<String, Object> mapping = new HashMap<>();
for (String bln : listBulanPelayanan) {
Double countKonsul = 0.0;
Double countVisit = 0.0;
Double countOperasi = 0.0;
Double countNonoperasi = 0.0;
for (Map<String, Object> dat : dataLayanan) {
if (dat.get("idKelompokKerja").equals(kk.get("id"))
&& sdf.format(dat.get("tglPelayanan")).equals(bln)) {
if (dat.get("namaTindakan").toString().toLowerCase().contains(Master.KONSUL)) {
countKonsul = countKonsul + Double.parseDouble(dat.get("jumlahTindakan").toString());
} else if (dat.get("namaTindakan").toString().toLowerCase()
.contains(Master.VISIT)) {
countVisit = countVisit + Double.parseDouble(dat.get("jumlahTindakan").toString());
} else if (dat.get("idRuangan").equals(Master.Ruangan.OK)) {
countOperasi = countOperasi + Double.parseDouble(dat.get("jumlahTindakan").toString());
} else {
countNonoperasi = countNonoperasi
+ Double.parseDouble(dat.get("jumlahTindakan").toString());
}
}
}
if (sdf.format(bulan3.getTime()).equals(bln)) {
mapping.put("capaianKonsulBulan3", countKonsul.intValue());
mapping.put("capaianVisitBulan3", countVisit.intValue());
mapping.put("capaianOperasiBulan3", countOperasi.intValue());
mapping.put("capaianNonoperasiBulan3", countNonoperasi.intValue());
} else if (sdf.format(bulan2.getTime()).equals(bln)) {
mapping.put("capaianKonsulBulan2", countKonsul.intValue());
mapping.put("capaianVisitBulan2", countVisit.intValue());
mapping.put("capaianOperasiBulan2", countOperasi.intValue());
mapping.put("capaianNonoperasiBulan2", countNonoperasi.intValue());
} else if (sdf.format(bulan1.getTime()).equals(bln)) {
mapping.put("capaianKonsulBulan1", countKonsul.intValue());
mapping.put("capaianVisitBulan1", countVisit.intValue());
mapping.put("capaianOperasiBulan1", countOperasi.intValue());
mapping.put("capaianNonoperasiBulan1", countNonoperasi.intValue());
}
}
Integer targetKonsulBulan = (int) Math
.floor((Integer.parseInt(mapping.get("capaianKonsulBulan3").toString())
+ Integer.parseInt(mapping.get("capaianKonsulBulan2").toString())
+ Integer.parseInt(mapping.get("capaianKonsulBulan1").toString())) / 3);
Integer targetVisitBulan = (int) Math.floor((Integer.parseInt(mapping.get("capaianVisitBulan3").toString())
+ Integer.parseInt(mapping.get("capaianVisitBulan2").toString())
+ Integer.parseInt(mapping.get("capaianVisitBulan1").toString())) / 3);
Integer targetOperasiBulan = (int) Math
.floor((Integer.parseInt(mapping.get("capaianOperasiBulan3").toString())
+ Integer.parseInt(mapping.get("capaianOperasiBulan2").toString())
+ Integer.parseInt(mapping.get("capaianOperasiBulan1").toString())) / 3);
Integer targetNonoperasiBulan = (int) Math
.floor((Integer.parseInt(mapping.get("capaianNonoperasiBulan3").toString())
+ Integer.parseInt(mapping.get("capaianNonoperasiBulan2").toString())
+ Integer.parseInt(mapping.get("capaianNonoperasiBulan1").toString())) / 3);
mapping.put("targetKonsulBulan", targetKonsulBulan);
mapping.put("targetVisitBulan", targetVisitBulan);
mapping.put("targetOperasiBulan", targetOperasiBulan);
mapping.put("targetNonoperasiBulan", targetNonoperasiBulan);
Map<String, Object> mapKsm = new HashMap<>();
mapKsm.put("id", kk.get("idKsm"));
mapKsm.put("name", kk.get("namaKsm"));
Map<String, Object> mapKk = new HashMap<>();
mapKk.put("id", kk.get("id"));
mapKk.put("name", kk.get("name"));
mapping.put("unitKerjaPegawai", mapKsm);
mapping.put("subUnitKerjaPegawai", mapKk);
result.add(mapping);
}
return result;
}
@Override
public List<Map<String, Object>> findAllTargetCapaianLayanan(String strPeriode) throws ParseException {
public List<Map<String, Object>> findAllTargetCapaianLayanan(String strPeriode, Integer jmlBulan)
throws ParseException {
List<Map<String, Object>> result = new ArrayList<>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
SimpleDateFormat sdfINA = new SimpleDateFormat("MMMM yyyy", new Locale("in", "ID"));
Date periode = sdf.parse(strPeriode);
// setting_checking_perimeter
Calendar bulan3 = Calendar.getInstance();
bulan3.setTime(periode);
bulan3.add(Calendar.MONTH, -3);
Calendar bulan2 = Calendar.getInstance();
bulan2.setTime(periode);
bulan2.add(Calendar.MONTH, -2);
Calendar bulan1 = Calendar.getInstance();
bulan1.setTime(periode);
bulan1.add(Calendar.MONTH, -1);
// get_three_month_earlier
Calendar calTglAwal = Calendar.getInstance();
calTglAwal.setTime(periode);
@ -592,7 +463,7 @@ public class IkiDanRemunerasiServiceImpl implements IkiDanRemunerasiService {
calTglAwal.set(Calendar.MINUTE, 0);
calTglAwal.set(Calendar.SECOND, 0);
calTglAwal.set(Calendar.DAY_OF_MONTH, 1);
calTglAwal.add(Calendar.MONTH, -3);
calTglAwal.add(Calendar.MONTH, -jmlBulan);
// get_this_period
Calendar bulan = Calendar.getInstance();
@ -602,147 +473,303 @@ public class IkiDanRemunerasiServiceImpl implements IkiDanRemunerasiService {
bulan.set(Calendar.SECOND, 0);
bulan.set(Calendar.DAY_OF_MONTH, bulan.getActualMaximum(Calendar.DAY_OF_MONTH));
List<Map<String, Object>> dataLayanan = ikiDanRemunerasiDao.getDataLayanan(calTglAwal.getTime(),
List<Integer> listRuangEks = splitDataSettingDatafixed("IdRuanganEksekutif");
List<Map<String, Object>> listIndikatorPelayanan = indikatorKinerjaDao
.findIndikator(Arrays.asList(Master.IndikatorKinerja.INDIKATOR_PELAYANAN_MEDIS));
List<Map<String, Object>> dataLayananRaw = ikiDanRemunerasiDao.getDataLayanan(calTglAwal.getTime(),
bulan.getTime(), Master.JenisPegawai.DOKTER, Arrays.asList(Master.UnitKerja.KSM),
Arrays.asList(Master.JenisProduk.NONTINDAKAN), Master.Produk.KARCIS);
List<Map<String, Object>> dataLastTargetLayanan = targetLayananDao
.getLastTargetLayanan(sdf.format(calTglAwal.getTime()), sdf.format(bulan.getTime()));
// get_kategori_bulan
List<String> listBulanPelayanan = new ArrayList<>();
for (Map<String, Object> dat : dataLayanan) {
List<String> listBulanPelayananSorted = new ArrayList<>();
for (Map<String, Object> dat : dataLayananRaw) {
if (!listBulanPelayanan.contains(sdf.format(dat.get("tglPelayanan")))) {
listBulanPelayanan.add(sdf.format(dat.get("tglPelayanan")));
}
}
listBulanPelayananSorted = listBulanPelayanan.stream().sorted().collect(Collectors.toList());
// get_kategori_kelompok_kerja
List<Integer> listIdKK = new ArrayList<>();
List<Map<String, Object>> listKK = new ArrayList<>();
for (Map<String, Object> map : dataLayanan) {
for (Map<String, Object> map : dataLayananRaw) {
if (!listIdKK.contains(map.get("idKelompokKerja"))) {
listIdKK.add(Integer.parseInt(map.get("idKelompokKerja").toString()));
}
}
List<Map<String, Object>> listKelompokKerja = subunitKerjaDao.findSubunitKerja(listIdKK);
Map<String, Object> mapKK = new HashMap<>();
mapKK.put("idKsm", map.get("idKsm"));
mapKK.put("namaKsm", map.get("Ksm"));
mapKK.put("id", map.get("idKelompokKerja"));
mapKK.put("name", map.get("kelompokKerja"));
listKK.add(mapKK);
List<Map<String, Object>> dataLastTargetLayanan = targetLayananDao
.getLastTargetLayanan(sdf.format(calTglAwal.getTime()), sdf.format(bulan.getTime()));
List<Map<String, Object>> filterTarget = new ArrayList<>();
// filtering target
for (Map<String, Object> mapData : dataLastTargetLayanan) {
boolean isContained = false;
for (Map<String, Object> mapFilter : filterTarget) {
if (mapData.get("kelompokKerjaId").equals(mapFilter.get("kelompokKerjaId"))
&& mapData.get("indikatorId").equals(mapFilter.get("indikatorId"))
&& mapData.get("periode").equals(mapFilter.get("periode"))) {
isContained = true;
break;
}
}
if (!isContained) {
Map<String, Object> mapFilter = new HashMap<>();
mapFilter.put("kelompokKerjaId", mapData.get("kelompokKerjaId"));
mapFilter.put("indikatorId", mapData.get("indikatorId"));
mapFilter.put("periode", mapData.get("periode"));
filterTarget.add(mapFilter);
}
}
for (Map<String, Object> kk : listKK) {
Map<String, Object> mapping = new HashMap<>();
for (String bln : listBulanPelayanan) {
Double countKonsul = 0.0;
Double countVisit = 0.0;
Double countOperasi = 0.0;
Double countNonoperasi = 0.0;
for (Map<String, Object> dat : dataLayanan) {
if (dat.get("idKelompokKerja").equals(kk.get("id"))
&& sdf.format(dat.get("tglPelayanan")).equals(bln)) {
if (dat.get("namaTindakan").toString().toLowerCase().contains(Master.KONSUL)) {
countKonsul = countKonsul + Double.parseDouble(dat.get("jumlahTindakan").toString());
} else if (dat.get("namaTindakan").toString().toLowerCase()
.contains(Master.VISIT)) {
countVisit = countVisit + Double.parseDouble(dat.get("jumlahTindakan").toString());
} else if (dat.get("idRuangan").equals(Master.Ruangan.OK)) {
countOperasi = countOperasi + Double.parseDouble(dat.get("jumlahTindakan").toString());
} else {
countNonoperasi = countNonoperasi
+ Double.parseDouble(dat.get("jumlahTindakan").toString());
}
}
}
if (sdf.format(bulan3.getTime()).equals(bln)) {
mapping.put("capaianKonsulBulan3", countKonsul.intValue());
mapping.put("capaianVisitBulan3", countVisit.intValue());
mapping.put("capaianOperasiBulan3", countOperasi.intValue());
mapping.put("capaianNonoperasiBulan3", countNonoperasi.intValue());
for (Map<String, Object> lastTarget : dataLastTargetLayanan) {
if (lastTarget.get("idSubunit").equals(kk.get("id")) && lastTarget.get("periode").equals(bln)) {
mapping.put("targetKonsulBulan3", lastTarget.get("targetKonsultasi"));
mapping.put("targetVisitBulan3", lastTarget.get("targetVisite"));
mapping.put("targetOperasiBulan3", lastTarget.get("targetOperasi"));
mapping.put("targetNonoperasiBulan3", lastTarget.get("targetNonoperasi"));
}
}
} else if (sdf.format(bulan2.getTime()).equals(bln)) {
mapping.put("capaianKonsulBulan2", countKonsul.intValue());
mapping.put("capaianVisitBulan2", countVisit.intValue());
mapping.put("capaianOperasiBulan2", countOperasi.intValue());
mapping.put("capaianNonoperasiBulan2", countNonoperasi.intValue());
for (Map<String, Object> lastTarget : dataLastTargetLayanan) {
if (lastTarget.get("idSubunit").equals(kk.get("id")) && lastTarget.get("periode").equals(bln)) {
mapping.put("targetKonsulBulan2", lastTarget.get("targetKonsultasi"));
mapping.put("targetVisitBulan2", lastTarget.get("targetVisite"));
mapping.put("targetOperasiBulan2", lastTarget.get("targetOperasi"));
mapping.put("targetNonoperasiBulan2", lastTarget.get("targetNonoperasi"));
}
}
} else if (sdf.format(bulan1.getTime()).equals(bln)) {
mapping.put("capaianKonsulBulan1", countKonsul.intValue());
mapping.put("capaianVisitBulan1", countVisit.intValue());
mapping.put("capaianOperasiBulan1", countOperasi.intValue());
mapping.put("capaianNonoperasiBulan1", countNonoperasi.intValue());
for (Map<String, Object> lastTarget : dataLastTargetLayanan) {
if (lastTarget.get("idSubunit").equals(kk.get("id")) && lastTarget.get("periode").equals(bln)) {
mapping.put("targetKonsulBulan1", lastTarget.get("targetKonsultasi"));
mapping.put("targetVisitBulan1", lastTarget.get("targetVisite"));
mapping.put("targetOperasiBulan1", lastTarget.get("targetOperasi"));
mapping.put("targetNonoperasiBulan1", lastTarget.get("targetNonoperasi"));
}
}
} else if (sdf.format(bulan.getTime()).equals(bln)) {
mapping.put("capaianKonsulBulan", countKonsul.intValue());
mapping.put("capaianVisitBulan", countVisit.intValue());
mapping.put("capaianOperasiBulan", countOperasi.intValue());
mapping.put("capaianNonoperasiBulan", countNonoperasi.intValue());
for (Map<String, Object> lastTarget : dataLastTargetLayanan) {
if (lastTarget.get("idSubunit").equals(kk.get("id")) && lastTarget.get("periode").equals(bln)) {
mapping.put("targetKonsulBulan", lastTarget.get("targetKonsultasi"));
mapping.put("targetVisitBulan", lastTarget.get("targetVisite"));
mapping.put("targetOperasiBulan", lastTarget.get("targetOperasi"));
mapping.put("targetNonoperasiBulan", lastTarget.get("targetNonoperasi"));
}
}
List<Map<String, Object>> dataTargetFiltered = new ArrayList<>();
// processing Target
for (Map<String, Object> mapFilter : filterTarget) {
for (Map<String, Object> mapData : dataLastTargetLayanan) {
if (mapData.get("kelompokKerjaId").equals(mapFilter.get("kelompokKerjaId"))
&& mapData.get("indikatorId").equals(mapFilter.get("indikatorId"))
&& mapData.get("periode").equals(mapFilter.get("periode"))) {
dataTargetFiltered.add(mapData);
break;
}
}
Integer targetKonsulBulan = (int) Math
.floor((Integer.parseInt(mapping.get("capaianKonsulBulan3").toString())
+ Integer.parseInt(mapping.get("capaianKonsulBulan2").toString())
+ Integer.parseInt(mapping.get("capaianKonsulBulan1").toString())) / 3);
Integer targetVisitBulan = (int) Math.floor((Integer.parseInt(mapping.get("capaianVisitBulan3").toString())
+ Integer.parseInt(mapping.get("capaianVisitBulan2").toString())
+ Integer.parseInt(mapping.get("capaianVisitBulan1").toString())) / 3);
Integer targetOperasiBulan = (int) Math
.floor((Integer.parseInt(mapping.get("capaianOperasiBulan3").toString())
+ Integer.parseInt(mapping.get("capaianOperasiBulan2").toString())
+ Integer.parseInt(mapping.get("capaianOperasiBulan1").toString())) / 3);
Integer targetNonoperasiBulan = (int) Math
.floor((Integer.parseInt(mapping.get("capaianNonoperasiBulan3").toString())
+ Integer.parseInt(mapping.get("capaianNonoperasiBulan2").toString())
+ Integer.parseInt(mapping.get("capaianNonoperasiBulan1").toString())) / 3);
}
mapping.put("targetKonsulBulan", targetKonsulBulan);
mapping.put("targetVisitBulan", targetVisitBulan);
mapping.put("targetOperasiBulan", targetOperasiBulan);
mapping.put("targetNonoperasiBulan", targetNonoperasiBulan);
List<Map<String, Object>> dataSkoringRaw = skoringTindakanMedisDao.findLatestActiveSkor();
Map<String, Object> mapKsm = new HashMap<>();
mapKsm.put("id", kk.get("idKsm"));
mapKsm.put("name", kk.get("namaKsm"));
List<Map<String, Object>> filterSkoring = new ArrayList<>();
// filtering skoring
for (Map<String, Object> mapData : dataSkoringRaw) {
boolean isContained = false;
for (Map<String, Object> mapFilter : filterSkoring) {
if (mapData.get("produkId").equals(mapFilter.get("produkId"))
&& mapData.get("kelompokKerjaId").equals(mapFilter.get("kelompokKerjaId"))) {
isContained = true;
break;
}
}
if (!isContained) {
Map<String, Object> mapFilter = new HashMap<>();
mapFilter.put("produkId", mapData.get("produkId"));
mapFilter.put("kelompokKerjaId", mapData.get("kelompokKerjaId"));
filterSkoring.add(mapFilter);
}
}
Map<String, Object> mapKk = new HashMap<>();
mapKk.put("id", kk.get("id"));
mapKk.put("name", kk.get("name"));
List<Map<String, Object>> dataSkoringFiltered = new ArrayList<>();
// processing skoring
for (Map<String, Object> mapFilter : filterSkoring) {
for (Map<String, Object> mapData : dataSkoringRaw) {
if (mapFilter.get("produkId").equals(mapData.get("produkId"))
&& mapFilter.get("kelompokKerjaId").equals(mapData.get("kelompokKerjaId"))) {
dataSkoringFiltered.add(mapData);
break;
}
}
}
mapping.put("unitKerjaPegawai", mapKsm);
mapping.put("subUnitKerjaPegawai", mapKk);
List<Map<String, Object>> dataLayananScored = new ArrayList<>();
// scoring data layanan
for (Map<String, Object> layanan : dataLayananRaw) {
for (Map<String, Object> skoring : dataSkoringFiltered) {
result.add(mapping);
if (layanan.get("idTindakan").equals(skoring.get("produkId"))
&& layanan.get("idKelompokKerja").equals(skoring.get("kelompokKerjaId"))
&& (((Date) skoring.get("tglBerlaku")).before(((Date) layanan.get("tglPelayanan")))
|| ((Date) skoring.get("tglBerlaku")).equals(((Date) layanan.get("tglPelayanan"))))) {
layanan.put("jumlahTindakan", Double.valueOf(layanan.get("jumlahTindakan").toString())
* Double.valueOf(skoring.get("skor").toString()));
break;
}
}
dataLayananScored.add(layanan);
}
for (Map<String, Object> kelompokKerja : listKelompokKerja) {
for (Map<String, Object> indikator : listIndikatorPelayanan) {
Map<String, Object> rsMap = new HashMap<>();
List<Map<String, Object>> listDetail = new ArrayList<>();
double capaianTriwulanKE = 0.0;
double capaianTriwulanKG = 0.0;
double capaianTriwulanKR = 0.0;
double capaianTriwulanTE = 0.0;
double capaianTriwulanTG = 0.0;
double capaianTriwulanTO = 0.0;
double capaianTriwulanTR = 0.0;
double capaianTriwulanVI = 0.0;
int i = 0;
for (String datePelayanan : listBulanPelayananSorted) {
i++;
Map<String, Object> detail = new HashMap<>();
double capaianBulanan = 0.0;
double targetBulanan = 0.0;
for (Map<String, Object> data : dataLayananScored) {
if (kelompokKerja.get("id").equals(data.get("idKelompokKerja"))
&& datePelayanan.equals(sdf.format(data.get("tglPelayanan")))) {
if (indikator.get("id").equals(Master.IndikatorKinerja.KONSUL_EKS)
&& data.get("namaTindakan").equals(Master.KONSUL)
&& listRuangEks.contains(data.get("idRuangan"))) {
capaianBulanan += Double.valueOf(data.get("jumlahTindakan").toString());
if (i < listBulanPelayananSorted.size()) {
capaianTriwulanKE += Double.valueOf(data.get("jumlahTindakan").toString());
for (Map<String, Object> target : dataTargetFiltered) {
if (kelompokKerja.get("id").equals(target.get("kelompokKerjaId"))
&& indikator.get("id").equals(target.get("indikatorId"))
&& datePelayanan.equals(target.get("periode"))) {
targetBulanan = Double.valueOf(target.get("target").toString());
break;
}
}
} else if (i == listBulanPelayananSorted.size()) {
targetBulanan = Math
.floor(capaianTriwulanKE / (listBulanPelayananSorted.size() - 1));
}
} else if (indikator.get("id").equals(Master.IndikatorKinerja.KONSUL_GADAR)
&& data.get("namaTindakan").equals(Master.KONSUL)
&& data.get("idDepartemen").equals(Master.Departemen.IGD)) {
capaianBulanan += Double.valueOf(data.get("jumlahTindakan").toString());
if (i < listBulanPelayananSorted.size()) {
capaianTriwulanKG += Double.valueOf(data.get("jumlahTindakan").toString());
for (Map<String, Object> target : dataTargetFiltered) {
if (kelompokKerja.get("id").equals(target.get("kelompokKerjaId"))
&& indikator.get("id").equals(target.get("indikatorId"))
&& datePelayanan.equals(target.get("periode"))) {
targetBulanan = Double.valueOf(target.get("target").toString());
break;
}
}
} else if (i == listBulanPelayananSorted.size()) {
targetBulanan = Math
.floor(capaianTriwulanKG / (listBulanPelayananSorted.size() - 1));
}
} else if (indikator.get("id").equals(Master.IndikatorKinerja.KONSUL_REG)
&& data.get("namaTindakan").equals(Master.KONSUL)) {
capaianBulanan += Double.valueOf(data.get("jumlahTindakan").toString());
if (i < listBulanPelayananSorted.size()) {
capaianTriwulanKR += Double.valueOf(data.get("jumlahTindakan").toString());
for (Map<String, Object> target : dataTargetFiltered) {
if (kelompokKerja.get("id").equals(target.get("kelompokKerjaId"))
&& indikator.get("id").equals(target.get("indikatorId"))
&& datePelayanan.equals(target.get("periode"))) {
targetBulanan = Double.valueOf(target.get("target").toString());
break;
}
}
} else if (i == listBulanPelayananSorted.size()) {
targetBulanan = Math
.floor(capaianTriwulanKR / (listBulanPelayananSorted.size() - 1));
}
} else if (indikator.get("id").equals(Master.IndikatorKinerja.VISITE)
&& data.get("namaTindakan").equals(Master.VISIT)) {
capaianBulanan += Double.valueOf(data.get("jumlahTindakan").toString());
if (i < listBulanPelayananSorted.size()) {
capaianTriwulanVI += Double.valueOf(data.get("jumlahTindakan").toString());
for (Map<String, Object> target : dataTargetFiltered) {
if (kelompokKerja.get("id").equals(target.get("kelompokKerjaId"))
&& indikator.get("id").equals(target.get("indikatorId"))
&& datePelayanan.equals(target.get("periode"))) {
targetBulanan = Double.valueOf(target.get("target").toString());
break;
}
}
} else if (i == listBulanPelayananSorted.size()) {
targetBulanan = Math
.floor(capaianTriwulanVI / (listBulanPelayananSorted.size() - 1));
}
} else if (indikator.get("id").equals(Master.IndikatorKinerja.TINDAKAN_EKS)
&& listRuangEks.contains(data.get("idRuangan"))) {
capaianBulanan += Double.valueOf(data.get("jumlahTindakan").toString());
if (i < listBulanPelayananSorted.size()) {
capaianTriwulanTE += Double.valueOf(data.get("jumlahTindakan").toString());
for (Map<String, Object> target : dataTargetFiltered) {
if (kelompokKerja.get("id").equals(target.get("kelompokKerjaId"))
&& indikator.get("id").equals(target.get("indikatorId"))
&& datePelayanan.equals(target.get("periode"))) {
targetBulanan = Double.valueOf(target.get("target").toString());
break;
}
}
} else if (i == listBulanPelayananSorted.size()) {
targetBulanan = Math
.floor(capaianTriwulanTE / (listBulanPelayananSorted.size() - 1));
}
} else if (indikator.get("id").equals(Master.IndikatorKinerja.TINDAKAN_GADAR)
&& data.get("idDepartemen").equals(Master.Departemen.IGD)) {
capaianBulanan += Double.valueOf(data.get("jumlahTindakan").toString());
if (i < listBulanPelayananSorted.size()) {
capaianTriwulanTG += Double.valueOf(data.get("jumlahTindakan").toString());
for (Map<String, Object> target : dataTargetFiltered) {
if (kelompokKerja.get("id").equals(target.get("kelompokKerjaId"))
&& indikator.get("id").equals(target.get("indikatorId"))
&& datePelayanan.equals(target.get("periode"))) {
targetBulanan = Double.valueOf(target.get("target").toString());
break;
}
}
} else if (i == listBulanPelayananSorted.size()) {
targetBulanan = Math
.floor(capaianTriwulanTG / (listBulanPelayananSorted.size() - 1));
}
} else if (indikator.get("id").equals(Master.IndikatorKinerja.TINDAKAN_OPS)
&& data.get("idRuangan").equals(Master.Ruangan.OK)) {
capaianBulanan += Double.valueOf(data.get("jumlahTindakan").toString());
if (i < listBulanPelayananSorted.size()) {
capaianTriwulanTO += Double.valueOf(data.get("jumlahTindakan").toString());
for (Map<String, Object> target : dataTargetFiltered) {
if (kelompokKerja.get("id").equals(target.get("kelompokKerjaId"))
&& indikator.get("id").equals(target.get("indikatorId"))
&& datePelayanan.equals(target.get("periode"))) {
targetBulanan = Double.valueOf(target.get("target").toString());
break;
}
}
} else if (i == listBulanPelayananSorted.size()) {
targetBulanan = Math
.floor(capaianTriwulanTO / (listBulanPelayananSorted.size() - 1));
}
} else if (indikator.get("id").equals(Master.IndikatorKinerja.TINDAKAN_REG)) {
capaianBulanan += Double.valueOf(data.get("jumlahTindakan").toString());
if (i < listBulanPelayananSorted.size()) {
capaianTriwulanTR += Double.valueOf(data.get("jumlahTindakan").toString());
for (Map<String, Object> target : dataTargetFiltered) {
if (kelompokKerja.get("id").equals(target.get("kelompokKerjaId"))
&& indikator.get("id").equals(target.get("indikatorId"))
&& datePelayanan.equals(target.get("periode"))) {
targetBulanan = Double.valueOf(target.get("target").toString());
break;
}
}
} else if (i == listBulanPelayananSorted.size()) {
targetBulanan = Math
.floor(capaianTriwulanTR / (listBulanPelayananSorted.size() - 1));
}
}
}
}
Date bulanPelayanan = sdf.parse(datePelayanan);
detail.put("date", datePelayanan);
detail.put("bulan", sdfINA.format(bulanPelayanan));
detail.put("target", targetBulanan);
detail.put("capaian", capaianBulanan);
listDetail.add(detail);
}
if (Double.valueOf(listDetail.get(listDetail.size() - 1).get("target").toString()) > 0.0) {
rsMap.put("detail", listDetail);
rsMap.put("kelompokKerja", kelompokKerja);
rsMap.put("indikator", indikator);
}
if (CommonUtil.isNotNullOrEmpty(rsMap)) {
result.add(rsMap);
}
}
}
return result;

View File

@ -158,7 +158,7 @@ public class IndikatorKinerjaServiceImpl extends BaseVoServiceImpl implements In
}
if (CommonUtil.isNotNullOrEmpty(listIdDup)) {
result = indikatorKinerjaDao.findAllDup(listIdDup);
result = indikatorKinerjaDao.findIndikator(listIdDup);
}
return result;

View File

@ -139,99 +139,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
return result;
}
@Override
public List<Map<String, Object>> getRekapPendapatanAllRuangan(String strTgl1, String strTgl2)
throws ParseException {
List<Map<String, Object>> result = new ArrayList<>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date tglAwal = sdf.parse(strTgl1);
Date tglAkhir = sdf.parse(strTgl2);
List<Map<String, Object>> data = pelayananPasienDao.findDataLayananAllRuangan(tglAwal, tglAkhir,
Arrays.asList(Master.JenisProduk.NONTINDAKAN));
if (CommonUtil.isNotNullOrEmpty(data)) {
List<Integer> listIdRuangan = new ArrayList<>();
for (Map<String, Object> map : data) {
if (!listIdRuangan.contains(map.get("idRuangan"))) {
listIdRuangan.add(Integer.valueOf(map.get("idRuangan").toString()));
}
}
for (Integer idRuangan : listIdRuangan) {
Double sumAdministrasi = 0.0;
Double sumVisite = 0.0;
Double sumKonsultasi = 0.0;
Double sumAkomodasi = 0.0;
Double sumAlatCanggih = 0.0;
Double sumTindakan = 0.0;
Double sumObatAlkes = 0.0;
Double sumDiskon = 0.0;
Map<String, Object> mapResult = new HashMap<>();
Map<String, Object> mapDepartemen = new HashMap<>();
Map<String, Object> mapRuangan = new HashMap<>();
for (Map<String, Object> map : data) {
if (map.get("idRuangan").equals(idRuangan)) {
if (Arrays.asList(Master.Departemen.KARCIS).contains(map.get("idDepartemen"))
&& map.get("namaProduk").toString().toLowerCase().contains(Master.KARCIS)) {
sumAdministrasi = sumAdministrasi + (Double.valueOf(map.get("hargaJual").toString())
* Double.valueOf(map.get("jumlahTindakan").toString()));
} else if (!Arrays.asList(Master.Departemen.KARCIS).contains(map.get("idDepartemen"))
&& Arrays.stream(Master.MATERAI_ADMINISTRASI)
.anyMatch(map.get("namaProduk").toString().toLowerCase()::contains)) {
sumAdministrasi = sumAdministrasi + (Double.valueOf(map.get("hargaJual").toString())
* Double.valueOf(map.get("jumlahTindakan").toString()));
} else if (map.get("namaProduk").toString().toLowerCase().contains(Master.VISIT)) {
sumVisite = sumVisite + (Double.valueOf(map.get("hargaJual").toString())
* Double.valueOf(map.get("jumlahTindakan").toString()));
} else if (map.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL)) {
sumKonsultasi = sumKonsultasi + (Double.valueOf(map.get("hargaJual").toString())
* Double.valueOf(map.get("jumlahTindakan").toString()));
} else if (map.get("namaProduk").toString().toLowerCase().contains(Master.AKOMODASI)) {
sumAkomodasi = sumAkomodasi + (Double.valueOf(map.get("hargaJual").toString())
* Double.valueOf(map.get("jumlahTindakan").toString()));
} else if (map.get("idJenisProduk").equals(Master.JenisProduk.ALAT_CANGGIH)) {
sumAlatCanggih = sumAlatCanggih + (Double.valueOf(map.get("hargaJual").toString())
* Double.valueOf(map.get("jumlahTindakan").toString()));
} else if (map.get("idJenisProduk").equals(Master.JenisProduk.OBAT_ALKES)) {
sumObatAlkes = sumObatAlkes + (Double.valueOf(map.get("hargaJual").toString())
* Double.valueOf(map.get("jumlahTindakan").toString()));
} else {
sumTindakan = sumTindakan + (Double.valueOf(map.get("hargaJual").toString())
* Double.valueOf(map.get("jumlahTindakan").toString()));
}
sumDiskon = sumDiskon + (Double.valueOf(map.get("hargaDiskon").toString())
* Double.valueOf(map.get("jumlahTindakan").toString()));
mapDepartemen.put("id", map.get("idDepartemen"));
mapDepartemen.put("namaDepartemen", map.get("namaDepartemen"));
mapRuangan.put("id", map.get("idRuangan"));
mapRuangan.put("namaRuangan", map.get("namaRuangan"));
}
}
mapResult.put("departemen", mapDepartemen);
mapResult.put("ruangan", mapRuangan);
mapResult.put("administrasi", new BigDecimal(sumAdministrasi, MathContext.DECIMAL64));
mapResult.put("visite", new BigDecimal(sumVisite, MathContext.DECIMAL64));
mapResult.put("konsultasi", new BigDecimal(sumKonsultasi, MathContext.DECIMAL64));
mapResult.put("akomodasi", new BigDecimal(sumAkomodasi, MathContext.DECIMAL64));
mapResult.put("alatCanggih", new BigDecimal(sumAlatCanggih, MathContext.DECIMAL64));
mapResult.put("tindakan", new BigDecimal(sumTindakan, MathContext.DECIMAL64));
mapResult.put("obatAlkes", new BigDecimal(sumObatAlkes, MathContext.DECIMAL64));
mapResult.put("diskon", new BigDecimal(sumDiskon, MathContext.DECIMAL64));
mapResult
.put("totalDiRuangan",
new BigDecimal(sumAdministrasi + sumVisite + sumKonsultasi + sumAkomodasi
+ sumAlatCanggih + sumTindakan + sumObatAlkes - sumDiskon,
MathContext.DECIMAL64));
result.add(mapResult);
}
}
return result;
}
public Double calculateRemunWithFfs(Integer idKelPasien, Integer idDepartemen, Integer idLayanan,
String namaLayanan, Integer tipePegawai, Double hargaJual, Double hargaDiskon, Double jumlahLayanan) {
Double result = 0.0;

View File

@ -169,64 +169,93 @@ public class SkoringTindakanMedisServiceImpl extends BaseVoServiceImpl implement
public List<Map<String, Object>> findAllEnabled(List<Integer> listIdKelompokKerja, String namaProduk,
String detailProduk, Boolean statusVerifikasi) throws JpaSystemException {
List<Map<String, Object>> result = new ArrayList<>();
List<Map<String, Object>> data = new ArrayList<>();
List<Map<String, Object>> filter = new ArrayList<>();
if (CommonUtil.isNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
&& CommonUtil.isNullOrEmpty(detailProduk) && CommonUtil.isNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabled();
data = skoringTindakanMedisDao.findAllEnabled();
} else if (CommonUtil.isNotNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
&& CommonUtil.isNullOrEmpty(detailProduk) && CommonUtil.isNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByUnit(listIdKelompokKerja);
data = skoringTindakanMedisDao.findAllEnabledByUnit(listIdKelompokKerja);
} else if (CommonUtil.isNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
&& CommonUtil.isNullOrEmpty(detailProduk) && CommonUtil.isNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByProduk(namaProduk.toLowerCase());
data = skoringTindakanMedisDao.findAllEnabledByProduk(namaProduk.toLowerCase());
} else if (CommonUtil.isNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
&& CommonUtil.isNotNullOrEmpty(detailProduk) && CommonUtil.isNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByDetail(detailProduk.toLowerCase());
data = skoringTindakanMedisDao.findAllEnabledByDetail(detailProduk.toLowerCase());
} else if (CommonUtil.isNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
&& CommonUtil.isNullOrEmpty(detailProduk) && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByVerif(statusVerifikasi);
data = skoringTindakanMedisDao.findAllEnabledByVerif(statusVerifikasi);
} else if (CommonUtil.isNotNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
&& CommonUtil.isNullOrEmpty(detailProduk) && CommonUtil.isNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByUnitProduk(listIdKelompokKerja, namaProduk.toLowerCase());
data = skoringTindakanMedisDao.findAllEnabledByUnitProduk(listIdKelompokKerja, namaProduk.toLowerCase());
} else if (CommonUtil.isNotNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
&& CommonUtil.isNotNullOrEmpty(detailProduk) && CommonUtil.isNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByUnitDetail(listIdKelompokKerja,
detailProduk.toLowerCase());
data = skoringTindakanMedisDao.findAllEnabledByUnitDetail(listIdKelompokKerja, detailProduk.toLowerCase());
} else if (CommonUtil.isNotNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
&& CommonUtil.isNullOrEmpty(detailProduk) && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByUnitVerif(listIdKelompokKerja, statusVerifikasi);
data = skoringTindakanMedisDao.findAllEnabledByUnitVerif(listIdKelompokKerja, statusVerifikasi);
} else if (CommonUtil.isNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
&& CommonUtil.isNotNullOrEmpty(detailProduk) && CommonUtil.isNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByProdukDetail(namaProduk.toLowerCase(),
data = skoringTindakanMedisDao.findAllEnabledByProdukDetail(namaProduk.toLowerCase(),
detailProduk.toLowerCase());
} else if (CommonUtil.isNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
&& CommonUtil.isNullOrEmpty(detailProduk) && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByProdukVerif(namaProduk.toLowerCase(), statusVerifikasi);
data = skoringTindakanMedisDao.findAllEnabledByProdukVerif(namaProduk.toLowerCase(), statusVerifikasi);
} else if (CommonUtil.isNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
&& CommonUtil.isNotNullOrEmpty(detailProduk) && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByDetailVerif(detailProduk.toLowerCase(), statusVerifikasi);
data = skoringTindakanMedisDao.findAllEnabledByDetailVerif(detailProduk.toLowerCase(), statusVerifikasi);
} else if (CommonUtil.isNotNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
&& CommonUtil.isNotNullOrEmpty(detailProduk) && CommonUtil.isNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByUnitProdukDetail(listIdKelompokKerja,
data = skoringTindakanMedisDao.findAllEnabledByUnitProdukDetail(listIdKelompokKerja,
namaProduk.toLowerCase(), detailProduk.toLowerCase());
} else if (CommonUtil.isNotNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
&& CommonUtil.isNullOrEmpty(detailProduk) && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByUnitProdukVerif(listIdKelompokKerja,
data = skoringTindakanMedisDao.findAllEnabledByUnitProdukVerif(listIdKelompokKerja,
namaProduk.toLowerCase(), statusVerifikasi);
} else if (CommonUtil.isNotNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNullOrEmpty(namaProduk)
&& CommonUtil.isNotNullOrEmpty(detailProduk) && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByUnitDetailVerif(listIdKelompokKerja,
data = skoringTindakanMedisDao.findAllEnabledByUnitDetailVerif(listIdKelompokKerja,
detailProduk.toLowerCase(), statusVerifikasi);
} else if (CommonUtil.isNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
&& CommonUtil.isNotNullOrEmpty(detailProduk) && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByProdukDetailVerif(namaProduk.toLowerCase(),
data = skoringTindakanMedisDao.findAllEnabledByProdukDetailVerif(namaProduk.toLowerCase(),
detailProduk.toLowerCase(), statusVerifikasi);
} else if (CommonUtil.isNotNullOrEmpty(listIdKelompokKerja) && CommonUtil.isNotNullOrEmpty(namaProduk)
&& CommonUtil.isNotNullOrEmpty(detailProduk) && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) {
result = skoringTindakanMedisDao.findAllEnabledByUnitProdukDetailVerif(listIdKelompokKerja,
data = skoringTindakanMedisDao.findAllEnabledByUnitProdukDetailVerif(listIdKelompokKerja,
namaProduk.toLowerCase(), detailProduk.toLowerCase(), statusVerifikasi);
}
// filtering
for (Map<String, Object> mapData : data) {
boolean isContained = false;
for (Map<String, Object> mapFilter : filter) {
if (mapData.get("produkId").equals(mapFilter.get("produkId"))
&& mapData.get("kelompokKerjaId").equals(mapFilter.get("kelompokKerjaId"))) {
isContained = true;
break;
}
}
if (!isContained) {
Map<String, Object> mapFilter = new HashMap<>();
mapFilter.put("produkId", mapData.get("produkId"));
mapFilter.put("kelompokKerjaId", mapData.get("kelompokKerjaId"));
filter.add(mapFilter);
}
}
for (Map<String, Object> mapFilter : filter) {
for (Map<String, Object> mapData : data) {
if (mapFilter.get("produkId").equals(mapData.get("produkId"))
&& mapFilter.get("kelompokKerjaId").equals(mapData.get("kelompokKerjaId"))) {
result.add(mapData);
break;
}
}
}
return result;
}

View File

@ -1,7 +1,9 @@
package com.jasamedika.medifirst2000.service.impl;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -9,46 +11,86 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.jpa.JpaSystemException;
import org.springframework.stereotype.Service;
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.converter.TargetLayananConverter;
import com.jasamedika.medifirst2000.dao.TargetLayananDao;
import com.jasamedika.medifirst2000.entities.IndikatorKinerja;
import com.jasamedika.medifirst2000.entities.SubUnitKerjaPegawai;
import com.jasamedika.medifirst2000.entities.TargetLayanan;
import com.jasamedika.medifirst2000.entities.UnitKerjaPegawai;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.TargetLayananService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.vo.IndikatorKinerjaVO;
import com.jasamedika.medifirst2000.vo.SubUnitKerjaPegawaiVO;
import com.jasamedika.medifirst2000.vo.TargetLayananCustomDetailVO;
import com.jasamedika.medifirst2000.vo.TargetLayananCustomVO;
import com.jasamedika.medifirst2000.vo.TargetLayananVO;
@Service("targetLayananService")
public class TargetLayananServiceImpl implements TargetLayananService {
@Autowired
private TargetLayananConverter targetLayananConverter;
@Autowired
private BaseConverterImpl<SubUnitKerjaPegawaiVO, SubUnitKerjaPegawai> subunitKerjaConverter;
@Autowired
private BaseConverterImpl<IndikatorKinerjaVO, IndikatorKinerja> indikatorKinerjaConverter;
@Autowired
private TargetLayananDao targetLayananDao;
@Override
public Map<String, Object> addAll(List<TargetLayananVO> vos) throws JpaSystemException, ServiceVOException {
Map<String, Object> result = new HashMap<String, Object>();
List<TargetLayanan> listModel = new ArrayList<>();
for (TargetLayananVO vo : vos) {
TargetLayanan targetLayanan = targetLayananConverter.transferVOToModel(vo, new TargetLayanan());
listModel.add(targetLayanan);
public List<String> addAll(List<TargetLayananCustomVO> vos)
throws JpaSystemException, ServiceVOException, ParseException {
List<String> resultListVO = new ArrayList<>();
List<TargetLayanan> listTargetLayanan = new ArrayList<>();
Date tglHitung = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
for (TargetLayananCustomVO vo : vos) {
for (TargetLayananCustomDetailVO detail : vo.getDetail()) {
UnitKerjaPegawai unitKerja = new UnitKerjaPegawai();
unitKerja.setId(vo.getKelompokKerja().getUnitKerjaId());
SubUnitKerjaPegawai kelompokKerja = subunitKerjaConverter.transferVOToModel(vo.getKelompokKerja(),
new SubUnitKerjaPegawai());
IndikatorKinerja indikator = indikatorKinerjaConverter.transferVOToModel(vo.getIndikator(),
new IndikatorKinerja());
TargetLayanan targetLayanan = new TargetLayanan();
targetLayanan.setKdProfile((short) 0);
targetLayanan.setStatusEnabled(true);
targetLayanan.setUnitKerjaPegawai(unitKerja);
targetLayanan.setSubUnitKerjaPegawai(kelompokKerja);
targetLayanan.setTglHitung(tglHitung);
targetLayanan.setPeriode(sdf.parse(detail.getDate()));
targetLayanan.setIndikator(indikator);
targetLayanan.setTarget(detail.getTarget());
targetLayanan.setCapaian(detail.getCapaian());
listTargetLayanan.add(targetLayanan);
}
}
if (CommonUtil.isNotNullOrEmpty(listModel)) {
targetLayananDao.save(listModel);
result.put("Info", "Success");
Iterable<TargetLayanan> listResultModel = targetLayananDao.save(listTargetLayanan);
for (TargetLayanan resultModel : listResultModel) {
TargetLayananVO resultVo = new TargetLayananVO();
resultVo = targetLayananConverter.transferModelToVO(resultModel, resultVo);
resultListVO.add(resultVo.getNoRec());
}
return result;
return resultListVO;
}
@Override
public TargetLayananVO add(TargetLayananVO vo) throws JpaSystemException, ServiceVOException {
TargetLayanan targetLayanan = targetLayananConverter.transferVOToModel(vo, new TargetLayanan());
TargetLayanan resultModel = targetLayananDao.save(targetLayanan);
TargetLayananVO resultVo = new TargetLayananVO();
resultVo = targetLayananConverter.transferModelToVO(resultModel, resultVo);
return resultVo;
@ -59,7 +101,7 @@ public class TargetLayananServiceImpl implements TargetLayananService {
TargetLayanan targetLayananLama = targetLayananDao.findOne(vo.getNoRec());
TargetLayanan targetLayananBaru = targetLayananConverter.transferVOToModel(vo, targetLayananLama);
TargetLayanan resultModel = targetLayananDao.save(targetLayananBaru);
TargetLayananVO resultVo = new TargetLayananVO();
resultVo = targetLayananConverter.transferModelToVO(resultModel, resultVo);
return resultVo;
@ -74,19 +116,19 @@ public class TargetLayananServiceImpl implements TargetLayananService {
@Override
public TargetLayananVO findById(String key) throws JpaSystemException {
TargetLayananVO result = new TargetLayananVO();
TargetLayanan targetLayanan = targetLayananDao.findOne(key);
if (CommonUtil.isNotNullOrEmpty(targetLayanan)) {
result = targetLayananConverter.transferModelToVO(targetLayanan, result);
}
return result;
}
@Override
public List<TargetLayananVO> findAll() throws JpaSystemException {
List<TargetLayananVO> result = new ArrayList<>();
Iterable<TargetLayanan> models = targetLayananDao.findAll();
if (CommonUtil.isNotNullOrEmpty(models)) {
for (TargetLayanan model : models) {
@ -95,7 +137,7 @@ public class TargetLayananServiceImpl implements TargetLayananService {
result.add(vo);
}
}
return result;
}

View File

@ -16,98 +16,50 @@ import com.jasamedika.medifirst2000.helper.Caption;
@Entity
@Table(name = "TargetLayanan_T")
public class TargetLayanan extends BaseTransaction {
private static final long serialVersionUID = -8426274186046883050L;
@ManyToOne
@JoinColumn(name = "objectunitkerjafk")
@Caption(value = "Unit Kerja")
public UnitKerjaPegawai unitKerjaPegawai;
@Column(name = "objectunitkerjafk", insertable = false, updatable = false)
public Integer unitKerjaPegawaiId;
@ManyToOne
@JoinColumn(name = "objectsubunitkerjafk")
@Caption(value = "Subunit Kerja")
public SubUnitKerjaPegawai subUnitKerjaPegawai;
@Column(name = "objectsubunitkerjafk", insertable = false, updatable = false)
public Integer subUnitKerjaPegawaiId;
@Column(name = "tglhitung")
@Temporal(TemporalType.TIMESTAMP)
@Caption(value = "Tanggal Hitung")
public Date tglHitung;
@Column(name = "periode")
@Temporal(TemporalType.DATE)
@Caption(value = "Periode")
public Date periode;
@Column(name = "capaianoperasi3bulanlalu")
@Caption(value = "Capaian Operasi")
public Integer capaianOperasi3bulanlalu;
@Column(name = "capaiannonoperasi3bulanlalu")
@Caption(value = "Capaian Nonoperasi")
public Integer capaianNonoperasi3bulanlalu;
@Column(name = "capaianvisite3bulanlalu")
@Caption(value = "Capaian Visite")
public Integer capaianVisit3bulanlalu;
@Column(name = "capaiankonsultasi3bulanlalu")
@Caption(value = "Capaian Konsultasi")
public Integer capaianKonsultasi3bulanlalu;
@Column(name = "capaianoperasi2bulanlalu")
@Caption(value = "Capaian Operasi")
public Integer capaianOperasi2bulanlalu;
@Column(name = "capaiannonoperasi2bulanlalu")
@Caption(value = "Capaian Nonoperasi")
public Integer capaianNonoperasi2bulanlalu;
@Column(name = "capaianvisite2bulanlalu")
@Caption(value = "Capaian Visite")
public Integer capaianVisit2bulanlalu;
@Column(name = "capaiankonsultasi2bulanlalu")
@Caption(value = "Capaian Konsultasi")
public Integer capaianKonsultasi2bulanlalu;
@Column(name = "capaianoperasibulanlalu")
@Caption(value = "Capaian Operasi")
public Integer capaianOperasi1bulanlalu;
@Column(name = "capaiannonoperasibulanlalu")
@Caption(value = "Capaian Nonoperasi")
public Integer capaianNonoperasi1bulanlalu;
@Column(name = "capaianvisitebulanlalu")
@Caption(value = "Capaian Visite")
public Integer capaianVisit1bulanlalu;
@Column(name = "capaiankonsultasibulanlalu")
@Caption(value = "Capaian Konsultasi")
public Integer capaianKonsultasi1bulanlalu;
@Column(name = "targetoperasi")
@Caption(value = "Target Operasi")
public Integer targetOperasi;
@Column(name = "targetnonoperasi")
@Caption(value = "Target Nonoperasi")
public Integer targetNonoperasi;
@Column(name = "targetvisite")
@Caption(value = "Target Visite")
public Integer targetVisite;
@Column(name = "targetkonsultasi")
@Caption(value = "Target Konsultasi")
public Integer targetKonsultasi;
@ManyToOne
@JoinColumn(name = "objectindikatorfk")
@Caption(value = "Indikator Kinerja")
public IndikatorKinerja indikator;
@Column(name = "objectindikatorfk", insertable = false, updatable = false)
public Integer indikatorId;
@Column(name = "capaian")
@Caption(value = "Capaian")
public Double capaian;
@Column(name = "target")
@Caption(value = "Target")
public Double target;
public UnitKerjaPegawai getUnitKerjaPegawai() {
return unitKerjaPegawai;
@ -157,132 +109,36 @@ public class TargetLayanan extends BaseTransaction {
this.periode = periode;
}
public Integer getCapaianOperasi3bulanlalu() {
return capaianOperasi3bulanlalu;
public IndikatorKinerja getIndikator() {
return indikator;
}
public void setCapaianOperasi3bulanlalu(Integer capaianOperasi3bulanlalu) {
this.capaianOperasi3bulanlalu = capaianOperasi3bulanlalu;
public void setIndikator(IndikatorKinerja indikator) {
this.indikator = indikator;
}
public Integer getCapaianNonoperasi3bulanlalu() {
return capaianNonoperasi3bulanlalu;
public Integer getIndikatorId() {
return indikatorId;
}
public void setCapaianNonoperasi3bulanlalu(Integer capaianNonoperasi3bulanlalu) {
this.capaianNonoperasi3bulanlalu = capaianNonoperasi3bulanlalu;
public void setIndikatorId(Integer indikatorId) {
this.indikatorId = indikatorId;
}
public Integer getCapaianVisit3bulanlalu() {
return capaianVisit3bulanlalu;
public Double getCapaian() {
return capaian;
}
public void setCapaianVisit3bulanlalu(Integer capaianVisit3bulanlalu) {
this.capaianVisit3bulanlalu = capaianVisit3bulanlalu;
public void setCapaian(Double capaian) {
this.capaian = capaian;
}
public Integer getCapaianKonsultasi3bulanlalu() {
return capaianKonsultasi3bulanlalu;
public Double getTarget() {
return target;
}
public void setCapaianKonsultasi3bulanlalu(Integer capaianKonsultasi3bulanlalu) {
this.capaianKonsultasi3bulanlalu = capaianKonsultasi3bulanlalu;
public void setTarget(Double target) {
this.target = target;
}
public Integer getCapaianOperasi2bulanlalu() {
return capaianOperasi2bulanlalu;
}
public void setCapaianOperasi2bulanlalu(Integer capaianOperasi2bulanlalu) {
this.capaianOperasi2bulanlalu = capaianOperasi2bulanlalu;
}
public Integer getCapaianNonoperasi2bulanlalu() {
return capaianNonoperasi2bulanlalu;
}
public void setCapaianNonoperasi2bulanlalu(Integer capaianNonoperasi2bulanlalu) {
this.capaianNonoperasi2bulanlalu = capaianNonoperasi2bulanlalu;
}
public Integer getCapaianVisit2bulanlalu() {
return capaianVisit2bulanlalu;
}
public void setCapaianVisit2bulanlalu(Integer capaianVisit2bulanlalu) {
this.capaianVisit2bulanlalu = capaianVisit2bulanlalu;
}
public Integer getCapaianKonsultasi2bulanlalu() {
return capaianKonsultasi2bulanlalu;
}
public void setCapaianKonsultasi2bulanlalu(Integer capaianKonsultasi2bulanlalu) {
this.capaianKonsultasi2bulanlalu = capaianKonsultasi2bulanlalu;
}
public Integer getCapaianOperasi1bulanlalu() {
return capaianOperasi1bulanlalu;
}
public void setCapaianOperasi1bulanlalu(Integer capaianOperasi1bulanlalu) {
this.capaianOperasi1bulanlalu = capaianOperasi1bulanlalu;
}
public Integer getCapaianNonoperasi1bulanlalu() {
return capaianNonoperasi1bulanlalu;
}
public void setCapaianNonoperasi1bulanlalu(Integer capaianNonoperasi1bulanlalu) {
this.capaianNonoperasi1bulanlalu = capaianNonoperasi1bulanlalu;
}
public Integer getCapaianVisit1bulanlalu() {
return capaianVisit1bulanlalu;
}
public void setCapaianVisit1bulanlalu(Integer capaianVisit1bulanlalu) {
this.capaianVisit1bulanlalu = capaianVisit1bulanlalu;
}
public Integer getCapaianKonsultasi1bulanlalu() {
return capaianKonsultasi1bulanlalu;
}
public void setCapaianKonsultasi1bulanlalu(Integer capaianKonsultasi1bulanlalu) {
this.capaianKonsultasi1bulanlalu = capaianKonsultasi1bulanlalu;
}
public Integer getTargetOperasi() {
return targetOperasi;
}
public void setTargetOperasi(Integer targetOperasi) {
this.targetOperasi = targetOperasi;
}
public Integer getTargetNonoperasi() {
return targetNonoperasi;
}
public void setTargetNonoperasi(Integer targetNonoperasi) {
this.targetNonoperasi = targetNonoperasi;
}
public Integer getTargetVisit() {
return targetVisite;
}
public void setTargetVisit(Integer targetVisite) {
this.targetVisite = targetVisite;
}
public Integer getTargetKonsultasi() {
return targetKonsultasi;
}
public void setTargetKonsultasi(Integer targetKonsultasi) {
this.targetKonsultasi = targetKonsultasi;
}
}

View File

@ -0,0 +1,51 @@
package com.jasamedika.medifirst2000.vo;
import com.jasamedika.medifirst2000.helper.Caption;
public class TargetLayananCustomDetailVO {
@Caption(value = "Date")
String date;
@Caption(value = "Bulan")
String bulan;
@Caption(value = "Capaian")
Double capaian;
@Caption(value = "Target")
Double target;
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getBulan() {
return bulan;
}
public void setBulan(String bulan) {
this.bulan = bulan;
}
public Double getCapaian() {
return capaian;
}
public void setCapaian(Double capaian) {
this.capaian = capaian;
}
public Double getTarget() {
return target;
}
public void setTarget(Double target) {
this.target = target;
}
}

View File

@ -0,0 +1,67 @@
package com.jasamedika.medifirst2000.vo;
import java.util.List;
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.helper.Caption;
public class TargetLayananCustomVO extends BaseTransactionVO {
private static final long serialVersionUID = 3163629696201167352L;
@Caption(value = "Indikator Kinerja")
public IndikatorKinerjaVO indikator;
@Caption(value = "Id Indikator Kinerja")
public Integer indikatorId;
@Caption(value = "Kelompok Kerja")
public SubUnitKerjaPegawaiVO kelompokKerja;
@Caption(value = "Id Kelompok Kerja")
public Integer kelompokKerjaId;
@Caption(value = "Detail")
public List<TargetLayananCustomDetailVO> detail;
public IndikatorKinerjaVO getIndikator() {
return indikator;
}
public void setIndikator(IndikatorKinerjaVO indikator) {
this.indikator = indikator;
}
public Integer getIndikatorId() {
return indikatorId;
}
public void setIndikatorId(Integer indikatorId) {
this.indikatorId = indikatorId;
}
public SubUnitKerjaPegawaiVO getKelompokKerja() {
return kelompokKerja;
}
public void setKelompokKerja(SubUnitKerjaPegawaiVO kelompokKerja) {
this.kelompokKerja = kelompokKerja;
}
public Integer getKelompokKerjaId() {
return kelompokKerjaId;
}
public void setKelompokKerjaId(Integer kelompokKerjaId) {
this.kelompokKerjaId = kelompokKerjaId;
}
public List<TargetLayananCustomDetailVO> getDetail() {
return detail;
}
public void setDetail(List<TargetLayananCustomDetailVO> detail) {
this.detail = detail;
}
}

View File

@ -6,74 +6,38 @@ import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.helper.Caption;
public class TargetLayananVO extends BaseTransactionVO {
private static final long serialVersionUID = 5911581479133016976L;
@Caption(value = "Unit Kerja")
public UnitKerjaPegawaiVO unitKerjaPegawai;
@Caption(value = "Id Unit Kerja")
public Integer unitKerjaPegawaiId;
@Caption(value = "Subunit Kerja")
public SubUnitKerjaPegawaiVO subUnitKerjaPegawai;
@Caption(value = "Id Subunit Kerja")
public Integer subUnitKerjaPegawaiId;
@Caption(value = "Tanggal Hitung")
public Date tglHitung;
@Caption(value = "Periode")
public Date periode;
@Caption(value = "Capaian Operasi")
public Integer capaianOperasi3bulanlalu;
@Caption(value = "Capaian Nonoperasi")
public Integer capaianNonoperasi3bulanlalu;
@Caption(value = "Capaian Visite")
public Integer capaianVisit3bulanlalu;
@Caption(value = "Capaian Konsultasi")
public Integer capaianKonsultasi3bulanlalu;
@Caption(value = "Capaian Operasi")
public Integer capaianOperasi2bulanlalu;
@Caption(value = "Capaian Nonoperasi")
public Integer capaianNonoperasi2bulanlalu;
@Caption(value = "Capaian Visite")
public Integer capaianVisit2bulanlalu;
@Caption(value = "Capaian Konsultasi")
public Integer capaianKonsultasi2bulanlalu;
@Caption(value = "Capaian Operasi")
public Integer capaianOperasi1bulanlalu;
@Caption(value = "Capaian Nonoperasi")
public Integer capaianNonoperasi1bulanlalu;
@Caption(value = "Capaian Visite")
public Integer capaianVisit1bulanlalu;
@Caption(value = "Capaian Konsultasi")
public Integer capaianKonsultasi1bulanlalu;
@Caption(value = "Target Operasi")
public Integer targetOperasi;
@Caption(value = "Target Nonoperasi")
public Integer targetNonoperasi;
@Caption(value = "Target Visite")
public Integer targetVisite;
@Caption(value = "Target Konsultasi")
public Integer targetKonsultasi;
@Caption(value = "Indikator Kinerja")
public IndikatorKinerjaVO indikator;
@Caption(value = "Id Indikator Kinerja")
public Integer indikatorId;
@Caption(value = "Capaian")
public Double capaian;
@Caption(value = "Target")
public Double target;
public UnitKerjaPegawaiVO getUnitKerjaPegawai() {
return unitKerjaPegawai;
@ -123,132 +87,36 @@ public class TargetLayananVO extends BaseTransactionVO {
this.periode = periode;
}
public Integer getCapaianOperasi3bulanlalu() {
return capaianOperasi3bulanlalu;
public IndikatorKinerjaVO getIndikator() {
return indikator;
}
public void setCapaianOperasi3bulanlalu(Integer capaianOperasi3bulanlalu) {
this.capaianOperasi3bulanlalu = capaianOperasi3bulanlalu;
public void setIndikator(IndikatorKinerjaVO indikator) {
this.indikator = indikator;
}
public Integer getCapaianNonoperasi3bulanlalu() {
return capaianNonoperasi3bulanlalu;
public Integer getIndikatorId() {
return indikatorId;
}
public void setCapaianNonoperasi3bulanlalu(Integer capaianNonoperasi3bulanlalu) {
this.capaianNonoperasi3bulanlalu = capaianNonoperasi3bulanlalu;
public void setIndikatorId(Integer indikatorId) {
this.indikatorId = indikatorId;
}
public Integer getCapaianVisit3bulanlalu() {
return capaianVisit3bulanlalu;
public Double getCapaian() {
return capaian;
}
public void setCapaianVisit3bulanlalu(Integer capaianVisit3bulanlalu) {
this.capaianVisit3bulanlalu = capaianVisit3bulanlalu;
public void setCapaian(Double capaian) {
this.capaian = capaian;
}
public Integer getCapaianKonsultasi3bulanlalu() {
return capaianKonsultasi3bulanlalu;
public Double getTarget() {
return target;
}
public void setCapaianKonsultasi3bulanlalu(Integer capaianKonsultasi3bulanlalu) {
this.capaianKonsultasi3bulanlalu = capaianKonsultasi3bulanlalu;
public void setTarget(Double target) {
this.target = target;
}
public Integer getCapaianOperasi2bulanlalu() {
return capaianOperasi2bulanlalu;
}
public void setCapaianOperasi2bulanlalu(Integer capaianOperasi2bulanlalu) {
this.capaianOperasi2bulanlalu = capaianOperasi2bulanlalu;
}
public Integer getCapaianNonoperasi2bulanlalu() {
return capaianNonoperasi2bulanlalu;
}
public void setCapaianNonoperasi2bulanlalu(Integer capaianNonoperasi2bulanlalu) {
this.capaianNonoperasi2bulanlalu = capaianNonoperasi2bulanlalu;
}
public Integer getCapaianVisit2bulanlalu() {
return capaianVisit2bulanlalu;
}
public void setCapaianVisit2bulanlalu(Integer capaianVisit2bulanlalu) {
this.capaianVisit2bulanlalu = capaianVisit2bulanlalu;
}
public Integer getCapaianKonsultasi2bulanlalu() {
return capaianKonsultasi2bulanlalu;
}
public void setCapaianKonsultasi2bulanlalu(Integer capaianKonsultasi2bulanlalu) {
this.capaianKonsultasi2bulanlalu = capaianKonsultasi2bulanlalu;
}
public Integer getCapaianOperasi1bulanlalu() {
return capaianOperasi1bulanlalu;
}
public void setCapaianOperasi1bulanlalu(Integer capaianOperasi1bulanlalu) {
this.capaianOperasi1bulanlalu = capaianOperasi1bulanlalu;
}
public Integer getCapaianNonoperasi1bulanlalu() {
return capaianNonoperasi1bulanlalu;
}
public void setCapaianNonoperasi1bulanlalu(Integer capaianNonoperasi1bulanlalu) {
this.capaianNonoperasi1bulanlalu = capaianNonoperasi1bulanlalu;
}
public Integer getCapaianVisit1bulanlalu() {
return capaianVisit1bulanlalu;
}
public void setCapaianVisit1bulanlalu(Integer capaianVisit1bulanlalu) {
this.capaianVisit1bulanlalu = capaianVisit1bulanlalu;
}
public Integer getCapaianKonsultasi1bulanlalu() {
return capaianKonsultasi1bulanlalu;
}
public void setCapaianKonsultasi1bulanlalu(Integer capaianKonsultasi1bulanlalu) {
this.capaianKonsultasi1bulanlalu = capaianKonsultasi1bulanlalu;
}
public Integer getTargetOperasi() {
return targetOperasi;
}
public void setTargetOperasi(Integer targetOperasi) {
this.targetOperasi = targetOperasi;
}
public Integer getTargetNonoperasi() {
return targetNonoperasi;
}
public void setTargetNonoperasi(Integer targetNonoperasi) {
this.targetNonoperasi = targetNonoperasi;
}
public Integer getTargetVisite() {
return targetVisite;
}
public void setTargetVisite(Integer targetVisite) {
this.targetVisite = targetVisite;
}
public Integer getTargetKonsultasi() {
return targetKonsultasi;
}
public void setTargetKonsultasi(Integer targetKonsultasi) {
this.targetKonsultasi = targetKonsultasi;
}
}

View File

@ -7547,25 +7547,6 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
}
}
@RequestMapping(value = "/rekapitulasi-laporan-pendapatan-ruangan", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> getMappingAkomodasi(HttpServletRequest request,
@RequestParam("tglAwal") String tglAwal, @RequestParam("tglAkhir") String tglAkhir) throws ParseException {
try {
List<Map<String, Object>> result = pelayananPasienService.getRekapPendapatanAllRuangan(tglAwal, tglAkhir);
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 all mapping akomodasi", 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 all mapping akomodasi", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/rekapitulasi-kunjungan-pasien", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> getRekapKunjunganPasien(HttpServletRequest request,
@RequestParam("tglAwal") String tglAwal, @RequestParam("tglAkhir") String tglAkhir,

View File

@ -233,33 +233,12 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
}
@RequestMapping(value = "/get-target-layanan-bulanan", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<Map<String, Object>>> getTargetLayananBulanan(HttpServletRequest request) {
try {
List<Map<String, Object>> result = service.calculateTargetLayananBulanan();
if (CommonUtil.isNotNullOrEmpty(result)) {
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
} else {
return RestUtil.getJsonResponse(result, HttpStatus.NOT_FOUND, mapHeaderMessage);
}
} catch (ServiceVOException e) {
LOGGER.error("Got exception {} when calculate target layanan bulanan", e.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, e.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when calculate target layanan bulanan", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/get-all-target-dan-capaian-layanan", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> getAllTargetLayanan(HttpServletRequest request,
@RequestParam(value = "periode", required = true) String periode) throws ParseException {
@RequestParam(value = "periode", required = true) String periode,
@RequestParam(value = "jumlahBulan", required = true) Integer jumlahBulan) throws ParseException {
try {
List<Map<String, Object>> result = service.findAllTargetCapaianLayanan(periode);
List<Map<String, Object>> result = service.findAllTargetCapaianLayanan(periode, jumlahBulan);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);

View File

@ -63,25 +63,6 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
@Autowired
private SatuanStandarService satuanStandarService;
@RequestMapping(value = "/rekapitulasi-laporan-pendapatan-ruangan", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> getMappingAkomodasi(HttpServletRequest request,
@RequestParam("tglAwal") String tglAwal, @RequestParam("tglAkhir") String tglAkhir) throws ParseException {
try {
List<Map<String, Object>> result = pelayananPasienService.getRekapPendapatanAllRuangan(tglAwal, tglAkhir);
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 all mapping akomodasi", 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 all mapping akomodasi", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/calculate-indikator-pelayanan", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> calculateIndikatorPelayanan(HttpServletRequest request,
@RequestParam("tahun") String tahun) throws ParseException {

View File

@ -5523,10 +5523,10 @@ public class SdmController extends LocaleController<AkunVO> {
}
@RequestMapping(value = "/save-target-layanan/", method = RequestMethod.POST)
public ResponseEntity<Map<String, Object>> addAllTargetLayanan(@RequestBody List<TargetLayananVO> vos,
HttpServletRequest request) {
public ResponseEntity<List<String>> addAllTargetLayanan(@RequestBody List<TargetLayananCustomVO> vos,
HttpServletRequest request) throws ParseException {
try {
Map<String, Object> result = targetLayananService.addAll(vos);
List<String> result = targetLayananService.addAll(vos);
if (null != result)
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
@ -5536,7 +5536,7 @@ public class SdmController extends LocaleController<AkunVO> {
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, e.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when add target layanan", jse.getMessage());
LOGGER.error("Got exception {} when add target layanan", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}