Merge branch 'dev/master/data-fix' into dev/no-cron

This commit is contained in:
Salman Manoe 2025-02-13 11:34:51 +07:00
commit a16ea96f5e
10 changed files with 378 additions and 443 deletions

View File

@ -46,12 +46,11 @@ public interface KonsultasiDao
+ "inner join apd.ruangan ru " + "left join pd.rekanan rk "
+ "where pp.tglPelayanan between :tglAwal and :tglAkhir "
+ "and ru.departemenId not in (:listIdDepartemen) " + "and (pg.id is null or pg.id in (:listIdPegawai)) "
+ "and pr.id not in (:listKarcisIdProduk) " + "and djp.jenisProdukId not in (:listIdJenisProduk) "
+ "and pr.id not in (:listIdProduk) " + "and djp.jenisProdukId not in (:listIdJenisProduk) "
+ "and djp.id not in (:listIdDetailJenisProduk) " + "order by dpj.namaLengkap, ru.namaRuangan")
List<Map<String, Object>> findAllKonsultasiTindakanKosong(@Param("tglAwal") Date tglAwal,
@Param("tglAkhir") Date tglAkhir, @Param("listIdDepartemen") List<Integer> listIdDepartemen,
@Param("listIdPegawai") List<Integer> listIdPegawai,
@Param("listKarcisIdProduk") List<Integer> listKarcisIdProduk,
@Param("listIdPegawai") List<Integer> listIdPegawai, @Param("listIdProduk") List<Integer> idProdukList,
@Param("listIdJenisProduk") List<Integer> listIdJenisProduk,
@Param("listIdDetailJenisProduk") List<Integer> listIdDetailJenisProduk);

View File

