Update MigrasiPasienServiceImpl.java

Perbaikan validasi running scheduler awal belum ada data
This commit is contained in:
Salman Manoe 2024-07-30 15:10:03 +07:00
parent 9cd36a1043
commit 16fa8ecdc9

View File

@ -71,17 +71,19 @@ public class MigrasiPasienServiceImpl implements MigrasiPasienService {
@Override @Override
public List<PasienDto> extractAndTransform() { public List<PasienDto> extractAndTransform() {
List<PasienDto> dtoList = new ArrayList<>();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
List<StatusMigrasi> statusMigrasiList = new ArrayList<>(Arrays.asList(BELUM_KIRIM, PEMBAHARUAN)); List<StatusMigrasi> statusMigrasiList = new ArrayList<>(Arrays.asList(BELUM_KIRIM, PEMBAHARUAN));
List<Pasien> listPasien = migrasiPasienDao.findPasienByStatusMigrasiIn(statusMigrasiList); List<Pasien> listPasien = migrasiPasienDao.findPasienByStatusMigrasiIn(statusMigrasiList);
if (CommonUtil.isNotNullOrEmpty(listPasien)) {
List<Integer> listIdPasien = listPasien.stream().map(Pasien::getId).collect(Collectors.toList()); List<Integer> listIdPasien = listPasien.stream().map(Pasien::getId).collect(Collectors.toList());
List<String> listNoCmPasien = listPasien.stream().map(Pasien::getNoCm).collect(Collectors.toList()); List<String> listNoCmPasien = listPasien.stream().map(Pasien::getNoCm).collect(Collectors.toList());
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<Pasien> listPasienAnak = pasienDao.findAnakByNoCmOfIbu(listNoCmPasien); List<Pasien> listPasienAnak = pasienDao.findAnakByNoCmOfIbu(listNoCmPasien);
List<AsuransiPasien> listAsuransi = asuransiPasienDao.findByPasienIdIn(listIdPasien); List<AsuransiPasien> listAsuransi = asuransiPasienDao.findByPasienIdIn(listIdPasien);
List<PasienDto> dtoList = new ArrayList<>();
listPasien.forEach(pasien -> { listPasien.forEach(pasien -> {
PasienDto.PasienDtoBuilder dtoBuilder = PasienDto.builder(); PasienDto.PasienDtoBuilder dtoBuilder = PasienDto.builder();
dtoBuilder.status("AKTIF"); dtoBuilder.status("AKTIF");
@ -100,19 +102,22 @@ public class MigrasiPasienServiceImpl implements MigrasiPasienService {
IdentitasDto.builder().jenisIdentitas(JenisIdentitasDto.builder().id(KTP.id()).build()) IdentitasDto.builder().jenisIdentitas(JenisIdentitasDto.builder().id(KTP.id()).build())
.noIdentitas(pasien.getNoIdentitas()).build()))); .noIdentitas(pasien.getNoIdentitas()).build())));
if (CommonUtil.isNotNullOrEmpty(pasien.getJenisKelaminId())) if (CommonUtil.isNotNullOrEmpty(pasien.getJenisKelaminId()))
dtoBuilder.jenisKelamin(JenisKelaminDto.builder().id(pasien.getJenisKelaminId().longValue()).build());
if (CommonUtil.isNotNullOrEmpty(pasien.getGolonganDarahId()) && pasien.getGolonganDarahId() != 0)
dtoBuilder dtoBuilder
.golonganDarah(GolonganDarahDto.builder().id(pasien.getGolonganDarahId().longValue()).build()); .jenisKelamin(JenisKelaminDto.builder().id(pasien.getJenisKelaminId().longValue()).build());
if (CommonUtil.isNotNullOrEmpty(pasien.getGolonganDarahId()) && pasien.getGolonganDarahId() != 0)
dtoBuilder.golonganDarah(
GolonganDarahDto.builder().id(pasien.getGolonganDarahId().longValue()).build());
listCaraMeninggal.stream().filter(c -> pasien.getId().equals(c.get("idPasien"))).findFirst() listCaraMeninggal.stream().filter(c -> pasien.getId().equals(c.get("idPasien"))).findFirst()
.ifPresent(c -> { .ifPresent(c -> {
if (CommonUtil.isNotNullOrEmpty(c.get("idPenyebabKematian"))) { if (CommonUtil.isNotNullOrEmpty(c.get("idPenyebabKematian"))) {
if (Master.CaraMeninggal.BAWAH_DAN_48_JAM.equals(c.get("idPenyebabKematian"))) if (Master.CaraMeninggal.BAWAH_DAN_48_JAM.equals(c.get("idPenyebabKematian")))
dtoBuilder.caraMeninggal(CaraMeninggalDto.builder().id(BAWAH_DAN_48_JAM.id()).build()); dtoBuilder.caraMeninggal(
CaraMeninggalDto.builder().id(BAWAH_DAN_48_JAM.id()).build());
if (Master.CaraMeninggal.ATAS_48_JAM.equals(c.get("idPenyebabKematian"))) if (Master.CaraMeninggal.ATAS_48_JAM.equals(c.get("idPenyebabKematian")))
dtoBuilder.caraMeninggal(CaraMeninggalDto.builder().id(ATAS_48_JAM.id()).build()); dtoBuilder.caraMeninggal(CaraMeninggalDto.builder().id(ATAS_48_JAM.id()).build());
if (Master.CaraMeninggal.BAWAH_DAN_8_JAM.equals(c.get("idPenyebabKematian"))) if (Master.CaraMeninggal.BAWAH_DAN_8_JAM.equals(c.get("idPenyebabKematian")))
dtoBuilder.caraMeninggal(CaraMeninggalDto.builder().id(BAWAH_DAN_8_JAM.id()).build()); dtoBuilder
.caraMeninggal(CaraMeninggalDto.builder().id(BAWAH_DAN_8_JAM.id()).build());
if (Master.CaraMeninggal.ATAS_8_JAM.equals(c.get("idPenyebabKematian"))) if (Master.CaraMeninggal.ATAS_8_JAM.equals(c.get("idPenyebabKematian")))
dtoBuilder.caraMeninggal(CaraMeninggalDto.builder().id(ATAS_8_JAM.id()).build()); dtoBuilder.caraMeninggal(CaraMeninggalDto.builder().id(ATAS_8_JAM.id()).build());
if (Master.CaraMeninggal.DOA.equals(c.get("idPenyebabKematian"))) if (Master.CaraMeninggal.DOA.equals(c.get("idPenyebabKematian")))
@ -125,8 +130,8 @@ public class MigrasiPasienServiceImpl implements MigrasiPasienService {
} }
}); });
if (CommonUtil.isNotNullOrEmpty(pasien.getKebangsaanId())) if (CommonUtil.isNotNullOrEmpty(pasien.getKebangsaanId()))
dtoBuilder dtoBuilder.kewarganegaraan(
.kewarganegaraan(KewarganegaraanDto.builder().id(pasien.getKebangsaanId().longValue()).build()); KewarganegaraanDto.builder().id(pasien.getKebangsaanId().longValue()).build());
if (CommonUtil.isNotNullOrEmpty(pasien.getNegaraId())) if (CommonUtil.isNotNullOrEmpty(pasien.getNegaraId()))
dtoBuilder.negara(NegaraDto.builder().id(pasien.getNegaraId().longValue()).build()); dtoBuilder.negara(NegaraDto.builder().id(pasien.getNegaraId().longValue()).build());
if (CommonUtil.isNotNullOrEmpty(pasien.getAgamaId())) if (CommonUtil.isNotNullOrEmpty(pasien.getAgamaId()))
@ -159,7 +164,8 @@ public class MigrasiPasienServiceImpl implements MigrasiPasienService {
{ {
Set<GawaiDto> gawaiDto = new HashSet<>(); Set<GawaiDto> gawaiDto = new HashSet<>();
if (NumberUtils.isNumber(pasien.getNoTelepon()) && pasien.getNoTelepon().charAt(0) == '0') if (NumberUtils.isNumber(pasien.getNoTelepon()) && pasien.getNoTelepon().charAt(0) == '0')
gawaiDto.add(GawaiDto.builder().noGawai(Long.parseLong("62" + numbersOnly(pasien.getNoTelepon()))) gawaiDto.add(
GawaiDto.builder().noGawai(Long.parseLong("62" + numbersOnly(pasien.getNoTelepon())))
.jenisGawai(JenisGawaiDto.builder().id(1L).build()).build()); .jenisGawai(JenisGawaiDto.builder().id(1L).build()).build());
if (NumberUtils.isNumber(pasien.getNoHp()) && pasien.getNoHp().charAt(0) == '0') if (NumberUtils.isNumber(pasien.getNoHp()) && pasien.getNoHp().charAt(0) == '0')
gawaiDto.add(GawaiDto.builder().noGawai(Long.parseLong("62" + numbersOnly(pasien.getNoHp()))) gawaiDto.add(GawaiDto.builder().noGawai(Long.parseLong("62" + numbersOnly(pasien.getNoHp())))
@ -194,16 +200,19 @@ public class MigrasiPasienServiceImpl implements MigrasiPasienService {
} }
{ {
List<Pasien> pasienAnak = listPasienAnak.stream() List<Pasien> pasienAnak = listPasienAnak.stream()
.filter(anak -> pasien.getNoCm().equals(anak.getReportDisplay())).collect(Collectors.toList()); .filter(anak -> pasien.getNoCm().equals(anak.getReportDisplay()))
.collect(Collectors.toList());
dtoBuilder.keluarga(setAnak(pasienAnak)); dtoBuilder.keluarga(setAnak(pasienAnak));
} }
{ {
List<AsuransiPasien> asuransiPasien = listAsuransi.stream() List<AsuransiPasien> asuransiPasien = listAsuransi.stream()
.filter(asuransi -> pasien.getId().equals(asuransi.getNoCmId())).collect(Collectors.toList()); .filter(asuransi -> pasien.getId().equals(asuransi.getNoCmId()))
.collect(Collectors.toList());
dtoBuilder.jaminan(setJaminan(asuransiPasien)); dtoBuilder.jaminan(setJaminan(asuransiPasien));
} }
dtoList.add(dtoBuilder.build()); dtoList.add(dtoBuilder.build());
}); });
}
return dtoList; return dtoList;
} }