diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapPelayananPasienPetugasToPegawaiDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapPelayananPasienPetugasToPegawaiDao.java index 83e7b64d..bf5bbed6 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapPelayananPasienPetugasToPegawaiDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapPelayananPasienPetugasToPegawaiDao.java @@ -18,6 +18,6 @@ import java.util.List; public interface MapPelayananPasienPetugasToPegawaiDao extends JpaRepository { @Query("select mptp from MapPelayananPasienPetugasToPegawai mptp " + "left join mptp.pelayananPasienPetugas ppp " - + "where ppp.norec in (:norecs)") + + "where ppp.noRec in (:norecs)") List findByPelayananPasienPetugas(@Param("norecs") List norecs); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java index b1793078..57d34d36 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java @@ -12,11 +12,10 @@ import com.jasamedika.medifirst2000.service.LoginUserService; import com.jasamedika.medifirst2000.service.PelayananPasienService; import com.jasamedika.medifirst2000.util.CommonUtil; import com.jasamedika.medifirst2000.util.DateUtil; -import com.jasamedika.medifirst2000.vo.JenisObatVO; -import com.jasamedika.medifirst2000.vo.PelayananPasienVO; -import com.jasamedika.medifirst2000.vo.ProdukVO; +import com.jasamedika.medifirst2000.vo.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.text.*; import java.time.LocalDate; @@ -50,11 +49,27 @@ import static com.jasamedika.medifirst2000.constants.Master.TipePegawai.PURNA_WA * @author Generator */ @Service("pelayananPasienService") +@Transactional public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements PelayananPasienService { @Autowired private BaseConverterImpl pelayananPasienConverter; + @Autowired + private BaseConverterImpl pelayananPasienDetailConverter; + + @Autowired + private BaseConverterImpl pelayananPasienPetugasConverter; + + @Autowired + private BaseConverterImpl mapPelayananPasienPetugasToPegawaiConverter; + + @Autowired + private BaseConverterImpl pelayananPasienTidakTerklaimConverter; + + @Autowired + private BaseConverterImpl racikanDetailConverter; + @Autowired private BaseConverterImpl jenisObatConverter; @@ -2401,8 +2416,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel } Optional duplicate = splitPelayanan.stream().filter(cp -> cp.getNoRec() == null) .findFirst(); - if (duplicate.isPresent()) { - duplicate.get().setJumlah(pelayananReducedQty.get().getJumlah() - dto.getJumlah()); + if (duplicate.isPresent() && origin.isPresent()) { + duplicate.get().setJumlah(duplicate.get().getJumlah() - origin.get().getJumlah()); duplicate.get().setIsPaket(false); duplicate.get().setVoucherPaket(voucher); { @@ -2527,8 +2542,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel private List copyPelayananSplitQty(PelayananPasien originPelayanan) { List result = new ArrayList<>(); - PelayananPasien duplicatePelayanan; - duplicatePelayanan = originPelayanan; + PelayananPasien duplicatePelayanan = new PelayananPasien(); + try { + duplicatePelayanan = pelayananPasienConverter.clone(originPelayanan, duplicatePelayanan, new String[] { + "serialVersionUID", "noRec", "pelayananPasienPetugasSet", "racikan", "pelayananPasienDetailSet" }); + } catch (IllegalAccessException e) { + throw new ServiceVOException(e.getMessage()); + } { AntrianPasienDiPeriksa antrian = originPelayanan.getPasien(); if (CommonUtil.isNotNullOrEmpty(antrian)) @@ -2609,7 +2629,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel if (CommonUtil.isNotNullOrEmpty(voucherPaket)) duplicatePelayanan.setVoucherPaket(voucherPaket); } - duplicatePelayanan.setNoRec(null); result.add(duplicatePelayanan); result.add(originPelayanan); return result; @@ -2618,8 +2637,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel private List copyPelayananDetailSplitQty(List originDetail) { List duplicateDetail = new ArrayList<>(); originDetail.forEach(origin -> { - PelayananPasienDetail duplicate; - duplicate = origin; + PelayananPasienDetail duplicate = new PelayananPasienDetail(); + try { + duplicate = pelayananPasienDetailConverter.clone(origin, duplicate, + new String[] { "serialVersionUID", "noRec" }); + } catch (IllegalAccessException e) { + throw new ServiceVOException(e.getMessage()); + } { AntrianPasienDiPeriksa pasien = origin.getPasien(); if (CommonUtil.isNotNullOrEmpty(pasien)) @@ -2660,7 +2684,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel if (CommonUtil.isNotNullOrEmpty(strukOrder)) duplicate.setStrukOrder(strukOrder); } - duplicate.setNoRec(null); duplicateDetail.add(duplicate); duplicateDetail.add(origin); }); @@ -2671,8 +2694,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel List originPetugas) { List duplicatePetugas = new ArrayList<>(); originPetugas.forEach(origin -> { - PelayananPasienPetugas duplicate; - duplicate = origin; + PelayananPasienPetugas duplicate = new PelayananPasienPetugas(); + try { + duplicate = pelayananPasienPetugasConverter.clone(origin, duplicate, + new String[] { "serialVersionUID", "noRec" }); + } catch (IllegalAccessException e) { + throw new ServiceVOException(e.getMessage()); + } { AntrianPasienDiPeriksa nomasuk = origin.getNomasuk(); if (CommonUtil.isNotNullOrEmpty(nomasuk)) @@ -2703,7 +2731,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel if (CommonUtil.isNotNullOrEmpty(kdruangan)) duplicate.setKdruangan(kdruangan); } - duplicate.setNoRec(null); duplicatePetugas.add(duplicate); duplicatePetugas.add(origin); }); @@ -2714,8 +2741,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel List originPelayananTidakTerklaim) { List duplicatePelayananTidakTerklaim = new ArrayList<>(); originPelayananTidakTerklaim.forEach(origin -> { - PelayananPasienTidakTerklaim duplicate; - duplicate = origin; + PelayananPasienTidakTerklaim duplicate = new PelayananPasienTidakTerklaim(); + try { + duplicate = pelayananPasienTidakTerklaimConverter.clone(origin, duplicate, + new String[] { "serialVersionUID", "noRec" }); + } catch (IllegalAccessException e) { + throw new ServiceVOException(e.getMessage()); + } { AntrianPasienDiPeriksa antrian = origin.getPasien(); if (CommonUtil.isNotNullOrEmpty(antrian)) @@ -2791,7 +2823,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel if (CommonUtil.isNotNullOrEmpty(strukResep)) duplicate.setStrukResep(strukResep); } - duplicate.setNoRec(null); duplicatePelayananTidakTerklaim.add(duplicate); duplicatePelayananTidakTerklaim.add(origin); }); @@ -2801,8 +2832,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel List copyDetailRacikanSplitQty(List originRacikanDetail) { List duplicateRacikanDetail = new ArrayList<>(); originRacikanDetail.forEach(origin -> { - RacikanDetail duplicate; - duplicate = origin; + RacikanDetail duplicate = new RacikanDetail(); + try { + duplicate = racikanDetailConverter.clone(origin, duplicate, + new String[] { "serialVersionUID", "noRec" }); + } catch (IllegalAccessException e) { + throw new ServiceVOException(e.getMessage()); + } { Produk produk = origin.getProduk(); if (CommonUtil.isNotNullOrEmpty(produk)) @@ -2818,7 +2854,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel if (CommonUtil.isNotNullOrEmpty(strukRacikan)) duplicate.setStrukRacikan(strukRacikan); } - duplicate.setNoRec(null); duplicateRacikanDetail.add(duplicate); duplicateRacikanDetail.add(origin); }); @@ -2829,14 +2864,18 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel List originMapPetugasPegawai) { List duplicateMapPetugasPegawai = new ArrayList<>(); originMapPetugasPegawai.forEach(origin -> { - MapPelayananPasienPetugasToPegawai duplicate; - duplicate = origin; + MapPelayananPasienPetugasToPegawai duplicate = new MapPelayananPasienPetugasToPegawai(); + try { + duplicate = mapPelayananPasienPetugasToPegawaiConverter.clone(origin, duplicate, + new String[] { "serialVersionUID", "noRec" }); + } catch (IllegalAccessException e) { + throw new ServiceVOException(e.getMessage()); + } { Pegawai pegawai = origin.getPegawai(); if (CommonUtil.isNotNullOrEmpty(pegawai)) duplicate.setPegawai(pegawai); } - duplicate.setNoRec(null); duplicateMapPetugasPegawai.add(duplicate); duplicateMapPetugasPegawai.add(origin); }); diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PelayananPasienTidakTerklaim.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PelayananPasienTidakTerklaim.java index dee76f20..095ba12e 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PelayananPasienTidakTerklaim.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PelayananPasienTidakTerklaim.java @@ -261,7 +261,7 @@ public class PelayananPasienTidakTerklaim extends MedicalRecordTransaction { @Column(name = "pelayananpasien", insertable = false, updatable = false) private String pelayananPasienId; - @Column(name = "No Masuk", length = 32) + @Column(name = "nomasukfk", length = 32) @Caption(value = "nomasukfk") private String noMasuk; } \ No newline at end of file