- perbaikan pencarian pengaturan bobot jenis indikator menggunakan kelompok jabatan

- perbaikan hitung target pelayanan medis otomatis melibatkan skor jika diskon dan asisten spesialis
- pembuatan service data pasien di logbook kinerja dokter
This commit is contained in:
salmanoe 2021-06-24 16:14:22 +07:00
parent f8fb108d84
commit cb6c075d3c
10 changed files with 453 additions and 31 deletions

View File

@ -24,13 +24,21 @@ public interface BobotJenisIndikatorDao extends PagingAndSortingRepository<Bobot
String cdtBulan = "and to_char(bj.bulan,'yyyy-MM') <= :periode ";
String cdtKelompokJabatanNull = "and bj.kelompokJabatanId is null ";
String cdtKelompokJabatan = "and kj.id = :kelompokJabatanId ";
String cdtTglPembaharuanData = "and to_char(bj.tanggalPembaharuanData,'yyyy-mm-dd hh24:mi:ss') = :tglPembaharuanData ";
String sortGrid = "order by bj.bulan desc, kj.namaKelompokJabatan, bj.jenisIndikator";
@Query(strQryGrid + cdtBulan + sortGrid)
@Query(strQryGrid + cdtBulan + cdtKelompokJabatanNull + sortGrid)
public List<Map<String, Object>> findBobotJenisByBulanBerlaku(@Param("periode") String periode);
@Query(strQryGrid + cdtBulan + cdtKelompokJabatan + sortGrid)
public List<Map<String, Object>> findBobotJenisByBulanBerlaku(@Param("periode") String periode,
@Param("kelompokJabatanId") Integer idKelompokJabatan);
@Query(strQryGrid + cdtTglPembaharuanData + sortGrid)
public List<Map<String, Object>> findBobotJenisByTglPembaharuanData(
@Param("tglPembaharuanData") String tglPembaharuanData);

View File

@ -99,10 +99,12 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository<IkiDanRe
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,"
@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,"
+ "su.id as idKelompokKerja,su.name as kelompokKerja,"
+ "pr.id as idTindakan,pr.namaProduk as namaTindakan,"
+ "ru.departemenId as idDepartemen, ru.id as idRuangan, " + "pp.jumlah as jumlahTindakan) "
+ "ru.departemenId as idDepartemen, ru.id as idRuangan, " + "pd.isDiskonPegawai as statusDiskon) "
+ "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 "
@ -142,4 +144,27 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository<IkiDanRe
public List<Map<String, Object>> getDataLogbookDokter(@Param("bulan") String bulan,
@Param("jenisPegawaiId") Integer idJenisPegawai, @Param("pegawaiId") Integer idPegawai,
@Param("listNontindakanId") List<Integer> listIdNontindakan, @Param("karcisId") Integer idKarcis);
@Query("select distinct new Map(ppp.ObjectJenisPetugasPeId as jenisPetugasId,"
+ "pr.id as produkId,pr.namaProduk as namaProduk," + "pp.noRec as noRec,"
+ "pp.tglPelayanan as tglPelayanan,"
+ "to_char(pp.tglPelayanan,'dd-MM-yyyy HH:mi:ss') as tglPelayananFormatted," + "pp.jumlah as jumlah,"
+ "pp.hargaDiscount as hargaDiskon," + "ru.departemenId as departemenId,ru.id as ruanganId,"
+ "pd.noRegistrasi as noRegistrasi,pd.isDiskonPegawai as statusDiskon," + "ps.namaPasien as namaPasien) "
+ "from PelayananPasienPetugas ppp, MapRuanganToProduk mrtp " + "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 pd.pasien ps " + "where mrtp.produkId = pr.id " + "and mrtp.ruanganId = apd.ruanganId "
+ "and mrtp.statusEnabled is true " + "and pg.statusEnabled is true " + "and pd.statusEnabled is true "
+ "and pr.id = :produkId " + "and to_char(pp.tglPelayanan,'yyyy-MM-dd') = :tglPelayanan "
+ "and ((to_char(pp.tglPelayanan,'dy') in ('mon','tue','wed','thu') "
+ "and to_char(pp.tglPelayanan,'HH24:MM:ss') between '07:00:00' and '15:30:00') "
+ "or (to_char(pp.tglPelayanan,'dy') in ('fri') "
+ "and to_char(pp.tglPelayanan,'HH24:MM:ss') between '07:00:00' and '16:00:00')) "
+ "and pg.jenisPegawaiId = :jenisPegawaiId " + "and djp.jenisProdukId not in (:listNontindakanId) "
+ "and pr.id <> :karcisId " + "and pg.id = :pegawaiId " + "order by pr.namaProduk, pp.tglPelayanan")
public List<Map<String, Object>> findDetailPasienLogbook(@Param("produkId") Integer idProduk,
@Param("tglPelayanan") String tglPelayanan, @Param("jenisPegawaiId") Integer idJenisPegawai,
@Param("pegawaiId") Integer idPegawai, @Param("listNontindakanId") List<Integer> listIdNontindakan,
@Param("karcisId") Integer idKarcis);
}

