Merge branch 'dev/base' into dev/etl/pasien

This commit is contained in:
Salman Manoe 2024-05-13 14:38:14 +07:00
commit 45f9da873a
19 changed files with 926 additions and 320 deletions

View File

@ -9,8 +9,6 @@ public final class Master {
public static final short KODE_PROFILE = 0;
public static final String KONSUL = "konsul";
public static final String[] KONSUL_VISIT = { "konsul", "visit" };
public static final Double MENIT_KERJA_HARIAN = 7.5 * 60.0;
public static final Double MENIT_KERJA_RAMADHAN = 6.0 * 60.0;
public static final boolean STATUS_ENABLE_FALSE = false;
public static final boolean STATUS_ENABLE_TRUE = true;
public static final String TIDAK_ADA_PERUBAHAN_DATA = "Tidak Ada Perubahan Data!";
@ -111,7 +109,6 @@ public final class Master {
public static final class JenisAlamat {
public static final Integer DOMISILI = 4;
public static final Integer IDENTITAS = 3;
public static final Integer KANTOR = 2;
public static final Integer RUMAH = 1;
}
@ -153,7 +150,6 @@ public final class Master {
public static final Integer[] PARUH_WAKTU = { 12, 19 };
public static final Integer PESERTA_DIDIK = 17;
public static final Integer PNS = 1;
public static final Integer[] PURNA_WAKTU = { 1, 2, 10, 14, 21 };
public static final Integer[] REMUN = { 1, 10, 14, 21 };
}
@ -214,14 +210,12 @@ public final class Master {
public static final Integer POTONGAN_OBAT = 16;
public static final Integer POTONGAN_PPH = 8;
public static final Integer POTONGAN_PPH_REMUNERASI = 36;
public static final Integer POTONGAN_PPH_REMUNERASI_OPERASIONAL = 37;
public static final Integer POTONGAN_RAWAT_INAP = 17;
public static final Integer POTONGAN_RAWAT_JALAN = 18;
public static final Integer POTONGAN_UANG_MAKAN = 12;
public static final Integer POTONGAN_PFK = 31;
public static final Integer REMUNERASI_KINERJA = 2;
public static final Integer REMUNERASI_MANAJERIAL = 44;
public static final Integer REMUNERASI_OPERASIONAL = 3;
public static final Integer REMUNERASI_TAMBAHAN_DIKLITJAR = 22;
public static final Integer REMUNERASI_TAMBAHAN_LAIN = 23;
public static final Integer SEWA_RUMAH = 32;
@ -248,6 +242,7 @@ public final class Master {
public static final Integer[] JASA_SARANA = { 6, 38 };
public static final Integer SPOG_ASISTEN = 206;
public static final Integer SPOG_OPERATOR = 201;
public static final Integer TOTAL_TARIF = 210;
}
public static final class KomponenIndex {

View File

@ -0,0 +1,12 @@
package com.jasamedika.medifirst2000.dao;
import com.jasamedika.medifirst2000.entities.JumlahDiskonDokter;
import org.springframework.data.jpa.repository.JpaRepository;
/**
* @author salmanoe
* @version 1.0.0
* @since 07/02/2024
*/
public interface JumlahDiskonDokterDao extends JpaRepository<JumlahDiskonDokter, Long> {
}

View File

@ -204,12 +204,33 @@ public interface PelayananPasienDao extends JpaRepository<PelayananPasien, Strin
+ "pp.sayatanId as idSayatan,sy.urutan as urutanSayatan,"
+ "coalesce(sy.persen,0) as persenSayatan,coalesce(sy.nama,'') as keterangan,"
+ "apd.noRec as idAntrianPasienDiperiksa,apd.pegawaiId as idDPJP," + "apd.ruanganId as idRuangan,"
+ "case when lower(ru.namaRuangan) like '%eksekutif%' then 'Eksekutif' else 'Reguler' end as jenisRuangan,"
+ "case when ru.unitKerjaId in (97,98,99) then 'Eksekutif' else 'Reguler' end as jenisRuangan,"
+ "ru.departemenId as idDepartemen," + "pd.noRec as idPasienDaftar,pd.pasienId as pasienId,"
+ "sum(case when ppd.komponenHargaId = 210 then ppd.hargaJual else 0.0 end) as komponenTotalTarif,"
+ "sum(case when ppp.ObjectJenisPetugasPeId = 4 and ppd.komponenHargaId = 35 then ppd.hargaJual else 0.0 end) as hargaJasaD,"
+ "sum(case when ppp.ObjectJenisPetugasPeId = 13 and ppd.komponenHargaId = 22 then ppd.hargaJual else 0.0 end) as hargaJasaAs,"
+ "sum(case when ppp.ObjectJenisPetugasPeId = 6 and ppd.komponenHargaId = 21 then ppd.hargaJual else 0.0 end) as hargaJasaAn,"
+ "sum(case when ppd.komponenHargaId = 35 then ppd.hargaDiscount else 0.0 end) as totalDiskon) "
+ "sum(case when ppp.ObjectJenisPetugasPeId = 4 and ppd.komponenHargaId = 35 then ppd.hargaDiscount else 0.0 end) as diskonD,"
+ "sum(case when ppp.ObjectJenisPetugasPeId = 4 and ppd.komponenHargaId = 35 then ppd.persenDiskon else 0.0 end) as persenDiskonD,"
+ "sum(case when ppp.ObjectJenisPetugasPeId = 4 and ppd.komponenHargaId = 35 then ppd.persenDiskonSayatan else 0.0 end) as persenDiskonSayatanD,"
+ "sum(case when ppp.ObjectJenisPetugasPeId = 13 and ppd.komponenHargaId = 22 then ppd.hargaDiscount else 0.0 end) as diskonAs,"
+ "sum(case when ppp.ObjectJenisPetugasPeId = 13 and ppd.komponenHargaId = 22 then ppd.persenDiskon else 0.0 end) as persenDiskonAs,"
+ "sum(case when ppp.ObjectJenisPetugasPeId = 13 and ppd.komponenHargaId = 22 then ppd.persenDiskonSayatan else 0.0 end) as persenDiskonSayatanAs,"
+ "sum(case when ppp.ObjectJenisPetugasPeId = 6 and ppd.komponenHargaId = 21 then ppd.hargaDiscount else 0.0 end) as diskonAn,"
+ "sum(case when ppp.ObjectJenisPetugasPeId = 6 and ppd.komponenHargaId = 21 then ppd.persenDiskon else 0.0 end) as persenDiskonAn,"
+ "sum(case when ppp.ObjectJenisPetugasPeId = 6 and ppd.komponenHargaId = 21 then ppd.persenDiskonSayatan else 0.0 end) as persenDiskonSayatanAn,"
+ "sum(case when ppd.komponenHargaId = 35 then ppd.hargaDiscount else 0.0 end) as totalDiskonD,"
+ "sum(case when ppd.komponenHargaId = 35 then ppd.hargaJual else 0.0 end) as totalHargaD,"
+ "sum(case when ppd.komponenHargaId = 35 then ppd.persenDiskon else 0.0 end) as totalPersenDiskonD,"
+ "sum(case when ppd.komponenHargaId = 35 then ppd.persenDiskonSayatan else 0.0 end) as totalPersenDiskonSayatanD,"
+ "sum(case when ppd.komponenHargaId = 22 then ppd.hargaDiscount else 0.0 end) as totalDiskonAs,"
+ "sum(case when ppd.komponenHargaId = 22 then ppd.hargaJual else 0.0 end) as totalHargaAs,"
+ "sum(case when ppd.komponenHargaId = 22 then ppd.persenDiskon else 0.0 end) as totalPersenDiskonAs,"
+ "sum(case when ppd.komponenHargaId = 22 then ppd.persenDiskonSayatan else 0.0 end) as totalPersenDiskonSayatanAs,"
+ "sum(case when ppd.komponenHargaId = 21 then ppd.hargaDiscount else 0.0 end) as totalDiskonAn,"
+ "sum(case when ppd.komponenHargaId = 21 then ppd.hargaJual else 0.0 end) as totalHargaAn,"
+ "sum(case when ppd.komponenHargaId = 21 then ppd.persenDiskon else 0.0 end) as totalPersenDiskonAn,"
+ "sum(case when ppd.komponenHargaId = 21 then ppd.persenDiskonSayatan else 0.0 end) as totalPersenDiskonSayatanAn) "
+ "from PelayananPasienDetail ppd, PelayananPasienPetugas ppp " + "inner join ppp.pelayananPasien pp "
+ "inner join pp.pasienDaftar apd " + "inner join apd.pasienDaftar pd " + "left join pp.produk pr "
+ "left join pp.kelas kls " + "left join pd.kelompokPasien kp " + "left join apd.ruangan ru "
@ -236,7 +257,7 @@ public interface PelayananPasienDao extends JpaRepository<PelayananPasien, Strin
+ "pp.noRec,coalesce(pp.hargaJual,0),coalesce(pp.jumlah,0)," + "coalesce(pp.isPaket,false),"
+ "pp.tglPelayanan,to_char(pp.tglPelayanan,'yyyy-MM-dd')," + "pp.sayatanId,sy.urutan,"
+ "coalesce(sy.persen,0),coalesce(sy.nama,'')," + "apd.noRec,apd.pegawaiId," + "apd.ruanganId,"
+ "case when lower(ru.namaRuangan) like '%eksekutif%' then 'Eksekutif' else 'Reguler' end,"
+ "case when ru.unitKerjaId in (97,98,99) then 'Eksekutif' else 'Reguler' end,"
+ "ru.departemenId," + "pd.noRec ";
String ORDER_LOGBOOK_DOKTER = "order by case when pd.kelompokPasienId = 2 then 1 "
@ -254,17 +275,17 @@ public interface PelayananPasienDao extends JpaRepository<PelayananPasien, Strin
List<Map<String, Object>> findPelayananPasienByPetugasAndTanggal(@Param("pegawaiId") Integer idPegawai,
@Param("tglAwal") Date tglAwal, @Param("tglAkhir") Date tglAkhir);
@Query("select new Map(jp.jenisPetugasPe as jenisPelaksana," + "pr.namaProduk as namaProduk,"
+ "coalesce(pp.hargaJual,0) as hargaJual," + "coalesce(pp.hargaDiscount,0) as diskon,"
+ "coalesce(pp.jumlah,0) as jumlah," + "kp.kelompokPasien as kelompokPasien,"
+ "kls.namaKelas as namaKelas," + "to_char(pp.tglPelayanan,'yyyy-MM-dd HH24:MI:ss') as tanggal,"
+ "ru.namaRuangan as namaRuangan," + "ps.namaPasien as namaPasien,ps.noCm as noCm,"
+ "pd.noRegistrasi as noRegistrasi) " + "from PelayananPasienPetugas ppp "
+ "inner join ppp.pelayananPasien pp " + "inner join ppp.kdjenispetugaspe jp "
+ "inner join pp.pasienDaftar apd " + "inner join apd.pasienDaftar pd " + "left join pp.produk pr "
+ "left join pp.kelas kls " + "left join pd.kelompokPasien kp " + "left join pd.pasien ps "
+ "left join apd.ruangan ru " + "left join pr.detailJenisProduk djp "
+ "where (ppp.statusEnabled is true or ppp.statusEnabled is null) "
@Query("select new Map(jp.jenisPetugasPe as jenisPelaksana," + "pr.id as idProduk, pr.namaProduk as namaProduk,"
+ "pp.noRec as idPelayanan," + "coalesce(pp.hargaJual,0) as hargaJual,"
+ "coalesce(pp.hargaDiscount,0) as diskon," + "coalesce(pp.jumlah,0) as jumlah,"
+ "kp.kelompokPasien as kelompokPasien," + "kls.namaKelas as namaKelas,"
+ "to_char(pp.tglPelayanan,'yyyy-MM-dd HH24:MI:ss') as tanggal," + "ru.namaRuangan as namaRuangan,"
+ "ps.namaPasien as namaPasien,ps.noCm as noCm," + "pd.noRegistrasi as noRegistrasi) "
+ "from PelayananPasienPetugas ppp " + "inner join ppp.pelayananPasien pp "
+ "inner join ppp.kdjenispetugaspe jp " + "inner join pp.pasienDaftar apd "
+ "inner join apd.pasienDaftar pd " + "left join pp.produk pr " + "left join pp.kelas kls "
+ "left join pd.kelompokPasien kp " + "left join pd.pasien ps " + "left join apd.ruangan ru "
+ "left join pr.detailJenisProduk djp " + "where (ppp.statusEnabled is true or ppp.statusEnabled is null) "
+ "and (pp.statusEnabled is true or pp.statusEnabled is null) "
+ "and (pd.statusEnabled is true or pd.statusEnabled is null) " + "and ppp.ObjectPegawaiId = :pegawaiId "
+ "and ppp.noRec in (:norecs) "

View File

@ -1,10 +1,9 @@
package com.jasamedika.medifirst2000.dao;
import com.jasamedika.medifirst2000.entities.PelayananPasienDetail;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@ -13,12 +12,16 @@ import java.util.List;
*
* @author Generator
*/
@Repository("PelayananPasienDetailDao")
public interface PelayananPasienDetailDao extends PagingAndSortingRepository<PelayananPasienDetail, String> {
public interface PelayananPasienDetailDao extends JpaRepository<PelayananPasienDetail, String> {
@Query("select model from PelayananPasienDetail model left join model.pelayananPasien a where a.noRec=:noRec")
List<PelayananPasienDetail> findByPelayananPasien(@Param("noRec") String noRec);
@Query("select sum(ppd.hargaDiscount) " + "from PelayananPasienDetail ppd "
+ "where ppd.pelayananPasienId = :noRec " + "and ppd.komponenHargaId = 35")
Double totalDiskonJasamedis(@Param("noRec") String noRec);
@Query("select ppd " + "from PelayananPasienDetail ppd " + "where ppd.pelayananPasienId in (:listIdPelayanan) "
+ "and ppd.komponenHargaId = :idKomponenHarga")
List<PelayananPasienDetail> findByPelayananAndKomponenHarga(@Param("listIdPelayanan") List<String> listIdPelayanan,
@Param("idKomponenHarga") Integer idKomponenHarga);
}

View File

@ -0,0 +1,15 @@
package com.jasamedika.medifirst2000.service;
import com.jasamedika.medifirst2000.dto.JumlahDiskonDokterDto;
import java.util.List;
/**
* @author salmanoe
* @version 1.0.0
* @since 07/02/2024
*/
public interface JumlahDiskonDokterService {
void save(List<JumlahDiskonDokterDto> dtos);
}

View File

@ -14,69 +14,69 @@ import com.jasamedika.medifirst2000.vo.SkorDokterVO;
public interface LogbookKinerjaService extends BaseVoService<LogbookKinerja, LogbookKinerjaVO, String> {
public LogbookKinerjaVO verify(LogbookKinerjaVO vo) throws JpaSystemException, ServiceVOException;
LogbookKinerjaVO verify(LogbookKinerjaVO vo) throws JpaSystemException, ServiceVOException;
public LogbookKinerjaVO addPengajuanKontrakKinerja(LogbookKinerjaVO vo)
LogbookKinerjaVO addPengajuanKontrakKinerja(LogbookKinerjaVO vo)
throws JpaSystemException, ServiceVOException;
public LogbookKinerjaVO updatePengajuanKontrakKinerja(LogbookKinerjaVO vo)
LogbookKinerjaVO updatePengajuanKontrakKinerja(LogbookKinerjaVO vo)
throws JpaSystemException, ServiceVOException;
public List<Map<String, Object>> findPengajuanKontrakKinerja(Integer idPegawai, Integer idJabatan)
List<Map<String, Object>> findPengajuanKontrakKinerja(Integer idPegawai, Integer idJabatan)
throws JpaSystemException;
public List<Map<String, Object>> findDupKontrakKinerja(Integer idPegawai, Integer idJabatan, Long bulan,
Integer idIndikator) throws JpaSystemException;
List<Map<String, Object>> findDupKontrakKinerja(Integer idPegawai, Integer idJabatan, Long bulan,
Integer idIndikator) throws JpaSystemException;
public Map<String, Object> findKontrakKinerja(Integer idPegawai, Integer idJabatan, Long bulan)
Map<String, Object> findKontrakKinerja(Integer idPegawai, Integer idJabatan, Long bulan)
throws JpaSystemException;
public List<Map<String, Object>> findKontrakKinerja(Integer idIndikator) throws JpaSystemException;
List<Map<String, Object>> findKontrakKinerja(Integer idIndikator) throws JpaSystemException;
public Map<String, Object> findLogbookKinerja(Integer idPegawai, Integer idJabatan, Long bulan)
Map<String, Object> findLogbookKinerja(Integer idPegawai, Integer idJabatan, Long bulan)
throws JpaSystemException;
public List<Map<String, Object>> findAksesPegawai(Integer idPegawai, List<Integer> listIdKelompokJabatan);
List<Map<String, Object>> findAksesPegawai(Integer idPegawai, List<Integer> listIdKelompokJabatan);
public List<Map<String, Object>> findLogbookJamKerjaDokter(Integer idPegawai, Long bulan);
List<Map<String, Object>> findLogbookJamKerjaDokter(Integer idPegawai, Long bulan);
public List<Map<String, Object>> findLogbookLuarJamKerjaDokter(Integer idPegawai, Long bulan);
List<Map<String, Object>> findLogbookLuarJamKerjaDokter(Integer idPegawai, Long bulan);
public List<Map<String, Object>> findDetailLogbookJamKerjaDokter(Integer idPegawai, Integer idIndikator,
Integer idProduk, String tglPelayanan, Integer idJenisPetugas, Double skor);
List<Map<String, Object>> findDetailLogbookJamKerjaDokter(Integer idPegawai, Integer idIndikator,
Integer idProduk, String tglPelayanan, Integer idJenisPetugas, Double skor);
public List<Map<String, Object>> findDetailLogbookLuarJamKerjaDokter(Integer idPegawai, Integer idIndikator,
Integer idProduk, String tglPelayanan, Integer idJenisPetugas, Double skor);
List<Map<String, Object>> findDetailLogbookLuarJamKerjaDokter(Integer idPegawai, Integer idIndikator,
Integer idProduk, String tglPelayanan, Integer idJenisPetugas, Double skor);
public Map<String, Object> findPenilaianKinerja(Integer idPegawai, Integer idJabatan, Long bulan)
Map<String, Object> findPenilaianKinerja(Integer idPegawai, Integer idJabatan, Long bulan)
throws JpaSystemException;
public List<Map<String, Object>> findRekapPenilaianKinerja(Long bulan, Integer idUnitKerja, Integer idSubunitKerja,
Integer idPegawai) throws JpaSystemException;
List<Map<String, Object>> findRekapPenilaianKinerja(Long bulan, Integer idUnitKerja, Integer idSubunitKerja,
Integer idPegawai) throws JpaSystemException;
public void autoVerifKontrakJamKerjaDokter(Date bulan);
void autoVerifKontrakJamKerjaDokter(Date bulan);
public void autoVerifLogbookJamKerjaDokter(Date bulan);
void autoVerifLogbookJamKerjaDokter(Date bulan);
public List<SkorDokterVO> hitungTargetSkorLogbookDokter(String bulanAwal, String bulanAkhir) throws ParseException;
List<SkorDokterVO> hitungTargetSkorLogbookDokter(String bulanAwal, String bulanAkhir) throws ParseException;
public List<Double> findBobotJenisJabatan(Long periode, Integer idJabatan);
List<Double> findBobotJenisJabatan(Long periode, Integer idJabatan);
public List<Map<String, Object>> findJabatanKontrakVerifKinerja(Integer idPegawai, Integer idPegawaiLogin);
List<Map<String, Object>> findJabatanKontrakVerifKinerja(Integer idPegawai, Integer idPegawaiLogin);
public List<Map<String, Object>> findLogbookPerawat(Integer idPegawai, Long bulan);
List<Map<String, Object>> findLogbookPerawat(Integer idPegawai, Long bulan);
public List<Map<String, Object>> findDetailLogbookPerawat(Integer idPegawai, Integer idProduk, String tglPelayanan);
List<Map<String, Object>> findDetailLogbookPerawat(Integer idPegawai, Integer idProduk, String tglPelayanan);
public List<Map<String, Object>> findLogbookNakes(Integer idPegawai, Long bulan);
List<Map<String, Object>> findLogbookNakes(Integer idPegawai, Long bulan);
public List<Map<String, Object>> findDetailLogbookNakes(Integer idPegawai, Integer idProduk, String tglPelayanan);
List<Map<String, Object>> findDetailLogbookNakes(Integer idPegawai, Integer idProduk, String tglPelayanan);
public List<Map<String, Object>> findLogbookFarmakologi(Integer idPegawai, Long bulan);
List<Map<String, Object>> findLogbookFarmakologi(Integer idPegawai, Long bulan);
public List<Map<String, Object>> findDetailLogbookFarmakologi(Integer idPegawai, Integer idProduk,
String tglPelayanan);
List<Map<String, Object>> findDetailLogbookFarmakologi(Integer idPegawai, Integer idProduk,
String tglPelayanan);
public List<Map<String, Object>> findJabatanByLogbookPegawai(Integer idPegawai, Long bulan);
List<Map<String, Object>> findJabatanByLogbookPegawai(Integer idPegawai, Long bulan);
}

View File

@ -0,0 +1,35 @@
package com.jasamedika.medifirst2000.service.impl;
import com.jasamedika.medifirst2000.dao.JumlahDiskonDokterDao;
import com.jasamedika.medifirst2000.dto.JumlahDiskonDokterDto;
import com.jasamedika.medifirst2000.entities.JumlahDiskonDokter;
import com.jasamedika.medifirst2000.service.JumlahDiskonDokterService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
* @author salmanoe
* @version 1.0.0
* @since 07/02/2024
*/
@Service
@Transactional
public class JumlahDiskonDokterServiceImpl implements JumlahDiskonDokterService {
@Autowired
private JumlahDiskonDokterDao jumlahDiskonDokterDao;
@Override
public void save(List<JumlahDiskonDokterDto> dtos) {
List<JumlahDiskonDokter> entities = new ArrayList<>();
dtos.forEach(
dto -> entities.add(JumlahDiskonDokter.builder().persenDiskon(new BigDecimal(dto.getPersenDiskon()))
.statusEnabled(dto.getStatusEnabled()).kdProfile((short) 0).build()));
jumlahDiskonDokterDao.save(entities);
}
}

View File

@ -216,7 +216,7 @@ public class LogbookKinerjaDetailServiceImpl extends BaseVoServiceImpl implement
@Override
public List<Map<String, Object>> findAksesPegawai(Integer idPegawai) throws JpaSystemException {
List<Map<String, Object>> result = logbookKinerjaDao.findAksesPegawaiByAtasan(idPegawai,
Arrays.asList(Master.KategoryPegawai.PURNA_WAKTU));
splitDataSettingDatafixed("kategoriPegawaiAksesAplikasiRemun"));
if (CommonUtil.isNotNullOrEmpty(result)) {
result.sort(Comparator.comparing(m -> (String) m.get("namaLengkap"), String.CASE_INSENSITIVE_ORDER));

View File

@ -152,6 +152,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
public LogbookKinerjaVO update(LogbookKinerjaVO vo) throws JpaSystemException, ServiceVOException {
DateFormat mf = new SimpleDateFormat("yyyy-MM");
double menitKerjaHarian = Double.parseDouble(GetSettingDataFixed("menitKerjaHarian"));
LogbookKinerja logbookKinerjaLama = logbookKinerjaDao.findOne(vo.getNoRec());
Pegawai pegawai = pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai());
@ -165,7 +166,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
logbookKinerjaBaru.setIndikatorKinerja(indikatorKinerja);
if (vo.getIndikatorKinerja().getId().equals(Master.IndikatorKinerja.PEMENUHAN_JAM_KERJA)) {
Integer targetHariKerja = hitungTargetHariKerja(vo.getBulan());
Double targetJamKerja = targetHariKerja.doubleValue() * Master.MENIT_KERJA_HARIAN;
Double targetJamKerja = targetHariKerja.doubleValue() * menitKerjaHarian;
logbookKinerjaBaru.setTarget(targetJamKerja);
}
@ -210,9 +211,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
}
} else {
List<Map<String, Object>> existedWorkingRecord = findUsedWorkingRecordByKontrak(vo.getNoRec());
if (existedWorkingRecord.size() > 0 && !vo.getStatusVerifikasi() && vo.getStatusEnabled()) {
if (!existedWorkingRecord.isEmpty() && !vo.getStatusVerifikasi() && vo.getStatusEnabled()) {
resultVO.setResponseMessage("Catatan kegiatan kinerja sudah diisi, tidak dapat batal verifikasi!");
} else if (existedWorkingRecord.size() > 0 && !vo.getStatusVerifikasi() && !vo.getStatusEnabled()) {
} else if (!existedWorkingRecord.isEmpty() && !vo.getStatusVerifikasi() && !vo.getStatusEnabled()) {
resultVO.setResponseMessage("Catatan kegiatan kinerja sudah diisi, tidak dapat hapus kontrak!");
} else {
LogbookKinerja resultModel = logbookKinerjaDao.save(logbookKinerjaBaru);
@ -408,6 +409,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
Date start = DateUtil.startMonth(bulan);
Date end = DateUtil.endMonth(bulan);
double menitKerjaHarian = Double.parseDouble(GetSettingDataFixed("menitKerjaHarian"));
double menitKerjaRamadhan = Double.parseDouble(GetSettingDataFixed("menitKerjaRamadhan"));
List<Kalender> targetPresensi = kalenderDao.getTargetKerja(start, end);
int jumlahHariKerjaHarian = 0;
int jumlahHariKerjaRamadhan = 0;
@ -420,8 +423,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
}
}
result += (double) jumlahHariKerjaHarian * Master.MENIT_KERJA_HARIAN;
result += (double) jumlahHariKerjaRamadhan * Master.MENIT_KERJA_RAMADHAN;
result += (double) jumlahHariKerjaHarian * menitKerjaHarian;
result += (double) jumlahHariKerjaRamadhan * menitKerjaRamadhan;
return result;
}
@ -460,7 +463,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
}
for (Map<String, Object> map : listMap) {
if (!listIdIndikator.contains(map.get("indikatorId"))) {
if (CommonUtil.isNotNullOrEmpty(map.get("indikatorId"))
&& !listIdIndikator.contains(Integer.parseInt(map.get("indikatorId").toString()))) {
listIdIndikator.add(Integer.valueOf(map.get("indikatorId").toString()));
// Komponen target kuantitas indikator pelayanan medis
@ -524,7 +528,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
}
}
for (Map<String, Object> map : data) {
if (!listIdIndikator.contains(map.get("indikatorId"))) {
if (CommonUtil.isNotNullOrEmpty(map.get("indikatorId"))
&& !listIdIndikator.contains(Integer.parseInt(map.get("indikatorId").toString()))) {
listIdIndikator.add(Integer.valueOf(map.get("indikatorId").toString()));
listRes.add(map);
}
@ -601,7 +606,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
Map<String, Object> result = new HashMap<>();
List<Map<String, Object>> data = anggaranRemunerasiDao.findAnggaran(idPegawai, idJabatan, tahun);
if (CommonUtil.isNotNullOrEmpty(data) && data.size() > 0) {
if (CommonUtil.isNotNullOrEmpty(data) && !data.isEmpty()) {
result = data.get(0);
}
@ -657,7 +662,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
mf.format(new Date(bulan)));
Map<String, Object> anggaran = findAnggaranRemunerasi(idPegawai, idJab, yf.format(new Date(bulan)));
if (CommonUtil.isNotNullOrEmpty(rs) && rs.size() > 0) {
if (CommonUtil.isNotNullOrEmpty(rs) && !rs.isEmpty()) {
nilaiJabatan = Double.parseDouble(rs.get(0).get("nilaiJabatan").toString());
idKelompokJabatan = Integer.parseInt(rs.get(0).get("kelompokJabatanId").toString());
}
@ -877,7 +882,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
List<Map<String, Object>> aksesByAtasan;
List<Map<String, Object>> aksesByPenilai;
List<Integer> listPurnaWaktu = Arrays.asList(Master.KategoryPegawai.PURNA_WAKTU);
List<Integer> listPurnaWaktu = splitDataSettingDatafixed("kategoriPegawaiAksesAplikasiRemun");
List<Integer> listIdSDM = pegawaiDao.getPegawaiSDMforCred(Master.UnitKerja.BAG_SDM);
if (listIdSDM.contains(idPegawai)) {
@ -904,7 +909,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
if (CommonUtil.isNotNullOrEmpty(aksesByStaf) && CommonUtil.isNullOrEmpty(rsAll)) {
for (Map<String, Object> map : aksesByStaf) {
map.put("isGranted", false);
if (!listIdPegawai.contains(map.get("id"))) {
if (CommonUtil.isNotNullOrEmpty(map.get("id"))
&& !listIdPegawai.contains(Integer.parseInt(map.get("id").toString()))) {
listIdPegawai.add(Integer.parseInt(map.get("id").toString()));
result.add(map);
}
@ -914,7 +920,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
if (CommonUtil.isNullOrEmpty(rsAll)) {
for (Map<String, Object> map : aksesByAtasan) {
map.put("isGranted", true);
if (!listIdPegawai.contains(map.get("id"))) {
if (CommonUtil.isNotNullOrEmpty(map.get("id"))
&& !listIdPegawai.contains(Integer.parseInt(map.get("id").toString()))) {
listIdPegawai.add(Integer.parseInt(map.get("id").toString()));
result.add(map);
}
@ -933,7 +940,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
if (CommonUtil.isNotNullOrEmpty(aksesByPenilai) && CommonUtil.isNullOrEmpty(rsAll)) {
for (Map<String, Object> map : aksesByPenilai) {
map.put("isGranted", false);
if (!listIdPegawai.contains(map.get("id"))) {
if (CommonUtil.isNotNullOrEmpty(map.get("id"))
&& !listIdPegawai.contains(Integer.parseInt(map.get("id").toString()))) {
listIdPegawai.add(Integer.parseInt(map.get("id").toString()));
result.add(map);
}
@ -1130,8 +1138,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
// SCORE
for (Map<String, Object> mapLayanan : dataLayanan) {
for (Map<String, Object> mapSkor : dataSkor) {
if (!listIdPelayananAnestesi.contains(mapLayanan.get("noRec")) && !mapLayanan.containsKey("skor")
&& mapLayanan.get("produkId").equals(mapSkor.get("produkId"))
if (CommonUtil.isNotNullOrEmpty(mapLayanan.get("noRec"))
&& !listIdPelayananAnestesi.contains(mapLayanan.get("noRec").toString())
&& !mapLayanan.containsKey("skor") && mapLayanan.get("produkId").equals(mapSkor.get("produkId"))
&& (((Date) mapLayanan.get("tglPelayanan")).after((Date) mapSkor.get("tglMulaiBerlaku"))
|| mapLayanan.get("tglPelayanan").equals(mapSkor.get("tglMulaiBerlaku")))) {
mapLayanan.put("skor", mapSkor.get("skor"));
@ -1155,7 +1164,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
mapLayanan.put("tSkor", 0.000);
} else if (!mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL)
&& !mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.VISIT)
&& listRuangEks.contains(mapLayanan.get("ruanganId"))) {
&& CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId"))
&& listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))) {
mapLayanan.put("skor",
Double.parseDouble(decf.format(Double.parseDouble(mapLayanan.get("skor").toString())
* Master.Remunerasi.PERSEN_SKOR_EKSEKUTIF)));
@ -1180,13 +1190,15 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
// GROUPING_INDIKATOR
for (Map<String, Object> mapLayanan : dataLayanan) {
if (listKonsulTapiVisit.contains(mapLayanan.get("produkId"))
if ((CommonUtil.isNotNullOrEmpty(mapLayanan.get("produkId"))
&& listKonsulTapiVisit.contains(Integer.parseInt(mapLayanan.get("produkId").toString())))
|| mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.VISIT)) {
mapLayanan.put("indikatorId", Master.IndikatorKinerjaJamKerja.VISITE);
mapLayanan.put("namaIndikator",
indikatorKinerjaDetailDao.findNamaIndikator(Master.IndikatorKinerjaJamKerja.VISITE));
} else if (mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL)
&& listRuangEks.contains(mapLayanan.get("ruanganId"))) {
&& CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId"))
&& listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))) {
mapLayanan.put("indikatorId", Master.IndikatorKinerjaJamKerja.KONSUL_EKS);
mapLayanan.put("namaIndikator",
indikatorKinerjaDetailDao.findNamaIndikator(Master.IndikatorKinerjaJamKerja.KONSUL_EKS));
@ -1199,7 +1211,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
mapLayanan.put("indikatorId", Master.IndikatorKinerjaJamKerja.KONSUL_REG);
mapLayanan.put("namaIndikator",
indikatorKinerjaDetailDao.findNamaIndikator(Master.IndikatorKinerjaJamKerja.KONSUL_REG));
} else if (listRuangEks.contains(mapLayanan.get("ruanganId"))) {
} else if (CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId"))
&& listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))) {
mapLayanan.put("indikatorId", Master.IndikatorKinerjaJamKerja.TINDAKAN_EKS);
mapLayanan.put("namaIndikator",
indikatorKinerjaDetailDao.findNamaIndikator(Master.IndikatorKinerjaJamKerja.TINDAKAN_EKS));
@ -1219,13 +1232,16 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
}
for (Map<String, Object> mapLayanan : dataLayanan) {
if (!listIdIndikator.contains(mapLayanan.get("indikatorId"))) {
if (CommonUtil.isNotNullOrEmpty(mapLayanan.get("indikatorId"))
&& !listIdIndikator.contains(Integer.parseInt(mapLayanan.get("indikatorId").toString()))) {
listIdIndikator.add(Integer.valueOf(mapLayanan.get("indikatorId").toString()));
}
if (!listIdProduk.contains(mapLayanan.get("produkId"))) {
if (CommonUtil.isNotNullOrEmpty(mapLayanan.get("produkId"))
&& !listIdProduk.contains(Integer.parseInt(mapLayanan.get("produkId").toString()))) {
listIdProduk.add(Integer.valueOf(mapLayanan.get("produkId").toString()));
}
if (!listSkor.contains(mapLayanan.get("skor"))) {
if (CommonUtil.isNotNullOrEmpty(mapLayanan.get("skor"))
&& !listSkor.contains(Double.parseDouble(mapLayanan.get("skor").toString()))) {
listSkor.add(Double.valueOf(mapLayanan.get("skor").toString()));
}
if (!listTglPelayanan.contains(df.format(((Date) mapLayanan.get("tglPelayanan"))))) {
@ -1457,7 +1473,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
// SCORE
for (Map<String, Object> mapLayanan : dataLayanan) {
for (Map<String, Object> mapSkor : dataSkor) {
if (!listIdPelayananAnestesi.contains(mapLayanan.get("noRec"))
if (CommonUtil.isNotNullOrEmpty(mapLayanan.get("noRec"))
&& !listIdPelayananAnestesi.contains(mapLayanan.get("noRec").toString())
&& mapLayanan.get("produkId").equals(mapSkor.get("produkId"))
&& (((Date) mapLayanan.get("tglPelayanan")).after((Date) mapSkor.get("tglMulaiBerlaku"))
|| mapLayanan.get("tglPelayanan").equals(mapSkor.get("tglMulaiBerlaku")))) {
@ -1482,7 +1499,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
mapLayanan.put("tSkor", 0.000);
} else if (!mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL)
&& !mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.VISIT)
&& listRuangEks.contains(mapLayanan.get("ruanganId"))) {
&& CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId"))
&& listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))) {
mapLayanan.put("skor",
Double.parseDouble(decf.format(Double.parseDouble(mapLayanan.get("skor").toString())
* Master.Remunerasi.PERSEN_SKOR_LUAR_JAM_KERJA)));
@ -1509,13 +1527,15 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
// GROUPING_INDIKATOR
for (Map<String, Object> mapLayanan : dataLayanan) {
if (listKonsulTapiVisit.contains(mapLayanan.get("produkId"))
if ((CommonUtil.isNotNullOrEmpty(mapLayanan.get("produkId"))
&& listKonsulTapiVisit.contains(Integer.parseInt(mapLayanan.get("produkId").toString())))
|| mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.VISIT)) {
mapLayanan.put("indikatorId", Master.IndikatorKinerjaLuarJamKerja.VISITE);
mapLayanan.put("namaIndikator",
indikatorKinerjaDetailDao.findNamaIndikator(Master.IndikatorKinerjaLuarJamKerja.VISITE));
} else if (mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL)
&& listRuangEks.contains(mapLayanan.get("ruanganId"))) {
&& CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId"))
&& listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))) {
mapLayanan.put("indikatorId", Master.IndikatorKinerjaLuarJamKerja.KONSUL_EKS);
mapLayanan.put("namaIndikator",
indikatorKinerjaDetailDao.findNamaIndikator(Master.IndikatorKinerjaLuarJamKerja.KONSUL_EKS));
@ -1528,7 +1548,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
mapLayanan.put("indikatorId", Master.IndikatorKinerjaLuarJamKerja.KONSUL_REG);
mapLayanan.put("namaIndikator",
indikatorKinerjaDetailDao.findNamaIndikator(Master.IndikatorKinerjaLuarJamKerja.KONSUL_REG));
} else if (listRuangEks.contains(mapLayanan.get("ruanganId"))) {
} else if (CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId"))
&& listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))) {
mapLayanan.put("indikatorId", Master.IndikatorKinerjaLuarJamKerja.TINDAKAN_EKS);
mapLayanan.put("namaIndikator",
indikatorKinerjaDetailDao.findNamaIndikator(Master.IndikatorKinerjaLuarJamKerja.TINDAKAN_EKS));
@ -1548,13 +1569,16 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
}
for (Map<String, Object> mapLayanan : dataLayanan) {
if (!listIdIndikator.contains(mapLayanan.get("indikatorId"))) {
if (CommonUtil.isNotNullOrEmpty(mapLayanan.get("indikatorId"))
&& !listIdIndikator.contains(Integer.parseInt(mapLayanan.get("indikatorId").toString()))) {
listIdIndikator.add(Integer.valueOf(mapLayanan.get("indikatorId").toString()));
}
if (!listIdProduk.contains(mapLayanan.get("produkId"))) {
if (CommonUtil.isNotNullOrEmpty(mapLayanan.get("produkId"))
&& !listIdProduk.contains(Integer.parseInt(mapLayanan.get("produkId").toString()))) {
listIdProduk.add(Integer.valueOf(mapLayanan.get("produkId").toString()));
}
if (!listSkor.contains(mapLayanan.get("skor"))) {
if (CommonUtil.isNotNullOrEmpty(mapLayanan.get("skor"))
&& !listSkor.contains(Double.parseDouble(mapLayanan.get("skor").toString()))) {
listSkor.add(Double.valueOf(mapLayanan.get("skor").toString()));
}
if (!listTglPelayanan.contains(df.format(((Date) mapLayanan.get("tglPelayanan"))))) {
@ -1809,8 +1833,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
// SCORE
for (Map<String, Object> mapLayanan : dataLayanan) {
for (Map<String, Object> mapSkor : dataSkor) {
if (!listIdPelayananAnestesi.contains(mapLayanan.get("noRec")) && !mapLayanan.containsKey("skor")
&& mapLayanan.get("produkId").equals(mapSkor.get("produkId"))
if (CommonUtil.isNotNullOrEmpty(mapLayanan.get("noRec"))
&& !listIdPelayananAnestesi.contains(mapLayanan.get("noRec").toString())
&& !mapLayanan.containsKey("skor") && mapLayanan.get("produkId").equals(mapSkor.get("produkId"))
&& (((Date) mapLayanan.get("tglPelayanan")).after((Date) mapSkor.get("tglMulaiBerlaku"))
|| mapLayanan.get("tglPelayanan").equals(mapSkor.get("tglMulaiBerlaku")))) {
mapLayanan.put("skor", mapSkor.get("skor"));
@ -1833,7 +1858,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
// RULES
for (Map<String, Object> mapLayanan : dataLayananFiltered) {
if (idIndikator.equals(Master.IndikatorKinerjaJamKerja.VISITE)
&& (listKonsulTapiVisit.contains(mapLayanan.get("produkId"))
&& ((CommonUtil.isNotNullOrEmpty(mapLayanan.get("produkId"))
&& CommonUtil.isNotNullOrEmpty(mapLayanan.get("produkId"))
&& listKonsulTapiVisit.contains(Integer.parseInt(mapLayanan.get("produkId").toString())))
|| mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.VISIT))) {
if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
&& mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
@ -1876,7 +1903,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
}
} else if (idIndikator.equals(Master.IndikatorKinerjaJamKerja.KONSUL_EKS)
&& mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL)
&& listRuangEks.contains(mapLayanan.get("ruanganId"))) {
&& CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId"))
&& listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))) {
if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
&& mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
if (skor.equals(0.0) && Double.parseDouble(mapLayanan.get("hargaDiskon").toString()) > 0.0
@ -2000,7 +2028,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
}
}
} else if (idIndikator.equals(Master.IndikatorKinerjaJamKerja.TINDAKAN_EKS)
&& listRuangEks.contains(mapLayanan.get("ruanganId"))) {
&& CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId"))
&& listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))) {
if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
&& mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
if (skor.equals(0.0) && Double.parseDouble(mapLayanan.get("hargaDiskon").toString()) > 0.0
@ -2123,10 +2152,12 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
}
}
} else if (idIndikator.equals(Master.IndikatorKinerjaJamKerja.TINDAKAN_REG)
&& !listKonsulTapiVisit.contains(mapLayanan.get("produkId"))
&& CommonUtil.isNotNullOrEmpty(mapLayanan.get("produkId"))
&& !listKonsulTapiVisit.contains(Integer.parseInt(mapLayanan.get("produkId").toString()))
&& !mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.VISIT)
&& !mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL)
&& !listRuangEks.contains(mapLayanan.get("ruanganId"))
&& CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId"))
&& !listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))
&& !mapLayanan.get("departemenId").equals(Master.Departemen.IGD)
&& !mapLayanan.get("ruanganId").equals(Master.Ruangan.OK)) {
if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
@ -2223,7 +2254,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
for (Map<String, Object> mapLayanan : dataLayanan) {
if (idIndikator.equals(Master.IndikatorKinerjaLuarJamKerja.VISITE)
&& (listKonsulTapiVisit.contains(mapLayanan.get("produkId"))
&& ((CommonUtil.isNotNullOrEmpty(mapLayanan.get("produkId"))
&& listKonsulTapiVisit.contains(Integer.parseInt(mapLayanan.get("produkId").toString())))
|| mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.VISIT))) {
if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
&& mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
@ -2266,7 +2298,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
}
} else if (idIndikator.equals(Master.IndikatorKinerjaLuarJamKerja.KONSUL_EKS)
&& mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL)
&& listRuangEks.contains(mapLayanan.get("ruanganId"))) {
&& CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId"))
&& listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))) {
if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
&& mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
if (skor.equals(0.0) && Double.parseDouble(mapLayanan.get("hargaDiskon").toString()) > 0.0
@ -2390,7 +2423,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
}
}
} else if (idIndikator.equals(Master.IndikatorKinerjaLuarJamKerja.TINDAKAN_EKS)
&& listRuangEks.contains(mapLayanan.get("ruanganId"))) {
&& CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId"))
&& listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))) {
if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
&& mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) {
if (skor.equals(0.0) && Double.parseDouble(mapLayanan.get("hargaDiskon").toString()) > 0.0
@ -2513,10 +2547,12 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
}
}
} else if (idIndikator.equals(Master.IndikatorKinerjaLuarJamKerja.TINDAKAN_REG)
&& !listKonsulTapiVisit.contains(mapLayanan.get("produkId"))
&& CommonUtil.isNotNullOrEmpty(mapLayanan.get("produkId"))
&& !listKonsulTapiVisit.contains(Integer.parseInt(mapLayanan.get("produkId").toString()))
&& !mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.VISIT)
&& !mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL)
&& !listRuangEks.contains(mapLayanan.get("ruanganId"))
&& CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId"))
&& !listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))
&& !mapLayanan.get("departemenId").equals(Master.Departemen.IGD)
&& !mapLayanan.get("ruanganId").equals(Master.Ruangan.OK)) {
if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)
@ -2578,7 +2614,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
mf.format(new Date(bulan)));
Integer idKelompokJabatan = null;
if (CommonUtil.isNotNullOrEmpty(data) && data.size() > 0) {
if (CommonUtil.isNotNullOrEmpty(data) && !data.isEmpty()) {
idKelompokJabatan = Integer.parseInt(data.get(0).get("kelompokJabatanId").toString());
}
@ -2715,16 +2751,20 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
}
for (Map<String, Object> map : data) {
if (!listIdUnitKerja.contains(map.get("unitKerjaId"))) {
if (CommonUtil.isNotNullOrEmpty(map.get("unitKerjaId"))
&& !listIdUnitKerja.contains(Integer.parseInt(map.get("unitKerjaId").toString()))) {
listIdUnitKerja.add(Integer.valueOf(map.get("unitKerjaId").toString()));
}
if (!listIdSubunitKerja.contains(map.get("subunitKerjaId"))) {
if (CommonUtil.isNotNullOrEmpty(map.get("subunitKerjaId"))
&& !listIdSubunitKerja.contains(Integer.parseInt(map.get("subunitKerjaId").toString()))) {
listIdSubunitKerja.add(Integer.valueOf(map.get("subunitKerjaId").toString()));
}
if (!listIdPegawai.contains(map.get("pegawaiId"))) {
if (CommonUtil.isNotNullOrEmpty(map.get("pegawaiId"))
&& !listIdPegawai.contains(Integer.parseInt(map.get("pegawaiId").toString()))) {
listIdPegawai.add(Integer.valueOf(map.get("pegawaiId").toString()));
}
if (!listIdJabatan.contains(map.get("jabatanId"))) {
if (CommonUtil.isNotNullOrEmpty(map.get("jabatanId"))
&& !listIdJabatan.contains(Integer.parseInt(map.get("jabatanId").toString()))) {
listIdJabatan.add(Integer.valueOf(map.get("jabatanId").toString()));
}
}
@ -2932,7 +2972,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
mapLayanan.put("tSkor", 0.0);
} else if (!mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL)
&& !mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.VISIT)
&& listRuangEks.contains(mapLayanan.get("ruanganId"))) {
&& CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId"))
&& listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))) {
mapLayanan.put("skor",
Double.parseDouble(decf.format(Double.parseDouble(mapLayanan.get("skor").toString())
* Master.Remunerasi.PERSEN_SKOR_EKSEKUTIF)));
@ -2991,10 +3032,17 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
double capaian = 0.0;
for (Map<String, Object> mapLayanan : dataLayanan) {
if (mapLayanan.get("pegawaiId").equals(idPegawai)
&& (listDetailJenisProduk.contains(mapLayanan.get("detailJenisProdukId"))
|| (!listDetailJenisProduk.contains(mapLayanan.get("detailJenisProdukId"))
&& idsDokterUmumIGD.contains(mapLayanan.get("produkId"))
&& drKsmUmumList.contains(mapLayanan.get("pegawaiId"))
&& ((CommonUtil.isNotNullOrEmpty(mapLayanan.get("detailJenisProdukId")) && listDetailJenisProduk
.contains(Integer.parseInt(mapLayanan.get("detailJenisProdukId").toString())))
|| (CommonUtil.isNotNullOrEmpty(mapLayanan.get("detailJenisProdukId"))
&& !listDetailJenisProduk.contains(Integer
.parseInt(mapLayanan.get("detailJenisProdukId").toString()))
&& CommonUtil.isNotNullOrEmpty(mapLayanan.get("produkId"))
&& idsDokterUmumIGD
.contains(Integer.parseInt(mapLayanan.get("produkId").toString()))
&& CommonUtil.isNotNullOrEmpty(mapLayanan.get("pegawaiId"))
&& drKsmUmumList
.contains(Integer.parseInt(mapLayanan.get("pegawaiId").toString()))
&& mapLayanan.get("departemenId").equals(Master.Departemen.IGD)))) {
capaian += Double.parseDouble(mapLayanan.get("tSkor").toString());
}
@ -3015,8 +3063,6 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
List<Integer> listIdPegawai = new ArrayList<>();
List<Integer> listIdJabatan = new ArrayList<>();
List<String> listJabatanIndikator = new ArrayList<>();
List<Map<String, Object>> listMapFilter = new ArrayList<>();
Date endMonth = DateUtil.endMonth(bulan);
Date startYear = DateUtil.startYear(bulan);
@ -3034,12 +3080,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
List<Map<String, Object>> listMapIndikator = logbookKinerjaDao.findIndikatorByJabatan(listIdJabatan,
mf.format(bulan));
for (Map<String, Object> map : listMapIndikator) {
if (!listJabatanIndikator
.contains(map.get("jabatanId").toString() + "" + map.get("indikatorId").toString())) {
listMapFilter.add(map);
}
}
List<Map<String, Object>> listMapFilter = new ArrayList<>(listMapIndikator);
/*
* Get All Dokter Mapped Indikator
@ -3340,10 +3381,12 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
List<Double> listSkor = new ArrayList<>();
List<String> listTglPelayanan = new ArrayList<>();
for (Map<String, Object> map : pelayananPerawat) {
if (!listIdProduk.contains(map.get("produkId"))) {
if (CommonUtil.isNotNullOrEmpty(map.get("produkId"))
&& !listIdProduk.contains(Integer.parseInt(map.get("produkId").toString()))) {
listIdProduk.add(Integer.parseInt(map.get("produkId").toString()));
}
if (!listSkor.contains(map.get("skor"))) {
if (CommonUtil.isNotNullOrEmpty(map.get("skor"))
&& !listSkor.contains(Double.parseDouble(map.get("skor").toString()))) {
listSkor.add(Double.parseDouble(map.get("skor").toString()));
}
if (!listTglPelayanan.contains(df.format((Date) map.get("tglPelayanan")))) {
@ -3441,10 +3484,12 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
List<Double> listSkor = new ArrayList<>();
List<String> listTglPelayanan = new ArrayList<>();
for (Map<String, Object> map : pelayananNakes) {
if (!listIdProduk.contains(map.get("produkId"))) {
if (CommonUtil.isNotNullOrEmpty(map.get("produkId"))
&& !listIdProduk.contains(Integer.parseInt(map.get("produkId").toString()))) {
listIdProduk.add(Integer.parseInt(map.get("produkId").toString()));
}
if (!listSkor.contains(map.get("skor"))) {
if (CommonUtil.isNotNullOrEmpty(map.get("skor"))
&& !listSkor.contains(Double.parseDouble(map.get("skor").toString()))) {
listSkor.add(Double.parseDouble(map.get("skor").toString()));
}
if (!listTglPelayanan.contains(df.format((Date) map.get("tglPelayanan")))) {
@ -3541,10 +3586,12 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
List<Double> listSkor = new ArrayList<>();
List<String> listTglPelayanan = new ArrayList<>();
for (Map<String, Object> map : pelayananFarmakologi) {
if (!listIdProduk.contains(map.get("produkId"))) {
if (CommonUtil.isNotNullOrEmpty(map.get("produkId"))
&& !listIdProduk.contains(Integer.parseInt(map.get("produkId").toString()))) {
listIdProduk.add(Integer.parseInt(map.get("produkId").toString()));
}
if (!listSkor.contains(map.get("skor"))) {
if (CommonUtil.isNotNullOrEmpty(map.get("skor"))
&& !listSkor.contains(Double.parseDouble(map.get("skor").toString()))) {
listSkor.add(Double.parseDouble(map.get("skor").toString()));
}
if (!listTglPelayanan.contains(df.format((Date) map.get("tglPelayanan")))) {

View File

@ -40,6 +40,7 @@ public class MapProdukPaketServiceImpl implements MapProdukPaketService {
model.setProdukEntri(produkEntri);
}
model.setKdProfile((short) 0);
model.setIsAktif(true);
models.add(model);
});
mapProdukPaketDao.save(models);

View File

@ -178,6 +178,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
List<Integer> kategoriPegawaiAksesAplikasiRemun = splitDataSettingDatafixed("kategoriPegawaiAksesAplikasiRemun");
if (CommonUtil.isNotNullOrEmpty(vo.getId())) {
pegawai = rekamDataPegawaiDao.findOne(vo.getId());
Integer idJabatanUtama = mapPegawaiJabatanToUnitkerjaDao.getIdJabatanInternalUtamaByIdPegawai(vo.getId());
@ -650,7 +651,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
kategoryPegawaiConverter.transferVOToModel(vo.getKategoryPegawai(), new KategoryPegawai()));
perubahan += "ubah kategory pegawai, ";
if (Arrays.asList(Master.KategoryPegawai.PURNA_WAKTU).contains(vo.getKategoryPegawai().getId())) {
if (kategoriPegawaiAksesAplikasiRemun.contains(vo.getKategoryPegawai().getId())) {
TypePegawai typePegawai = new TypePegawai();
typePegawai.setId(Master.TipePegawai.PURNA_WAKTU);
pegawai.setTypePegawai(typePegawai);
@ -667,7 +668,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
kategoryPegawaiConverter.transferVOToModel(vo.getKategoryPegawai(), new KategoryPegawai()));
perubahan += "kategory pegawai, ";
if (Arrays.asList(Master.KategoryPegawai.PURNA_WAKTU).contains(vo.getKategoryPegawai().getId())
if (kategoriPegawaiAksesAplikasiRemun.contains(vo.getKategoryPegawai().getId())
&& CommonUtil.isNullOrEmpty(vo.getTypePegawai())) {
JenisPegawai jenisPegawai = new JenisPegawai();
jenisPegawai.setId(Master.TipePegawai.PURNA_WAKTU);
@ -1382,7 +1383,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
kategoryPegawaiConverter.transferVOToModel(vo.getKategoryPegawai(), new KategoryPegawai()));
perubahan += "kategory pegawai, ";
if (Arrays.asList(Master.KategoryPegawai.PURNA_WAKTU).contains(vo.getKategoryPegawai().getId())
if (kategoriPegawaiAksesAplikasiRemun.contains(vo.getKategoryPegawai().getId())
&& CommonUtil.isNullOrEmpty(vo.getTypePegawai())) {
TypePegawai typePegawai = new TypePegawai();
typePegawai.setId(Master.TipePegawai.PURNA_WAKTU);

View File

@ -0,0 +1,25 @@
package com.jasamedika.medifirst2000.dto;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.validator.constraints.NotBlank;
/**
* @author salmanoe
* @version 1.0.0
* @since 07/02/2024
*/
@Getter
@Setter
public class JumlahDiskonDokterDto {
protected Long id;
private Boolean statusEnabled;
private Short kdProfile;
@NotBlank
@Caption("Persen Diskon")
private String persenDiskon;
}

View File

@ -0,0 +1,18 @@
package com.jasamedika.medifirst2000.dto;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
/**
* @author salmanoe
* @version 1.0.0
* @since 26/02/2024
*/
@Getter
@Setter
@Builder
public class RemunHargaJasa {
private Double nilai;
private String keterangan;
}

View File

@ -0,0 +1,42 @@
package com.jasamedika.medifirst2000.entities;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.*;
import org.hibernate.validator.constraints.NotBlank;
import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
import static javax.persistence.GenerationType.SEQUENCE;
/**
* @author salmanoe
* @version 1.0.0
* @since 07/02/2024
*/
@Entity
@Table(name = "jumlah_diskon_dokter_m")
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class JumlahDiskonDokter implements Serializable {
private static final long serialVersionUID = 7600189956745393785L;
@Id
@GeneratedValue(strategy = SEQUENCE, generator = "sg_jumlah_diskon_dokter_m")
@SequenceGenerator(name = "sg_jumlah_diskon_dokter_m", sequenceName = "jumlah_diskon_dokter_m_seq", allocationSize = 1)
@Column(name = "id")
protected Long id;
private Boolean statusEnabled;
private Short kdProfile;
@Column(nullable = false, unique = true, columnDefinition = "numeric(6,2)")
@NotBlank(message = "Persen diskon tidak boleh kosong")
@Caption("Persen Diskon")
private BigDecimal persenDiskon;
}

View File

@ -46,4 +46,9 @@ public class MapProdukPaket extends BaseTransaction {
@Column(length = 100)
@Enumerated(STRING)
private JenisMappingProdukPaket jenisMapping;
@Column(name = "isaktif", nullable = false)
@NotNull(message = "Status aktif tidak boleh kosong")
@Caption(value = "Status Aktif")
private Boolean isAktif;
}

View File

@ -38,4 +38,6 @@ public class MapProdukPaketVO extends BaseTransactionVO {
private JenisMappingProdukPaket jenisMapping;
@Caption(value = "Status Aktif")
private Boolean isAktif;
}

View File

@ -0,0 +1,49 @@
package com.jasamedika.medifirst2000.controller;
import com.jasamedika.medifirst2000.dto.JumlahDiskonDokterDto;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.JumlahDiskonDokterService;
import com.jasamedika.medifirst2000.util.rest.RestUtil;
import org.apache.commons.collections4.map.SingletonMap;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.util.List;
import static org.slf4j.LoggerFactory.getLogger;
import static org.springframework.http.HttpStatus.CREATED;
import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR;
import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
import static org.springframework.web.bind.annotation.RequestMethod.POST;
/**
* @author salmanoe
* @version 1.0.0
* @since 07/02/2024
*/
@RestController
@RequestMapping("/master/dokter/jumlah-diskon")
public class JumlahDiskonDokterController {
private static final Logger LOGGER = getLogger(JumlahDiskonDokterController.class);
@Autowired
private JumlahDiskonDokterService jumlahDiskonDokterService;
@RequestMapping(method = POST, produces = APPLICATION_JSON_VALUE, consumes = APPLICATION_JSON_VALUE)
public ResponseEntity<List<JumlahDiskonDokterDto>> save(HttpServletRequest request,
@Valid @RequestBody List<JumlahDiskonDokterDto> dtos) {
try {
jumlahDiskonDokterService.save(dtos);
return RestUtil.getJsonResponse(dtos, CREATED, new SingletonMap<>("status", CREATED.getReasonPhrase()));
} catch (ServiceVOException e) {
LOGGER.error("Got exception {} when add jumlah diskon dokter", e.getMessage());
return RestUtil.getJsonHttptatus(INTERNAL_SERVER_ERROR);
}
}
}

View File

@ -15,7 +15,7 @@
</context-param>
<context-param>
<param-name>spring.profiles.default</param-name>
<param-value>localhost</param-value>
<param-value>web</param-value>
</context-param>
<listener>