@ -1,8 +1,11 @@
package com.jasamedika.medifirst2000.service.impl;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.jasamedika.medifirst2000.core.web.WebConstants;
import com.jasamedika.medifirst2000.dao.custom.base.util.QueryOrder;
import com.jasamedika.medifirst2000.dao.custom.base.util.QueryOrderDirection;
import com.jasamedika.medifirst2000.dto.EffectiveDateDataFixDTO;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -14,10 +17,8 @@ import org.springframework.data.domain.Sort;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.lang.reflect.Type;
import java.util.*;
/**
* Created by Roberto
@ -126,5 +127,23 @@ public abstract class BaseVoServiceImpl {
public String getUrlServiceSarPras() {
return urlServiceSarPras;
}
public List<Integer> getNilaiDataFixByTMT(String namaField, Date date) {
List<Integer> result = new ArrayList<>();
Gson gson = new Gson();
Type effectiveDateDataFixType = new TypeToken<List<EffectiveDateDataFixDTO>>() {
}.getType();
String jsonProdukDokterUmum = getSettingDataFixed(namaField);
List<EffectiveDateDataFixDTO> dataFixDTOList = gson.fromJson(jsonProdukDokterUmum, effectiveDateDataFixType);
Optional<EffectiveDateDataFixDTO> first = dataFixDTOList.stream()
.sorted(Comparator.comparing(EffectiveDateDataFixDTO::getTmt, Comparator.reverseOrder()))
.filter(dto -> dto.getTmt() <= date.getTime()).findFirst();
if (first.isPresent()) {
String[] split = first.get().getNilaiField().split(",");
for (String s : split)
result.add(Integer.valueOf(s));
}
return result;
}
}

View File

@ -1,5 +1,25 @@
package com.jasamedika.medifirst2000.service.impl;
import com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.dao.*;
import com.jasamedika.medifirst2000.entities.*;
import com.jasamedika.medifirst2000.service.IkiDanRemunerasiService;
import com.jasamedika.medifirst2000.service.LogbookKinerjaService;
import com.jasamedika.medifirst2000.service.TargetSkorDokterService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.util.CurrencyUtil;
import com.jasamedika.medifirst2000.util.DateUtil;
import com.jasamedika.medifirst2000.util.StringUtil;
import com.jasamedika.medifirst2000.vo.*;
import com.jasamedika.medifirst2000.vo.custom.TargetLayananJamKerjaDetailVO;
import com.jasamedika.medifirst2000.vo.custom.TargetLayananJamKerjaVO;
import com.jasamedika.medifirst2000.vo.custom.TargetLayananLuarJamKerjaDetailVO;
import com.jasamedika.medifirst2000.vo.custom.TargetLayananLuarJamKerjaVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
@ -7,86 +27,9 @@ import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.dao.IkiDanRemunerasiDao;
import com.jasamedika.medifirst2000.dao.IndeksKinerjaDokterDao;
import com.jasamedika.medifirst2000.dao.IndikatorKinerjaDetailDao;
import com.jasamedika.medifirst2000.dao.JabatanDao;
import com.jasamedika.medifirst2000.dao.LogbookKinerjaDokterDao;
import com.jasamedika.medifirst2000.dao.MapPegawaiJabatanToUnitKerjaDao;
import com.jasamedika.medifirst2000.dao.MapPegawaiLaboratRadiologiDao;
import com.jasamedika.medifirst2000.dao.MonitoringAbsenDao;
import com.jasamedika.medifirst2000.dao.PegawaiDao;
import com.jasamedika.medifirst2000.dao.RunningNumberDao;
import com.jasamedika.medifirst2000.dao.SettingPirSdmDao;
import com.jasamedika.medifirst2000.dao.ShiftKerjaDao;
import com.jasamedika.medifirst2000.dao.SkoringTindakanMedisDao;
import com.jasamedika.medifirst2000.dao.StrukHistoriDao;
import com.jasamedika.medifirst2000.dao.StrukPelayananDao;
import com.jasamedika.medifirst2000.dao.SubUnitKerjaDao;
import com.jasamedika.medifirst2000.dao.TargetLayananDao;
import com.jasamedika.medifirst2000.entities.EvaluasiJabatan;
import com.jasamedika.medifirst2000.entities.IkiDanRemunerasi;
import com.jasamedika.medifirst2000.entities.IndeksKinerjaDokter;
import com.jasamedika.medifirst2000.entities.IndikatorKinerjaDetail;
import com.jasamedika.medifirst2000.entities.Jabatan;
import com.jasamedika.medifirst2000.entities.KelompokTransaksi;
import com.jasamedika.medifirst2000.entities.LogbookKinerjaDokter;
import com.jasamedika.medifirst2000.entities.Pegawai;
import com.jasamedika.medifirst2000.entities.PegawaiHistoriRekap;
import com.jasamedika.medifirst2000.entities.Ruangan;
import com.jasamedika.medifirst2000.entities.RunningNumber;
import com.jasamedika.medifirst2000.entities.SettingPirSdm;
import com.jasamedika.medifirst2000.entities.StrukHistori;
import com.jasamedika.medifirst2000.entities.StrukPelayanan;
import com.jasamedika.medifirst2000.entities.SubUnitKerjaPegawai;
import com.jasamedika.medifirst2000.entities.SuratKeputusan;
import com.jasamedika.medifirst2000.entities.TargetLayanan;
import com.jasamedika.medifirst2000.entities.UnitKerjaPegawai;
import com.jasamedika.medifirst2000.service.IkiDanRemunerasiService;
import com.jasamedika.medifirst2000.service.LogbookKinerjaService;
import com.jasamedika.medifirst2000.service.TargetSkorDokterService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.util.CurrencyUtil;
import com.jasamedika.medifirst2000.util.DateUtil;
import com.jasamedika.medifirst2000.util.StringUtil;
import com.jasamedika.medifirst2000.vo.EvaluasiJabatanVO;
import com.jasamedika.medifirst2000.vo.IkiDanRemunerasiVO;
import com.jasamedika.medifirst2000.vo.IndikatorKinerjaDetailVO;
import com.jasamedika.medifirst2000.vo.JabatanVO;
import com.jasamedika.medifirst2000.vo.KelompokTransaksiVO;
import com.jasamedika.medifirst2000.vo.PegawaiVO;
import com.jasamedika.medifirst2000.vo.RuanganVO;
import com.jasamedika.medifirst2000.vo.SettingPirSdmVO;
import com.jasamedika.medifirst2000.vo.SkorDokterVO;
import com.jasamedika.medifirst2000.vo.StrukHistoriVO;
import com.jasamedika.medifirst2000.vo.SubUnitKerjaPegawaiVO;
import com.jasamedika.medifirst2000.vo.SuratKeputusanVO;
import com.jasamedika.medifirst2000.vo.TargetSkorDokterVO;
import com.jasamedika.medifirst2000.vo.UnitKerjaPegawaiVO;
import com.jasamedika.medifirst2000.vo.custom.TargetLayananJamKerjaDetailVO;
import com.jasamedika.medifirst2000.vo.custom.TargetLayananJamKerjaVO;
import com.jasamedika.medifirst2000.vo.custom.TargetLayananLuarJamKerjaDetailVO;
import com.jasamedika.medifirst2000.vo.custom.TargetLayananLuarJamKerjaVO;
@Service("IkiDanRemunerasiService")
public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements IkiDanRemunerasiService {
@ -641,6 +584,7 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
calTglAwal.set(Calendar.SECOND, 0);
calTglAwal.set(Calendar.DAY_OF_MONTH, 1);
calTglAwal.add(Calendar.MONTH, -Integer.valueOf(getSettingDataFixed("jmlBlnHitungTargetMedis")));
Date tglAwal = calTglAwal.getTime();
// get_this_period
Calendar bulan = Calendar.getInstance();
@ -666,29 +610,27 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
List<Integer> listIdDokterKsmUmum = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
List<Integer> listIdDokterLabPA = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI);
List<Integer> listIdDJPLabPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> listIdDJPLabPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> listIdDokterLabPK = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_KLINIK);
List<Integer> listIdDJPLabPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> listIdDJPLabPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> listIdDokterRad = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_RADIOLOGI);
List<Integer> listIdDJPRad = splitDataSettingDatafixed("penunjang_radiologi");
List<Integer> listIdDJPRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
List<Integer> listIdDJPUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> listIdDJPUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> listIdLaboranRadiolog = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
List<Integer> listIdDJPAdmPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> listIdDJPAdmPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Map<String, Object>> dataRaw = ikiDanRemunerasiDao.getDataLayananJamKerja(calTglAwal.getTime(),
bulan.getTime(), pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER,
List<Map<String, Object>> dataRaw = ikiDanRemunerasiDao.getDataLayananJamKerja(tglAwal, bulan.getTime(),
pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER,
Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_ALL), Arrays.asList(Master.KategoryPegawai.REMUN),
Arrays.asList(Master.KedudukanPegawai.INACTIVE_LOGIN), Arrays.asList(Master.UnitKerja.KSM),
Arrays.asList(Master.JenisProduk.NONTINDAKAN), Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS),
Master.Produk.KARCIS);
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
List<Integer> idsKonsultasiDokterJaga = splitDataSettingDatafixed("pr_konsultasi_dokter_jaga");
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal);
// filter detail jenis produk
for (Map<String, Object> map : dataRaw) {
@ -749,8 +691,7 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
listIdTempUtama.addAll(listIdTempAdmPK);
}
}
if (!listIdTempUtama.contains(map.get("djpId"))
&& idsDokterUmumIGD.contains(map.get("idTindakan"))
if (!listIdTempUtama.contains(map.get("djpId")) && idsDokterUmumIGD.contains(map.get("idTindakan"))
&& listIdDokterKsmUmum.contains(map.get("pegawaiId"))
&& Master.Departemen.IGD.equals(map.get("idDepartemen"))) {
dataLayananRaw.add(map);
@ -1160,6 +1101,7 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
calTglAwal.set(Calendar.SECOND, 0);
calTglAwal.set(Calendar.DAY_OF_MONTH, 1);
calTglAwal.add(Calendar.MONTH, -Integer.valueOf(getSettingDataFixed("jmlBlnHitungTargetMedis")));
Date tglAwal = calTglAwal.getTime();
// get_this_period
Calendar bulan = Calendar.getInstance();
@ -1186,29 +1128,27 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
List<Integer> listIdDokterKsmUmum = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
List<Integer> listIdDokterLabPA = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI);
List<Integer> listIdDJPLabPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> listIdDJPLabPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> listIdDokterLabPK = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_KLINIK);
List<Integer> listIdDJPLabPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> listIdDJPLabPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> listIdDokterRad = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_RADIOLOGI);
List<Integer> listIdDJPRad = splitDataSettingDatafixed("penunjang_radiologi");
List<Integer> listIdDJPRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
List<Integer> listIdDJPUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> listIdDJPUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> listIdLaboranRadiolog = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
List<Integer> listIdDJPAdmPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> listIdDJPAdmPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Map<String, Object>> dataRaw = ikiDanRemunerasiDao.getDataLayananLuarJamKerja(calTglAwal.getTime(),
bulan.getTime(), pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER,
List<Map<String, Object>> dataRaw = ikiDanRemunerasiDao.getDataLayananLuarJamKerja(tglAwal, bulan.getTime(),
pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER,
Arrays.asList(Master.KedudukanPegawai.INACTIVE_LOGIN),
Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_ALL), Arrays.asList(Master.UnitKerja.KSM),
Arrays.asList(Master.JenisProduk.NONTINDAKAN), Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS),
Master.Produk.KARCIS);
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
List<Integer> idsKonsultasiDokterJaga = splitDataSettingDatafixed("pr_konsultasi_dokter_jaga");
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal);
// filter detail jenis produk
for (Map<String, Object> map : dataRaw) {
@ -1269,8 +1209,7 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
listIdTempUtama.addAll(listIdTempAdmPK);
}
}
if (!listIdTempUtama.contains(map.get("djpId"))
&& idsDokterUmumIGD.contains(map.get("idTindakan"))
if (!listIdTempUtama.contains(map.get("djpId")) && idsDokterUmumIGD.contains(map.get("idTindakan"))
&& listIdDokterKsmUmum.contains(map.get("pegawaiId"))
&& Master.Departemen.IGD.equals(map.get("idDepartemen"))) {
dataLayananRaw.add(map);

View File

@ -2367,11 +2367,12 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
List<Integer> drKkPerinatologiList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PERINATOLOGI);
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> idsRegDJPPenunjangPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
Date tglAwal = DateUtil.startMonth(periode);
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
@ -2391,10 +2392,10 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
List<Map<String, Object>> listData = revIndekKinerjaDao.getAllTindakanDokter(Master.Kelas.KELAS_SATU, idPegawai,
Master.JenisPetugasPelaksana.PETUGAS_PELAKSANA, periode);
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
List<Integer> idsDokterPediatrikGD = splitDataSettingDatafixed("pr_dokter_pediatrik_gd");
List<Integer> idsDokterPerinatologi = splitDataSettingDatafixed("pr_dokter_perinatologi");
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal);
List<Integer> idsDokterPediatrikGD = getNilaiDataFixByTMT("pr_dokter_pediatrik_gd", tglAwal);
List<Integer> idsDokterPerinatologi = getNilaiDataFixByTMT("pr_dokter_perinatologi", tglAwal);
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAwal);
Double komponenDasar = Double.parseDouble(getSettingDataFixed("ld_komponen_dasar"));
Double persenOperator = Double.parseDouble(getSettingDataFixed("ld_persen_operator"));
Double persenCooperator = Double.parseDouble(getSettingDataFixed("ld_persen_cooperator"));
@ -3332,11 +3333,12 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
List<Integer> drKkPerinatologiList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PERINATOLOGI);
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> idsRegDJPPenunjangPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
Date tglAwal = DateUtil.startMonth(periode);
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
@ -3356,10 +3358,10 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
List<Map<String, Object>> listData = revIndekKinerjaDao.getAllTindakanDokter(Master.Kelas.KELAS_SATU, idPegawai,
Master.JenisPetugasPelaksana.PETUGAS_PELAKSANA, periode);
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
List<Integer> idsDokterPediatrikGD = splitDataSettingDatafixed("pr_dokter_pediatrik_gd");
List<Integer> idsDokterPerinatologi = splitDataSettingDatafixed("pr_dokter_perinatologi");
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal);
List<Integer> idsDokterPediatrikGD = getNilaiDataFixByTMT("pr_dokter_pediatrik_gd", tglAwal);
List<Integer> idsDokterPerinatologi = getNilaiDataFixByTMT("pr_dokter_perinatologi", tglAwal);
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAwal);
Double komponenDasar = Double.parseDouble(getSettingDataFixed("ld_komponen_dasar"));
double persenOperator = Double.parseDouble(getSettingDataFixed("ld_persen_operator"));
double persenCooperator = Double.parseDouble(getSettingDataFixed("ld_persen_cooperator"));
@ -4044,11 +4046,12 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
List<Integer> drKkPerinatologiList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PERINATOLOGI);
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> idsRegDJPPenunjangPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
Date tglAwal = DateUtil.startMonth(periode);
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
@ -4068,10 +4071,10 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
List<Map<String, Object>> listData = revIndekKinerjaDao.getAllTindakanDokter(Master.Kelas.KELAS_SATU, idPegawai,
Master.JenisPetugasPelaksana.PETUGAS_PELAKSANA, periode);
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
List<Integer> idsDokterPediatrikGD = splitDataSettingDatafixed("pr_dokter_pediatrik_gd");
List<Integer> idsDokterPerinatologi = splitDataSettingDatafixed("pr_dokter_perinatologi");
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal);
List<Integer> idsDokterPediatrikGD = getNilaiDataFixByTMT("pr_dokter_pediatrik_gd", tglAwal);
List<Integer> idsDokterPerinatologi = getNilaiDataFixByTMT("pr_dokter_perinatologi", tglAwal);
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAwal);
Double komponenDasar = Double.parseDouble(getSettingDataFixed("ld_komponen_dasar"));
Double persenOperator = Double.parseDouble(getSettingDataFixed("ld_persen_operator"));
Double persenCooperator = Double.parseDouble(getSettingDataFixed("ld_persen_cooperator"));
@ -4922,11 +4925,12 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> idsRegDJPPenunjangPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
Date tglAwal = DateUtil.startMonth(periode);
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
@ -4946,8 +4950,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
List<Map<String, Object>> listData = revIndekKinerjaDao.getAllTindakanDokter(Master.Kelas.KELAS_SATU, idPegawai,
Master.JenisPetugasPelaksana.PETUGAS_PELAKSANA, periode);
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal);
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAwal);
Double komponenDasar = Double.parseDouble(getSettingDataFixed("ld_komponen_dasar"));
double persenOperator = Double.parseDouble(getSettingDataFixed("ld_persen_operator"));
double persenCooperator = Double.parseDouble(getSettingDataFixed("ld_persen_cooperator"));
@ -5384,12 +5388,13 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
List<Integer> drKkPerinatologiList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PERINATOLOGI);
List<Integer> drAnastesiList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_ANESTESI);
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> idsRegDJPPenunjangPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
Date tglAwal = DateUtil.startMonth(month);
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAwal);
if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
@ -5414,9 +5419,9 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
idProduk, idKelompokPasien, Master.JenisPetugasPelaksana.PETUGAS_PELAKSANA, tgl);
}
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
List<Integer> idsDokterPediatrikGD = splitDataSettingDatafixed("pr_dokter_pediatrik_gd");
List<Integer> idsDokterPerinatologi = splitDataSettingDatafixed("pr_dokter_perinatologi");
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal);
List<Integer> idsDokterPediatrikGD = getNilaiDataFixByTMT("pr_dokter_pediatrik_gd", tglAwal);
List<Integer> idsDokterPerinatologi = getNilaiDataFixByTMT("pr_dokter_perinatologi", tglAwal);
if (!ffs) {
if (CommonUtil.isNotNullOrEmpty(listData)) {
@ -7089,11 +7094,12 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
List<Integer> drKkPerinatologiList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PERINATOLOGI);
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> idsRegDJPPenunjangPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
Date tglAwal = DateUtil.startMonth(periode);
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
@ -7113,10 +7119,10 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
List<Map<String, Object>> listData = revIndekKinerjaDao.getAllTindakanDokterCetak(Master.Kelas.KELAS_SATU,
idPegawai, Master.JenisPetugasPelaksana.PETUGAS_PELAKSANA, periode);
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
List<Integer> idsDokterPediatrikGD = splitDataSettingDatafixed("pr_dokter_pediatrik_gd");
List<Integer> idsDokterPerinatologi = splitDataSettingDatafixed("pr_dokter_perinatologi");
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal);
List<Integer> idsDokterPediatrikGD = getNilaiDataFixByTMT("pr_dokter_pediatrik_gd", tglAwal);
List<Integer> idsDokterPerinatologi = getNilaiDataFixByTMT("pr_dokter_perinatologi", tglAwal);
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAwal);
if (CommonUtil.isNotNullOrEmpty(listData)) {
for (Map<String, Object> map : listData) {
@ -7695,11 +7701,12 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> idsRegDJPPenunjangPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
Date tglAwal = DateUtil.startMonth(periode);
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
@ -8496,11 +8503,12 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
List<Integer> dokterLuar = pegawaiDao
.getPegawaiByKategoryPegawai(Arrays.asList(Master.KategoryPegawai.DOKTER_LUAR));
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> idsRegDJPPenunjangPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
Date tglAwal = DateUtil.startMonth(periode);
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
@ -8520,7 +8528,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
List<Map<String, Object>> listData = revIndekKinerjaDao.getAllTindakanDokter(Master.Kelas.KELAS_SATU, idPegawai,
Master.JenisPetugasPelaksana.PETUGAS_PELAKSANA, periode);
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal);
List<Integer> idsKonsultasiDokterJaga = splitDataSettingDatafixed("pr_konsultasi_dokter_jaga");
if (CommonUtil.isNotNullOrEmpty(listData)) {
@ -9813,11 +9821,12 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
List<Integer> drKkPerinatologiList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PERINATOLOGI);
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> idsRegDJPPenunjangPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
Date tglAwal = DateUtil.startMonth(month);
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
@ -9842,10 +9851,10 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
Master.JenisPetugasPelaksana.PETUGAS_PELAKSANA, tgl);
}
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
List<Integer> idsDokterPediatrikGD = splitDataSettingDatafixed("pr_dokter_pediatrik_gd");
List<Integer> idsDokterPerinatologi = splitDataSettingDatafixed("pr_dokter_perinatologi");
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal);
List<Integer> idsDokterPediatrikGD = getNilaiDataFixByTMT("pr_dokter_pediatrik_gd", tglAwal);
List<Integer> idsDokterPerinatologi = getNilaiDataFixByTMT("pr_dokter_perinatologi", tglAwal);
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAwal);
if (!ffs) {
if (CommonUtil.isNotNullOrEmpty(listData)) {

View File

@ -364,9 +364,9 @@ public class KonsultasiServiceImpl extends BaseVoServiceImpl implements Konsulta
excJenisProduk.add(Master.JenisProduk.LAB_KLINIK);
List<Integer> idsRegDJPPenunjangLab = splitDataSettingDatafixed("penunjang_laboratorium");
List<Integer> listKarcisIdProduk = splitDataSettingDatafixed("listKarcisIdProduk");
List<Integer> idsKarcis = getNilaiDataFixByTMT("listKarcisIdProduk", tglAwal);
return konsultasiDao.findAllKonsultasiTindakanKosong(tglAwal, tglAkhir, inapDanLab,
Arrays.asList(Master.Pegawai.ADMINISTRATOR), listKarcisIdProduk, excJenisProduk, idsRegDJPPenunjangLab);
Arrays.asList(Master.Pegawai.ADMINISTRATOR), idsKarcis, excJenisProduk, idsRegDJPPenunjangLab);
}
}

View File

@ -1007,31 +1007,32 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
Date tglAwal = DateUtil.startMonth(new Date(bulan));
List<Integer> listIdNonjadwal = shiftKerjaDao.findListNonjadwal();
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
listDetailJenisProduk = splitDataSettingDatafixed("penunjang_pa");
listDetailJenisProduk = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
} else if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_KLINIK).contains(idPegawai)) {
listDetailJenisProduk = splitDataSettingDatafixed("penunjang_pk");
listDetailJenisProduk = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
} else if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_RADIOLOGI).contains(idPegawai)) {
listDetailJenisProduk = splitDataSettingDatafixed("penunjang_radiologi");
listDetailJenisProduk = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
} else {
listDetailJenisProduk = splitDataSettingDatafixed("medis_utama");
listDetailJenisProduk = getNilaiDataFixByTMT("medis_utama", tglAwal);
}
if (laboranRadiologList.contains(idPegawai)) {
listDetailJenisProdukException = splitDataSettingDatafixed("admin_nonpk");
listDetailJenisProdukException = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
listDetailJenisProdukException.removeAll(listDetailJenisProduk);
listDetailJenisProduk.addAll(listDetailJenisProdukException);
}
List<Map<String, Object>> dataLayanan = ikiDanRemunerasiDao.getDataLogbookJamKerjaDokter(
mf.format(new Date(bulan)), pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER,
Collections.singletonList(idPegawai), Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_ALL),
listDetailJenisProduk, splitDataSettingDatafixed("pr_dokter_umum_igd"), drKsmUmumList,
Master.Departemen.IGD, Arrays.asList(Master.JenisProduk.NONTINDAKAN),
Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), Master.Produk.KARCIS);
List<Map<String, Object>> dataLayanan = ikiDanRemunerasiDao.getDataLogbookJamKerjaDokter(mf.format(tglAwal),
pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER, Collections.singletonList(idPegawai),
Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_ALL), listDetailJenisProduk,
getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal), drKsmUmumList, Master.Departemen.IGD,
Arrays.asList(Master.JenisProduk.NONTINDAKAN), Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS),
Master.Produk.KARCIS);
// Menghitung skor asa dokter anestesi
List<String> listIdPelayananAnestesi = new ArrayList<>();
@ -1372,29 +1373,30 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
Date tglAwal = DateUtil.startMonth(new Date(bulan));
List<Integer> listIdNonjadwal = shiftKerjaDao.findListNonjadwal();
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
listDetailJenisProduk = splitDataSettingDatafixed("penunjang_pa");
listDetailJenisProduk = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
} else if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_KLINIK).contains(idPegawai)) {
listDetailJenisProduk = splitDataSettingDatafixed("penunjang_pk");
listDetailJenisProduk = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
} else if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_RADIOLOGI).contains(idPegawai)) {
listDetailJenisProduk = splitDataSettingDatafixed("penunjang_radiologi");
listDetailJenisProduk = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
} else {
listDetailJenisProduk = splitDataSettingDatafixed("medis_utama");
listDetailJenisProduk = getNilaiDataFixByTMT("medis_utama", tglAwal);
}
if (laboranRadiologList.contains(idPegawai)) {
listDetailJenisProdukException = splitDataSettingDatafixed("admin_nonpk");
listDetailJenisProdukException = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
listDetailJenisProdukException.removeAll(listDetailJenisProduk);
listDetailJenisProduk.addAll(listDetailJenisProdukException);
}
List<Map<String, Object>> dataLayanan = ikiDanRemunerasiDao.getDataLogbookLuarJamKerjaDokter(
mf.format(new Date(bulan)), pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER, idPegawai,
List<Map<String, Object>> dataLayanan = ikiDanRemunerasiDao.getDataLogbookLuarJamKerjaDokter(mf.format(tglAwal),
pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER, idPegawai,
Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_ALL), listDetailJenisProduk,
splitDataSettingDatafixed("pr_dokter_umum_igd"), drKsmUmumList, Master.Departemen.IGD,
getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal), drKsmUmumList, Master.Departemen.IGD,
Arrays.asList(Master.JenisProduk.NONTINDAKAN), Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS),
Master.Produk.KARCIS);
@ -1704,20 +1706,21 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
Date tglAwal = DateUtil.startMonth(bulan);
List<Integer> listIdNonjadwal = shiftKerjaDao.findListNonjadwal();
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
listDetailJenisProduk = splitDataSettingDatafixed("penunjang_pa");
listDetailJenisProduk = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
} else if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_KLINIK).contains(idPegawai)) {
listDetailJenisProduk = splitDataSettingDatafixed("penunjang_pk");
listDetailJenisProduk = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
} else if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_RADIOLOGI).contains(idPegawai)) {
listDetailJenisProduk = splitDataSettingDatafixed("penunjang_radiologi");
listDetailJenisProduk = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
} else {
listDetailJenisProduk = splitDataSettingDatafixed("medis_utama");
listDetailJenisProduk = getNilaiDataFixByTMT("medis_utama", tglAwal);
}
if (laboranRadiologList.contains(idPegawai)) {
listDetailJenisProdukException = splitDataSettingDatafixed("admin_nonpk");
listDetailJenisProdukException = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
listDetailJenisProdukException.removeAll(listDetailJenisProduk);
listDetailJenisProduk.addAll(listDetailJenisProdukException);
@ -1726,7 +1729,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
List<Map<String, Object>> dataLayanan = ikiDanRemunerasiDao.findDetailPasienLogbookJamKerjaDokter(idProduk,
tglPelayanan, pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER, idPegawai,
Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_ALL), listDetailJenisProduk,
splitDataSettingDatafixed("pr_dokter_umum_igd"), drKsmUmumList, Master.Departemen.IGD,
getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal), drKsmUmumList, Master.Departemen.IGD,
Arrays.asList(Master.JenisProduk.NONTINDAKAN), Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS),
Master.Produk.KARCIS);
@ -2245,20 +2248,21 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
Date tglAwal = DateUtil.startMonth(tglPelayanan.substring(0, 7));
List<Integer> listIdNonjadwal = shiftKerjaDao.findListNonjadwal();
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
listDetailJenisProduk = splitDataSettingDatafixed("penunjang_pa");
listDetailJenisProduk = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
} else if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_KLINIK).contains(idPegawai)) {
listDetailJenisProduk = splitDataSettingDatafixed("penunjang_pk");
listDetailJenisProduk = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
} else if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_RADIOLOGI).contains(idPegawai)) {
listDetailJenisProduk = splitDataSettingDatafixed("penunjang_radiologi");
listDetailJenisProduk = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
} else {
listDetailJenisProduk = splitDataSettingDatafixed("medis_utama");
listDetailJenisProduk = getNilaiDataFixByTMT("medis_utama", tglAwal);
}
if (laboranRadiologList.contains(idPegawai)) {
listDetailJenisProdukException = splitDataSettingDatafixed("admin_nonpk");
listDetailJenisProdukException = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
listDetailJenisProdukException.removeAll(listDetailJenisProduk);
listDetailJenisProduk.addAll(listDetailJenisProdukException);
@ -2267,7 +2271,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
List<Map<String, Object>> dataLayanan = ikiDanRemunerasiDao.findDetailPasienLogbookLuarJamKerjaDokter(idProduk,
tglPelayanan, pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER, idPegawai,
Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_ALL), listDetailJenisProduk,
splitDataSettingDatafixed("pr_dokter_umum_igd"), drKsmUmumList, Master.Departemen.IGD,
getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal), drKsmUmumList, Master.Departemen.IGD,
Arrays.asList(Master.JenisProduk.NONTINDAKAN), Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS),
Master.Produk.KARCIS);
@ -3015,11 +3019,11 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
}
}
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> idsRegDJPPenunjangPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", start);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", start);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", start);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", start);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", start);
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
@ -3027,7 +3031,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
List<Integer> drLabPKList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_KLINIK);
List<Integer> drRadList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_RADIOLOGI);
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", start);
for (Integer idPegawai : listIdPegawai) {
SkorDokterVO skorDokterVO = new SkorDokterVO();

View File

@ -706,23 +706,23 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
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");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
List<Integer> idsDokterPerinatologi = splitDataSettingDatafixed("pr_dokter_perinatologi");
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal);
List<Integer> idsDokterPerinatologi = getNilaiDataFixByTMT("pr_dokter_perinatologi", tglAwal);
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAwal);
List<Integer> idsDokterBPJSffs = splitDataSettingDatafixed("dokterBPJSffs");
List<Integer> idsDokterPediatrikGD = splitDataSettingDatafixed("pr_dokter_pediatrik_gd");
List<Integer> idsMonitoringIntervensi = splitDataSettingDatafixed("idMonitoringIntervensi");
List<Integer> idsMonitoringHemodinamikGagalOrgan = splitDataSettingDatafixed(
"idMonitoringHemodinamikGagalOrgan");
List<Integer> idProdukLabGenetikaLuarRuangan = splitDataSettingDatafixed("idProdukLabGenetikaLuarRuangan");
List<Integer> idProdukKepalaPaketFixedPay = splitDataSettingDatafixed("idProdukKepalaPaketFixedPay");
List<Integer> paketBukanFixedPay = splitDataSettingDatafixed("produkPaketBukanFixedPay");
List<Integer> idsKarcis = splitDataSettingDatafixed("listKarcisIdProduk");
List<Integer> idsDokterPediatrikGD = getNilaiDataFixByTMT("pr_dokter_pediatrik_gd", tglAwal);
List<Integer> idsMonitoringIntervensi = getNilaiDataFixByTMT("idMonitoringIntervensi", tglAwal);
List<Integer> idsMonitoringHemodinamikGagalOrgan = getNilaiDataFixByTMT("idMonitoringHemodinamikGagalOrgan",
tglAwal);
List<Integer> idsLabGenetikaLuarRuangan = getNilaiDataFixByTMT("idProdukLabGenetikaLuarRuangan", tglAwal);
List<Integer> idsKepalaPaketFixedPay = getNilaiDataFixByTMT("idProdukKepalaPaketFixedPay", tglAwal);
List<Integer> paketBukanFixedPay = getNilaiDataFixByTMT("produkPaketBukanFixedPay", tglAwal);
List<Integer> idsKarcis = getNilaiDataFixByTMT("listKarcisIdProduk", tglAwal);
if (drKkPatologiAnatomiList.contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
} else if (pegawaiDao.getDokterByKelompokKerja(KK_PATOLOGI_KLINIK).contains(idPegawai)) {
@ -745,10 +745,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* Pemisahan produk kepala paket untuk fixed pay
*/
List<Map<String, Object>> listKepalaPaketFixedPay = listRatedPay.stream()
.filter(d -> idProdukKepalaPaketFixedPay.contains(Integer.parseInt(d.get("idProduk").toString())))
.filter(d -> idsKepalaPaketFixedPay.contains(Integer.parseInt(d.get("idProduk").toString())))
.collect(Collectors.toList());
listRatedPay = listRatedPay.stream()
.filter(d -> !idProdukKepalaPaketFixedPay.contains(Integer.parseInt(d.get("idProduk").toString())))
.filter(d -> !idsKepalaPaketFixedPay.contains(Integer.parseInt(d.get("idProduk").toString())))
.collect(Collectors.toList());
List<Integer> allPaketId = mapProdukPaketDao.findProdukEntriId();
List<Integer> revisedPaketId = allPaketId.stream().filter(p -> !paketBukanFixedPay.contains(p))
@ -877,7 +877,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, false);
d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkGenetika.contains(idPegawai)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
/*
* A rule for claimed <= Jul 31th 2023
@ -2220,12 +2220,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
/*
* Persiapan filter logic remunerasi
*/
Date tglAwal = DateUtil.startMonth(bulan);
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");
List<Integer> idsLabGenetikaLuarRuangan = getNilaiDataFixByTMT("idProdukLabGenetikaLuarRuangan", tglAwal);
/*
* Set persen jasa dan harga jasa pasien bpjs di ibs, icu
*/
@ -2384,7 +2385,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkGenetika.contains(idPegawai)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
RemunHargaJasa hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d, true);
d.put("persenJasa", persenRemunLabGenetika + "%");
@ -2621,12 +2622,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
/*
* Persiapan filter logic remunerasi
*/
Date tglAwal = DateUtil.startMonth(bulan);
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");
List<Integer> idsLabGenetikaLuarRuangan = getNilaiDataFixByTMT("idProdukLabGenetikaLuarRuangan", tglAwal);
/*
* Mapping persentase jasa remunerasi
*/
@ -2762,7 +2764,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkGenetika.contains(idPegawai)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& idsLabGenetikaLuarRuangan.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 + "%");
@ -2899,12 +2901,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
/*
* Persiapan filter logic remunerasi
*/
Date tglAwal = DateUtil.startMonth(bulan);
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");
List<Integer> idsLabGenetikaLuarRuangan = getNilaiDataFixByTMT("idProdukLabGenetikaLuarRuangan", tglAwal);
/*
* Mapping persentase jasa remunerasi
*/
@ -3045,7 +3048,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkGenetika.contains(idPegawai)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& idsLabGenetikaLuarRuangan.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 + "%");
@ -3274,12 +3277,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
/*
* Persiapan filter logic remunerasi
*/
Date tglAwal = DateUtil.startMonth(bulan);
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");
List<Integer> idsLabGenetikaLuarRuangan = getNilaiDataFixByTMT("idProdukLabGenetikaLuarRuangan", tglAwal);
if (terapisRehabMedik.contains(idPegawai))
return new ArrayList<>();
/*
@ -3417,7 +3421,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkGenetika.contains(idPegawai)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& idsLabGenetikaLuarRuangan.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 + "%");
@ -3616,7 +3620,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
@Override
public List<Map<String, Object>> detailLogbookTarifDokter(Integer idPegawai, List<String> norecs) {
List<Integer> paketBukanFixedPay = splitDataSettingDatafixed("produkPaketBukanFixedPay");
List<Integer> paketBukanFixedPay = getNilaiDataFixByTMT("produkPaketBukanFixedPay", new Date());
List<Map<String, Object>> result = pelayananPasienDao.findPelayananPasienByPetugasAndPelayananPasien(idPegawai,
norecs);
List<String> listIdPelayananPaketBukanFixedPay = result.stream()
@ -3707,8 +3711,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
.collect(Collectors.toList());
List<PelayananPasien> byNorecPelayanan = pelayananPasienDao.findAll(norecPelayanan);
{
Optional<PasienDaftar> pendaftaran = byNorecPelayanan.stream().map(p -> p.getPasienDaftar().getPasienDaftar())
.findFirst();
Optional<PasienDaftar> pendaftaran = byNorecPelayanan.stream()
.map(p -> p.getPasienDaftar().getPasienDaftar()).findFirst();
pendaftaran.ifPresent(p -> {
Integer pasienId = p.getPasien().getId();
String ibuNoCm = p.getPasien().getReportDisplay();

View File

@ -1,35 +1,25 @@
package com.jasamedika.medifirst2000.service.impl;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.text.SimpleDateFormat;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.joda.time.Chronology;
import org.joda.time.chrono.ISOChronology;
import org.joda.time.chrono.IslamicChronology;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.dao.MapPegawaiLaboratRadiologiDao;
import com.jasamedika.medifirst2000.dao.PegawaiDao;
import com.jasamedika.medifirst2000.dao.PendapatanDao;
import com.jasamedika.medifirst2000.service.PendapatanService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.util.DateUtil;
import org.joda.time.Chronology;
import org.joda.time.chrono.ISOChronology;
import org.joda.time.chrono.IslamicChronology;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.text.SimpleDateFormat;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.*;
/**
* @author salmanoe
@ -67,7 +57,7 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat
Double count) {
Map<String, Object> result = new HashMap<>();
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", new Date());
if (listDrAnastesi.contains(idPegawai)) {
if (idsPenunjangBukanAnestesi.contains(idProduk)
&& idJenisPetugasPelaksana.equals(Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA)
@ -111,7 +101,7 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat
Map<String, Object> result = new HashMap<>();
List<Integer> idsKonsultasiDokterJaga = splitDataSettingDatafixed("pr_konsultasi_dokter_jaga");
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", new Date());
if (listDrAnastesi.contains(idPegawai)) {
if (idsPenunjangBukanAnestesi.contains(idProduk)) {
@ -276,11 +266,12 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> idsRegDJPPenunjangPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
Date tglAwal = DateUtil.startMonth(periode);
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
@ -301,9 +292,9 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat
Arrays.asList(Master.KomponenHarga.JASA_MEDIS), Master.JenisPetugasPelaksana.PETUGAS_PELAKSANA,
periode);
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal);
List<Integer> idsKonsultasiDokterJaga = splitDataSettingDatafixed("pr_konsultasi_dokter_jaga");
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAwal);
Double komponenDasar = Double.parseDouble(getSettingDataFixed("ld_komponen_dasar"));
Double persenOperator = Double.parseDouble(getSettingDataFixed("ld_persen_operator"));
Double persenCooperator = Double.parseDouble(getSettingDataFixed("ld_persen_cooperator"));
@ -1386,11 +1377,12 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> idsRegDJPPenunjangPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
Date tglAwal = DateUtil.startMonth(tgl.substring(0, 7));
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
@ -1444,7 +1436,7 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat
}
List<Integer> idsKonsultasiDokterJaga = splitDataSettingDatafixed("pr_konsultasi_dokter_jaga");
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAwal);
// RULES_SK_FFS_2015
if (CommonUtil.isNotNullOrEmpty(rawData)) {
@ -2908,11 +2900,12 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> idsRegDJPPenunjangPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
Date tglAwal = DateUtil.startMonth(periode);
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
@ -2967,7 +2960,7 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat
}
List<Integer> idsKonsultasiDokterJaga = splitDataSettingDatafixed("pr_konsultasi_dokter_jaga");
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAwal);
Double komponenDasar = Double.parseDouble(getSettingDataFixed("ld_komponen_dasar"));
Double persenOperator = Double.parseDouble(getSettingDataFixed("ld_persen_operator"));
Double persenCooperator = Double.parseDouble(getSettingDataFixed("ld_persen_cooperator"));
@ -3994,11 +3987,12 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> idsRegDJPPenunjangPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
Date tglAwal = DateUtil.startMonth(bln);
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
@ -4051,9 +4045,9 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat
}
}
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal);
List<Integer> idsKonsultasiDokterJaga = splitDataSettingDatafixed("pr_konsultasi_dokter_jaga");
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAwal);
// RULES_SK_FFS_2015
if (CommonUtil.isNotNullOrEmpty(rawData)) {
@ -5005,11 +4999,12 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat
Master.JenisPetugasPelaksana.PETUGAS_PELAKSANA, periode);
}
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> idsRegDJPPenunjangPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
Date tglAwal = DateUtil.startMonth(periode);
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
if (drLabPatologiAnatomi.contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
@ -5026,8 +5021,8 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat
listDetailJenisProdukException.removeAll(listDetailJenisProduk);
}
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal);
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAwal);
Double komponenDasar = Double.parseDouble(getSettingDataFixed("ld_komponen_dasar"));
Double persenOperator = Double.parseDouble(getSettingDataFixed("ld_persen_operator"));
Double persenCooperator = Double.parseDouble(getSettingDataFixed("ld_persen_cooperator"));
@ -5806,11 +5801,12 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat
periode);
}
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> idsRegDJPPenunjangPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
Date tglAwal = DateUtil.startMonth(periode);
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
@ -5826,7 +5822,7 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat
listDetailJenisProdukException = idsRegDJPAdminNonPK;
}
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal);
if (CommonUtil.isNotNullOrEmpty(data)) {
if (drParuhWaktu.contains(idPegawai)) {
@ -6726,11 +6722,12 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat
Master.JenisPetugasPelaksana.PETUGAS_PELAKSANA, periode);
}
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> idsRegDJPPenunjangPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
Date tglAwal = DateUtil.startMonth(periode);
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
if (drLabPatologiAnatomi.contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
@ -6747,8 +6744,8 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat
listDetailJenisProdukException.removeAll(listDetailJenisProduk);
}
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal);
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAwal);
Double komponenDasar = Double.parseDouble(getSettingDataFixed("ld_komponen_dasar"));
Double persenOperator = Double.parseDouble(getSettingDataFixed("ld_persen_operator"));
Double persenCooperator = Double.parseDouble(getSettingDataFixed("ld_persen_cooperator"));
@ -7249,11 +7246,12 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat
bln);
}
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> idsRegDJPPenunjangPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
Date tglAwal = DateUtil.startMonth(bln);
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
@ -7270,8 +7268,8 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat
listDetailJenisProdukException.removeAll(listDetailJenisProduk);
}
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal);
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAwal);
// GET_JASA_MEDIS
if (CommonUtil.isNotNullOrEmpty(data)) {
@ -7682,11 +7680,12 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat
Master.JenisPetugasPelaksana.PETUGAS_PELAKSANA, periode);
}
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> idsRegDJPPenunjangPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
Date tglAwal = DateUtil.startMonth(periode);
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
if (drLabPatologiAnatomi.contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
@ -7736,9 +7735,9 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat
}
}
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal);
List<Integer> idsKonsultasiDokterJaga = splitDataSettingDatafixed("pr_konsultasi_dokter_jaga");
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAwal);
Double komponenDasar = Double.parseDouble(getSettingDataFixed("ld_komponen_dasar"));
Double persenOperator = Double.parseDouble(getSettingDataFixed("ld_persen_operator"));
Double persenCooperator = Double.parseDouble(getSettingDataFixed("ld_persen_cooperator"));
@ -8658,11 +8657,12 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat
bln);
}
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> idsRegDJPPenunjangPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
Date tglAwal = DateUtil.startMonth(bln);
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
if (pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PATOLOGI_ANATOMI).contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
@ -8712,9 +8712,9 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat
}
}
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal);
List<Integer> idsKonsultasiDokterJaga = splitDataSettingDatafixed("pr_konsultasi_dokter_jaga");
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAwal);
// RULES_SK_FFS_2015
if (CommonUtil.isNotNullOrEmpty(rawData)) {

View File

@ -1,11 +1,8 @@
package com.jasamedika.medifirst2000.service.impl;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.dao.*;
import com.jasamedika.medifirst2000.dto.EffectiveDateDataFixDTO;
import com.jasamedika.medifirst2000.dto.RemunHargaJasa;
import com.jasamedika.medifirst2000.entities.*;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
@ -16,8 +13,10 @@ import com.jasamedika.medifirst2000.vo.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.lang.reflect.Type;
import java.text.*;
import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
@ -331,26 +330,26 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
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");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd");
List<Integer> idsDokterUmumExclude = splitDataSettingDatafixed("pr_dokter_umum_exclude");
List<Integer> idsDokterPerinatologi = splitDataSettingDatafixed("pr_dokter_perinatologi");
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal);
List<Integer> idsDokterUmumExclude = getNilaiDataFixByTMT("pr_dokter_umum_exclude", tglAwal);
List<Integer> idsDokterPerinatologi = getNilaiDataFixByTMT("pr_dokter_perinatologi", tglAwal);
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAwal);
List<Integer> idsDokterBPJSffs = splitDataSettingDatafixed("dokterBPJSffs");
List<Integer> idsDokterPediatrikGD = splitDataSettingDatafixed("pr_dokter_pediatrik_gd");
List<Integer> idsDokterPediatrikGD = getNilaiDataFixByTMT("pr_dokter_pediatrik_gd", tglAwal);
List<Integer> listIdPegawaiRemunKelompokBudiRahmat = splitDataSettingDatafixed(
"listIdPegawaiRemunKelompokBudiRahmat");
List<Integer> idsMonitoringIntervensi = splitDataSettingDatafixed("idMonitoringIntervensi");
List<Integer> idsMonitoringHemodinamikGagalOrgan = splitDataSettingDatafixed(
"idMonitoringHemodinamikGagalOrgan");
List<Integer> idProdukLabGenetikaLuarRuangan = splitDataSettingDatafixed("idProdukLabGenetikaLuarRuangan");
List<Integer> idProdukKepalaPaketFixedPay = splitDataSettingDatafixed("idProdukKepalaPaketFixedPay");
List<Integer> paketBukanFixedPay = splitDataSettingDatafixed("produkPaketBukanFixedPay");
List<Integer> idsKarcis = splitDataSettingDatafixed("listKarcisIdProduk");
List<Integer> idsMonitoringIntervensi = getNilaiDataFixByTMT("idMonitoringIntervensi", tglAwal);
List<Integer> idsMonitoringHemodinamikGagalOrgan = getNilaiDataFixByTMT("idMonitoringHemodinamikGagalOrgan",
tglAwal);
List<Integer> idsLabGenetikaLuarRuangan = getNilaiDataFixByTMT("idProdukLabGenetikaLuarRuangan", tglAwal);
List<Integer> idsKepalaPaketFixedPay = getNilaiDataFixByTMT("idProdukKepalaPaketFixedPay", tglAwal);
List<Integer> paketBukanFixedPay = getNilaiDataFixByTMT("produkPaketBukanFixedPay", tglAwal);
List<Integer> idsKarcis = getNilaiDataFixByTMT("listKarcisIdProduk", tglAwal);
if (drKkPatologiAnatomiList.contains(idPegawai)) {
listDetailJenisProduk = idsRegDJPPenunjangPA;
} else if (pegawaiDao.getDokterByKelompokKerja(KK_PATOLOGI_KLINIK).contains(idPegawai)) {
@ -373,10 +372,10 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
* Pemisahan produk kepala paket untuk fixed pay
*/
List<Map<String, Object>> listKepalaPaketFixedPay = listRatedPay.stream()
.filter(d -> idProdukKepalaPaketFixedPay.contains(Integer.parseInt(d.get("idProduk").toString())))
.filter(d -> idsKepalaPaketFixedPay.contains(Integer.parseInt(d.get("idProduk").toString())))
.collect(Collectors.toList());
listRatedPay = listRatedPay.stream()
.filter(d -> !idProdukKepalaPaketFixedPay.contains(Integer.parseInt(d.get("idProduk").toString())))
.filter(d -> !idsKepalaPaketFixedPay.contains(Integer.parseInt(d.get("idProduk").toString())))
.collect(Collectors.toList());
List<Integer> allPaketId = mapProdukPaketDao.findProdukEntriId();
List<Integer> revisedPaketId = allPaketId.stream().filter(p -> !paketBukanFixedPay.contains(p))
@ -501,7 +500,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d);
d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkGenetika.contains(idPegawai)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
/*
* A rule for claimed <= Jul 31th 2023
@ -2013,12 +2012,13 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/*
* Persiapan filter logic remunerasi
*/
Date tglAwal = DateUtil.startMonth(bulan);
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");
List<Integer> idsLabGenetikaLuarRuangan = getNilaiDataFixByTMT("idProdukLabGenetikaLuarRuangan", tglAwal);
List<Integer> listIdPegawaiRemunKelompokBudiRahmat = splitDataSettingDatafixed(
"listIdPegawaiRemunKelompokBudiRahmat");
/*
@ -2153,7 +2153,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkGenetika.contains(idPegawai)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
RemunHargaJasa hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d);
d.put("persenJasa", persenRemunLabGenetika + "%");
@ -2390,12 +2390,13 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/*
* Persiapan filter logic remunerasi
*/
Date tglAwal = DateUtil.startMonth(bulan);
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");
List<Integer> idsLabGenetikaLuarRuangan = getNilaiDataFixByTMT("idProdukLabGenetikaLuarRuangan", tglAwal);
/*
* Mapping persentase jasa remunerasi
*/
@ -2512,7 +2513,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkGenetika.contains(idPegawai)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d);
d.put("persenJasa", persenJasaLabGenetika + "%");
@ -2749,12 +2750,13 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/*
* Persiapan filter logic remunerasi
*/
Date tglAwal = DateUtil.startMonth(bulan);
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");
List<Integer> idsLabGenetikaLuarRuangan = getNilaiDataFixByTMT("idProdukLabGenetikaLuarRuangan", tglAwal);
/*
* Mapping persentase jasa remunerasi
*/
@ -2877,7 +2879,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkGenetika.contains(idPegawai)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d);
d.put("persenJasa", persenJasaLabGenetika + "%");
@ -3008,12 +3010,13 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/*
* Persiapan filter logic remunerasi
*/
Date tglAwal = DateUtil.startMonth(bulan);
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");
List<Integer> idsLabGenetikaLuarRuangan = getNilaiDataFixByTMT("idProdukLabGenetikaLuarRuangan", tglAwal);
if (terapisRehabMedik.contains(idPegawai))
return new ArrayList<>();
/*
@ -3133,7 +3136,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkGenetika.contains(idPegawai)
&& idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
RemunHargaJasa hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d);
d.put("persenJasa", persenJasaLabGenetika + "%");
@ -3236,7 +3239,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
@Override
public List<Map<String, Object>> detailLogbookTarifDokter(Integer idPegawai, List<String> norecs) {
List<Integer> paketBukanFixedPay = splitDataSettingDatafixed("produkPaketBukanFixedPay");
List<Integer> paketBukanFixedPay = getNilaiDataFixByTMT("produkPaketBukanFixedPay", new Date());
List<Map<String, Object>> result = pelayananPasienDao.findPelayananPasienByPetugasAndPelayananPasien(idPegawai,
norecs);
List<String> listIdPelayananPaketBukanFixedPay = result.stream()
@ -3433,22 +3436,4 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
return builder.build();
}
private List<Integer> getNilaiDataFixByTMT(String namaField) {
List<Integer> result = new ArrayList<>();
Gson gson = new Gson();
Type effectiveDateDataFixType = new TypeToken<List<EffectiveDateDataFixDTO>>() {
}.getType();
String jsonProdukDokterUmum = getSettingDataFixed(namaField);
List<EffectiveDateDataFixDTO> dataFixDTOList = gson.fromJson(jsonProdukDokterUmum, effectiveDateDataFixType);
Optional<EffectiveDateDataFixDTO> first = dataFixDTOList.stream()
.sorted(Comparator.comparing(EffectiveDateDataFixDTO::getTmt, Comparator.reverseOrder()))
.filter(dto -> dto.getTmt() <= new Date().getTime()).findFirst();
if (first.isPresent()) {
String[] split = first.get().getNilaiField().split(",");
for (String s : split)
result.add(Integer.valueOf(s));
}
return result;
}
}

View File

@ -1,54 +1,29 @@
package com.jasamedika.medifirst2000.service.impl;
import java.text.DateFormat;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.orm.jpa.JpaSystemException;
import org.springframework.stereotype.Service;
import com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.dao.HargaNettoProdukByKelasDao;
import com.jasamedika.medifirst2000.dao.LoggingUserDao;
import com.jasamedika.medifirst2000.dao.MapPegawaiJabatanToUnitKerjaDao;
import com.jasamedika.medifirst2000.dao.MapProdukKelompokKerjaDao;
import com.jasamedika.medifirst2000.dao.MapRuanganToProdukDao;
import com.jasamedika.medifirst2000.dao.PelayananPasienPetugasDao;
import com.jasamedika.medifirst2000.dao.ProdukDao;
import com.jasamedika.medifirst2000.dao.SettingDataFixedDao;
import com.jasamedika.medifirst2000.dao.SkoringTindakanMedisDao;
import com.jasamedika.medifirst2000.dao.SubUnitKerjaDao;
import com.jasamedika.medifirst2000.entities.LoggingUser;
import com.jasamedika.medifirst2000.entities.LoginUser;
import com.jasamedika.medifirst2000.entities.Produk;
import com.jasamedika.medifirst2000.entities.SkoringTindakanMedis;
import com.jasamedika.medifirst2000.entities.SubUnitKerjaPegawai;
import com.jasamedika.medifirst2000.dao.*;
import com.jasamedika.medifirst2000.entities.*;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.SkoringTindakanMedisService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.vo.ProdukVO;
import com.jasamedika.medifirst2000.vo.SkoringTindakanMedisVO;
import com.jasamedika.medifirst2000.vo.SubUnitKerjaPegawaiVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.orm.jpa.JpaSystemException;
import org.springframework.stereotype.Service;
import java.text.DateFormat;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.*;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.stream.Collectors;
@Service("skoringTindakanMedisService")
public class SkoringTindakanMedisServiceImpl extends BaseVoServiceImpl implements SkoringTindakanMedisService {
@ -590,11 +565,12 @@ public class SkoringTindakanMedisServiceImpl extends BaseVoServiceImpl implement
public List<Map<String, Object>> findTindakanLogbookSkor(String namaProduk) {
List<Map<String, Object>> result = new ArrayList<>();
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
List<Integer> idsRegDJPPenunjangPA = splitDataSettingDatafixed("penunjang_pa");
List<Integer> idsRegDJPPenunjangPK = splitDataSettingDatafixed("penunjang_pk");
List<Integer> idsRegDJPPenunjangRad = splitDataSettingDatafixed("penunjang_radiologi");
Date date = new Date();
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", date);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", date);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", date);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", date);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", date);
List<Integer> idsRegDJPPenunjangLab = splitDataSettingDatafixed("penunjang_laboratorium");
List<Integer> tempList = new ArrayList<>();