- pembuatan service simpan dan edit pelayanan pasien oleh perawat

- pembuatan service tampilan pelayanan pasien oleh perawat yang sudah dientri
- pembuatan service hapus pelayanan pasien oleh perawat
- penghapusan status verifikasi di pelayanan pasien oleh perawat
- penghapusan informasi verifikator di pelayanan pasien oleh perawat
This commit is contained in:
Salman Manoe 2021-09-21 16:01:01 +07:00
parent 912f1dc9f6
commit 22a541f519
7 changed files with 175 additions and 54 deletions

View File

@ -1,6 +1,11 @@
package com.jasamedika.medifirst2000.dao;
import java.util.List;
import java.util.Map;
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.PelayananPasienPerawat;
@ -8,4 +13,14 @@ import com.jasamedika.medifirst2000.entities.PelayananPasienPerawat;
@Repository("pelayananPasienPerawatDao")
public interface PelayananPasienPerawatDao extends PagingAndSortingRepository<PelayananPasienPerawat, String> {
@Query("select new Map(pp.noRec as noRec,pp.antrianPasienDiperiksaId as noRecAPD,"
+ "pr.id as produkId,pr.namaProduk as namaProduk,"
+ "pp.tglPelayanan as tglPelayanan,to_char(pp.tglPelayanan,'dd-MM-yyyy HH24:MI:ss') as tglPelayananFormatted,"
+ "pp.jumlah as jumlah,pp.skor as skor,(pp.jumlah*pp.skor) as tSkor,"
+ "pg.id as pegawaiId,pg.namaLengkap as namaLengkap) " + "from PelayananPasienPerawat pp "
+ "inner join pp.produk pr " + "left join pp.pegawai pg " + "where pp.statusEnabled is true "
+ "and pp.antrianPasienDiperiksaId = :norecAPD " + "and pg.id = :pegawaiId " + "order by pp.tglPelayanan")
List<Map<String, Object>> findByAntrianPasienDiperiksa(@Param("norecAPD") String noRec,
@Param("pegawaiId") Integer idPegawai);
}

View File

@ -91,4 +91,11 @@ public interface SkoringTindakanPerawatDao extends PagingAndSortingRepository<Sk
+ "and stp.noRec in (:listNorec)")
List<Map<String, Object>> findAllDup(@Param("listNorec") List<String> listNorec);
@Query(value = "select * from sdm_skoringtindakanperawat_t "
+ "where statusenabled is true and statusverifikasi is true "
+ "and objectprodukperawatfk = :produkId and to_char(tanggalmulaiberlaku,'yyyy-MM-dd') <= :tglMulaiBerlaku "
+ "order by tanggalmulaiberlaku desc, tanggalpembaharuandata desc limit 1", nativeQuery = true)
SkoringTindakanPerawat findLast(@Param("produkId") Integer idProduk,
@Param("tglMulaiBerlaku") String tglMulaiBerlaku);
}

View File

