Update ResepDokterService

Penyesuaian cetakan resep baru
This commit is contained in:
salmanoersabhk 2022-08-15 19:41:46 +07:00
parent a46d1483c0
commit 3418991936
4 changed files with 94 additions and 52 deletions

View File

@ -17,12 +17,26 @@ import com.jasamedika.medifirst2000.entities.ResepDokter;
*/
@Repository("resepDokterDao")
public interface ResepDokterDao extends PagingAndSortingRepository<ResepDokter, String> {
@Query("select new Map(so.noRec as noRec," + "so.tglOrder as tglOrder," + "so.masalah as alergi,"
@Query("select distinct new Map(so.noRec as noRec," + "so.tglOrder as tglOrder," + "so.masalah as alergi,"
+ "so.diagnosis as beratBadan," + "ru.namaRuangan as ruangan," + "pg.namaLengkap as dokter,"
+ "pd.noRegistrasi as noRegistrasi," + "ps.namaPasien as namaPasien," + "ps.tglLahir as tglLahir,"
+ "ps.noCm as noCm," + "rd.racikanKe as rKe," + "rd.namaObat as obat," + "rd.qtyProduk as jumlah,"
+ "ps.noCm as noCm, " + "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 "
+ "left join so.noCm ps " + "inner join so.pegawaiOrder pg " + "where rd.strukOrderId = :strukOrderId")
List<Map<String, Object>> findByStrukOrderId(@Param("strukOrderId") String strukOrderId);
@Query("select distinct new Map(so.noRec as noRec," + "so.tglOrder as tglOrder," + "so.masalah as alergi,"
+ "so.diagnosis as beratBadan," + "ru.namaRuangan as ruangan," + "pg.namaLengkap as dokter,"
+ "pd.noRegistrasi as noRegistrasi," + "ps.namaPasien as namaPasien," + "ps.tglLahir as tglLahir,"
+ "ps.noCm as noCm) " + "from ResepDokter rd " + "left join rd.strukOrder so " + "left join rd.ruangan ru "
+ "left join so.noRegistrasi pd " + "left join so.noCm ps " + "inner join so.pegawaiOrder pg "
+ "where rd.strukOrderId = :strukOrderId")
Map<String, Object> 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 "
+ "left join so.noCm ps " + "inner join so.pegawaiOrder pg " + "where rd.strukOrderId = :strukOrderId")
List<Map<String, Object>> findResepBodyByStrukOrderId(@Param("strukOrderId") String strukOrderId);
}

View File

@ -15,7 +15,9 @@ public interface ResepDokterService extends BaseVoService<ResepDokter, ResepDokt
public List<Map<String, Object>> findByStrukOrderId(String strukOrderId);
public List<Map<String, Object>> findHeaderResep(String strukOrderId);
public Map<String, Object> findHeaderResep(String strukOrderId);
public List<Map<String, Object>> findResepSatuan(String strukOrderId);
public List<Map<String, Object>> findResepRacikan(String strukOrderId);

View File

