Update service migrasi pasien
Pembuatan sub rutin ekstraksi dan transformasi data berkas dari dokumen vedika
This commit is contained in:
parent
fbe9ebe95a
commit
8e775aef4e
@ -0,0 +1,15 @@
|
|||||||
|
package com.jasamedika.medifirst2000.dao;
|
||||||
|
|
||||||
|
import com.jasamedika.medifirst2000.entities.DokumenVedika;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author salmanoe
|
||||||
|
* @version 1.0.0
|
||||||
|
* @since 16/11/2023
|
||||||
|
*/
|
||||||
|
public interface DokumenVedikaDao extends JpaRepository<DokumenVedika, Integer> {
|
||||||
|
List<DokumenVedika> findByPasienNoMrIn(List<String> listPasienNoCm);
|
||||||
|
}
|
||||||
@ -2,10 +2,7 @@ package com.jasamedika.medifirst2000.service.impl;
|
|||||||
|
|
||||||
import com.jasamedika.medifirst2000.constants.Master;
|
import com.jasamedika.medifirst2000.constants.Master;
|
||||||
import com.jasamedika.medifirst2000.dao.*;
|
import com.jasamedika.medifirst2000.dao.*;
|
||||||
import com.jasamedika.medifirst2000.entities.Alamat;
|
import com.jasamedika.medifirst2000.entities.*;
|
||||||
import com.jasamedika.medifirst2000.entities.AsuransiPasien;
|
|
||||||
import com.jasamedika.medifirst2000.entities.MigrasiPasien;
|
|
||||||
import com.jasamedika.medifirst2000.entities.Pasien;
|
|
||||||
import com.jasamedika.medifirst2000.etl.pasien.constant.StatusMigrasi;
|
import com.jasamedika.medifirst2000.etl.pasien.constant.StatusMigrasi;
|
||||||
import com.jasamedika.medifirst2000.etl.pasien.dto.*;
|
import com.jasamedika.medifirst2000.etl.pasien.dto.*;
|
||||||
import com.jasamedika.medifirst2000.service.MigrasiPasienService;
|
import com.jasamedika.medifirst2000.service.MigrasiPasienService;
|
||||||
@ -48,6 +45,9 @@ public class MigrasiPasienServiceImpl implements MigrasiPasienService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private AlamatDao alamatDao;
|
private AlamatDao alamatDao;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private DokumenVedikaDao dokumenVedikaDao;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private AsuransiPasienDao asuransiPasienDao;
|
private AsuransiPasienDao asuransiPasienDao;
|
||||||
|
|
||||||
@ -73,8 +73,10 @@ public class MigrasiPasienServiceImpl implements MigrasiPasienService {
|
|||||||
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());
|
||||||
|
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<Map<String, Object>> listAnak = pasienDao.findIdByNoCmOfIbu(new HashSet<>(listIdPasien));
|
List<Map<String, Object>> listAnak = pasienDao.findIdByNoCmOfIbu(new HashSet<>(listIdPasien));
|
||||||
List<AsuransiPasien> listAsuransi = asuransiPasienDao.findByPasienIdIn(listIdPasien);
|
List<AsuransiPasien> listAsuransi = asuransiPasienDao.findByPasienIdIn(listIdPasien);
|
||||||
List<PasienDto> dtoList = new ArrayList<>();
|
List<PasienDto> dtoList = new ArrayList<>();
|
||||||
@ -169,7 +171,7 @@ public class MigrasiPasienServiceImpl implements MigrasiPasienService {
|
|||||||
dtoBuilder.statusPerkawinan(StatusPerkawinanDto.builder().id(CERAI_MATI.id()).build());
|
dtoBuilder.statusPerkawinan(StatusPerkawinanDto.builder().id(CERAI_MATI.id()).build());
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
dtoBuilder.berkas(setBerkas());
|
dtoBuilder.berkas(setBerkas(listDokumenVedika));
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
List<Map<String, Object>> anakPasien = listAnak.stream()
|
List<Map<String, Object>> anakPasien = listAnak.stream()
|
||||||
@ -210,9 +212,15 @@ public class MigrasiPasienServiceImpl implements MigrasiPasienService {
|
|||||||
return dtoList;
|
return dtoList;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Set<BerkasDto> setBerkas() {
|
private Set<BerkasDto> setBerkas(List<DokumenVedika> listDokumenVedika) {
|
||||||
// TODO: Set ekstraksi dan transformasi berkas pasien
|
Set<BerkasDto> dtoList = new HashSet<>();
|
||||||
return new HashSet<>();
|
listDokumenVedika.forEach(dokumenVedika -> {
|
||||||
|
BerkasDto.BerkasDtoBuilder dtoBuilder = BerkasDto.builder();
|
||||||
|
dtoBuilder.judulBerkas(dokumenVedika.getNamaFile());
|
||||||
|
dtoBuilder.lokasiBerkas(dokumenVedika.getUrl());
|
||||||
|
dtoBuilder.jenisBerkas(JenisBerkasDto.builder().id(dokumenVedika.getJenisBerkasId().longValue()).build());
|
||||||
|
});
|
||||||
|
return dtoList;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Set<KeluargaDto> setAnak(List<Map<String, Object>> listAnakPasien) {
|
private Set<KeluargaDto> setAnak(List<Map<String, Object>> listAnakPasien) {
|
||||||
|
|||||||
@ -30,7 +30,7 @@ public class DokumenVedika implements Serializable {
|
|||||||
|
|
||||||
@Column(name = "statusenabled")
|
@Column(name = "statusenabled")
|
||||||
@Caption(value = "Status Enabled")
|
@Caption(value = "Status Enabled")
|
||||||
public Boolean statusEnabled;
|
private Boolean statusEnabled;
|
||||||
|
|
||||||
@ManyToOne(fetch = LAZY)
|
@ManyToOne(fetch = LAZY)
|
||||||
@JoinColumn(name = "pasiendaftar_t_norec")
|
@JoinColumn(name = "pasiendaftar_t_norec")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user