@ -1,8 +1,16 @@
package com.jasamedika.medifirst2000.service;
import java.util.List;
import java.util.Map;
import org.springframework.orm.jpa.JpaSystemException;
import com.jasamedika.medifirst2000.entities.PelayananPasienPerawat;
import com.jasamedika.medifirst2000.vo.PelayananPasienPerawatVO;
public interface PelayananPasienPerawatService extends BaseVoService<PelayananPasienPerawat, PelayananPasienPerawatVO, String> {
public interface PelayananPasienPerawatService
extends BaseVoService<PelayananPasienPerawat, PelayananPasienPerawatVO, String> {
List<Map<String, Object>> findByAntrianPasienDiperiksa(String noRec, Integer idPegawai) throws JpaSystemException;
}

View File

@ -1,5 +1,7 @@
package com.jasamedika.medifirst2000.service.impl;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -10,10 +12,12 @@ import org.springframework.stereotype.Service;
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.dao.PelayananPasienPerawatDao;
import com.jasamedika.medifirst2000.dao.SkoringTindakanPerawatDao;
import com.jasamedika.medifirst2000.entities.AntrianPasienDiPeriksa;
import com.jasamedika.medifirst2000.entities.Pegawai;
import com.jasamedika.medifirst2000.entities.PelayananPasienPerawat;
import com.jasamedika.medifirst2000.entities.ProdukPerawat;
import com.jasamedika.medifirst2000.entities.SkoringTindakanPerawat;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.PelayananPasienPerawatService;
import com.jasamedika.medifirst2000.util.CommonUtil;
@ -40,18 +44,34 @@ public class PelayananPasienPerawatServiceImpl extends BaseVoServiceImpl impleme
@Autowired
private PelayananPasienPerawatDao pelayananPerawatDao;
@Autowired
private SkoringTindakanPerawatDao skoringTindakanPerawatDao;
@Override
public PelayananPasienPerawatVO add(PelayananPasienPerawatVO vo) throws JpaSystemException, ServiceVOException {
AntrianPasienDiPeriksa antrianPasien = antrianPasienConverter.transferVOToModel(vo.getAntrianPasienDiperiksa(),
new AntrianPasienDiPeriksa());
ProdukPerawat produk = produkPerawatConverter.transferVOToModel(vo.getProduk(), new ProdukPerawat());
Pegawai verifikator = pegawaiConverter.transferVOToModel(vo.getVerifikator(), new Pegawai());
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
PelayananPasienPerawat pelayananPerawat = pelayananPerawatConverter.transferVOToModel(vo,
new PelayananPasienPerawat());
AntrianPasienDiPeriksa antrianPasien = antrianPasienConverter.transferVOToModel(vo.getAntrianPasienDiperiksa(),
new AntrianPasienDiPeriksa());
pelayananPerawat.setAntrianPasienDiperiksa(antrianPasien);
ProdukPerawat produk = produkPerawatConverter.transferVOToModel(vo.getProduk(), new ProdukPerawat());
pelayananPerawat.setProduk(produk);
pelayananPerawat.setVerifikator(verifikator);
Pegawai pegawai = pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai());
pelayananPerawat.setPegawai(pegawai);
SkoringTindakanPerawat skoringPerawat = skoringTindakanPerawatDao.findLast(vo.getProduk().getId(),
df.format(vo.getTglPelayanan()));
if (CommonUtil.isNotNullOrEmpty(skoringPerawat)) {
pelayananPerawat.setSkor(skoringPerawat.getSkor());
} else {
pelayananPerawat.setSkor(1.00);
}
PelayananPasienPerawat resultModel = pelayananPerawatDao.save(pelayananPerawat);
PelayananPasienPerawatVO resultVO = new PelayananPasienPerawatVO();
@ -62,18 +82,31 @@ public class PelayananPasienPerawatServiceImpl extends BaseVoServiceImpl impleme
@Override
public PelayananPasienPerawatVO update(PelayananPasienPerawatVO vo) throws JpaSystemException, ServiceVOException {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
PelayananPasienPerawat pelayananPerawatLama = pelayananPerawatDao.findOne(vo.getNoRec());
AntrianPasienDiPeriksa antrianPasien = antrianPasienConverter.transferVOToModel(vo.getAntrianPasienDiperiksa(),
new AntrianPasienDiPeriksa());
ProdukPerawat produk = produkPerawatConverter.transferVOToModel(vo.getProduk(), new ProdukPerawat());
Pegawai verifikator = pegawaiConverter.transferVOToModel(vo.getVerifikator(), new Pegawai());
PelayananPasienPerawat pelayananPerawatBaru = pelayananPerawatConverter.transferVOToModel(vo,
pelayananPerawatLama);
AntrianPasienDiPeriksa antrianPasien = antrianPasienConverter.transferVOToModel(vo.getAntrianPasienDiperiksa(),
new AntrianPasienDiPeriksa());
pelayananPerawatBaru.setAntrianPasienDiperiksa(antrianPasien);
ProdukPerawat produk = produkPerawatConverter.transferVOToModel(vo.getProduk(), new ProdukPerawat());
pelayananPerawatBaru.setProduk(produk);
pelayananPerawatBaru.setVerifikator(verifikator);
Pegawai pegawai = pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai());
pelayananPerawatBaru.setPegawai(pegawai);
SkoringTindakanPerawat skoringPerawat = skoringTindakanPerawatDao.findLast(vo.getProduk().getId(),
df.format(vo.getTglPelayanan()));
if (CommonUtil.isNotNullOrEmpty(skoringPerawat)) {
pelayananPerawatBaru.setSkor(skoringPerawat.getSkor());
} else {
pelayananPerawatBaru.setSkor(1.00);
}
PelayananPasienPerawat resultModel = pelayananPerawatDao.save(pelayananPerawatBaru);
PelayananPasienPerawatVO resultVO = new PelayananPasienPerawatVO();
@ -124,4 +157,12 @@ public class PelayananPasienPerawatServiceImpl extends BaseVoServiceImpl impleme
return null;
}
@Override
public List<Map<String, Object>> findByAntrianPasienDiperiksa(String noRec, Integer idPegawai)
throws JpaSystemException {
List<Map<String, Object>> result = pelayananPerawatDao.findByAntrianPasienDiperiksa(noRec, idPegawai);
return result;
}
}

