perbaikan filter detail jenis produk untuk hitung otomatis target layanan medis

This commit is contained in:
salmanoe 2021-08-09 14:07:39 +07:00
parent 1544a00330
commit 0ad1511676
3 changed files with 155 additions and 56 deletions

View File

@ -99,10 +99,10 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository<IkiDanRe
public Double findRemunerasi(@Param("periode") String periode, @Param("idPegawai") Integer idPegawai); public Double findRemunerasi(@Param("periode") String periode, @Param("idPegawai") Integer idPegawai);
// Target_pelayanan_jam_kerja // Target_pelayanan_jam_kerja
@Query("select distinct new Map(ppp.ObjectJenisPetugasPeId as jenisPetugasId," @Query("select distinct new Map(ppp.ObjectJenisPetugasPeId as jenisPetugasId,pg.id as pegawaiId,"
+ "pp.noRec as noRec,pp.tglPelayanan as tglPelayanan,pp.hargaDiscount as hargaDiskon,pp.jumlah as jumlahTindakan," + "pp.noRec as noRec,pp.tglPelayanan as tglPelayanan,pp.hargaDiscount as hargaDiskon,pp.jumlah as jumlahTindakan,"
+ "su.id as idKelompokKerja,su.name as kelompokKerja," + "su.id as idKelompokKerja,su.name as kelompokKerja,"
+ "pr.id as idTindakan,pr.namaProduk as namaTindakan," + "pr.id as idTindakan,pr.namaProduk as namaTindakan,djp.id as djpId,"
+ "ru.departemenId as idDepartemen,ru.id as idRuangan," + "pd.isDiskonPegawai as statusDiskon) " + "ru.departemenId as idDepartemen,ru.id as idRuangan," + "pd.isDiskonPegawai as statusDiskon) "
+ "from PelayananPasienPetugas ppp, MapRuanganToProduk mrtp, MapPegawaiJabatanToUnitKerja mpju, PegawaiJadwalKerja pjk " + "from PelayananPasienPetugas ppp, MapRuanganToProduk mrtp, MapPegawaiJabatanToUnitKerja mpju, PegawaiJadwalKerja pjk "
+ "left join ppp.pelayananPasien pp " + "left join ppp.kdpegawai pg " + "left join pp.produk pr " + "left join ppp.pelayananPasien pp " + "left join ppp.kdpegawai pg " + "left join pp.produk pr "
@ -122,28 +122,19 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository<IkiDanRe
+ "and to_char(pp.tglPelayanan,'HH24:MI:ss') between '07:00:00' and (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) and ru.departemenId = 18 then '15:30:00' else '16:00:00' end))) " + "and to_char(pp.tglPelayanan,'HH24:MI:ss') between '07:00:00' and (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) and ru.departemenId = 18 then '15:30:00' else '16:00:00' end))) "
+ "and sk.id not in (:listNonjadwalId)) and pd.kelompokPasienId not in (:listBpjsId)) " + "and sk.id not in (:listNonjadwalId)) and pd.kelompokPasienId not in (:listBpjsId)) "
+ "or pd.kelompokPasienId in (:listBpjsId)) " + "and pg.jenisPegawaiId = :jenisPegawaiId " + "or pd.kelompokPasienId in (:listBpjsId)) " + "and pg.jenisPegawaiId = :jenisPegawaiId "
+ "and (djp.id in (case when pg.id in (cast(:listDokterLabPAId as integer)) then (cast(:listDJPLabPAId as integer[])) "
+ "when pg.id in (cast(:listDokterLabPKId as integer[])) then (cast(:listDJPLabPKId as integer[])) "
+ "when pg.id in (cast(:listDokterRadId as integer[])) then (cast(:listDJPRadId as integer[])) else (cast(:listDJPUtamaId as integer[])) end) "
+ "or djp.id in (case when pg.id in (cast(:listLabRadId as integer[])) then (cast(:listDJPAdmPKId as integer[])) else (-1) end)) "
+ "and djp.jenisProdukId not in (:listNontindakanId) " + "and pr.id <> :karcisId " + "and djp.jenisProdukId not in (:listNontindakanId) " + "and pr.id <> :karcisId "
+ "order by su.name, pr.id") + "order by su.name, pr.id")
public List<Map<String, Object>> getDataLayananJamKerja(@Param("tglAwal") Date tglAwal, public List<Map<String, Object>> getDataLayananJamKerja(@Param("tglAwal") Date tglAwal,
@Param("psbbAwal") Date psbbAwal, @Param("psbbAkhir") Date psbbAkhir, @Param("tglAkhir") Date tglAkhir, @Param("psbbAwal") Date psbbAwal, @Param("psbbAkhir") Date psbbAkhir, @Param("tglAkhir") Date tglAkhir,
@Param("listNonjadwalId") List<Integer> listIdNonjadwal, @Param("jenisPegawaiId") Integer idJenisPegawai, @Param("listNonjadwalId") List<Integer> listIdNonjadwal, @Param("jenisPegawaiId") Integer idJenisPegawai,
@Param("listKsmId") List<Integer> listIdKsm, @Param("listDokterLabPAId") Integer[] listIdDokterLabPA, @Param("listKsmId") List<Integer> listIdKsm, @Param("listNontindakanId") List<Integer> listIdNontindakan,
@Param("listDJPLabPAId") Integer[] listIdDJPLabPA, @Param("listDokterLabPKId") Integer[] listIdDokterLabPK, @Param("listBpjsId") List<Integer> listIdBpjs, @Param("karcisId") Integer idKarcis);
@Param("listDJPLabPKId") Integer[] listIdDJPLabPK, @Param("listDokterRadId") Integer[] listIdDokterRad,
@Param("listDJPRadId") Integer[] listIdDJPRad, @Param("listDJPUtamaId") Integer[] listIdDJPUtama,
@Param("listLabRadId") Integer[] listIdLabRad, @Param("listDJPAdmPKId") Integer[] listIdDJPAdmPK,
@Param("listNontindakanId") List<Integer> listIdNontindakan, @Param("listBpjsId") List<Integer> listIdBpjs,
@Param("karcisId") Integer idKarcis);
// Target_pelayanan_luar_jam_kerja // Target_pelayanan_luar_jam_kerja
@Query("select distinct new Map(ppp.ObjectJenisPetugasPeId as jenisPetugasId," @Query("select distinct new Map(ppp.ObjectJenisPetugasPeId as jenisPetugasId,"
+ "pp.noRec as noRec,pp.tglPelayanan as tglPelayanan,pp.hargaDiscount as hargaDiskon,pp.jumlah as jumlahTindakan," + "pp.noRec as noRec,pp.tglPelayanan as tglPelayanan,pp.hargaDiscount as hargaDiskon,pp.jumlah as jumlahTindakan,"
+ "pg.id as pegawaiId,pg.namaLengkap as namaLengkap," + "jb.id as jabatanId,jb.namaJabatan as namaJabatan," + "pg.id as pegawaiId,pg.namaLengkap as namaLengkap," + "jb.id as jabatanId,jb.namaJabatan as namaJabatan,"
+ "pr.id as idTindakan,pr.namaProduk as namaTindakan," + "pr.id as idTindakan,pr.namaProduk as namaTindakan,djp.id as djpId,"
+ "ru.departemenId as idDepartemen,ru.id as idRuangan," + "pd.isDiskonPegawai as statusDiskon) " + "ru.departemenId as idDepartemen,ru.id as idRuangan," + "pd.isDiskonPegawai as statusDiskon) "
+ "from PelayananPasienPetugas ppp, MapRuanganToProduk mrtp, MapPegawaiJabatanToUnitKerja mpju, PegawaiJadwalKerja pjk " + "from PelayananPasienPetugas ppp, MapRuanganToProduk mrtp, MapPegawaiJabatanToUnitKerja mpju, PegawaiJadwalKerja pjk "
+ "left join ppp.pelayananPasien pp " + "left join ppp.kdpegawai pg " + "left join mpju.jabatan jb " + "left join ppp.pelayananPasien pp " + "left join ppp.kdpegawai pg " + "left join mpju.jabatan jb "
@ -164,23 +155,13 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository<IkiDanRe
+ "or to_char(pp.tglPelayanan,'HH24:MI:ss') between '00:00:00' and '07:00:00') and sk.id not in (:listNonjadwalId)) " + "or to_char(pp.tglPelayanan,'HH24:MI:ss') between '00:00:00' and '07:00:00') and sk.id not in (:listNonjadwalId)) "
+ "or to_char(pp.tglPelayanan,'dy') in ('sat','sun') " + "or sk.id in (:listNonjadwalId)) " + "or to_char(pp.tglPelayanan,'dy') in ('sat','sun') " + "or sk.id in (:listNonjadwalId)) "
+ "and pd.kelompokPasienId not in (:listBpjsId)) " + "and pg.jenisPegawaiId = :jenisPegawaiId " + "and pd.kelompokPasienId not in (:listBpjsId)) " + "and pg.jenisPegawaiId = :jenisPegawaiId "
+ "and jb.kelompokJabatanId in (3,4) " + "and jb.kelompokJabatanId in (3,4) " + "and djp.jenisProdukId not in (:listNontindakanId) "
+ "and (djp.id in (case when pg.id in (cast(:listDokterLabPAId as integer[])) then (cast(:listDJPLabPAId as integer[])) " + "and pr.id <> :karcisId " + "order by pg.namaLengkap, pr.id")
+ "when pg.id in (cast(:listDokterLabPKId as integer[])) then (cast(:listDJPLabPKId as integer[])) "
+ "when pg.id in (cast(:listDokterRadId as integer[])) then (cast(:listDJPRadId as integer[])) else cast(:listDJPUtamaId as integer[]) end) "
+ "or djp.id in (case when pg.id in (cast(:listLabRadId as integer[])) then (cast(:listDJPAdmPKId as integer[])) else (-1) end)) "
+ "and djp.jenisProdukId not in (:listNontindakanId) " + "and pr.id <> :karcisId "
+ "order by pg.namaLengkap, pr.id")
public List<Map<String, Object>> getDataLayananLuarJamKerja(@Param("tglAwal") Date tglAwal, public List<Map<String, Object>> getDataLayananLuarJamKerja(@Param("tglAwal") Date tglAwal,
@Param("psbbAwal") Date psbbAwal, @Param("psbbAkhir") Date psbbAkhir, @Param("tglAkhir") Date tglAkhir, @Param("psbbAwal") Date psbbAwal, @Param("psbbAkhir") Date psbbAkhir, @Param("tglAkhir") Date tglAkhir,
@Param("listNonjadwalId") List<Integer> listIdNonjadwal, @Param("jenisPegawaiId") Integer idJenisPegawai, @Param("listNonjadwalId") List<Integer> listIdNonjadwal, @Param("jenisPegawaiId") Integer idJenisPegawai,
@Param("listKsmId") List<Integer> listIdKsm, @Param("listDokterLabPAId") Integer[] listIdDokterLabPA, @Param("listKsmId") List<Integer> listIdKsm, @Param("listNontindakanId") List<Integer> listIdNontindakan,
@Param("listDJPLabPAId") Integer[] listIdDJPLabPA, @Param("listDokterLabPKId") Integer[] listIdDokterLabPK, @Param("listBpjsId") List<Integer> listIdBpjs, @Param("karcisId") Integer idKarcis);
@Param("listDJPLabPKId") Integer[] listIdDJPLabPK, @Param("listDokterRadId") Integer[] listIdDokterRad,
@Param("listDJPRadId") Integer[] listIdDJPRad, @Param("listDJPUtamaId") Integer[] listIdDJPUtama,
@Param("listLabRadId") Integer[] listIdLabRad, @Param("listDJPAdmPKId") Integer[] listIdDJPAdmPK,
@Param("listNontindakanId") List<Integer> listIdNontindakan, @Param("listBpjsId") List<Integer> listIdBpjs,
@Param("karcisId") Integer idKarcis);
// Kinerja_jam_kerja_dokter // Kinerja_jam_kerja_dokter
String KinerjaJamKerjaDokter = "select distinct new Map(ppp.ObjectJenisPetugasPeId as jenisPetugasId," String KinerjaJamKerjaDokter = "select distinct new Map(ppp.ObjectJenisPetugasPeId as jenisPetugasId,"

