From 3c023474c937daee00e8d4e41deeff7a6ced5a47 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Wed, 10 Jan 2024 15:05:43 +0700 Subject: [PATCH] Update service resep dokter Penyesuaian aturan pakai signa di cetakan resep elektronik --- .../medifirst2000/dao/ResepDokterDao.java | 16 +++--- .../service/ResepDokterService.java | 20 ++++---- .../service/impl/ResepDokterServiceImpl.java | 49 +++++++++---------- .../controller/ReportingController.java | 20 ++++---- 4 files changed, 54 insertions(+), 51 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ResepDokterDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ResepDokterDao.java index 32a92eec..04ba1dfd 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ResepDokterDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ResepDokterDao.java @@ -1,14 +1,13 @@ package com.jasamedika.medifirst2000.dao; -import java.util.List; -import java.util.Map; - +import com.jasamedika.medifirst2000.entities.ResepDokter; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; -import com.jasamedika.medifirst2000.entities.ResepDokter; +import java.util.List; +import java.util.Map; /** * @author salmanoe @@ -26,8 +25,13 @@ public interface ResepDokterDao extends PagingAndSortingRepository findResepHeaderByStrukOrderId(@Param("strukOrderId") String strukOrderId); @Query("select new Map(rd.racikanKe as rKe," + "rd.namaObat as obat," + "rd.qtyProduk as jumlah," - + "rd.keteranganLainnya as instruksi," + "rd.keteranganPakai as aturanPakai) " + "from ResepDokter rd " - + "left join rd.strukOrder so " + "left join rd.ruangan ru " + "left join so.noRegistrasi pd " + + "rd.keteranganLainnya as instruksi,rd.aturanPakaiId as aturanId,rd.aturanPakaiSignaId as aturanSignaId," + + "rd.keteranganPakai as aturanPakai, ap.keteranganPakai as keteranganPakai," + + "jd.namaJumlah as jumlahSigna," + "sd.namaSatuan as satuanSigna," + "fp.namaFrekuensi as frekuensiSigna," + + "kp.namaKeterangan as keteranganSigna) " + "from ResepDokter rd " + "left join rd.strukOrder so " + + "left join rd.aturanPakai ap " + "left join rd.aturanPakaiSigna aps " + "left join aps.jumlahDosis jd " + + "left join aps.satuanDosis sd " + "left join aps.frekuensiPakaiObat fp " + + "left join aps.keteranganPakaiObat kp " + "left join rd.ruangan ru " + "left join so.noRegistrasi pd " + "left join so.noCm ps " + "inner join so.pegawaiOrder pg " + "where rd.strukOrderId = :strukOrderId " + "order by rd.racikanKe, rd.namaObat") List> findResepBodyByStrukOrderId(@Param("strukOrderId") String strukOrderId); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/ResepDokterService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/ResepDokterService.java index 037c0244..6fcae433 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/ResepDokterService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/ResepDokterService.java @@ -1,22 +1,22 @@ package com.jasamedika.medifirst2000.service; -import java.util.List; -import java.util.Map; - import com.jasamedika.medifirst2000.entities.ResepDokter; import com.jasamedika.medifirst2000.vo.ResepDokterVO; +import java.util.List; +import java.util.Map; + /** * @author salmanoe * @since Aug 9, 2022 * */ public interface ResepDokterService extends BaseVoService { - - public Map findHeaderResep(String strukOrderId); - - public List> findResepSatuan(String strukOrderId); - - public List> findResepRacikan(String strukOrderId); - + + Map findHeaderResep(String strukOrderId); + + List> findResepSatuan(String strukOrderId); + + List> findResepRacikan(String strukOrderId); + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/ResepDokterServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/ResepDokterServiceImpl.java index 198ca4d9..21067b3c 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/ResepDokterServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/ResepDokterServiceImpl.java @@ -1,34 +1,17 @@ package com.jasamedika.medifirst2000.service.impl; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - +import com.jasamedika.medifirst2000.converter.BaseConverterImpl; +import com.jasamedika.medifirst2000.dao.ResepDokterDao; +import com.jasamedika.medifirst2000.entities.*; +import com.jasamedika.medifirst2000.exception.ServiceVOException; +import com.jasamedika.medifirst2000.service.ResepDokterService; +import com.jasamedika.medifirst2000.util.CommonUtil; +import com.jasamedika.medifirst2000.vo.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.orm.jpa.JpaSystemException; import org.springframework.stereotype.Service; -import com.jasamedika.medifirst2000.converter.BaseConverterImpl; -import com.jasamedika.medifirst2000.dao.ResepDokterDao; -import com.jasamedika.medifirst2000.entities.JenisKemasan; -import com.jasamedika.medifirst2000.entities.JenisObat; -import com.jasamedika.medifirst2000.entities.Produk; -import com.jasamedika.medifirst2000.entities.ResepDokter; -import com.jasamedika.medifirst2000.entities.Ruangan; -import com.jasamedika.medifirst2000.entities.SatuanStandar; -import com.jasamedika.medifirst2000.entities.StrukOrder; -import com.jasamedika.medifirst2000.exception.ServiceVOException; -import com.jasamedika.medifirst2000.service.ResepDokterService; -import com.jasamedika.medifirst2000.util.CommonUtil; -import com.jasamedika.medifirst2000.vo.JenisKemasanVO; -import com.jasamedika.medifirst2000.vo.JenisObatVO; -import com.jasamedika.medifirst2000.vo.ProdukVO; -import com.jasamedika.medifirst2000.vo.ResepDokterVO; -import com.jasamedika.medifirst2000.vo.RuanganVO; -import com.jasamedika.medifirst2000.vo.SatuanStandarVO; -import com.jasamedika.medifirst2000.vo.StrukOrderVO; +import java.util.*; /** * @author salmanoe @@ -163,6 +146,14 @@ public class ResepDokterServiceImpl extends BaseVoServiceImpl implements ResepDo public List> findResepSatuan(String strukOrderId) { List> result = new ArrayList<>(); List> data = resepDokterDao.findResepBodyByStrukOrderId(strukOrderId); + data.forEach(d -> { + if (CommonUtil.isNotNullOrEmpty(d.get("aturanSignaId"))) { + d.put("instruksi", d.get("jumlahSigna").toString() + " " + d.get("satuanSigna").toString()); + d.put("aturanPakai", d.get("frekuensiSigna").toString() + " " + d.get("keteranganSigna").toString()); + } else if (CommonUtil.isNotNullOrEmpty(d.get("aturanId"))) { + d.put("aturanPakai", d.get("keteranganPakai")); + } + }); List listResepKe = new ArrayList<>(); for (Map map : data) { if (!listResepKe.contains(map.get("rKe"))) { @@ -191,6 +182,14 @@ public class ResepDokterServiceImpl extends BaseVoServiceImpl implements ResepDo public List> findResepRacikan(String strukOrderId) { List> result = new ArrayList<>(); List> data = resepDokterDao.findResepBodyByStrukOrderId(strukOrderId); + data.forEach(d -> { + if (CommonUtil.isNotNullOrEmpty(d.get("aturanSignaId"))) { + d.put("instruksi", d.get("jumlahSigna").toString() + " " + d.get("satuanSigna").toString()); + d.put("aturanPakai", d.get("frekuensiSigna").toString() + " " + d.get("keteranganSigna").toString()); + } else if (CommonUtil.isNotNullOrEmpty(d.get("aturanId"))) { + d.put("aturanPakai", d.get("keteranganPakai")); + } + }); List listResepKe = new ArrayList<>(); for (Map map : data) { if (!listResepKe.contains(map.get("rKe"))) { diff --git a/jasamedika-reporting/src/main/java/com/jasamedika/medifirst2000/controller/ReportingController.java b/jasamedika-reporting/src/main/java/com/jasamedika/medifirst2000/controller/ReportingController.java index 98db7ca7..89ce011c 100644 --- a/jasamedika-reporting/src/main/java/com/jasamedika/medifirst2000/controller/ReportingController.java +++ b/jasamedika-reporting/src/main/java/com/jasamedika/medifirst2000/controller/ReportingController.java @@ -1690,7 +1690,7 @@ public class ReportingController extends LocaleController dto.setLamaDirawatPenderitaMasuk( AgeCalculator.calculateAge2(df.parse(tglKeluar), df.parse(tglMasuk)).toString()); } catch (ParseException e) { - e.printStackTrace(); + throw new ServiceVOException(e.getMessage()); } } dto.setStatusKeluar(statusKeluar); @@ -4376,7 +4376,7 @@ public class ReportingController extends LocaleController m.addObject("endDate", DateUtil.getIndonesianStringDate(sdf.parse(endDate))); m.addObject("startDate", DateUtil.getIndonesianStringDate(sdf.parse(startDate))); } catch (ParseException e) { - e.printStackTrace(); + throw new ServiceVOException(e.getMessage()); } m.addObject("idFinger", temp.get("idFinger")); m.addObject("jmlterlambat", ((Long) kehadiran.get("jumlahTerlambat")).toString()); @@ -5672,7 +5672,7 @@ public class ReportingController extends LocaleController m.addObject("endDate", ed); } catch (ParseException e) { - e.printStackTrace(); + throw new ServiceVOException(e.getMessage()); } Map resultSimpan = neracaLimbahService.findReportNeracaLimbahB3(noRec); @@ -6667,7 +6667,7 @@ public class ReportingController extends LocaleController getMessage(MessageResource.LABEL_SUCCESS, request)); } catch (Exception e) { - e.printStackTrace(); + throw new ServiceVOException(e.getMessage()); } return RestUtil.getJsonResponse(result, HttpStatus.OK); } @@ -6827,7 +6827,7 @@ public class ReportingController extends LocaleController m.addObject("endDate", ed); } catch (ParseException e) { - e.printStackTrace(); + throw new ServiceVOException(e.getMessage()); } m.addObject("dataSource", dataSource.get("dataSource")); @@ -6862,7 +6862,7 @@ public class ReportingController extends LocaleController m.addObject("endDate", ed); } catch (ParseException e) { - e.printStackTrace(); + throw new ServiceVOException(e.getMessage()); } m.addObject("dsRekapLayananLaundry", dsRekapLayananLaundry); @@ -6900,7 +6900,7 @@ public class ReportingController extends LocaleController m.addObject("endDate", ed); } catch (ParseException e) { - e.printStackTrace(); + throw new ServiceVOException(e.getMessage()); } m.addObject("dsRekapLayananSterilisasi", dsRekapLayananSterilisasi); @@ -6941,7 +6941,7 @@ public class ReportingController extends LocaleController m.addObject("endDate", ed); } catch (ParseException e) { - e.printStackTrace(); + throw new ServiceVOException(e.getMessage()); } m.addObject("dsRekapPengirimanSterilisasi", dsRekapPengirimanSterilisasi); @@ -7025,7 +7025,7 @@ public class ReportingController extends LocaleController periode = DateUtil.getIndonesianStringDate(sd) + " s/d " + DateUtil.getIndonesianStringDate(ed); } } catch (ParseException e) { - e.printStackTrace(); + throw new ServiceVOException(e.getMessage()); } if (CommonUtil.isNotNullOrEmpty(ruanganId)) { m.addObject("ruangan", ruanganDao.findOne(ruanganId).getNamaRuangan()); @@ -7093,7 +7093,7 @@ public class ReportingController extends LocaleController m.addObject("endDate", ed); } catch (ParseException e) { - e.printStackTrace(); + throw new ServiceVOException(e.getMessage()); } m.addObject("dsRekapLayananLaundry", dsRekapCuciLinen);