Update service migrasi pasien
Pembuatan subrutin ekstraksi dan transformasi data anak dari pasien
This commit is contained in:
parent
0385cc885b
commit
974c482c71
@ -116,10 +116,14 @@ public interface PasienDao extends JpaRepository<Pasien, Integer> {
|
|||||||
+ "or length(ps.noidentitas) <> 16) " + "order by ps.statusenabled, ps.tgldaftar desc", nativeQuery = true)
|
+ "or length(ps.noidentitas) <> 16) " + "order by ps.statusenabled, ps.tgldaftar desc", nativeQuery = true)
|
||||||
List<Pasien> findByValidBpjs();
|
List<Pasien> findByValidBpjs();
|
||||||
|
|
||||||
|
@Query("select anak from Pasien ibu, Pasien anak " + "where ibu.noCm = anak.reportDisplay "
|
||||||
|
+ "and ibu.statusEnabled is true and anak.statusEnabled is true " + "and ibu.noCm in (:listNoCmIbu)")
|
||||||
|
List<Pasien> findAnakByNoCmOfIbu(@Param("listNoCmIbu") List<String> listNoCmIbu);
|
||||||
|
|
||||||
@Query("select new Map(ibu.id as idIbu,anak.id as idAnak) " + "from Pasien ibu, Pasien anak "
|
@Query("select new Map(ibu.id as idIbu,anak.id as idAnak) " + "from Pasien ibu, Pasien anak "
|
||||||
+ "where ibu.noCm = anak.reportDisplay " + "and ibu.statusEnabled is true and anak.statusEnabled is true "
|
+ "where ibu.noCm = anak.reportDisplay " + "and ibu.statusEnabled is true and anak.statusEnabled is true "
|
||||||
+ "and ibu.id in (:listIdIbu)")
|
+ "and ibu.id in (:listIdIbu)")
|
||||||
List<Map<String, Object>> findIdByNoCmOfIbu(@Param("listIdIbu") Set<Integer> listIdIbu);
|
List<Map<String, Object>> findIdByIdOfIbu(@Param("listIdIbu") Set<Integer> listIdIbu);
|
||||||
|
|
||||||
@Query(value = "select ps.* from pasien_m ps " + "where ps.statusenabled is true " + "and ps.nocm ~ '^[0-9\\.]+$' "
|
@Query(value = "select ps.* from pasien_m ps " + "where ps.statusenabled is true " + "and ps.nocm ~ '^[0-9\\.]+$' "
|
||||||
+ "and length(ps.nocm) = 8 " + "and cast(ps.nocm as integer) < 10000000 "
|
+ "and length(ps.nocm) = 8 " + "and cast(ps.nocm as integer) < 10000000 "
|
||||||
|
|||||||
@ -16,6 +16,7 @@ import java.util.*;
|
|||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static com.jasamedika.medifirst2000.etl.pasien.constant.CaraMeninggal.*;
|
import static com.jasamedika.medifirst2000.etl.pasien.constant.CaraMeninggal.*;
|
||||||
|
import static com.jasamedika.medifirst2000.etl.pasien.constant.HubunganKeluarga.ANAK;
|
||||||
import static com.jasamedika.medifirst2000.etl.pasien.constant.JenisAlamat.DOMISILI;
|
import static com.jasamedika.medifirst2000.etl.pasien.constant.JenisAlamat.DOMISILI;
|
||||||
import static com.jasamedika.medifirst2000.etl.pasien.constant.JenisAlamat.IDENTITAS;
|
import static com.jasamedika.medifirst2000.etl.pasien.constant.JenisAlamat.IDENTITAS;
|
||||||
import static com.jasamedika.medifirst2000.etl.pasien.constant.JenisIdentitas.KTP;
|
import static com.jasamedika.medifirst2000.etl.pasien.constant.JenisIdentitas.KTP;
|
||||||
@ -77,7 +78,7 @@ public class MigrasiPasienServiceImpl implements MigrasiPasienService {
|
|||||||
List<Map<String, Object>> listCaraMeninggal = pasienDaftarDao.findPenyebabKematianByPasienIdIn(listIdPasien);
|
List<Map<String, Object>> listCaraMeninggal = pasienDaftarDao.findPenyebabKematianByPasienIdIn(listIdPasien);
|
||||||
List<Alamat> listAlamat = alamatDao.findByPasienIdIn(listIdPasien);
|
List<Alamat> listAlamat = alamatDao.findByPasienIdIn(listIdPasien);
|
||||||
List<DokumenVedika> listDokumenVedika = dokumenVedikaDao.findByPasienNoMrIn(listNoCmPasien);
|
List<DokumenVedika> listDokumenVedika = dokumenVedikaDao.findByPasienNoMrIn(listNoCmPasien);
|
||||||
List<Map<String, Object>> listAnak = pasienDao.findIdByNoCmOfIbu(new HashSet<>(listIdPasien));
|
List<Pasien> listPasienAnak = pasienDao.findAnakByNoCmOfIbu(listNoCmPasien);
|
||||||
List<AsuransiPasien> listAsuransi = asuransiPasienDao.findByPasienIdIn(listIdPasien);
|
List<AsuransiPasien> listAsuransi = asuransiPasienDao.findByPasienIdIn(listIdPasien);
|
||||||
List<PasienDto> dtoList = new ArrayList<>();
|
List<PasienDto> dtoList = new ArrayList<>();
|
||||||
listPasien.forEach(pasien -> {
|
listPasien.forEach(pasien -> {
|
||||||
@ -174,9 +175,9 @@ public class MigrasiPasienServiceImpl implements MigrasiPasienService {
|
|||||||
dtoBuilder.berkas(setBerkas(listDokumenVedika));
|
dtoBuilder.berkas(setBerkas(listDokumenVedika));
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
List<Map<String, Object>> anakPasien = listAnak.stream()
|
List<Pasien> pasienAnak = listPasienAnak.stream()
|
||||||
.filter(anak -> pasien.getId().equals(anak.get("idIbu"))).collect(Collectors.toList());
|
.filter(anak -> pasien.getNoCm().equals(anak.getReportDisplay())).collect(Collectors.toList());
|
||||||
dtoBuilder.keluarga(setAnak(anakPasien));
|
dtoBuilder.keluarga(setAnak(pasienAnak));
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
List<AsuransiPasien> asuransiPasien = listAsuransi.stream()
|
List<AsuransiPasien> asuransiPasien = listAsuransi.stream()
|
||||||
@ -198,7 +199,6 @@ public class MigrasiPasienServiceImpl implements MigrasiPasienService {
|
|||||||
if (alamat.getRtrw().split(" ")[2].equals("RW"))
|
if (alamat.getRtrw().split(" ")[2].equals("RW"))
|
||||||
dtoBuilder.rw(Integer.parseInt(alamat.getRtrw().split(" ")[3]));
|
dtoBuilder.rw(Integer.parseInt(alamat.getRtrw().split(" ")[3]));
|
||||||
dtoBuilder.kodePos(Integer.valueOf(alamat.getKodePos()));
|
dtoBuilder.kodePos(Integer.valueOf(alamat.getKodePos()));
|
||||||
dtoList.add(dtoBuilder.build());
|
|
||||||
{
|
{
|
||||||
if (Master.JenisAlamat.IDENTITAS.equals(alamat.getJenisAlamatId()))
|
if (Master.JenisAlamat.IDENTITAS.equals(alamat.getJenisAlamatId()))
|
||||||
dtoBuilder.jenisAlamat(JenisAlamatDto.builder().id(IDENTITAS.id()).build());
|
dtoBuilder.jenisAlamat(JenisAlamatDto.builder().id(IDENTITAS.id()).build());
|
||||||
@ -208,6 +208,7 @@ public class MigrasiPasienServiceImpl implements MigrasiPasienService {
|
|||||||
dtoBuilder.kelurahanDesa(
|
dtoBuilder.kelurahanDesa(
|
||||||
KelurahanDesaDto.builder().id(alamat.getDesaKelurahan().getMigrasiKelurahanDesaId()).build());
|
KelurahanDesaDto.builder().id(alamat.getDesaKelurahan().getMigrasiKelurahanDesaId()).build());
|
||||||
dtoBuilder.negara(NegaraDto.builder().id(alamat.getNegaraId().longValue()).build());
|
dtoBuilder.negara(NegaraDto.builder().id(alamat.getNegaraId().longValue()).build());
|
||||||
|
dtoList.add(dtoBuilder.build());
|
||||||
});
|
});
|
||||||
return dtoList;
|
return dtoList;
|
||||||
}
|
}
|
||||||
@ -219,17 +220,34 @@ public class MigrasiPasienServiceImpl implements MigrasiPasienService {
|
|||||||
dtoBuilder.judulBerkas(dokumenVedika.getNamaFile());
|
dtoBuilder.judulBerkas(dokumenVedika.getNamaFile());
|
||||||
dtoBuilder.lokasiBerkas(dokumenVedika.getUrl());
|
dtoBuilder.lokasiBerkas(dokumenVedika.getUrl());
|
||||||
dtoBuilder.jenisBerkas(JenisBerkasDto.builder().id(dokumenVedika.getJenisBerkasId().longValue()).build());
|
dtoBuilder.jenisBerkas(JenisBerkasDto.builder().id(dokumenVedika.getJenisBerkasId().longValue()).build());
|
||||||
|
dtoList.add(dtoBuilder.build());
|
||||||
});
|
});
|
||||||
return dtoList;
|
return dtoList;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Set<KeluargaDto> setAnak(List<Map<String, Object>> listAnakPasien) {
|
private Set<KeluargaDto> setAnak(List<Pasien> listPasienAnak) {
|
||||||
// TODO: Set ekstraksi dan transformasi anak pasien
|
Set<KeluargaDto> dtoList = new HashSet<>();
|
||||||
return new HashSet<>();
|
listPasienAnak.forEach(anak -> {
|
||||||
|
KeluargaDto.KeluargaDtoBuilder dtoBuilder = KeluargaDto.builder();
|
||||||
|
dtoBuilder.namaLengkap(anak.getNamaPasien());
|
||||||
|
dtoBuilder.namaPanggilan(anak.getNamaDepan());
|
||||||
|
dtoBuilder.surel(anak.getEmail());
|
||||||
|
if (NumberUtils.isParsable(anak.getNoHp()) && anak.getNoHp().charAt(0) == '0')
|
||||||
|
dtoBuilder.noGawai(Integer.parseInt("62" + anak.getNoHp()));
|
||||||
|
dtoBuilder.hubunganKeluarga(HubunganKeluargaDto.builder().id(ANAK.id()).build());
|
||||||
|
dtoList.add(dtoBuilder.build());
|
||||||
|
});
|
||||||
|
return dtoList;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Set<JaminanDto> setJaminan(List<AsuransiPasien> listAsuransiPasien) {
|
private Set<JaminanDto> setJaminan(List<AsuransiPasien> listAsuransiPasien) {
|
||||||
// TODO: Set ekstraksi dan transformasi asuransi pasien
|
Set<JaminanDto> dtoList = new HashSet<>();
|
||||||
|
listAsuransiPasien.forEach(asuransi -> {
|
||||||
|
JaminanDto.JaminanDtoBuilder dtoBuilder = JaminanDto.builder();
|
||||||
|
dtoBuilder.nomorKartu(asuransi.getNoAsuransi());
|
||||||
|
dtoBuilder.asuransi(AsuransiDto.builder().asuransi(asuransi.getRekanan().getNamaRekanan())
|
||||||
|
.surel(asuransi.getRekanan().getEmail()).build());
|
||||||
|
});
|
||||||
return new HashSet<>();
|
return new HashSet<>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1636,7 +1636,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
.findPasienPaketDiRanapByDokter(drKsmObgyn, allProdukEntriId);
|
.findPasienPaketDiRanapByDokter(drKsmObgyn, allProdukEntriId);
|
||||||
Set<Integer> setIdIbu = ibuPaketDiRanapByDokter.stream()
|
Set<Integer> setIdIbu = ibuPaketDiRanapByDokter.stream()
|
||||||
.map(pasien -> Integer.parseInt(pasien.get("pasienId").toString())).collect(Collectors.toSet());
|
.map(pasien -> Integer.parseInt(pasien.get("pasienId").toString())).collect(Collectors.toSet());
|
||||||
List<Map<String, Object>> ibuAnak = pasienDao.findIdByNoCmOfIbu(setIdIbu);
|
List<Map<String, Object>> ibuAnak = pasienDao.findIdByIdOfIbu(setIdIbu);
|
||||||
listData.forEach(d -> {
|
listData.forEach(d -> {
|
||||||
List<Integer> listIdAnak = ibuAnak.stream().filter(bn -> Integer
|
List<Integer> listIdAnak = ibuAnak.stream().filter(bn -> Integer
|
||||||
.parseInt(d.get("pasienId").toString()) == Integer.parseInt(bn.get("idIbu").toString())
|
.parseInt(d.get("pasienId").toString()) == Integer.parseInt(bn.get("idIbu").toString())
|
||||||
|
|||||||
@ -14,14 +14,12 @@ import java.util.UUID;
|
|||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class KeluargaDto {
|
public class KeluargaDto {
|
||||||
private UUID id;
|
private UUID id;
|
||||||
private HubunganKeluargaDto hubunganKeluarga;
|
private HubunganKeluargaDto hubunganKeluarga;
|
||||||
private String gelarDepan;
|
private String gelarDepan;
|
||||||
private String namaLengkap;
|
private String namaLengkap;
|
||||||
private String namaPanggilan;
|
private String namaPanggilan;
|
||||||
private String gelarBelakang;
|
private String gelarBelakang;
|
||||||
private String surel;
|
private String surel;
|
||||||
private String kodeNegaraGawai;
|
private Integer noGawai;
|
||||||
private Integer noGawai;
|
|
||||||
private PasienDto pasien;
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user