View File

@ -487,6 +487,8 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
@Override @Override
public void autoSaveTargetCapaianLayananJamKerja(String strPeriode) throws ParseException { public void autoSaveTargetCapaianLayananJamKerja(String strPeriode) throws ParseException {
List<Map<String, Object>> dataLayananRaw = new ArrayList<>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
SimpleDateFormat sdfINA = new SimpleDateFormat("MMMM yyyy", new Locale("in", "ID")); SimpleDateFormat sdfINA = new SimpleDateFormat("MMMM yyyy", new Locale("in", "ID"));
@ -525,27 +527,76 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
List<Integer> listIdNonjadwal = shiftKerjaDao.findListNonjadwal(); List<Integer> listIdNonjadwal = shiftKerjaDao.findListNonjadwal();
List<Integer> listIdDokterLabPA = pegawaiDao.getDokterLabPatologiAnatomi(); List<Integer> listIdDokterLabPA = pegawaiDao.getDokterLabPatologiAnatomi();
Integer[] listIdDJPLabPA = Master.DetailJenisProduk.PENUNJANG_PATOLOGI_ANATOMI; List<Integer> listIdDJPLabPA = Arrays.asList(Master.DetailJenisProduk.PENUNJANG_PATOLOGI_ANATOMI);
List<Integer> listIdDokterLabPK = pegawaiDao.getDokterLabKlinik(); List<Integer> listIdDokterLabPK = pegawaiDao.getDokterLabKlinik();
Integer[] listIdDJPLabPK = Master.DetailJenisProduk.PENUNJANG_PATOLOGI_KLINIK; List<Integer> listIdDJPLabPK = Arrays.asList(Master.DetailJenisProduk.PENUNJANG_PATOLOGI_KLINIK);
List<Integer> listIdDokterRad = pegawaiDao.getDokterRadiologi(); List<Integer> listIdDokterRad = pegawaiDao.getDokterRadiologi();
Integer[] listIdDJPRad = Master.DetailJenisProduk.PENUNJANG_RADIOLOGI; List<Integer> listIdDJPRad = Arrays.asList(Master.DetailJenisProduk.PENUNJANG_RADIOLOGI);
Integer[] listIdDJPUtama = Master.DetailJenisProduk.MEDIS_UTAMA; List<Integer> listIdDJPUtama = Arrays.asList(Master.DetailJenisProduk.MEDIS_UTAMA);
List<Integer> listIdLaboranRadiolog = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog(); List<Integer> listIdLaboranRadiolog = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
Integer[] listIdDJPAdmPK = Master.DetailJenisProduk.ADMINISTRASI_PATOLOGI_KLINIK_EXCEPTION; List<Integer> listIdDJPAdmPK = Arrays.asList(Master.DetailJenisProduk.ADMINISTRASI_PATOLOGI_KLINIK_EXCEPTION);
List<Map<String, Object>> dataLayananRaw = ikiDanRemunerasiDao.getDataLayananJamKerja(calTglAwal.getTime(), List<Map<String, Object>> dataRaw = ikiDanRemunerasiDao.getDataLayananJamKerja(calTglAwal.getTime(),
bulan.getTime(), pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER, bulan.getTime(), pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER,
Arrays.asList(Master.UnitKerja.KSM), listIdDokterLabPA.stream().toArray(Integer[]::new), listIdDJPLabPA, Arrays.asList(Master.UnitKerja.KSM), Arrays.asList(Master.JenisProduk.NONTINDAKAN),
listIdDokterLabPK.stream().toArray(Integer[]::new), listIdDJPLabPK, Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), Master.Produk.KARCIS);
listIdDokterRad.stream().toArray(Integer[]::new), listIdDJPRad, listIdDJPUtama,
listIdLaboranRadiolog.stream().toArray(Integer[]::new), listIdDJPAdmPK, // filter detail jenis produk
Arrays.asList(Master.JenisProduk.NONTINDAKAN), Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), for (Map<String, Object> map : dataRaw) {
Master.Produk.KARCIS); if (listIdDokterLabPA.contains(map.get("pegawaiId"))) {
List<Integer> listIdTempLabPA = listIdDJPLabPA;
List<Integer> listIdTempAdmPK = listIdDJPAdmPK;
if (listIdLaboranRadiolog.contains(map.get("pegawaiId"))) {
listIdTempAdmPK.removeAll(listIdTempLabPA);
if (CommonUtil.isNotNullOrEmpty(listIdTempAdmPK)) {
listIdTempLabPA.addAll(listIdTempAdmPK);
}
}
if (listIdTempLabPA.contains(map.get("djpId"))) {
dataLayananRaw.add(map);
}
} else if (listIdDokterLabPK.contains(map.get("pegawaiId"))) {
List<Integer> listIdTempLabPK = listIdDJPLabPK;
List<Integer> listIdTempAdmPK = listIdDJPAdmPK;
if (listIdLaboranRadiolog.contains(map.get("pegawaiId"))) {
listIdTempAdmPK.removeAll(listIdTempLabPK);
if (CommonUtil.isNotNullOrEmpty(listIdTempAdmPK)) {
listIdTempLabPK.addAll(listIdTempAdmPK);
}
}
if (listIdTempLabPK.contains(map.get("djpId"))) {
dataLayananRaw.add(map);
}
} else if (listIdDokterRad.contains(map.get("pegawaiId"))) {
List<Integer> listIdTempRad = listIdDJPRad;
List<Integer> listIdTempAdmPK = listIdDJPAdmPK;
if (listIdLaboranRadiolog.contains(map.get("pegawaiId"))) {
listIdTempAdmPK.removeAll(listIdTempRad);
if (CommonUtil.isNotNullOrEmpty(listIdTempAdmPK)) {
listIdTempRad.addAll(listIdTempAdmPK);
}
}
if (listIdTempRad.contains(map.get("djpId"))) {
dataLayananRaw.add(map);
}
} else if (listIdDJPUtama.contains(map.get("djpId"))) {
List<Integer> listIdTempUtama = listIdDJPUtama;
List<Integer> listIdTempAdmPK = listIdDJPAdmPK;
if (listIdLaboranRadiolog.contains(map.get("pegawaiId"))) {
listIdTempAdmPK.removeAll(listIdTempUtama);
if (CommonUtil.isNotNullOrEmpty(listIdTempAdmPK)) {
listIdTempUtama.addAll(listIdTempAdmPK);
}
}
if (listIdTempUtama.contains(map.get("djpId"))) {
dataLayananRaw.add(map);
}
}
}
// get_kategori_bulan // get_kategori_bulan
List<String> listBulanPelayanan = new ArrayList<>(); List<String> listBulanPelayanan = new ArrayList<>();
@ -930,6 +981,8 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
@Override @Override
public void autoSaveTargetCapaianLayananLuarJamKerja(String strPeriode) throws ParseException { public void autoSaveTargetCapaianLayananLuarJamKerja(String strPeriode) throws ParseException {
List<Map<String, Object>> dataLayananRaw = new ArrayList<>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
SimpleDateFormat sdfINA = new SimpleDateFormat("MMMM yyyy", new Locale("in", "ID")); SimpleDateFormat sdfINA = new SimpleDateFormat("MMMM yyyy", new Locale("in", "ID"));
@ -969,27 +1022,76 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
List<Integer> listIdNonjadwal = shiftKerjaDao.findListNonjadwal(); List<Integer> listIdNonjadwal = shiftKerjaDao.findListNonjadwal();
List<Integer> listIdDokterLabPA = pegawaiDao.getDokterLabPatologiAnatomi(); List<Integer> listIdDokterLabPA = pegawaiDao.getDokterLabPatologiAnatomi();
Integer[] listIdDJPLabPA = Master.DetailJenisProduk.PENUNJANG_PATOLOGI_ANATOMI; List<Integer> listIdDJPLabPA = Arrays.asList(Master.DetailJenisProduk.PENUNJANG_PATOLOGI_ANATOMI);
List<Integer> listIdDokterLabPK = pegawaiDao.getDokterLabKlinik(); List<Integer> listIdDokterLabPK = pegawaiDao.getDokterLabKlinik();
Integer[] listIdDJPLabPK = Master.DetailJenisProduk.PENUNJANG_PATOLOGI_KLINIK; List<Integer> listIdDJPLabPK = Arrays.asList(Master.DetailJenisProduk.PENUNJANG_PATOLOGI_KLINIK);
List<Integer> listIdDokterRad = pegawaiDao.getDokterRadiologi(); List<Integer> listIdDokterRad = pegawaiDao.getDokterRadiologi();
Integer[] listIdDJPRad = Master.DetailJenisProduk.PENUNJANG_RADIOLOGI; List<Integer> listIdDJPRad = Arrays.asList(Master.DetailJenisProduk.PENUNJANG_RADIOLOGI);
Integer[] listIdDJPUtama = Master.DetailJenisProduk.MEDIS_UTAMA; List<Integer> listIdDJPUtama = Arrays.asList(Master.DetailJenisProduk.MEDIS_UTAMA);
List<Integer> listIdLaboranRadiolog = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog(); List<Integer> listIdLaboranRadiolog = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
Integer[] listIdDJPAdmPK = Master.DetailJenisProduk.ADMINISTRASI_PATOLOGI_KLINIK_EXCEPTION; List<Integer> listIdDJPAdmPK = Arrays.asList(Master.DetailJenisProduk.ADMINISTRASI_PATOLOGI_KLINIK_EXCEPTION);
List<Map<String, Object>> dataLayananRaw = ikiDanRemunerasiDao.getDataLayananLuarJamKerja(calTglAwal.getTime(), List<Map<String, Object>> dataRaw = ikiDanRemunerasiDao.getDataLayananLuarJamKerja(calTglAwal.getTime(),
bulan.getTime(), pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER, bulan.getTime(), pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER,
Arrays.asList(Master.UnitKerja.KSM), listIdDokterLabPA.stream().toArray(Integer[]::new), listIdDJPLabPA, Arrays.asList(Master.UnitKerja.KSM), Arrays.asList(Master.JenisProduk.NONTINDAKAN),
listIdDokterLabPK.stream().toArray(Integer[]::new), listIdDJPLabPK, Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), Master.Produk.KARCIS);
listIdDokterRad.stream().toArray(Integer[]::new), listIdDJPRad, listIdDJPUtama,
listIdLaboranRadiolog.stream().toArray(Integer[]::new), listIdDJPAdmPK, // filter detail jenis produk
Arrays.asList(Master.JenisProduk.NONTINDAKAN), Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), for (Map<String, Object> map : dataRaw) {
Master.Produk.KARCIS); if (listIdDokterLabPA.contains(map.get("pegawaiId"))) {
List<Integer> listIdTempLabPA = listIdDJPLabPA;
List<Integer> listIdTempAdmPK = listIdDJPAdmPK;
if (listIdLaboranRadiolog.contains(map.get("pegawaiId"))) {
listIdTempAdmPK.removeAll(listIdTempLabPA);
if (CommonUtil.isNotNullOrEmpty(listIdTempAdmPK)) {
listIdTempLabPA.addAll(listIdTempAdmPK);
}
}
if (listIdTempLabPA.contains(map.get("djpId"))) {
dataLayananRaw.add(map);
}
} else if (listIdDokterLabPK.contains(map.get("pegawaiId"))) {
List<Integer> listIdTempLabPK = listIdDJPLabPK;
List<Integer> listIdTempAdmPK = listIdDJPAdmPK;
if (listIdLaboranRadiolog.contains(map.get("pegawaiId"))) {
listIdTempAdmPK.removeAll(listIdTempLabPK);
if (CommonUtil.isNotNullOrEmpty(listIdTempAdmPK)) {
listIdTempLabPK.addAll(listIdTempAdmPK);
}
}
if (listIdTempLabPK.contains(map.get("djpId"))) {
dataLayananRaw.add(map);
}
} else if (listIdDokterRad.contains(map.get("pegawaiId"))) {
List<Integer> listIdTempRad = listIdDJPRad;
List<Integer> listIdTempAdmPK = listIdDJPAdmPK;
if (listIdLaboranRadiolog.contains(map.get("pegawaiId"))) {
listIdTempAdmPK.removeAll(listIdTempRad);
if (CommonUtil.isNotNullOrEmpty(listIdTempAdmPK)) {
listIdTempRad.addAll(listIdTempAdmPK);
}
}
if (listIdTempRad.contains(map.get("djpId"))) {
dataLayananRaw.add(map);
}
} else if (listIdDJPUtama.contains(map.get("djpId"))) {
List<Integer> listIdTempUtama = listIdDJPUtama;
List<Integer> listIdTempAdmPK = listIdDJPAdmPK;
if (listIdLaboranRadiolog.contains(map.get("pegawaiId"))) {
listIdTempAdmPK.removeAll(listIdTempUtama);
if (CommonUtil.isNotNullOrEmpty(listIdTempAdmPK)) {
listIdTempUtama.addAll(listIdTempAdmPK);
}
}
if (listIdTempUtama.contains(map.get("djpId"))) {
dataLayananRaw.add(map);
}
}
}
// get_kategori_bulan // get_kategori_bulan
List<String> listBulanPelayanan = new ArrayList<>(); List<String> listBulanPelayanan = new ArrayList<>();

