Update MigrasiPasienServiceImpl.java

Perbaikan validasi golongan darah dan status perkawinan default
This commit is contained in:
Salman Manoe 2024-07-26 15:57:31 +07:00
parent fb44d1810e
commit e0a9fb0cc5

View File

@ -12,7 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.time.ZoneId; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -72,6 +72,7 @@ public class MigrasiPasienServiceImpl implements MigrasiPasienService {
@Override @Override
public List<PasienDto> extractAndTransform() { public List<PasienDto> extractAndTransform() {
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);
List<Integer> listIdPasien = listPasien.stream().map(Pasien::getId).collect(Collectors.toList()); List<Integer> listIdPasien = listPasien.stream().map(Pasien::getId).collect(Collectors.toList());
@ -84,13 +85,15 @@ public class MigrasiPasienServiceImpl implements MigrasiPasienService {
List<PasienDto> dtoList = new ArrayList<>(); 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.noRekamMedis(pasien.getNoCm()); dtoBuilder.noRekamMedis(pasien.getNoCm());
dtoBuilder.namaLengkap(pasien.getNamaPasien()); dtoBuilder.namaLengkap(pasien.getNamaPasien());
dtoBuilder.namaPanggilan(pasien.getNamaDepan()); dtoBuilder.namaPanggilan(CommonUtil.isNotNullOrEmpty(pasien.getNamaDepan()) ? pasien.getNamaDepan()
: pasien.getNamaPasien().split(" ")[0]);
dtoBuilder.tempatLahir(pasien.getTempatLahir()); dtoBuilder.tempatLahir(pasien.getTempatLahir());
dtoBuilder.caraRegistrasi("INTERNAL");
if (CommonUtil.isNotNullOrEmpty(pasien.getTglLahir())) if (CommonUtil.isNotNullOrEmpty(pasien.getTglLahir()))
dtoBuilder.tanggalLahir( dtoBuilder.tanggalLahir(dateFormat.format(pasien.getTglLahir()));
pasien.getTglLahir().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
dtoBuilder.surel(pasien.getEmail()); dtoBuilder.surel(pasien.getEmail());
if (CommonUtil.isNotNullOrEmpty(pasien.getTitlePasienId())) if (CommonUtil.isNotNullOrEmpty(pasien.getTitlePasienId()))
dtoBuilder.sapaan(SapaanDto.builder().id(pasien.getTitlePasienId().longValue()).build()); dtoBuilder.sapaan(SapaanDto.builder().id(pasien.getTitlePasienId().longValue()).build());
@ -99,7 +102,7 @@ public class MigrasiPasienServiceImpl implements MigrasiPasienService {
.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()); dtoBuilder.jenisKelamin(JenisKelaminDto.builder().id(pasien.getJenisKelaminId().longValue()).build());
if (CommonUtil.isNotNullOrEmpty(pasien.getGolonganDarahId())) if (CommonUtil.isNotNullOrEmpty(pasien.getGolonganDarahId()) && pasien.getGolonganDarahId() != 0)
dtoBuilder dtoBuilder
.golonganDarah(GolonganDarahDto.builder().id(pasien.getGolonganDarahId().longValue()).build()); .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()
@ -177,14 +180,15 @@ public class MigrasiPasienServiceImpl implements MigrasiPasienService {
dtoBuilder.pekerjaan(PekerjaanDto.builder().id(PEGAWAI_SWASTA_ATAU_WIRAUSAHA.id()).build()); dtoBuilder.pekerjaan(PekerjaanDto.builder().id(PEGAWAI_SWASTA_ATAU_WIRAUSAHA.id()).build());
} }
{ {
if (Master.StatusPerkawinan.BELUM_KAWIN.equals(pasien.getStatusPerkawinanId())) if (Master.StatusPerkawinan.KAWIN.equals(pasien.getStatusPerkawinanId())) {
dtoBuilder.statusPerkawinan(StatusPerkawinanDto.builder().id(BELUM_KAWIN.id()).build());
if (Master.StatusPerkawinan.KAWIN.equals(pasien.getStatusPerkawinanId()))
dtoBuilder.statusPerkawinan(StatusPerkawinanDto.builder().id(KAWIN.id()).build()); dtoBuilder.statusPerkawinan(StatusPerkawinanDto.builder().id(KAWIN.id()).build());
if (Master.StatusPerkawinan.CERAI_HIDUP.equals(pasien.getStatusPerkawinanId())) } else if (Master.StatusPerkawinan.CERAI_HIDUP.equals(pasien.getStatusPerkawinanId())) {
dtoBuilder.statusPerkawinan(StatusPerkawinanDto.builder().id(CERAI_HIDUP.id()).build()); dtoBuilder.statusPerkawinan(StatusPerkawinanDto.builder().id(CERAI_HIDUP.id()).build());
if (Master.StatusPerkawinan.CERAI_MATI.equals(pasien.getStatusPerkawinanId())) } else if (Master.StatusPerkawinan.CERAI_MATI.equals(pasien.getStatusPerkawinanId())) {
dtoBuilder.statusPerkawinan(StatusPerkawinanDto.builder().id(CERAI_MATI.id()).build()); dtoBuilder.statusPerkawinan(StatusPerkawinanDto.builder().id(CERAI_MATI.id()).build());
} else {
dtoBuilder.statusPerkawinan(StatusPerkawinanDto.builder().id(BELUM_KAWIN.id()).build());
}
} }
{ {
dtoBuilder.berkas(setBerkas(listDokumenVedika)); dtoBuilder.berkas(setBerkas(listDokumenVedika));