Update RegistrasiPasienService

Pembuatan service simpan antrean dari mobile jkn
This commit is contained in:
salmanoe 2022-12-26 18:58:44 +07:00
parent e4517628e5
commit 5aba8a2bfe
7 changed files with 152 additions and 108 deletions

View File

@ -721,7 +721,7 @@ public class BridgingDaftarOnlineController {
@RequestMapping(value = "/bpjs/registration/save", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Object> saveNewRegistration(@RequestBody RegistrasiPasienDto dto) {
try {
boolean result = registrasiPasienService.saveRegistrasiPasine(dto);
String result = registrasiPasienService.saveRegistrasiPasien(dto);
return new ResponseEntity<>(result, HttpStatus.CREATED);
} catch (ServiceVOException e) {
LOGGER.error("Got exception {} when add Pasien", e.getMessage());

View File

@ -8,5 +8,5 @@ import com.jasamedika.medifirst2000.vo.RegistrasiPasienVO;
public interface RegistrasiPasienService {
Map<String, Object> saveRegistrasiPasien(RegistrasiPasienVO vo);
boolean saveRegistrasiPasine(RegistrasiPasienDto dto);
String saveRegistrasiPasien(RegistrasiPasienDto dto);
}

View File

@ -33,18 +33,23 @@ import com.jasamedika.medifirst2000.converter.TitlePasienConverter;
import com.jasamedika.medifirst2000.dao.AntrianPasienDiPeriksaDao;
import com.jasamedika.medifirst2000.dao.PasienDaftarDao;
import com.jasamedika.medifirst2000.dao.PasienDao;
import com.jasamedika.medifirst2000.dao.PegawaiDao;
import com.jasamedika.medifirst2000.dao.PemakaianAsuransiDao;
import com.jasamedika.medifirst2000.dao.RunningNumberDao;
import com.jasamedika.medifirst2000.dto.RegistrasiPasienDto;
import com.jasamedika.medifirst2000.entities.Agama;
import com.jasamedika.medifirst2000.entities.Alamat;
import com.jasamedika.medifirst2000.entities.AntrianPasienDiPeriksa;
import com.jasamedika.medifirst2000.entities.AsalRujukan;
import com.jasamedika.medifirst2000.entities.CatatanPasien;
import com.jasamedika.medifirst2000.entities.DesaKelurahan;
import com.jasamedika.medifirst2000.entities.HubunganKeluarga;
import com.jasamedika.medifirst2000.entities.JenisAlamat;
import com.jasamedika.medifirst2000.entities.JenisKelamin;
import com.jasamedika.medifirst2000.entities.KasusPenyakit;
import com.jasamedika.medifirst2000.entities.Kebangsaan;
import com.jasamedika.medifirst2000.entities.Kecamatan;
import com.jasamedika.medifirst2000.entities.Kelas;
import com.jasamedika.medifirst2000.entities.KelompokPasien;
import com.jasamedika.medifirst2000.entities.KotaKabupaten;
import com.jasamedika.medifirst2000.entities.LoginUser;
@ -53,9 +58,11 @@ import com.jasamedika.medifirst2000.entities.Pasien;
import com.jasamedika.medifirst2000.entities.PasienDaftar;
import com.jasamedika.medifirst2000.entities.Pegawai;
import com.jasamedika.medifirst2000.entities.Pekerjaan;
import com.jasamedika.medifirst2000.entities.PemakaianAsuransi;
import com.jasamedika.medifirst2000.entities.Pendidikan;
import com.jasamedika.medifirst2000.entities.Propinsi;
import com.jasamedika.medifirst2000.entities.Rekanan;
import com.jasamedika.medifirst2000.entities.Ruangan;
import com.jasamedika.medifirst2000.entities.RunningNumber;
import com.jasamedika.medifirst2000.entities.StatusPerkawinan;
import com.jasamedika.medifirst2000.entities.TitlePasien;
@ -65,13 +72,19 @@ import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.util.StringUtil;
import com.jasamedika.medifirst2000.vo.AlamatVO;
import com.jasamedika.medifirst2000.vo.AntrianPasienDiPeriksaVO;
import com.jasamedika.medifirst2000.vo.AsalRujukanVO;
import com.jasamedika.medifirst2000.vo.CatatanPasienVO;
import com.jasamedika.medifirst2000.vo.KasusPenyakitVO;
import com.jasamedika.medifirst2000.vo.KebangsaanVO;
import com.jasamedika.medifirst2000.vo.KelasVO;
import com.jasamedika.medifirst2000.vo.KelompokPasienVO;
import com.jasamedika.medifirst2000.vo.PasienDaftarVO;
import com.jasamedika.medifirst2000.vo.PasienVO;
import com.jasamedika.medifirst2000.vo.PegawaiVO;
import com.jasamedika.medifirst2000.vo.PemakaianAsuransiVO;
import com.jasamedika.medifirst2000.vo.RegistrasiPasienVO;
import com.jasamedika.medifirst2000.vo.RekananVO;
import com.jasamedika.medifirst2000.vo.RuanganVO;
/**
* Implement class for RegistrasiPasienService
@ -87,17 +100,35 @@ public class RegistrasiPasienServiceImpl extends BaseVoServiceImpl implements Re
@Autowired
private BaseConverterImpl<PasienDaftarVO, PasienDaftar> converterPasienDaftar;
@Autowired
private BaseConverterImpl<PegawaiVO, Pegawai> converterPegawai;
@Autowired
private BaseConverterImpl<KelompokPasienVO, KelompokPasien> converterKelompokPasien;
@Autowired
private BaseConverterImpl<AntrianPasienDiPeriksaVO, AntrianPasienDiPeriksa> converterAntrianDiperiksa;
@Autowired
private BaseConverterImpl<PemakaianAsuransiVO, PemakaianAsuransi> converterPemakaianAsuransi;
@Autowired
private BaseConverterImpl<KelasVO, Kelas> converterKelas;
@Autowired
private BaseConverterImpl<AsalRujukanVO, AsalRujukan> converterAsalRujukan;
@Autowired
private BaseConverterImpl<RekananVO, Rekanan> converterRekanan;
@Autowired
private BaseConverterImpl<RuanganVO, Ruangan> converterRuangan;
@Autowired
private BaseConverterImpl<KasusPenyakitVO, KasusPenyakit> converterKasusPenyakit;
@Autowired
private BaseConverterImpl<PasienVO, Pasien> converterPasien;
@Autowired
private BaseConverterImpl<AntrianPasienDiPeriksaVO, AntrianPasienDiPeriksa> converterAntrianDiperiksa;
private BaseConverterImpl<PegawaiVO, Pegawai> converterPegawai;
@Autowired
private PasienConverter pasienConverter;
@ -159,7 +190,11 @@ public class RegistrasiPasienServiceImpl extends BaseVoServiceImpl implements Re
@Autowired
private PasienDaftarDao pasienDaftarDao;
@Autowired
private AntrianPasienDiPeriksaDao antrianDiperiksaDao;
@Autowired
private PemakaianAsuransiDao pemakaianAsuransiDao;
@Transactional(readOnly = false, isolation = Isolation.SERIALIZABLE)
public Map<String, Object> saveRegistrasiPasien(RegistrasiPasienVO vo)
@ -357,40 +392,67 @@ public class RegistrasiPasienServiceImpl extends BaseVoServiceImpl implements Re
}
@Override
public boolean saveRegistrasiPasine(RegistrasiPasienDto dto) {
public String saveRegistrasiPasien(RegistrasiPasienDto dto) {
try {
PasienDaftarVO pd = savePasienDaftar(dto.getPasienDaftar());
dto.getPemakaianAsuransi().setPasienDaftar(pd);
savePemakaianAsuransi(dto.getPemakaianAsuransi());
dto.getAntrianDiperiksa().setPasienDaftar(pd);
saveAntrianDiperiksa(dto.getAntrianDiperiksa());
return true;
AntrianPasienDiPeriksaVO apd = saveAntrianDiperiksa(dto.getAntrianDiperiksa());
return apd.getNoRec();
} catch (Exception e) {
return false;
return null;
}
}
private PasienDaftarVO savePasienDaftar(PasienDaftarVO vo) {
KelompokPasien kp = converterKelompokPasien.transferVOToModel(vo.getKelompokPasien(), new KelompokPasien());
Pasien ps = converterPasien.transferVOToModel(vo.getPasien(), new Pasien());
Pegawai dp = converterPegawai.transferVOToModel(vo.getDokterPemeriksa(), new Pegawai());
Pegawai dpjp = converterPegawai.transferVOToModel(vo.getDokterPenanggungJawab(), new Pegawai());
PasienDaftar pd = converterPasienDaftar.transferVOToModel(vo, new PasienDaftar());
pd.setKelompokPasien(kp);
pd.setPasien(ps);
pd.setDokterPemeriksa(dp);
pd.setDokterPenanggungJawab(dpjp);
PasienDaftar resultModel = pasienDaftarDao.save(pd);
PasienDaftarVO resultVO = new PasienDaftarVO();
resultVO = converterPasienDaftar.transferModelToVO(resultModel, resultVO);
private PemakaianAsuransiVO savePemakaianAsuransi(PemakaianAsuransiVO vo) {
PasienDaftar pd = converterPasienDaftar.transferVOToModel(vo.getPasienDaftar(), new PasienDaftar());
PemakaianAsuransi pa = converterPemakaianAsuransi.transferVOToModel(vo, new PemakaianAsuransi());
pa.setPasienDaftar(pd);
PemakaianAsuransi resultModel = pemakaianAsuransiDao.save(pa);
PemakaianAsuransiVO resultVO = new PemakaianAsuransiVO();
resultVO = converterPemakaianAsuransi.transferModelToVO(resultModel, resultVO);
return resultVO;
}
private AntrianPasienDiPeriksaVO saveAntrianDiperiksa(AntrianPasienDiPeriksaVO vo) {
PasienDaftar pd = converterPasienDaftar.transferVOToModel(vo.getPasienDaftar(), new PasienDaftar());
Kelas kls = converterKelas.transferVOToModel(vo.getKelas(), new Kelas());
AsalRujukan ar = converterAsalRujukan.transferVOToModel(vo.getAsalRujukan(), new AsalRujukan());
Ruangan ru = converterRuangan.transferVOToModel(vo.getRuangan(), new Ruangan());
Pegawai dp = converterPegawai.transferVOToModel(vo.getPegawai(), new Pegawai());
AntrianPasienDiPeriksa apd = converterAntrianDiperiksa.transferVOToModel(vo, new AntrianPasienDiPeriksa());
apd.setPasienDaftar(pd);
apd.setKelas(kls);
apd.setAsalRujukan(ar);
apd.setRuangan(ru);
apd.setPegawai(dp);
AntrianPasienDiPeriksa resultModel = antrianDiperiksaDao.save(apd);
AntrianPasienDiPeriksaVO resultVO = new AntrianPasienDiPeriksaVO();
resultVO = converterAntrianDiperiksa.transferModelToVO(resultModel, resultVO);
return resultVO;
}
private PasienDaftarVO savePasienDaftar(PasienDaftarVO vo) {
Rekanan rk = converterRekanan.transferVOToModel(vo.getRekanan(), new Rekanan());
KelompokPasien kep = converterKelompokPasien.transferVOToModel(vo.getKelompokPasien(), new KelompokPasien());
Ruangan ru = converterRuangan.transferVOToModel(vo.getRuangan(), new Ruangan());
KasusPenyakit kap = converterKasusPenyakit.transferVOToModel(vo.getKasusPenyakit(), new KasusPenyakit());
Kelas kls = converterKelas.transferVOToModel(vo.getKelas(), new Kelas());
Pasien ps = converterPasien.transferVOToModel(vo.getPasien(), new Pasien());
Pegawai dp = converterPegawai.transferVOToModel(vo.getDokterPemeriksa(), new Pegawai());
PasienDaftar pd = converterPasienDaftar.transferVOToModel(vo, new PasienDaftar());
pd.setRekanan(rk);
pd.setKelompokPasien(kep);
pd.setRuangan(ru);
pd.setKasusPenyakit(kap);
pd.setKelas(kls);
pd.setPasien(ps);
pd.setDokterPemeriksa(dp);
pd.setDokterPenanggungJawab(dp);
PasienDaftar resultModel = pasienDaftarDao.save(pd);
PasienDaftarVO resultVO = new PasienDaftarVO();
resultVO = converterPasienDaftar.transferModelToVO(resultModel, resultVO);
return resultVO;
}
}

View File

@ -2,6 +2,7 @@ package com.jasamedika.medifirst2000.dto;
import com.jasamedika.medifirst2000.vo.AntrianPasienDiPeriksaVO;
import com.jasamedika.medifirst2000.vo.PasienDaftarVO;
import com.jasamedika.medifirst2000.vo.PemakaianAsuransiVO;
/**
* @author salmanoe
@ -10,6 +11,7 @@ import com.jasamedika.medifirst2000.vo.PasienDaftarVO;
public class RegistrasiPasienDto {
private PasienDaftarVO pasienDaftar;
private AntrianPasienDiPeriksaVO antrianDiperiksa;
private PemakaianAsuransiVO pemakaianAsuransi;
public PasienDaftarVO getPasienDaftar() {
return pasienDaftar;
@ -26,4 +28,12 @@ public class RegistrasiPasienDto {
public void setAntrianDiperiksa(AntrianPasienDiPeriksaVO antrianDiperiksa) {
this.antrianDiperiksa = antrianDiperiksa;
}
public PemakaianAsuransiVO getPemakaianAsuransi() {
return pemakaianAsuransi;
}
public void setPemakaianAsuransi(PemakaianAsuransiVO pemakaianAsuransi) {
this.pemakaianAsuransi = pemakaianAsuransi;
}
}

View File

@ -1,30 +1,27 @@
package com.jasamedika.medifirst2000.entities;
import java.io.Serializable;
import org.hibernate.envers.Audited;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.*;
import org.hibernate.validator.constraints.NotEmpty;
import com.jasamedika.medifirst2000.base.BaseMaster;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.internal.util.logging.Messages;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import com.jasamedika.medifirst2000.base.BaseMaster;
import com.jasamedika.medifirst2000.helper.Caption;
import org.hibernate.envers.Audited;
@Entity
@Table(name = "Diagnosa_M")
@JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" })
public class Diagnosa extends BaseMaster {
private static final long serialVersionUID = 1960221286223158801L;
@NotNull(message = "Kd Diagnosa tidak boleh kosong")
@Column(name = "KdDiagnosa", nullable = false, length = 10)
@Caption(value = "Kode Diagnosa")
@ -58,7 +55,7 @@ public class Diagnosa extends BaseMaster {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.diagnosa_m_id_seq")
@javax.persistence.SequenceGenerator(name = "public.diagnosa_m_id_seq", sequenceName = "public.diagnosa_m_id_seq", allocationSize = 1)
@SequenceGenerator(name = "public.diagnosa_m_id_seq", sequenceName = "public.diagnosa_m_id_seq", allocationSize = 1)
@Column(name = "id")
protected Integer id;

View File

@ -1,42 +1,40 @@
package com.jasamedika.medifirst2000.entities;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.*;
import com.jasamedika.medifirst2000.entities.DataAsuransi;
import com.jasamedika.medifirst2000.entities.Diagnosa;
import com.fasterxml.jackson.annotation.JsonBackReference;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import com.jasamedika.medifirst2000.base.BaseTransaction;
import javax.validation.constraints.NotNull;
import com.jasamedika.medifirst2000.helper.Caption;import org.hibernate.envers.Audited;
import com.jasamedika.medifirst2000.helper.Caption;
@Entity
@Table(name = "PemakaianAsuransi_T")
public class PemakaianAsuransi extends BaseTransaction {
@ManyToOne(fetch=FetchType.LAZY)
private static final long serialVersionUID = 8451625158161533060L;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "NoRegistrasiFk", nullable = true)
@Caption(value="No Registrasi")
@Caption(value = "No Registrasi")
private PasienDaftar pasienDaftar;
@Column(name = "NoRegistrasiFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable=true)
@Column(name = "NoRegistrasiFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = true)
private String pasienDaftarId;
@Column(name = "PpkRujukan", nullable = true, length = 100)
@Caption(value = "PpkRujukan")
private String ppkRujukan;
@ManyToOne(fetch=FetchType.LAZY)
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "DiagnosisFk")
@NotNull(message = "Diagnosis Harus Diisi")
@Caption(value = "Diagnosis")
private Diagnosa diagnosis;
@Column(name = "DiagnosisFk", insertable = false, updatable = false, nullable=true)
@Column(name = "DiagnosisFk", insertable = false, updatable = false, nullable = true)
private Integer diagnosisId;
@Column(name = "NoKepesertaan", nullable = true, length = 100)
@ -58,37 +56,35 @@ public class PemakaianAsuransi extends BaseTransaction {
@Column(name = "NoSep", nullable = true, length = 100)
@Caption(value = "NoSep")
private String noSep;
@ManyToOne(fetch=FetchType.LAZY)
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "ObjectAsuransiPasienFk")
@Caption(value = "Object Asuransi Pasien")
private AsuransiPasien asuransiPasien;
@Column(name = "ObjectAsuransiPasienFk", insertable = false, updatable = false, nullable=true)
@Column(name = "ObjectAsuransiPasienFk", insertable = false, updatable = false, nullable = true)
private Integer asuransiPasienId;
@Caption(value="Tanggal Registrasi")
@Column(name = "TglRegistrasi", nullable = true )
@Caption(value = "Tanggal Registrasi")
@Column(name = "TglRegistrasi", nullable = true)
private Date tglRegistrasi;
@Caption(value="Catatan")
@Column(name = "Catatan", nullable = true )
@Caption(value = "Catatan")
@Column(name = "Catatan", nullable = true)
private String catatan;
//----------------------------------------------------------
@ManyToOne(fetch=FetchType.LAZY)
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "ObjectDiagnosaFK")
@Caption(value = "ObjectDiagnosaFK")
private Diagnosa diagnosa;
@Column(name = "ObjectDiagnosaFK", insertable = false, updatable = false, nullable=true)
@Column(name = "ObjectDiagnosaFK", insertable = false, updatable = false, nullable = true)
private Integer diagnosaId;
@Caption(value="TanggalSep")
@Column(name = "TanggalSep", nullable = true )
@Caption(value = "TanggalSep")
@Column(name = "TanggalSep", nullable = true)
private Date tanggalSep;
public Date getTanggalPendaftaran() {
return tglRegistrasi;
}
@ -232,5 +228,4 @@ public class PemakaianAsuransi extends BaseTransaction {
public void setCatatan(String catatan) {
this.catatan = catatan;
}
}
}

View File

@ -1,37 +1,20 @@
package com.jasamedika.medifirst2000.vo;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.*;
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.entities.AsuransiPasien;
import com.jasamedika.medifirst2000.entities.DataAsuransi;
import com.jasamedika.medifirst2000.entities.Diagnosa;
import com.jasamedika.medifirst2000.entities.PasienDaftar;
import com.fasterxml.jackson.annotation.JsonBackReference;
import javax.validation.constraints.NotNull;
import com.jasamedika.medifirst2000.helper.Caption;
public class PemakaianAsuransiVO extends BaseTransactionVO{
@ManyToOne(fetch=FetchType.LAZY)
@NotNull(message="No Registrasi Harus Diisi")
@Caption(value="No Registrasi")
public class PemakaianAsuransiVO extends BaseTransactionVO {
@Caption(value = "No Registrasi")
private PasienDaftarVO pasienDaftar;
@ManyToOne(fetch=FetchType.LAZY)
@NotNull(message = "Asuransi Harus Diisi")
@Caption(value = "Asuransi")
private DataAsuransiVO asuransi;
@Caption(value = "PpkRujukan")
private String ppkRujukan;
@ManyToOne(fetch=FetchType.LAZY)
@NotNull(message = "Diagnosis Harus Diisi")
@Caption(value = "Diagnosis")
private DiagnosaVO diagnosis;
@ -49,15 +32,14 @@ public class PemakaianAsuransiVO extends BaseTransactionVO{
@Caption(value = "NoSep")
private String noSep;
@ManyToOne(fetch=FetchType.LAZY)
@Caption(value = "Object Asuransi Pasien")
private AsuransiPasienVO asuransiPasien;
@Caption(value="tglRegistrasi")
@Caption(value = "tglRegistrasi")
private Date tglRegistrasi;
@Caption(value="tanggalPendaftaran")
@Caption(value = "tanggalPendaftaran")
private String tanggalPendaftaran;
public PasienDaftarVO getPasienDaftar() {
@ -156,6 +138,4 @@ public class PemakaianAsuransiVO extends BaseTransactionVO{
this.tanggalPendaftaran = tanggalPendaftaran;
}
}