View File

@ -18,7 +18,7 @@ public interface BobotJenisIndikatorService extends BaseVoService<BobotJenisIndi
public Boolean deleteAll(Long tglPembaharuanData) throws JpaSystemException;
public List<Map<String, Object>> findAllBobotJenis(Long periode);
public List<Map<String, Object>> findAllBobotJenis(Long periode, Integer idKelompokJabatan);
public List<Double> findBobotJenisJabatan(Long periode, Integer idJabatan);

View File

@ -35,4 +35,7 @@ public interface LogbookKinerjaService extends BaseVoService<LogbookKinerja, Log
public List<Map<String, Object>> findLogbookSkoringDokter(Integer idPegawai, Long bulan);
public List<Map<String, Object>> findDetailPasienLogbook(Integer idPegawai, Integer idIndikator, Integer idProduk,
String tglPelayanan, Integer idJenisPetugas, Double skor);
}

View File

@ -195,14 +195,20 @@ public class BobotJenisIndikatorServiceImpl extends BaseVoServiceImpl implements
}
@Override
public List<Map<String, Object>> findAllBobotJenis(Long periode) {
public List<Map<String, Object>> findAllBobotJenis(Long periode, Integer idKelompokJabatan) {
List<Integer> listIdKelompokJabatan = new ArrayList<>();
List<String> listTglPembaharuanData = new ArrayList<>();
DateFormat tf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
List<Map<String, Object>> result = bobotJenisIndikatorDao
.findBobotJenisByBulanBerlaku(new SimpleDateFormat("yyyy-MM").format(new Date(periode)));
List<Map<String, Object>> result = new ArrayList<>();
if (CommonUtil.isNotNullOrEmpty(idKelompokJabatan)) {
result = bobotJenisIndikatorDao.findBobotJenisByBulanBerlaku(
new SimpleDateFormat("yyyy-MM").format(new Date(periode)), idKelompokJabatan);
} else {
result = bobotJenisIndikatorDao
.findBobotJenisByBulanBerlaku(new SimpleDateFormat("yyyy-MM").format(new Date(periode)));
}
for (Map<String, Object> map : result) {
if (!listIdKelompokJabatan.contains(map.get("kelompokJabatanId"))) {
@ -219,11 +225,11 @@ public class BobotJenisIndikatorServiceImpl extends BaseVoServiceImpl implements
.collect(Collectors.toList());
int sumTP = 0;
for (Integer idKelompokJabatan : listIdKelompokJabatan) {
for (Integer idKK : listIdKelompokJabatan) {
for (String tglPembaharuanData : listTglPembaharuanDataSorted) {
for (Map<String, Object> map : result) {
if (CommonUtil.isNotNullOrEmpty(map.get("kelompokJabatanId"))
&& idKelompokJabatan.equals(map.get("kelompokJabatanId"))
&& idKK.equals(map.get("kelompokJabatanId"))
&& tglPembaharuanData.equals(tf.format((Date) map.get("tglPembaharuanData")))) {
sumTP++;
if (sumTP <= 3) {

View File

@ -596,17 +596,27 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
// scoring data layanan
for (Map<String, Object> layanan : dataLayananRaw) {
for (Map<String, Object> skoring : dataSkoringFiltered) {
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"))))) {
if (listRuangEks.contains(layanan.get("idRuangan"))
&& !Arrays.asList(Master.Produk.KONSULTASI_EKSEKUTIF).contains(layanan.get("idTindakan"))) {
if (Double.valueOf(layanan.get("hargaDiskon").toString()) > 0.0
&& (CommonUtil.isNullOrEmpty(layanan.get("statusDiskon"))
|| !Boolean.valueOf(layanan.get("statusDiskon").toString()))) {
layanan.put("jumlahTindakan", 0.0);
} else if (listRuangEks.contains(layanan.get("idRuangan"))
&& !layanan.get("namaTindakan").toString().toLowerCase().contains(Master.KONSUL)
&& !layanan.get("namaTindakan").toString().toLowerCase().contains(Master.VISIT)) {
layanan.put("jumlahTindakan",
Double.valueOf(layanan.get("jumlahTindakan").toString())
* Double.valueOf(skoring.get("skor").toString())
* Master.Remunerasi.PERSEN_SKOR_EKSEKUTIF);
} else if (layanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
layanan.put("jumlahTindakan",
Double.valueOf(layanan.get("jumlahTindakan").toString())
* Double.valueOf(skoring.get("skor").toString())
* Master.Remunerasi.PERSEN_SKOR_ASISTEN_SPESIALIS);
} else {
layanan.put("jumlahTindakan", Double.valueOf(layanan.get("jumlahTindakan").toString())
* Double.valueOf(skoring.get("skor").toString()));

View File

@ -594,23 +594,24 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
// RULES
for (Map<String, Object> mapLayanan : dataLayanan) {
if (mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
mapLayanan.put("skor", Double.valueOf(mapLayanan.get("skor").toString())
* Master.Remunerasi.PERSEN_SKOR_ASISTEN_SPESIALIS);
mapLayanan.put("tSkor", Double.valueOf(mapLayanan.get("skor").toString())
* Double.valueOf(mapLayanan.get("jumlah").toString()));
} else if (!mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL)
&& listRuangEks.contains(mapLayanan.get("ruanganId"))) {
mapLayanan.put("skor",
Double.valueOf(mapLayanan.get("skor").toString()) * Master.Remunerasi.PERSEN_SKOR_EKSEKUTIF);
mapLayanan.put("tSkor", Double.valueOf(mapLayanan.get("skor").toString())
* Double.valueOf(mapLayanan.get("jumlah").toString()));
} else if (Double.valueOf(mapLayanan.get("hargaDiskon").toString()) > 0.0
if (Double.valueOf(mapLayanan.get("hargaDiskon").toString()) > 0.0
&& (CommonUtil.isNullOrEmpty(mapLayanan.get("statusDiskon"))
|| !Boolean.valueOf(mapLayanan.get("statusDiskon").toString()))) {
// tidak_dapat_skor_untuk_diskon_dpjp
mapLayanan.put("skor", 0.0);
mapLayanan.put("tSkor", 0.0);
} else if (!mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL)
&& !mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.VISIT)
&& listRuangEks.contains(mapLayanan.get("ruanganId"))) {
mapLayanan.put("skor",
Double.valueOf(mapLayanan.get("skor").toString()) * Master.Remunerasi.PERSEN_SKOR_EKSEKUTIF);
mapLayanan.put("tSkor", Double.valueOf(mapLayanan.get("skor").toString())
* Double.valueOf(mapLayanan.get("jumlah").toString()));
} else if (mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
mapLayanan.put("skor", Double.valueOf(mapLayanan.get("skor").toString())
* Master.Remunerasi.PERSEN_SKOR_ASISTEN_SPESIALIS);
mapLayanan.put("tSkor", Double.valueOf(mapLayanan.get("skor").toString())
* Double.valueOf(mapLayanan.get("jumlah").toString()));
} else {
mapLayanan.put("tSkor", Double.valueOf(mapLayanan.get("skor").toString())
* Double.valueOf(mapLayanan.get("jumlah").toString()));
@ -746,4 +747,351 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
return result;
}
@Override
public List<Map<String, Object>> findDetailPasienLogbook(Integer idPegawai, Integer idIndikator, Integer idProduk,
String tglPelayanan, Integer idJenisPetugas, Double skor) {
List<Map<String, Object>> result = new ArrayList<>();
List<Integer> listRuangEks = splitDataSettingDatafixed("IdRuanganEksekutif");
List<Map<String, Object>> dataLayanan = ikiDanRemunerasiDao.findDetailPasienLogbook(idProduk, tglPelayanan,
Master.JenisPegawai.DOKTER, idPegawai, Arrays.asList(Master.JenisProduk.NONTINDAKAN),
Master.Produk.KARCIS);
for (Map<String, Object> mapLayanan : dataLayanan) {
if (idIndikator.equals(Master.IndikatorKinerjaDetail.KONSUL_EKS)
&& mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL)
&& listRuangEks.contains(mapLayanan.get("ruanganId"))) {
if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
&& mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
if (skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) > 0.0
&& (CommonUtil.isNullOrEmpty(mapLayanan.get("statusDiskon"))
|| !Boolean.valueOf(mapLayanan.get("statusDiskon").toString()))) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
} else if (!skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) == 0.0) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
}
} else if (!idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
&& !mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
if (skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) > 0.0
&& (CommonUtil.isNullOrEmpty(mapLayanan.get("statusDiskon"))
|| !Boolean.valueOf(mapLayanan.get("statusDiskon").toString()))) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
} else if (!skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) == 0.0) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
}
}
} else if (idIndikator.equals(Master.IndikatorKinerjaDetail.KONSUL_GADAR)
&& mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL)
&& mapLayanan.get("departemenId").equals(Master.Departemen.IGD)) {
if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
&& mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
if (skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) > 0.0
&& (CommonUtil.isNullOrEmpty(mapLayanan.get("statusDiskon"))
|| !Boolean.valueOf(mapLayanan.get("statusDiskon").toString()))) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
} else if (!skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) == 0.0) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
}
} else if (!idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
&& !mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
if (skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) > 0.0
&& (CommonUtil.isNullOrEmpty(mapLayanan.get("statusDiskon"))
|| !Boolean.valueOf(mapLayanan.get("statusDiskon").toString()))) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
} else if (!skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) == 0.0) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
}
}
} else if (idIndikator.equals(Master.IndikatorKinerjaDetail.KONSUL_REG)
&& mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL)) {
if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
&& mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
if (skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) > 0.0
&& (CommonUtil.isNullOrEmpty(mapLayanan.get("statusDiskon"))
|| !Boolean.valueOf(mapLayanan.get("statusDiskon").toString()))) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
} else if (!skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) == 0.0) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
}
} else if (!idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
&& !mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
if (skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) > 0.0
&& (CommonUtil.isNullOrEmpty(mapLayanan.get("statusDiskon"))
|| !Boolean.valueOf(mapLayanan.get("statusDiskon").toString()))) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
} else if (!skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) == 0.0) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
}
}
} else if (idIndikator.equals(Master.IndikatorKinerjaDetail.VISITE)
&& mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.VISIT)) {
if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
&& mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
if (skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) > 0.0
&& (CommonUtil.isNullOrEmpty(mapLayanan.get("statusDiskon"))
|| !Boolean.valueOf(mapLayanan.get("statusDiskon").toString()))) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
} else if (!skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) == 0.0) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
}
} else if (!idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
&& !mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
if (skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) > 0.0
&& (CommonUtil.isNullOrEmpty(mapLayanan.get("statusDiskon"))
|| !Boolean.valueOf(mapLayanan.get("statusDiskon").toString()))) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
} else if (!skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) == 0.0) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
}
}
} else if (idIndikator.equals(Master.IndikatorKinerjaDetail.TINDAKAN_EKS)
&& listRuangEks.contains(mapLayanan.get("ruanganId"))) {
if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
&& mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
if (skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) > 0.0
&& (CommonUtil.isNullOrEmpty(mapLayanan.get("statusDiskon"))
|| !Boolean.valueOf(mapLayanan.get("statusDiskon").toString()))) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
} else if (!skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) == 0.0) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
}
} else if (!idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
&& !mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
if (skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) > 0.0
&& (CommonUtil.isNullOrEmpty(mapLayanan.get("statusDiskon"))
|| !Boolean.valueOf(mapLayanan.get("statusDiskon").toString()))) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
} else if (!skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) == 0.0) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
}
}
} else if (idIndikator.equals(Master.IndikatorKinerjaDetail.TINDAKAN_GADAR)
&& mapLayanan.get("departemenId").equals(Master.Departemen.IGD)) {
if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
&& mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
if (skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) > 0.0
&& (CommonUtil.isNullOrEmpty(mapLayanan.get("statusDiskon"))
|| !Boolean.valueOf(mapLayanan.get("statusDiskon").toString()))) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
} else if (!skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) == 0.0) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
}
} else if (!idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
&& !mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
if (skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) > 0.0
&& (CommonUtil.isNullOrEmpty(mapLayanan.get("statusDiskon"))
|| !Boolean.valueOf(mapLayanan.get("statusDiskon").toString()))) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
} else if (!skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) == 0.0) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
}
}
} else if (idIndikator.equals(Master.IndikatorKinerjaDetail.TINDAKAN_OPS)
&& mapLayanan.get("ruanganId").equals(Master.Ruangan.OK)) {
if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
&& mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
if (skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) > 0.0
&& (CommonUtil.isNullOrEmpty(mapLayanan.get("statusDiskon"))
|| !Boolean.valueOf(mapLayanan.get("statusDiskon").toString()))) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
} else if (!skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) == 0.0) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
}
} else if (!idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
&& !mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
if (skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) > 0.0
&& (CommonUtil.isNullOrEmpty(mapLayanan.get("statusDiskon"))
|| !Boolean.valueOf(mapLayanan.get("statusDiskon").toString()))) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
} else if (!skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) == 0.0) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
}
}
} else if (idIndikator.equals(Master.IndikatorKinerjaDetail.TINDAKAN_REG)) {
if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
&& mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
if (skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) > 0.0
&& (CommonUtil.isNullOrEmpty(mapLayanan.get("statusDiskon"))
|| !Boolean.valueOf(mapLayanan.get("statusDiskon").toString()))) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
} else if (!skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) == 0.0) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
}
} else if (!idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
&& !mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
if (skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) > 0.0
&& (CommonUtil.isNullOrEmpty(mapLayanan.get("statusDiskon"))
|| !Boolean.valueOf(mapLayanan.get("statusDiskon").toString()))) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
} else if (!skor.equals(0.0) && Double.valueOf(mapLayanan.get("hargaDiskon").toString()) == 0.0) {
mapLayanan.remove("noRec");
mapLayanan.remove("statusDiskon");
mapLayanan.remove("departemenId");
mapLayanan.remove("ruanganId");
mapLayanan.remove("hargaDiskon");
result.add(mapLayanan);
}
}
}
}
return result;
}
}