@ -1,6 +1,7 @@
package com.jasamedika.medifirst2000.service.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -35,28 +36,28 @@ import com.jasamedika.medifirst2000.vo.StrukOrderVO;
*/
@Service("resepDokterService")
public class ResepDokterServiceImpl extends BaseVoServiceImpl implements ResepDokterService {
@Autowired
private BaseConverterImpl<ResepDokterVO, ResepDokter> resepDokterConverter;
@Autowired
private BaseConverterImpl<ProdukVO, Produk> produkConverter;
@Autowired
private BaseConverterImpl<RuanganVO, Ruangan> ruanganConverter;
@Autowired
private BaseConverterImpl<SatuanStandarVO, SatuanStandar> satuanConverter;
@Autowired
private BaseConverterImpl<StrukOrderVO, StrukOrder> strukOrderConverter;
@Autowired
private BaseConverterImpl<JenisObatVO, JenisObat> jenisObatConverter;
@Autowired
private BaseConverterImpl<JenisKemasanVO, JenisKemasan> jenisKemasanConverter;
@Autowired
private ResepDokterDao resepDokterDao;
@ -123,7 +124,7 @@ public class ResepDokterServiceImpl extends BaseVoServiceImpl implements ResepDo
public List<ResepDokterVO> findAll() throws JpaSystemException {
List<ResepDokterVO> result = new ArrayList<ResepDokterVO>();
Iterable<ResepDokter> models = resepDokterDao.findAll();
if (CommonUtil.isNotNullOrEmpty(models)) {
if (CommonUtil.isNotNullOrEmpty(models)) {
for (ResepDokter model : models) {
ResepDokterVO vo = new ResepDokterVO();
vo = resepDokterConverter.transferModelToVO(model, vo);
@ -149,31 +150,68 @@ public class ResepDokterServiceImpl extends BaseVoServiceImpl implements ResepDo
}
@Override
public List<Map<String, Object>> findHeaderResep(String strukOrderId) {
public Map<String, Object> findHeaderResep(String strukOrderId) {
Map<String, Object> result = resepDokterDao.findResepHeaderByStrukOrderId(strukOrderId);
return result;
}
@Override
public List<Map<String, Object>> findResepSatuan(String strukOrderId) {
List<Map<String, Object>> result = new ArrayList<>();
List<Map<String, Object>> data = resepDokterDao.findByStrukOrderId(strukOrderId);
List<Map<String, Object>> data = resepDokterDao.findResepBodyByStrukOrderId(strukOrderId);
List<String> listResepKe = new ArrayList<>();
for (Map<String, Object> map : data) {
if (!listResepKe.contains(map.get("rKe"))) {
listResepKe.add(map.get("rKe").toString());
}
}
int jumlahResep = 0;
for (String resepKe : listResepKe) {
int jumlahResep = 0;
Map<String, Object> rsMap = new HashMap<String, Object>();
for (Map<String, Object> map : data) {
if (resepKe.equals(map.get("rKe"))) {
rsMap.putAll(map);
jumlahResep++;
}
}
if (jumlahResep == 1) {
result.add(rsMap);
}
}
return null;
return result;
}
@Override
public List<Map<String, Object>> findResepRacikan(String strukOrderId) {
List<Map<String, Object>> result = new ArrayList<>();
List<Map<String, Object>> data = resepDokterDao.findByStrukOrderId(strukOrderId);
return null;
List<Map<String, Object>> data = resepDokterDao.findResepBodyByStrukOrderId(strukOrderId);
List<String> listResepKe = new ArrayList<>();
for (Map<String, Object> map : data) {
if (!listResepKe.contains(map.get("rKe"))) {
listResepKe.add(map.get("rKe").toString());
}
}
List<String> listRacikan = new ArrayList<>();
for (String resepKe : listResepKe) {
int jumlahResep = 0;
String racikanKe = resepKe;
for (Map<String, Object> map : data) {
if (resepKe.equals(map.get("rKe"))) {
jumlahResep++;
}
}
if (jumlahResep > 1) {
listRacikan.add(racikanKe);
}
}
for (String racikanKe : listRacikan) {
for (Map<String, Object> map : data) {
if (racikanKe.equals(map.get("rKe"))) {
result.add(map);
}
}
}
return result;
}
}

View File

@ -130,6 +130,7 @@ import com.jasamedika.medifirst2000.service.RekrutmenService;
import com.jasamedika.medifirst2000.service.ReportService;
import com.jasamedika.medifirst2000.service.ReportingPegawaiService;
import com.jasamedika.medifirst2000.service.ReportingPelayananRekamMedisService;
import com.jasamedika.medifirst2000.service.ResepDokterService;
import com.jasamedika.medifirst2000.service.ReturRuanganService;
import com.jasamedika.medifirst2000.service.RuanganService;
import com.jasamedika.medifirst2000.service.StokProdukGlobalService;
@ -336,6 +337,9 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
@Autowired
private CatatanPerkembanganPasienTerintegrasiService cpptService;
@Autowired
private ResepDokterService resepDokterService;
@SuppressWarnings("unchecked")
@RequestMapping("/instalasiRawatInap")
@ -7502,40 +7506,24 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
@RequestMapping("/resep")
public ModelAndView generateResep(ModelAndView m, @RequestParam(value = "format", required = false) String format,
@RequestParam(value = "startDate", required = true) String startDate,
@RequestParam(value = "endDate", required = true) String endDate) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Map<String, Object> kepalaTtdRekap = pegawaiService
.findKepalaPegawai("Kepala Instalasi Loundry dan Sterilisasi Sentral");
Map<String, Object> grandTarifQty = laundryService.findGrandTarifQtyCuciLinen(startDate, endDate);
List<Map<String, Object>> dsRekapCuciLinen = laundryService.findDepartemenTarifQtyCuciLinen(startDate, endDate);
List<Map<String, Object>> sdsRekapCuciLinen = laundryService.findRuanganTarifQtyCuciLinen(startDate, endDate);
try {
Date sd = df.parse(startDate);
Date ed = df.parse(endDate);
m.addObject("startDate", sd);
m.addObject("endDate", ed);
} catch (ParseException e) {
e.printStackTrace();
}
m.addObject("dsRekapLayananLaundry", dsRekapCuciLinen);
m.addObject("sdsRekapLayananLaundry", sdsRekapCuciLinen);
m.addObject("grandSubTotal", grandTarifQty.get("grandSubTotal"));
m.addObject("grandTotal", grandTarifQty.get("grandTotal"));
m.addObject("grandBerat", grandTarifQty.get("grandBerat"));
m.addObject("rataanBeratCucian", grandTarifQty.get("rataanBeratCucian"));
m.addObject("rataanLembarCucian", grandTarifQty.get("rataanLembarCucian"));
@RequestParam(value = "struk_order_id", required = true) String strukOrderId) {
Map<String, Object> headerResep = resepDokterService.findHeaderResep(strukOrderId);
List<Map<String, Object>> dsResep = resepDokterService.findResepSatuan(strukOrderId);
List<Map<String, Object>> sdsResep = resepDokterService.findResepRacikan(strukOrderId);
m.addObject("dsResep", dsResep);
m.addObject("sdsResep", sdsResep);
m.addObject("noRec", headerResep.get("noRec"));
m.addObject("tglOrder", headerResep.get("tglOrder"));
m.addObject("alergi", headerResep.get("alergi"));
m.addObject("beratBadan", headerResep.get("beratBadan"));
m.addObject("ruangan", headerResep.get("ruangan"));
m.addObject("dokter", headerResep.get("dokter"));
m.addObject("noRegistrasi", headerResep.get("noRegistrasi"));
m.addObject("namaPasien", headerResep.get("namaPasien"));
m.addObject("tglLahir", headerResep.get("tglLahir"));
m.addObject("noCm", headerResep.get("noCm"));
m.addObject("format", "pdf");
if (CommonUtil.isNotNullOrEmpty(kepalaTtdRekap)) {
m.addObject("nipPegawai", kepalaTtdRekap.get("nipPegawai"));
m.addObject("namaPegawai", kepalaTtdRekap.get("namaPegawai"));
}
if (format != null && !format.isEmpty()) {
m.addObject("format", format);
}