View File

@ -43,20 +43,36 @@ public class TargetLayananGenerating extends LocaleController<TargetLayananVO> {
@Async @Async
public void genTargetLayanan() { public void genTargetLayanan() {
//Jam Kerja
try { try {
if (CommonUtil.isNotNullOrEmpty(remunerasiService)) { if (CommonUtil.isNotNullOrEmpty(remunerasiService)) {
LOGGER.info("Task Target Layanan : Running Generate Target Layanan"); LOGGER.info("Task Target Layanan Jam Kerja : Running Generate Target Layanan Jam Kerja");
remunerasiService remunerasiService
.autoSaveTargetCapaianLayananJamKerja(new SimpleDateFormat("yyyy-MM").format(new Date())); .autoSaveTargetCapaianLayananJamKerja(new SimpleDateFormat("yyyy-MM").format(new Date()));
} else {
LOGGER.warn("Task Target Layanan Jam Kerja : Undefined service");
}
} catch (Exception ex) {
LOGGER.error("Task Target Layanan Jam Kerja : Generate Target Layanan Jam Kerja : " + ex.getMessage());
ex.printStackTrace();
} finally {
LOGGER.info("Task Target Layanan Jam Kerja : Finishing Generate Target Layanan Jam Kerja");
}
//Luar Jam Kerja
try {
if (CommonUtil.isNotNullOrEmpty(remunerasiService)) {
LOGGER.info("Task Target Layanan Luar Jam Kerja : Running Generate Target Layanan Luar Jam Kerja");
remunerasiService remunerasiService
.autoSaveTargetCapaianLayananLuarJamKerja(new SimpleDateFormat("yyyy-MM").format(new Date())); .autoSaveTargetCapaianLayananLuarJamKerja(new SimpleDateFormat("yyyy-MM").format(new Date()));
} else { } else {
LOGGER.warn("Task Target Layanan : Undefined service"); LOGGER.warn("Task Target Layanan Luar Jam Kerja : Undefined service");
} }
} catch (Exception ex) { } catch (Exception ex) {
LOGGER.error("Task Target Layanan : Generate Target Layanan " + ex.getMessage()); LOGGER.error("Task Target Layanan Luar Jam Kerja : Generate Target Layanan Luar Jam Kerja : " + ex.getMessage());
ex.printStackTrace();
} finally { } finally {
LOGGER.info("Task Target Layanan : Finishing Generate Target Layanan"); LOGGER.info("Task Target Layanan Luar Jam Kerja : Finishing Generate Target Layanan Luar Jam Kerja");
} }
} }