View File

@ -83,7 +83,7 @@ public class TargetLayananTimer {
runDate.add(Calendar.MONTH, 1);
}
LOGGER.info("MonthlyTimer : Set to next month " + runDate.getTime());
LOGGER.info("TargetLayananTimer : Set to next month " + runDate.getTime());
return runDate.getTime();
}

View File

@ -1015,9 +1015,10 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
@RequestMapping(value = "/get-master-bobot-jenis-indikator", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> getMasterBobotJenisIndikator(HttpServletRequest request,
@RequestParam(value = "periode", required = true) Long periode) {
@RequestParam(value = "periode", required = true) Long periode,
@RequestParam(value = "kelompokKerjaId", required = false) Integer idKelompokKerja) {
try {
List<Map<String, Object>> result = bobotJenisIndikatorService.findAllBobotJenis(periode);
List<Map<String, Object>> result = bobotJenisIndikatorService.findAllBobotJenis(periode, idKelompokKerja);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
@ -1152,4 +1153,29 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/get-detail-pasien-dokter", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> getDetailPasienDetail(HttpServletRequest request,
@RequestParam(value = "pegawaiId", required = true) Integer idPegawai,
@RequestParam(value = "indikatorId", required = true) Integer idIndikator,
@RequestParam(value = "produkId", required = true) Integer idProduk,
@RequestParam(value = "tglPelayanan", required = true) String tglPelayanan,
@RequestParam(value = "jenisPetugasId", required = true) Integer idJenisPetugas,
@RequestParam(value = "skor", required = true) Double skor) throws ParseException {
try {
List<Map<String, Object>> result = logbookKinerjaService.findDetailPasienLogbook(idPegawai, idIndikator,
idProduk, tglPelayanan, idJenisPetugas, skor);
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 detail pasien logbook skoring dokter", 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 detail pasien logbook skoring dokter", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
}

View File

@ -132,7 +132,6 @@ import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.util.DateUtil;
import com.jasamedika.medifirst2000.util.rest.RestUtil;
import com.jasamedika.medifirst2000.vo.*;
import com.jasamedika.medifirst2000.vo.custom.TargetLayananCustomVO;
@RestController
@RequestMapping("/sdm")
@ -401,9 +400,6 @@ public class SdmController extends LocaleController<AkunVO> {
@Autowired
private RuanganService ruanganService;
@Autowired
private TargetLayananService targetLayananService;
@Autowired
private RekamUraianRincianKegiatanService rekamUraianRincianKegiatanService;