View File

@ -49,17 +49,13 @@ public class PelayananPasienPerawat extends BaseTransaction {
@Caption(value = "Jumlah")
private Double jumlah;
@Column(name = "verifikasi", nullable = true)
@Caption(value = "Verifikasi")
private Short verifikasi;
@ManyToOne
@JoinColumn(name = "objectpegawaifk")
@Caption(value = "Pegawai")
private Pegawai verifikator;
private Pegawai pegawai;
@Column(name = "objectpegawaifk", insertable = false, updatable = false, nullable = true)
private Integer verifikatorId;
private Integer pegawaiId;
public AntrianPasienDiPeriksa getAntrianPasienDiperiksa() {
return antrianPasienDiperiksa;
@ -117,28 +113,20 @@ public class PelayananPasienPerawat extends BaseTransaction {
this.jumlah = jumlah;
}
public Short getVerifikasi() {
return verifikasi;
public Pegawai getPegawai() {
return pegawai;
}
public void setVerifikasi(Short verifikasi) {
this.verifikasi = verifikasi;
public void setPegawai(Pegawai pegawai) {
this.pegawai = pegawai;
}
public Pegawai getVerifikator() {
return verifikator;
public Integer getPegawaiId() {
return pegawaiId;
}
public void setVerifikator(Pegawai verifikator) {
this.verifikator = verifikator;
}
public Integer getVerifikatorId() {
return verifikatorId;
}
public void setVerifikatorId(Integer verifikatorId) {
this.verifikatorId = verifikatorId;
public void setPegawaiId(Integer pegawaiId) {
this.pegawaiId = pegawaiId;
}
}

View File

@ -26,13 +26,10 @@ public class PelayananPasienPerawatVO extends BaseTransactionVO {
@Caption(value = "Jumlah")
private Double jumlah;
@Caption(value = "Verifikasi")
private Short verifikasi;
@Caption(value = "Pegawai")
private PegawaiVO verifikator;
private PegawaiVO pegawai;
private Integer verifikatorId;
private Integer pegawaiId;
public AntrianPasienDiPeriksaVO getAntrianPasienDiperiksa() {
return antrianPasienDiperiksa;
@ -90,28 +87,20 @@ public class PelayananPasienPerawatVO extends BaseTransactionVO {
this.jumlah = jumlah;
}
public Short getVerifikasi() {
return verifikasi;
public PegawaiVO getPegawai() {
return pegawai;
}
public void setVerifikasi(Short verifikasi) {
this.verifikasi = verifikasi;
public void setPegawai(PegawaiVO pegawai) {
this.pegawai = pegawai;
}
public PegawaiVO getVerifikator() {
return verifikator;
public Integer getPegawaiId() {
return pegawaiId;
}
public void setVerifikator(PegawaiVO verifikator) {
this.verifikator = verifikator;
}
public Integer getVerifikatorId() {
return verifikatorId;
}
public void setVerifikatorId(Integer verifikatorId) {
this.verifikatorId = verifikatorId;
public void setPegawaiId(Integer pegawaiId) {
this.pegawaiId = pegawaiId;
}
}

View File

@ -36,6 +36,7 @@ import com.jasamedika.medifirst2000.service.LogbookKinerjaDetailService;
import com.jasamedika.medifirst2000.service.LogbookKinerjaDokterService;
import com.jasamedika.medifirst2000.service.LogbookKinerjaService;
import com.jasamedika.medifirst2000.service.MapPegawaiJabatanToUnitKerjaService;
import com.jasamedika.medifirst2000.service.PelayananPasienPerawatService;
import com.jasamedika.medifirst2000.service.RemunerasiOperasionalService;
import com.jasamedika.medifirst2000.service.SkoringTindakanMedisService;
import com.jasamedika.medifirst2000.service.SkoringTindakanPerawatService;
@ -49,6 +50,7 @@ import com.jasamedika.medifirst2000.vo.IndikatorKinerjaJabatanVO;
import com.jasamedika.medifirst2000.vo.IndikatorKinerjaVO;
import com.jasamedika.medifirst2000.vo.LogbookKinerjaDetailVO;
import com.jasamedika.medifirst2000.vo.LogbookKinerjaVO;
import com.jasamedika.medifirst2000.vo.PelayananPasienPerawatVO;
import com.jasamedika.medifirst2000.vo.RemunerasiOperasionalVO;
import com.jasamedika.medifirst2000.vo.SettingPirSdmVO;
import com.jasamedika.medifirst2000.vo.SkoringTindakanMedisVO;
@ -102,6 +104,9 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
@Autowired
private SkoringTindakanPerawatService skoringTindakanPerawatService;
@Autowired
private PelayananPasienPerawatService pelayananPasienPerawatService;
@RequestMapping(value = "/get-load-data", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Map<String, Object>> getLoadData(HttpServletRequest request) {
try {
@ -1494,4 +1499,72 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
}
}
@RequestMapping(value = "/save-pelayanan-pasien-perawat", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<PelayananPasienPerawatVO> savePelayananPasienPerawat(HttpServletRequest request,
@Valid @RequestBody PelayananPasienPerawatVO vo) {
try {
PelayananPasienPerawatVO result = new PelayananPasienPerawatVO();
if (CommonUtil.isNotNullOrEmpty(vo.getNoRec())) {
result = pelayananPasienPerawatService.update(vo);
} else {
result = pelayananPasienPerawatService.add(vo);
}
if (CommonUtil.isNotNullOrEmpty(result)) {
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.CREATED, mapHeaderMessage);
} else {
return RestUtil.getJsonHttptatus(HttpStatus.NOT_ACCEPTABLE);
}
} catch (ServiceVOException sve) {
LOGGER.error("Got exception {} when add/update pelayanan pasien oleh perawat", sve.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when add/update pelayanan pasien oleh perawat", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/delete-pelayanan-pasien-perawat", method = RequestMethod.POST)
public ResponseEntity<Boolean> deletePelayananPasienPerawat(HttpServletRequest request,
@RequestParam(value = "noRec", required = true) String norec) {
try {
Boolean result = pelayananPasienPerawatService.delete(norec);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
} catch (ServiceVOException sve) {
LOGGER.error("Got exception {} when delete pelayanan pasien perawat", sve.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when delete pelayanan pasien perawat", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/get-pelayanan-pasien-perawat", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> getPelayananPasienPerawat(HttpServletRequest request,
@RequestParam(value = "noRec", required = true) String noRec,
@RequestParam(value = "pegawaiId", required = true) Integer idPegawai) throws ParseException {
try {
List<Map<String, Object>> result = pelayananPasienPerawatService.findByAntrianPasienDiperiksa(noRec,
idPegawai);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
} catch (ServiceVOException sve) {
LOGGER.error("Got exception {} when get pelayanan pasien oleh perawat", sve.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when get pelayanan pasien oleh perawat", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
}