Merge branch 'dev/base' into dev/etl/pasien
This commit is contained in:
commit
0b117ee5d8
@ -326,6 +326,7 @@ public final class Master {
|
||||
public static final Integer[] RAJAL = { 8, 9, 18 };
|
||||
public static final Integer[] REHAB_MEDIK = { 2, 3, 4, 5 };
|
||||
public static final Integer[] REKAM_MEDIK = { 15 };
|
||||
public static final Integer[] TERAPI = { 2, 3, 4 };
|
||||
}
|
||||
|
||||
public static final class Remunerasi {
|
||||
|
||||
@ -1,22 +1,19 @@
|
||||
package com.jasamedika.medifirst2000.dao;
|
||||
|
||||
import com.jasamedika.medifirst2000.entities.MapJabatanProfesi;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.PagingAndSortingRepository;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.jasamedika.medifirst2000.entities.MapJabatanProfesi;
|
||||
|
||||
/**
|
||||
* @author salmanoe
|
||||
* @since Dec 31, 2021
|
||||
*/
|
||||
@Repository("mapProfesiJabatanDao")
|
||||
public interface MapJabatanProfesiDao extends PagingAndSortingRepository<MapJabatanProfesi, Integer> {
|
||||
public interface MapJabatanProfesiDao extends JpaRepository<MapJabatanProfesi, Integer> {
|
||||
|
||||
@Query("select new Map(mjp.id as id," + "prf.id as profesiId,prf.namaProfesi as profesi,"
|
||||
+ "jb.id as jabatanId,(jb.id || ' - ' ||jb.namaJabatan) as jabatan) " + "from MapJabatanProfesi mjp "
|
||||
@ -27,4 +24,11 @@ public interface MapJabatanProfesiDao extends PagingAndSortingRepository<MapJaba
|
||||
@Query(value = "select mjp.* from sdm_mapjabatanprofesi_m mjp where mjp.jabatanfk = :jabatanId limit 1", nativeQuery = true)
|
||||
Optional<MapJabatanProfesi> findByJabatan(@Param("jabatanId") Integer idJabatan);
|
||||
|
||||
@Query("select distinct mjj.pegawaiId " +
|
||||
"from MapJabatanProfesi mjp, MapPegawaiJabatanToUnitKerja mjj " +
|
||||
"where mjp.jabatanId = mjj.jabatanId " +
|
||||
"and mjp.statusEnabled is true " +
|
||||
"and mjj.statusEnabled is true " +
|
||||
"and mjp.profesiId in (:listProfesiId)")
|
||||
List<Integer> findIdPegawaiByProfesiIn(@Param("listProfesiId") List<Integer> listIdProfesi);
|
||||
}
|
||||
|
||||
@ -1,24 +1,21 @@
|
||||
package com.jasamedika.medifirst2000.dao;
|
||||
|
||||
import com.jasamedika.medifirst2000.entities.Profesi;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.PagingAndSortingRepository;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.jasamedika.medifirst2000.entities.Profesi;
|
||||
|
||||
/**
|
||||
* @author salmanoe
|
||||
* @since Oct 8, 2021
|
||||
*/
|
||||
@Repository("profesiDao")
|
||||
public interface ProfesiDao extends PagingAndSortingRepository<Profesi, Integer> {
|
||||
public interface ProfesiDao extends JpaRepository<Profesi, Integer> {
|
||||
|
||||
@Query("select prf from Profesi prf where prf.statusEnabled is true order by prf.namaProfesi asc")
|
||||
public List<Profesi> findAllActive();
|
||||
List<Profesi> findAllActive();
|
||||
|
||||
String strAllActive = "select new Map(prf.id as id,prf.namaProfesi as namaProfesi) from Profesi prf where prf.statusEnabled is true";
|
||||
|
||||
@ -27,10 +24,10 @@ public interface ProfesiDao extends PagingAndSortingRepository<Profesi, Integer>
|
||||
String srtNama = " order by prf.namaProfesi";
|
||||
|
||||
@Query(strAllActive + srtNama)
|
||||
public List<Map<String, Object>> findByStatus();
|
||||
List<Map<String, Object>> findByStatus();
|
||||
|
||||
@Query(strAllActive + whrJenis + srtNama)
|
||||
public List<Map<String, Object>> findByStatus(@Param("jenisId") Short idJenis);
|
||||
List<Map<String, Object>> findByStatus(@Param("jenisId") Short idJenis);
|
||||
|
||||
String strAllJabatanActive = "select new Map(prf.id as id,prf.namaProfesi as namaProfesi) "
|
||||
+ "from MapPegawaiJabatanToUnitKerja mj, MapJabatanProfesi mjp " + "inner join mjp.profesi prf "
|
||||
@ -39,10 +36,9 @@ public interface ProfesiDao extends PagingAndSortingRepository<Profesi, Integer>
|
||||
String whrPegawai = " and mj.pegawaiId = :pegawaiId";
|
||||
|
||||
@Query(strAllJabatanActive + whrPegawai + srtNama)
|
||||
public List<Map<String, Object>> findByStatus(@Param("pegawaiId") Integer idPegawai);
|
||||
List<Map<String, Object>> findByStatus(@Param("pegawaiId") Integer idPegawai);
|
||||
|
||||
@Query(strAllJabatanActive + whrPegawai + whrJenis + srtNama)
|
||||
public List<Map<String, Object>> findByStatus(@Param("pegawaiId") Integer idPegawai,
|
||||
@Param("jenisId") Short idJenis);
|
||||
|
||||
List<Map<String, Object>> findByStatus(@Param("pegawaiId") Integer idPegawai,
|
||||
@Param("jenisId") Short idJenis);
|
||||
}
|
||||
|
||||
@ -1,12 +1,11 @@
|
||||
package com.jasamedika.medifirst2000.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.orm.jpa.JpaSystemException;
|
||||
|
||||
import com.jasamedika.medifirst2000.entities.MapJabatanProfesi;
|
||||
import com.jasamedika.medifirst2000.vo.MapJabatanProfesiVO;
|
||||
import org.springframework.orm.jpa.JpaSystemException;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author salmanoe
|
||||
@ -14,6 +13,5 @@ import com.jasamedika.medifirst2000.vo.MapJabatanProfesiVO;
|
||||
*/
|
||||
public interface MapJabatanProfesiService extends BaseVoService<MapJabatanProfesi, MapJabatanProfesiVO, Integer> {
|
||||
|
||||
public List<Map<String, Object>> findMapping() throws JpaSystemException;
|
||||
|
||||
List<Map<String, Object>> findMapping() throws JpaSystemException;
|
||||
}
|
||||
|
||||
@ -28,6 +28,8 @@ public interface PelayananPasienService {
|
||||
|
||||
List<Map<String, Object>> logbookFfsTarifDokter(Integer idPegawai, String bulan);
|
||||
|
||||
List<Map<String, Object>> logbookFfsLuarTarifDokter(Integer idPegawai, String bulan);
|
||||
|
||||
List<Map<String, Object>> logbookKlaimMppDokter(Integer idPegawai, String bulan);
|
||||
|
||||
List<Map<String, Object>> logbookFixedPayDokter(Integer idPegawai, String bulan);
|
||||
|
||||
@ -1,12 +1,11 @@
|
||||
package com.jasamedika.medifirst2000.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.orm.jpa.JpaSystemException;
|
||||
|
||||
import com.jasamedika.medifirst2000.entities.Profesi;
|
||||
import com.jasamedika.medifirst2000.vo.ProfesiVO;
|
||||
import org.springframework.orm.jpa.JpaSystemException;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author salmanoe
|
||||
@ -14,8 +13,7 @@ import com.jasamedika.medifirst2000.vo.ProfesiVO;
|
||||
*/
|
||||
public interface ProfesiService extends BaseVoService<Profesi, ProfesiVO, Integer> {
|
||||
|
||||
public List<ProfesiVO> findAllActive() throws JpaSystemException;
|
||||
List<ProfesiVO> findAllActive() throws JpaSystemException;
|
||||
|
||||
public List<Map<String, Object>> findByStatus(Integer idPegawai, Short idJenis) throws JpaSystemException;
|
||||
|
||||
List<Map<String, Object>> findByStatus(Integer idPegawai, Short idJenis) throws JpaSystemException;
|
||||
}
|
||||
|
||||
@ -1,14 +1,5 @@
|
||||
package com.jasamedika.medifirst2000.service.impl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
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.dao.MapJabatanProfesiDao;
|
||||
import com.jasamedika.medifirst2000.entities.Jabatan;
|
||||
@ -20,6 +11,14 @@ import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||
import com.jasamedika.medifirst2000.vo.JabatanVO;
|
||||
import com.jasamedika.medifirst2000.vo.MapJabatanProfesiVO;
|
||||
import com.jasamedika.medifirst2000.vo.ProfesiVO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.orm.jpa.JpaSystemException;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @author salmanoe
|
||||
@ -100,7 +99,7 @@ public class MapJabatanProfesiServiceImpl extends BaseVoServiceImpl implements M
|
||||
|
||||
@Override
|
||||
public List<MapJabatanProfesiVO> findAll() throws JpaSystemException {
|
||||
List<MapJabatanProfesiVO> result = new ArrayList<MapJabatanProfesiVO>();
|
||||
List<MapJabatanProfesiVO> result = new ArrayList<>();
|
||||
|
||||
Iterable<MapJabatanProfesi> models = mapJabatanProfesiDao.findAll();
|
||||
if (CommonUtil.isNotNullOrEmpty(models)) {
|
||||
@ -123,9 +122,7 @@ public class MapJabatanProfesiServiceImpl extends BaseVoServiceImpl implements M
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> findMapping() throws JpaSystemException {
|
||||
List<Map<String, Object>> result = mapJabatanProfesiDao.findMapping();
|
||||
|
||||
return result;
|
||||
return mapJabatanProfesiDao.findMapping();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -44,6 +44,7 @@ import static com.jasamedika.medifirst2000.constants.Master.Kelas.NON_KELAS;
|
||||
import static com.jasamedika.medifirst2000.constants.Master.KelompokPasien.KELOMPOK_BPJS;
|
||||
import static com.jasamedika.medifirst2000.constants.Master.KelompokUser.TATA_REKENING;
|
||||
import static com.jasamedika.medifirst2000.constants.Master.KomponenHarga.*;
|
||||
import static com.jasamedika.medifirst2000.constants.Master.Profesi.TERAPI;
|
||||
import static com.jasamedika.medifirst2000.constants.Master.Ruangan.*;
|
||||
import static com.jasamedika.medifirst2000.constants.Master.SubUnitKerja.*;
|
||||
import static com.jasamedika.medifirst2000.constants.Master.TipePegawai.PURNA_WAKTU;
|
||||
@ -150,6 +151,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
@Autowired
|
||||
private PasienDao pasienDao;
|
||||
|
||||
@Autowired
|
||||
private MapJabatanProfesiDao mapJabatanProfesiDao;
|
||||
|
||||
@Override
|
||||
public Map<String, Object> savePelayananPasien(PelayananPasienVO vo) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
@ -520,6 +524,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
double persenRemunDokterPA = Double.parseDouble(GetSettingDataFixed("persenRemunDokterPA"));
|
||||
double persenRemunDokterUmumHD = Double.parseDouble(GetSettingDataFixed("persenRemunDokterUmumHD"));
|
||||
double persenRemunLabGenetika = Double.parseDouble(GetSettingDataFixed("persenRemunLabGenetika"));
|
||||
double persenRemunTerapis = Double.parseDouble(GetSettingDataFixed("persenRemunTerapis"));
|
||||
/*
|
||||
* Persiapan filter logic remunerasi
|
||||
*/
|
||||
@ -533,6 +538,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
List<Integer> drKkGenetika = pegawaiDao.getDokterByKelompokKerja(KK_GENETIKA);
|
||||
List<Integer> drKkRadiologi = pegawaiDao.getDokterByKelompokKerja(KK_RADIOLOGI);
|
||||
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
|
||||
List<Integer> terapisRehabMedik = mapJabatanProfesiDao.findIdPegawaiByProfesiIn(Arrays.asList(TERAPI));
|
||||
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
|
||||
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
|
||||
List<Integer> idsRegDJPPenunjangPA = splitDataSettingDatafixed("penunjang_pa");
|
||||
@ -675,6 +681,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
|
||||
d.put("isTermasukProporsi", false);
|
||||
} else if (terapisRehabMedik.contains(idPegawai) && REHAB_MEDIK.equals(d.get("idDepartemen"))
|
||||
&& "Eksekutif".equals(d.get("jenisRuangan"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRemunTerapis / 100, hargaJual, d, false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
|
||||
d.put("isTermasukProporsi", false);
|
||||
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, false);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
@ -1078,6 +1090,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
if (tglPelayanan.isEqual(tglMasuk)
|
||||
&& (tglJamMasuk.isBefore(tglJamPelayanan) || tglJamMasuk.isEqual(tglJamPelayanan))
|
||||
&& (tglJamPelayanan.isEqual(tglJamPulang) || tglJamPelayanan.isBefore(tglJamPulang))) {
|
||||
d.put("isJamKerja", true);
|
||||
listDataJamKerja.add(d);
|
||||
break;
|
||||
}
|
||||
@ -1104,6 +1117,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))))
|
||||
if (CommonUtil.isNullOrEmpty(j.get("jamMasuk"))) {
|
||||
if (tglPelayanan.isEqual(tglMasuk)) {
|
||||
d.put("isJamKerja", false);
|
||||
if ("Reguler".equals(d.get("jenisRuangan").toString()))
|
||||
d.put("isJamKerja", true);
|
||||
listDataLuarJamKerja.add(d);
|
||||
break;
|
||||
}
|
||||
@ -1114,6 +1130,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
LocalDateTime tglJamPulang = LocalDateTime.of(tglMasuk, jamPulang);
|
||||
if ((tglPelayanan.isEqual(tglMasuk) && tglJamPelayanan.isBefore(tglJamMasuk))
|
||||
|| (tglPelayanan.isEqual(tglMasuk) && tglJamPelayanan.isAfter(tglJamPulang))) {
|
||||
d.put("isJamKerja", false);
|
||||
if ("Reguler".equals(d.get("jenisRuangan").toString()))
|
||||
d.put("isJamKerja", true);
|
||||
listDataLuarJamKerja.add(d);
|
||||
break;
|
||||
}
|
||||
@ -1123,6 +1142,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
/*
|
||||
* Tanggal pelayanan null akan dianggap sebagai luar jam kerja
|
||||
*/
|
||||
d.put("isJamKerja", false);
|
||||
if ("Reguler".equals(d.get("jenisRuangan").toString()))
|
||||
d.put("isJamKerja", true);
|
||||
listDataLuarJamKerja.add(d);
|
||||
}
|
||||
}
|
||||
@ -1138,6 +1160,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
*/
|
||||
List<Map<String, Object>> listPelayananRemun = new ArrayList<>();
|
||||
List<Map<String, Object>> listPelayananFfs = new ArrayList<>();
|
||||
List<Map<String, Object>> listPelayananNonJknLuarJamKerja = new ArrayList<>();
|
||||
double capaianRemun = 0.0;
|
||||
if (pegawaiDao.getPegawaiByKategoryPegawai(Arrays.asList(DOKTER_LUAR)).contains(idPegawai)) {
|
||||
/*
|
||||
@ -1151,11 +1174,19 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
/*
|
||||
* dokter-dokter tertentu yang hanya dapat pasien bpjs
|
||||
*/
|
||||
listPelayananFfs.add(next);
|
||||
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
|
||||
listPelayananFfs.add(next);
|
||||
} else {
|
||||
listPelayananNonJknLuarJamKerja.add(next);
|
||||
}
|
||||
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|
||||
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) && !Arrays.asList(NONLOGBOOK)
|
||||
.contains(Integer.parseInt(next.get("idJenisProduk").toString())))) {
|
||||
listPelayananFfs.add(next);
|
||||
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
|
||||
listPelayananFfs.add(next);
|
||||
} else {
|
||||
listPelayananNonJknLuarJamKerja.add(next);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (Map<String, Object> next = queuePelayanan.poll(); next != null; next = queuePelayanan.poll())
|
||||
@ -1413,7 +1444,11 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
/*
|
||||
* Dibatasi oleh daftar tindakan tertentu
|
||||
*/
|
||||
listPelayananFfs.add(next);
|
||||
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
|
||||
listPelayananFfs.add(next);
|
||||
} else {
|
||||
listPelayananNonJknLuarJamKerja.add(next);
|
||||
}
|
||||
} else if ((CommonUtil.isNotNullOrEmpty(next.get("idDepartemen"))
|
||||
&& Arrays.asList(GRUP_RAWAT_JALAN_UTAMA)
|
||||
.contains(Integer.parseInt(next.get("idDepartemen").toString())))
|
||||
@ -1425,11 +1460,19 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
/*
|
||||
* Dibatasi hanya di rawat jalan atau visite saja
|
||||
*/
|
||||
listPelayananFfs.add(next);
|
||||
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
|
||||
listPelayananFfs.add(next);
|
||||
} else {
|
||||
listPelayananNonJknLuarJamKerja.add(next);
|
||||
}
|
||||
}
|
||||
} else if (drKkRadiologi.contains(idPegawai) && (BEDAH_SENTRAL.equals(next.get("idDepartemen"))
|
||||
|| CATHLAB.equals(next.get("idRuangan")))) {
|
||||
listPelayananFfs.add(next);
|
||||
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
|
||||
listPelayananFfs.add(next);
|
||||
} else {
|
||||
listPelayananNonJknLuarJamKerja.add(next);
|
||||
}
|
||||
} else {
|
||||
/*
|
||||
* Selain dokter-dokter kk pediatrik gawat darurat
|
||||
@ -1447,12 +1490,20 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
* Pengecualian daftar tindakan penunjang yang
|
||||
* bebas klaim
|
||||
*/
|
||||
listPelayananFfs.add(next);
|
||||
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
|
||||
listPelayananFfs.add(next);
|
||||
} else {
|
||||
listPelayananNonJknLuarJamKerja.add(next);
|
||||
}
|
||||
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|
||||
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
|
||||
&& !Arrays.asList(NONLOGBOOK).contains(
|
||||
Integer.parseInt(next.get("idJenisProduk").toString())))) {
|
||||
listPelayananFfs.add(next);
|
||||
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
|
||||
listPelayananFfs.add(next);
|
||||
} else {
|
||||
listPelayananNonJknLuarJamKerja.add(next);
|
||||
}
|
||||
}
|
||||
} else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk"))
|
||||
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
|
||||
@ -1463,7 +1514,11 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
/*
|
||||
* Aturan dokter ksm umum di igd
|
||||
*/
|
||||
listPelayananFfs.add(next);
|
||||
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
|
||||
listPelayananFfs.add(next);
|
||||
} else {
|
||||
listPelayananNonJknLuarJamKerja.add(next);
|
||||
}
|
||||
} else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk"))
|
||||
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
|
||||
&& !listDetailJenisProduk.contains(
|
||||
@ -1474,17 +1529,29 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
* Aturan dokter kk perinatologi dengan pembatasan
|
||||
* tindakan tertentu
|
||||
*/
|
||||
listPelayananFfs.add(next);
|
||||
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
|
||||
listPelayananFfs.add(next);
|
||||
} else {
|
||||
listPelayananNonJknLuarJamKerja.add(next);
|
||||
}
|
||||
} else if (drAnastesiList.contains(idPegawai)) {
|
||||
if (idsPenunjangBukanAnestesi.contains(Integer.parseInt(next.get("idProduk").toString()))) {
|
||||
/*
|
||||
* Aturan dokter kk anestesi dengan pembatasan
|
||||
* tindakan tertentu
|
||||
*/
|
||||
listPelayananFfs.add(next);
|
||||
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
|
||||
listPelayananFfs.add(next);
|
||||
} else {
|
||||
listPelayananNonJknLuarJamKerja.add(next);
|
||||
}
|
||||
} else if (RADIOLOGI.equals(next.get("idDepartemen"))
|
||||
&& DOKTER_PEMERIKSA.equals(next.get("idJenisPelaksana"))) {
|
||||
listPelayananFfs.add(next);
|
||||
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
|
||||
listPelayananFfs.add(next);
|
||||
} else {
|
||||
listPelayananNonJknLuarJamKerja.add(next);
|
||||
}
|
||||
}
|
||||
} else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException)
|
||||
&& CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
|
||||
@ -1501,12 +1568,20 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
* Pengecualian daftar tindakan penunjang yang
|
||||
* bebas klaim
|
||||
*/
|
||||
listPelayananFfs.add(next);
|
||||
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
|
||||
listPelayananFfs.add(next);
|
||||
} else {
|
||||
listPelayananNonJknLuarJamKerja.add(next);
|
||||
}
|
||||
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|
||||
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
|
||||
&& !Arrays.asList(NONLOGBOOK).contains(
|
||||
Integer.parseInt(next.get("idJenisProduk").toString())))) {
|
||||
listPelayananFfs.add(next);
|
||||
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
|
||||
listPelayananFfs.add(next);
|
||||
} else {
|
||||
listPelayananNonJknLuarJamKerja.add(next);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1514,7 +1589,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
}
|
||||
{
|
||||
/*
|
||||
* Sorting data remun diurutkan
|
||||
* Sorting data remun jkn diurutkan
|
||||
*/
|
||||
listPelayananRemun = listPelayananRemun.stream()
|
||||
.sorted(Comparator.comparing(o1 -> (Date) o1.get("tglPelayanan"),
|
||||
@ -1533,7 +1608,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
}
|
||||
{
|
||||
/*
|
||||
* Sorting data ffs diurutkan
|
||||
* Sorting data remun non-jkn di dalam jam kerja diurutkan
|
||||
*/
|
||||
listPelayananFfs = listPelayananFfs.stream()
|
||||
.sorted(Comparator.comparing(o -> (Date) o.get("tglPelayanan"),
|
||||
@ -1545,6 +1620,20 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
.sorted(Comparator.comparing(o -> o.get("namaProduk").toString())).collect(Collectors.toList());
|
||||
result.put("ffs", listPelayananFfs);
|
||||
}
|
||||
{
|
||||
/*
|
||||
* Sorting data remun non-jkn di luar jam kerja diurutkan
|
||||
*/
|
||||
listPelayananNonJknLuarJamKerja = listPelayananNonJknLuarJamKerja.stream()
|
||||
.sorted(Comparator.comparing(o -> (Date) o.get("tglPelayanan"),
|
||||
Comparator.nullsLast(Comparator.naturalOrder())))
|
||||
.sorted(Comparator.comparing(o -> Integer.parseInt(o.get("sortIdKelompokPasien").toString()),
|
||||
Comparator.nullsLast(Comparator.naturalOrder())))
|
||||
.sorted(Comparator.comparing(o -> Integer.parseInt(o.get("sortIdKelas").toString()),
|
||||
Comparator.nullsLast(Comparator.naturalOrder())))
|
||||
.sorted(Comparator.comparing(o -> o.get("namaProduk").toString())).collect(Collectors.toList());
|
||||
result.put("ffs-luar", listPelayananNonJknLuarJamKerja);
|
||||
}
|
||||
{
|
||||
/*
|
||||
* Sorting data klaim mpp diurutkan
|
||||
@ -1566,6 +1655,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
if (CommonUtil.isNotNullOrEmpty(listKecantikanFixedPay))
|
||||
listPelayananFixedPay.addAll(setKecantikanFixedPay(listKecantikanFixedPay));
|
||||
result.put("fixed-pay", listPelayananFixedPay);
|
||||
if (terapisRehabMedik.contains(idPegawai))
|
||||
result.put("fixed-pay", new ArrayList<>());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
@ -1932,6 +2023,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
double persenRemunDokterPA = Double.parseDouble(GetSettingDataFixed("persenRemunDokterPA"));
|
||||
double persenRemunDokterUmumHD = Double.parseDouble(GetSettingDataFixed("persenRemunDokterUmumHD"));
|
||||
double persenRemunLabGenetika = Double.parseDouble(GetSettingDataFixed("persenRemunLabGenetika"));
|
||||
double persenRemunTerapis = Double.parseDouble(GetSettingDataFixed("persenRemunTerapis"));
|
||||
/*
|
||||
* Persiapan filter logic remunerasi
|
||||
*/
|
||||
@ -1939,6 +2031,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(KK_UMUM);
|
||||
List<Integer> drKkGenetika = pegawaiDao.getDokterByKelompokKerja(KK_GENETIKA);
|
||||
List<Integer> drAnastesiList = pegawaiDao.getDokterByKelompokKerja(KK_ANESTESI);
|
||||
List<Integer> terapisRehabMedik = mapJabatanProfesiDao.findIdPegawaiByProfesiIn(Arrays.asList(TERAPI));
|
||||
List<Integer> idProdukLabGenetikaLuarRuangan = splitDataSettingDatafixed("idProdukLabGenetikaLuarRuangan");
|
||||
/*
|
||||
* Set persen jasa dan harga jasa pasien bpjs di ibs, icu
|
||||
@ -2059,6 +2152,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
d.put("persenJasa", persenRadiologi + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (terapisRehabMedik.contains(idPegawai) && REHAB_MEDIK.equals(d.get("idDepartemen"))
|
||||
&& "Eksekutif".equals(d.get("jenisRuangan"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRemunTerapis / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenRemunTerapis + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenRehabMedik + "%");
|
||||
@ -2313,6 +2412,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
double persenJasaDokterPA = Double.parseDouble(GetSettingDataFixed("persenJasaDokterPA"));
|
||||
double persenJasaDokterUmumHD = Double.parseDouble(GetSettingDataFixed("persenJasaDokterUmumHD"));
|
||||
double persenJasaLabGenetika = Double.parseDouble(GetSettingDataFixed("persenJasaLabGenetika"));
|
||||
double persenJasaTerapis = Double.parseDouble(GetSettingDataFixed("persenJasaTerapis"));
|
||||
/*
|
||||
* Persiapan filter logic remunerasi
|
||||
*/
|
||||
@ -2320,6 +2420,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(KK_UMUM);
|
||||
List<Integer> drKkGenetika = pegawaiDao.getDokterByKelompokKerja(KK_GENETIKA);
|
||||
List<Integer> drAnastesiList = pegawaiDao.getDokterByKelompokKerja(KK_ANESTESI);
|
||||
List<Integer> terapisRehabMedik = mapJabatanProfesiDao.findIdPegawaiByProfesiIn(Arrays.asList(TERAPI));
|
||||
List<Integer> idProdukLabGenetikaLuarRuangan = splitDataSettingDatafixed("idProdukLabGenetikaLuarRuangan");
|
||||
/*
|
||||
* Mapping persentase jasa remunerasi
|
||||
@ -2416,6 +2517,275 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
d.put("persenJasa", persenRadiologi + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (terapisRehabMedik.contains(idPegawai) && REHAB_MEDIK.equals(d.get("idDepartemen"))
|
||||
&& "Eksekutif".equals(d.get("jenisRuangan"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenJasaTerapis + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenRehabMedik + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenKonsultasi + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (VISIT.equals(d.get("idGolonganProduk"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenVisite + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenTindakan + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenAnestesi + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drKkGenetika.contains(idPegawai)
|
||||
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
|
||||
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenJasaLabGenetika + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenJasaLabGenetika + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenJasaDokterPA + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenLaboratorium + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenTindakan + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Populate data filter
|
||||
*/
|
||||
listData.forEach(d -> {
|
||||
if (!listIdProduk.contains(Integer.parseInt(d.get("idProduk").toString())))
|
||||
listIdProduk.add(Integer.valueOf(d.get("idProduk").toString()));
|
||||
if (!listPersenJasa.contains(d.get("persenJasa").toString()))
|
||||
listPersenJasa.add(d.get("persenJasa").toString());
|
||||
if (!listHargaJasa.contains(Double.parseDouble(d.get("hargaJasa").toString())))
|
||||
listHargaJasa.add(Double.valueOf(d.get("hargaJasa").toString()));
|
||||
if (!listHargaJual.contains(Double.parseDouble(d.get("hargaJual").toString())))
|
||||
listHargaJual.add(Double.valueOf(d.get("hargaJual").toString()));
|
||||
if (!listIdKelompokPasien.contains(Integer.parseInt(d.get("idKelompokPasien").toString())))
|
||||
listIdKelompokPasien.add(Integer.valueOf(d.get("idKelompokPasien").toString()));
|
||||
if (!listTanggal.contains(d.get("tanggal").toString()))
|
||||
listTanggal.add(d.get("tanggal").toString());
|
||||
if (!listJenisRuangan.contains(d.get("jenisRuangan").toString()))
|
||||
listJenisRuangan.add(d.get("jenisRuangan").toString());
|
||||
});
|
||||
/*
|
||||
* Pengelompokkan tanggal pelayanan
|
||||
*/
|
||||
List<Map<String, Object>> dataTanggal = groupingTanggalFfs(listData);
|
||||
/*
|
||||
* Pengelompokkan produk layanan
|
||||
*/
|
||||
List<Map<String, Object>> result = groupingKategoriFfs(dataTanggal);
|
||||
/*
|
||||
* Final sorting
|
||||
*/
|
||||
result = result.stream()
|
||||
.sorted(Comparator.comparing(o1 -> (Date) o1.get("tglPelayanan"),
|
||||
Comparator.nullsLast(Comparator.naturalOrder())))
|
||||
.sorted(Comparator.comparing(o2 -> Integer.parseInt(o2.get("sortIdKelompokPasien").toString()),
|
||||
Comparator.nullsLast(Comparator.naturalOrder())))
|
||||
.sorted(Comparator.comparing(o3 -> Integer.parseInt(o3.get("sortIdKelas").toString()),
|
||||
Comparator.nullsLast(Comparator.naturalOrder())))
|
||||
.sorted(Comparator.comparing(o4 -> o4.get("namaProduk").toString()))
|
||||
.sorted(Comparator.comparing(o5 -> o5.get("jenisRuangan").toString(), Comparator.reverseOrder()))
|
||||
.collect(Collectors.toList());
|
||||
result.forEach(r -> {
|
||||
/*
|
||||
* Hapus informasi tidak perlu
|
||||
*/
|
||||
r.remove("idDPJP");
|
||||
r.remove("tglPelayanan");
|
||||
r.remove("tanggal");
|
||||
r.remove("idKelas");
|
||||
r.remove("namaKelas");
|
||||
r.remove("idPelayananPasienPetugas");
|
||||
r.remove("idPelayananPasien");
|
||||
r.remove("norecs");
|
||||
r.remove("idDepartemen");
|
||||
r.remove("idPasienDaftar");
|
||||
r.remove("idPegawai");
|
||||
r.remove("idAntrianPasienDiperiksa");
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> logbookFfsLuarTarifDokter(Integer idPegawai, String bulan) {
|
||||
List<Integer> listIdProduk = new ArrayList<>();
|
||||
List<String> listPersenJasa = new ArrayList<>();
|
||||
List<Double> listHargaJasa = new ArrayList<>();
|
||||
List<Double> listHargaJual = new ArrayList<>();
|
||||
List<Integer> listIdKelompokPasien = new ArrayList<>();
|
||||
List<String> listTanggal = new ArrayList<>();
|
||||
List<String> listJenisRuangan = new ArrayList<>();
|
||||
DateFormat df = new SimpleDateFormat("yyyy-MM");
|
||||
Date date;
|
||||
try {
|
||||
date = df.parse(bulan);
|
||||
} catch (ParseException e) {
|
||||
System.out.println(e.getMessage());
|
||||
return null;
|
||||
}
|
||||
Locale indonesia = new Locale("in", "ID");
|
||||
NumberFormat nf = NumberFormat.getCurrencyInstance(indonesia);
|
||||
Map<String, Object> remunFfs = this.splitRemunFfs(idPegawai, bulan);
|
||||
@SuppressWarnings("unchecked")
|
||||
List<Map<String, Object>> listData = (List<Map<String, Object>>) remunFfs.get("ffs-luar");
|
||||
/*
|
||||
* Mendapatkan persentase jasa
|
||||
*/
|
||||
double persenBPJS = Double.parseDouble(GetSettingDataFixed("persenJasaBPJS"));
|
||||
double persenOperator = Double.parseDouble(GetSettingDataFixed("persenJasaOperatorIBS"));
|
||||
double persenAsistenIBS = Double.parseDouble(GetSettingDataFixed("persenJasaAsistenIBS"));
|
||||
double persenAnestesi = Double.parseDouble(GetSettingDataFixed("persenJasaAnestesiIBS"));
|
||||
double persenRadiologi = Double.parseDouble(GetSettingDataFixed("persenJasaRadiologi"));
|
||||
double persenLaboratorium = Double.parseDouble(GetSettingDataFixed("persenJasaLaboratorium"));
|
||||
double persenRehabMedik = Double.parseDouble(GetSettingDataFixed("persenJasaRehabMedik"));
|
||||
double persenKonsultasi = Double.parseDouble(GetSettingDataFixed("persenJasaKonsultasiDokter"));
|
||||
double persenVisite = Double.parseDouble(GetSettingDataFixed("persenJasaVisiteDokter"));
|
||||
double persenTindakan = Double.parseDouble(GetSettingDataFixed("persenJasaTindakanDokter"));
|
||||
double persenJasaDokterPA = Double.parseDouble(GetSettingDataFixed("persenJasaDokterPA"));
|
||||
double persenJasaDokterUmumHD = Double.parseDouble(GetSettingDataFixed("persenJasaDokterUmumHD"));
|
||||
double persenJasaLabGenetika = Double.parseDouble(GetSettingDataFixed("persenJasaLabGenetika"));
|
||||
double persenJasaTerapis = Double.parseDouble(GetSettingDataFixed("persenJasaLuarTerapis"));
|
||||
/*
|
||||
* Persiapan filter logic remunerasi
|
||||
*/
|
||||
List<Integer> drKkPatologiAnatomiList = pegawaiDao.getDokterByKelompokKerja(KK_PATOLOGI_ANATOMI);
|
||||
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(KK_UMUM);
|
||||
List<Integer> drKkGenetika = pegawaiDao.getDokterByKelompokKerja(KK_GENETIKA);
|
||||
List<Integer> drAnastesiList = pegawaiDao.getDokterByKelompokKerja(KK_ANESTESI);
|
||||
List<Integer> terapisRehabMedik = mapJabatanProfesiDao.findIdPegawaiByProfesiIn(Arrays.asList(TERAPI));
|
||||
List<Integer> idProdukLabGenetikaLuarRuangan = splitDataSettingDatafixed("idProdukLabGenetikaLuarRuangan");
|
||||
/*
|
||||
* Mapping persentase jasa remunerasi
|
||||
*/
|
||||
for (Map<String, Object> d : listData) {
|
||||
double hargaJual = Double.parseDouble(d.get("hargaJual").toString());
|
||||
String keteranganTambahan = "";
|
||||
if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) {
|
||||
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
|
||||
keteranganTambahan = " dan selisih paket karena diskon "
|
||||
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString()));
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
|
||||
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenBPJS / 100, hargaJual, d, true);
|
||||
/*
|
||||
* Set persen jasa dokter luar yang klaim ffs dengan persen jasa
|
||||
* dari tarif total
|
||||
*/
|
||||
d.put("persenJasa", persenBPJS + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
/*
|
||||
* Set harga jasa klaim jasa ffs pasien bpjs oleh dokter-dokter
|
||||
* tertentu
|
||||
*/
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenJasaDokterUmumHD + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))
|
||||
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100,
|
||||
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
||||
false);
|
||||
d.put("persenJasa", persenOperator + "%");
|
||||
d.put("keterangan",
|
||||
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
||||
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
||||
+ hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))
|
||||
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100,
|
||||
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
||||
false);
|
||||
d.put("persenJasa", persenAsistenIBS + "%");
|
||||
d.put("keterangan",
|
||||
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
||||
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
||||
+ hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))
|
||||
&& CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100,
|
||||
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
|
||||
false);
|
||||
d.put("persenJasa", persenAnestesi + "%");
|
||||
d.put("keterangan",
|
||||
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif"
|
||||
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
|
||||
+ hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenOperator + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenAsistenIBS + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
|
||||
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenAnestesi + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenRadiologi + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (terapisRehabMedik.contains(idPegawai) && REHAB_MEDIK.equals(d.get("idDepartemen"))
|
||||
&& "Eksekutif".equals(d.get("jenisRuangan"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenJasaTerapis + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenRehabMedik + "%");
|
||||
@ -2667,6 +3037,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
double persenJasaDokterPA = Double.parseDouble(GetSettingDataFixed("persenJasaDokterPA"));
|
||||
double persenJasaDokterUmumHD = Double.parseDouble(GetSettingDataFixed("persenJasaDokterUmumHD"));
|
||||
double persenJasaLabGenetika = Double.parseDouble(GetSettingDataFixed("persenJasaLabGenetika"));
|
||||
double persenJasaTerapis = Double.parseDouble(GetSettingDataFixed("persenJasaTerapis"));
|
||||
/*
|
||||
* Persiapan filter logic remunerasi
|
||||
*/
|
||||
@ -2674,7 +3045,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(KK_UMUM);
|
||||
List<Integer> drKkGenetika = pegawaiDao.getDokterByKelompokKerja(KK_GENETIKA);
|
||||
List<Integer> drAnastesiList = pegawaiDao.getDokterByKelompokKerja(KK_ANESTESI);
|
||||
List<Integer> terapisRehabMedik = mapJabatanProfesiDao.findIdPegawaiByProfesiIn(Arrays.asList(TERAPI));
|
||||
List<Integer> idProdukLabGenetikaLuarRuangan = splitDataSettingDatafixed("idProdukLabGenetikaLuarRuangan");
|
||||
if (terapisRehabMedik.contains(idPegawai))
|
||||
return new ArrayList<>();
|
||||
/*
|
||||
* Mapping persentase jasa remunerasi
|
||||
*/
|
||||
@ -2770,6 +3144,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
d.put("persenJasa", persenRadiologi + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (terapisRehabMedik.contains(idPegawai) && REHAB_MEDIK.equals(d.get("idDepartemen"))
|
||||
&& "Eksekutif".equals(d.get("jenisRuangan"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenJasaTerapis + "%");
|
||||
d.put("keterangan", hargaJasa.getKeterangan());
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true);
|
||||
d.put("persenJasa", persenRehabMedik + "%");
|
||||
@ -3002,8 +3382,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
for (Map<String, Object> res : result) {
|
||||
Optional<PelayananPasienDetail> detail = detailPelayananPaketBukanFixedPay.stream()
|
||||
.filter(d -> d.getPelayananPasienId().equals(res.get("idPelayanan"))).findFirst();
|
||||
detail.ifPresent(
|
||||
d -> res.put("hargaJual", CommonUtil.isNotNullOrEmpty(d.getHargaJual()) ? d.getHargaJual() : 0.00));
|
||||
detail.ifPresent(d -> res.put("hargaJual",
|
||||
CommonUtil.isNotNullOrEmpty(d.getHargaJual()) ? d.getHargaJual() : 0.00));
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
||||
@ -1,13 +1,5 @@
|
||||
package com.jasamedika.medifirst2000.service.impl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
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.dao.ProfesiDao;
|
||||
import com.jasamedika.medifirst2000.entities.Profesi;
|
||||
@ -15,6 +7,13 @@ import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||
import com.jasamedika.medifirst2000.service.ProfesiService;
|
||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||
import com.jasamedika.medifirst2000.vo.ProfesiVO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.orm.jpa.JpaSystemException;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author salmanoe
|
||||
@ -76,7 +75,7 @@ public class ProfesiServiceImpl extends BaseVoServiceImpl implements ProfesiServ
|
||||
|
||||
@Override
|
||||
public List<ProfesiVO> findAll() throws JpaSystemException {
|
||||
List<ProfesiVO> result = new ArrayList<ProfesiVO>();
|
||||
List<ProfesiVO> result = new ArrayList<>();
|
||||
|
||||
Iterable<Profesi> models = profesiDao.findAll();
|
||||
if (CommonUtil.isNotNullOrEmpty(models)) {
|
||||
@ -99,7 +98,7 @@ public class ProfesiServiceImpl extends BaseVoServiceImpl implements ProfesiServ
|
||||
|
||||
@Override
|
||||
public List<ProfesiVO> findAllActive() throws JpaSystemException {
|
||||
List<ProfesiVO> result = new ArrayList<ProfesiVO>();
|
||||
List<ProfesiVO> result = new ArrayList<>();
|
||||
|
||||
Iterable<Profesi> models = profesiDao.findAllActive();
|
||||
if (CommonUtil.isNotNullOrEmpty(models)) {
|
||||
@ -115,7 +114,7 @@ public class ProfesiServiceImpl extends BaseVoServiceImpl implements ProfesiServ
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> findByStatus(Integer idPegawai, Short idJenis) throws JpaSystemException {
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
List<Map<String, Object>> result;
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(idJenis)) {
|
||||
result = profesiDao.findByStatus(idPegawai, idJenis);
|
||||
@ -131,5 +130,4 @@ public class ProfesiServiceImpl extends BaseVoServiceImpl implements ProfesiServ
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,19 +1,14 @@
|
||||
package com.jasamedika.medifirst2000.entities;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.GenerationType;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.SequenceGenerator;
|
||||
import javax.persistence.Table;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import com.jasamedika.medifirst2000.base.BaseActive;
|
||||
import com.jasamedika.medifirst2000.helper.Caption;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.persistence.*;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import static javax.persistence.GenerationType.SEQUENCE;
|
||||
|
||||
/**
|
||||
* @author salmanoe
|
||||
@ -21,6 +16,8 @@ import com.jasamedika.medifirst2000.helper.Caption;
|
||||
*/
|
||||
@Entity
|
||||
@Table(name = "sdm_mapjabatanprofesi_m")
|
||||
@Getter
|
||||
@Setter
|
||||
public class MapJabatanProfesi extends BaseActive {
|
||||
|
||||
private static final long serialVersionUID = 3888545942252692215L;
|
||||
@ -44,49 +41,8 @@ public class MapJabatanProfesi extends BaseActive {
|
||||
private Integer profesiId;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.sdm_mapjabatanprofesi_m_seq_gen")
|
||||
@GeneratedValue(strategy = SEQUENCE, generator = "public.sdm_mapjabatanprofesi_m_seq_gen")
|
||||
@SequenceGenerator(name = "public.sdm_mapjabatanprofesi_m_seq_gen", sequenceName = "public.sdm_mapjabatanprofesi_m_id_seq", allocationSize = 1)
|
||||
@Column(name = "id")
|
||||
protected Integer id;
|
||||
|
||||
public Jabatan getJabatan() {
|
||||
return jabatan;
|
||||
}
|
||||
|
||||
public void setJabatan(Jabatan jabatan) {
|
||||
this.jabatan = jabatan;
|
||||
}
|
||||
|
||||
public Integer getJabatanId() {
|
||||
return jabatanId;
|
||||
}
|
||||
|
||||
public void setJabatanId(Integer jabatanId) {
|
||||
this.jabatanId = jabatanId;
|
||||
}
|
||||
|
||||
public Profesi getProfesi() {
|
||||
return profesi;
|
||||
}
|
||||
|
||||
public void setProfesi(Profesi profesi) {
|
||||
this.profesi = profesi;
|
||||
}
|
||||
|
||||
public Integer getProfesiId() {
|
||||
return profesiId;
|
||||
}
|
||||
|
||||
public void setProfesiId(Integer profesiId) {
|
||||
this.profesiId = profesiId;
|
||||
}
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,19 +1,19 @@
|
||||
package com.jasamedika.medifirst2000.entities;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.GenerationType;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.SequenceGenerator;
|
||||
import javax.persistence.Table;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import com.jasamedika.medifirst2000.base.BaseActive;
|
||||
import com.jasamedika.medifirst2000.helper.Caption;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.persistence.*;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import static javax.persistence.GenerationType.SEQUENCE;
|
||||
|
||||
@Entity
|
||||
@Table(name = "sdm_profesi_m")
|
||||
@Getter
|
||||
@Setter
|
||||
public class Profesi extends BaseActive {
|
||||
|
||||
@NotNull(message = "Nama Profesi tidak boleh kosong")
|
||||
@ -21,38 +21,13 @@ public class Profesi extends BaseActive {
|
||||
@Caption(value = "Nama Profesi")
|
||||
private String namaProfesi;
|
||||
|
||||
@Column(name = "jenisprofesi", nullable = true)
|
||||
@Column(name = "jenisprofesi")
|
||||
@Caption(value = "Jenis Profesi")
|
||||
private Short jenisProfesi;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.sdm_profesi_m_id_seq")
|
||||
@GeneratedValue(strategy = SEQUENCE, generator = "public.sdm_profesi_m_id_seq")
|
||||
@SequenceGenerator(name = "public.sdm_profesi_m_id_seq", sequenceName = "public.sdm_profesi_m_id_seq", allocationSize = 1)
|
||||
@Column(name = "id")
|
||||
protected Integer id;
|
||||
|
||||
public String getNamaProfesi() {
|
||||
return namaProfesi;
|
||||
}
|
||||
|
||||
public void setNamaProfesi(String namaProfesi) {
|
||||
this.namaProfesi = namaProfesi;
|
||||
}
|
||||
|
||||
public Short getJenisProfesi() {
|
||||
return jenisProfesi;
|
||||
}
|
||||
|
||||
public void setJenisProfesi(Short jenisProfesi) {
|
||||
this.jenisProfesi = jenisProfesi;
|
||||
}
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -2,11 +2,15 @@ package com.jasamedika.medifirst2000.vo;
|
||||
|
||||
import com.jasamedika.medifirst2000.base.vo.BaseActiveVO;
|
||||
import com.jasamedika.medifirst2000.helper.Caption;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @author salmanoe
|
||||
* @since Dec 31, 2021
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class MapJabatanProfesiVO extends BaseActiveVO {
|
||||
|
||||
@Caption(value = "Jabatan")
|
||||
@ -20,45 +24,4 @@ public class MapJabatanProfesiVO extends BaseActiveVO {
|
||||
private Integer profesiId;
|
||||
|
||||
protected Integer id;
|
||||
|
||||
public JabatanVO getJabatan() {
|
||||
return jabatan;
|
||||
}
|
||||
|
||||
public void setJabatan(JabatanVO jabatan) {
|
||||
this.jabatan = jabatan;
|
||||
}
|
||||
|
||||
public Integer getJabatanId() {
|
||||
return jabatanId;
|
||||
}
|
||||
|
||||
public void setJabatanId(Integer jabatanId) {
|
||||
this.jabatanId = jabatanId;
|
||||
}
|
||||
|
||||
public ProfesiVO getProfesi() {
|
||||
return profesi;
|
||||
}
|
||||
|
||||
public void setProfesi(ProfesiVO profesi) {
|
||||
this.profesi = profesi;
|
||||
}
|
||||
|
||||
public Integer getProfesiId() {
|
||||
return profesiId;
|
||||
}
|
||||
|
||||
public void setProfesiId(Integer profesiId) {
|
||||
this.profesiId = profesiId;
|
||||
}
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -2,7 +2,11 @@ package com.jasamedika.medifirst2000.vo;
|
||||
|
||||
import com.jasamedika.medifirst2000.base.vo.BaseActiveVO;
|
||||
import com.jasamedika.medifirst2000.helper.Caption;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class ProfesiVO extends BaseActiveVO {
|
||||
|
||||
@Caption(value = "Nama Profesi")
|
||||
@ -12,29 +16,4 @@ public class ProfesiVO extends BaseActiveVO {
|
||||
private Short jenisProfesi;
|
||||
|
||||
protected Integer id;
|
||||
|
||||
public String getNamaProfesi() {
|
||||
return namaProfesi;
|
||||
}
|
||||
|
||||
public void setNamaProfesi(String namaProfesi) {
|
||||
this.namaProfesi = namaProfesi;
|
||||
}
|
||||
|
||||
public Short getJenisProfesi() {
|
||||
return jenisProfesi;
|
||||
}
|
||||
|
||||
public void setJenisProfesi(Short jenisProfesi) {
|
||||
this.jenisProfesi = jenisProfesi;
|
||||
}
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -2668,6 +2668,27 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/dokter/logbook-tarif/ffs-luar/{idPegawai}/{bulan}", method = RequestMethod.GET)
|
||||
public ResponseEntity<List<Map<String, Object>>> getLogbookFfsLuarTarifDokter(HttpServletRequest request,
|
||||
@PathVariable("idPegawai") Integer idPegawai, @PathVariable("bulan") String bulan) {
|
||||
try {
|
||||
List<Map<String, Object>> result = pelayananPasienService.logbookFfsLuarTarifDokter(idPegawai, bulan);
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
|
||||
} catch (ServiceVOException sve) {
|
||||
LOGGER.error("Got ServiceVOException {} when get logbook ffs luar jam kerja tarif dokter",
|
||||
sve.getMessage());
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
|
||||
} catch (JpaSystemException jse) {
|
||||
LOGGER.error("Got JpaSystemException {} when get logbook ffs luar jam kerja tarif dokter",
|
||||
jse.getMessage());
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/dokter/logbook-tarif/klaim-mpp/{idPegawai}/{bulan}", method = RequestMethod.GET)
|
||||
public ResponseEntity<List<Map<String, Object>>> getLogbookKlaimMpp(HttpServletRequest request,
|
||||
@PathVariable("idPegawai") Integer idPegawai, @PathVariable("bulan") String bulan) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user