- pembuatan service simpan, edit, delete entri kegiatan tkl nonpelayanan pasien

- pembuatan service detail kegiatan tkl nonpelayan pasien
- pembuatan entity cppt
- pendaftaran entity cppt dalam konfigurasi hibernate
- pembuatan tabel pelayanan nakes lain nonppa
- pendaftaran konstanta indikator pelayanan pasien dan indikator nonpelayanan pasien oleh tkl
This commit is contained in:
salmanoe 2021-10-19 22:12:32 +07:00
parent c4bc255150
commit a2b7df8ccf
12 changed files with 826 additions and 43 deletions

View File

@ -87,6 +87,8 @@ public class Master {
public static final Integer PEMENUHAN_JAM_KERJA = 350;
public static final Integer PELAYANAN_MEDIS_JAM_KERJA = 466;
public static final Integer PELAYANAN_MEDIS_LUAR_JAM_KERJA = 522;
public static final Integer PELAYANAN_PASIEN_NAKES = 672;
public static final Integer PELAYANAN_NON_PASIEN_NAKES = 673;
}
public static final class IndikatorKinerjaJamKerja {
@ -122,8 +124,8 @@ public class Master {
public static final int LEVEL_DIRUT = 1;
public static final int LEVEL_DIREKTUR = 2;
public static final Integer[] LEVEL_KEPALA = { 3, 4 };
public static final Integer[] DIRUT = { 137, 896, 1172 };
public static final Integer[] LEVEL_KEPALA = { 3, 4 };
}
public static final class JenisPegawai {

View File

@ -0,0 +1,31 @@
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.PelayananNakes;
/**
* @author ITI-14
* @since Oct 18, 2021
*/
@Repository("pelayananNakesDao")
public interface PelayananNakesDao extends PagingAndSortingRepository<PelayananNakes, String> {
@Query("select new Map(pp.noRec as noRec," + "pr.id as produkId,pr.namaProduk as namaProduk,"
+ "pfs.id as profesiId,pfs.namaProfesi as namaProfesi,"
+ "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,pp.catatan as catatan,"
+ "pg.id as pegawaiId,pg.namaLengkap as namaLengkap) " + "from PelayananNakes pp "
+ "inner join pp.produk pr " + "inner join pr.profesi pfs " + "left join pp.pegawai pg "
+ "where pp.statusEnabled is true " + "and pr.kdProduk = 2 "
+ "and to_char(pp.tglPelayanan,'yyyy-MM') = :bulan " + "and pg.id = :pegawaiId "
+ "order by pp.tglPelayanan")
List<Map<String, Object>> findDetailLogbook(@Param("bulan") String bulan, @Param("pegawaiId") Integer idPegawai);
}

View File

@ -0,0 +1,19 @@
package com.jasamedika.medifirst2000.service;
import java.util.List;
import java.util.Map;
import org.springframework.orm.jpa.JpaSystemException;
import com.jasamedika.medifirst2000.entities.PelayananNakes;
import com.jasamedika.medifirst2000.vo.PelayananNakesVO;
/**
* @author ITI-14
* @since Oct 18, 2021
*/
public interface PelayananNakesService extends BaseVoService<PelayananNakes, PelayananNakesVO, String> {
List<Map<String, Object>> findDetailLogbook(Long bulan, Integer idPegawai) throws JpaSystemException;
}

View File

@ -41,7 +41,6 @@ import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.AntrianPasienDiPeriksaService;
import com.jasamedika.medifirst2000.service.KonsultasiService;
import com.jasamedika.medifirst2000.service.LoginUserService;
import com.jasamedika.medifirst2000.service.RegistrasiPelayananService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.util.DateUtil;
import com.jasamedika.medifirst2000.util.JsonUtil;
@ -96,9 +95,6 @@ public class KonsultasiServiceImpl extends BaseVoServiceImpl implements Konsulta
@Autowired
private JadwalDokterDao jadwalDokterDao;
@Autowired
private RegistrasiPelayananService registrasiPelayananService;
@Override
public Map<String, Object> addKonsultasi(KonsultasiVO vo) {
Map<String, Object> result = new HashMap<String, Object>();

View File

@ -0,0 +1,164 @@
package com.jasamedika.medifirst2000.service.impl;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
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.PelayananNakesDao;
import com.jasamedika.medifirst2000.dao.SkoringTindakanNakesDao;
import com.jasamedika.medifirst2000.entities.Pegawai;
import com.jasamedika.medifirst2000.entities.PelayananNakes;
import com.jasamedika.medifirst2000.entities.ProdukNakes;
import com.jasamedika.medifirst2000.entities.SkoringTindakanNakes;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.PelayananNakesService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.vo.PegawaiVO;
import com.jasamedika.medifirst2000.vo.PelayananNakesVO;
import com.jasamedika.medifirst2000.vo.ProdukNakesVO;
/**
* @author ITI-14
* @since Oct 18, 2021
*/
@Service("pelayananNakesService")
public class PelayananNakesServiceImpl extends BaseVoServiceImpl implements PelayananNakesService {
@Autowired
private BaseConverterImpl<PelayananNakesVO, PelayananNakes> pelayananNakesConverter;
@Autowired
private BaseConverterImpl<ProdukNakesVO, ProdukNakes> produkNakesConverter;
@Autowired
private BaseConverterImpl<PegawaiVO, Pegawai> pegawaiConverter;
@Autowired
private PelayananNakesDao pelayananNakesDao;
@Autowired
private SkoringTindakanNakesDao skoringTindakanNakesDao;
@Override
public PelayananNakesVO add(PelayananNakesVO vo) throws JpaSystemException, ServiceVOException {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
DateFormat mf = new SimpleDateFormat("yyyy-MM");
if (mf.format(vo.getTglPelayanan()).equals(mf.format(new Date()))) {
PelayananNakes pelayananNakes = pelayananNakesConverter.transferVOToModel(vo, new PelayananNakes());
ProdukNakes produk = produkNakesConverter.transferVOToModel(vo.getProduk(), new ProdukNakes());
pelayananNakes.setProduk(produk);
Pegawai pegawai = pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai());
pelayananNakes.setPegawai(pegawai);
SkoringTindakanNakes skoringNakes = skoringTindakanNakesDao.findLast(vo.getProduk().getId(),
df.format(vo.getTglPelayanan()));
if (CommonUtil.isNotNullOrEmpty(skoringNakes)) {
pelayananNakes.setSkor(skoringNakes.getSkor());
} else {
pelayananNakes.setSkor(1.00);
}
PelayananNakes resultModel = pelayananNakesDao.save(pelayananNakes);
PelayananNakesVO resultVO = new PelayananNakesVO();
resultVO = pelayananNakesConverter.transferModelToVO(resultModel, resultVO);
return resultVO;
} else {
return null;
}
}
@Override
public PelayananNakesVO update(PelayananNakesVO vo) throws JpaSystemException, ServiceVOException {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
PelayananNakes pelayananNakesLama = pelayananNakesDao.findOne(vo.getNoRec());
PelayananNakes pelayananNakesBaru = pelayananNakesConverter.transferVOToModel(vo, pelayananNakesLama);
ProdukNakes produk = produkNakesConverter.transferVOToModel(vo.getProduk(), new ProdukNakes());
pelayananNakesBaru.setProduk(produk);
Pegawai pegawai = pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai());
pelayananNakesBaru.setPegawai(pegawai);
SkoringTindakanNakes skoringNakes = skoringTindakanNakesDao.findLast(vo.getProduk().getId(),
df.format(vo.getTglPelayanan()));
if (CommonUtil.isNotNullOrEmpty(skoringNakes)) {
pelayananNakesBaru.setSkor(skoringNakes.getSkor());
} else {
pelayananNakesBaru.setSkor(1.00);
}
PelayananNakes resultModel = pelayananNakesDao.save(pelayananNakesBaru);
PelayananNakesVO resultVO = new PelayananNakesVO();
resultVO = pelayananNakesConverter.transferModelToVO(resultModel, resultVO);
return resultVO;
}
@Override
public Boolean delete(String key) throws JpaSystemException {
pelayananNakesDao.delete(key);
return true;
}
@Override
public PelayananNakesVO findById(String key) throws JpaSystemException {
PelayananNakesVO result = new PelayananNakesVO();
PelayananNakes pelayananNakes = pelayananNakesDao.findOne(key);
if (CommonUtil.isNotNullOrEmpty(pelayananNakes)) {
result = pelayananNakesConverter.transferModelToVO(pelayananNakes, result);
}
return result;
}
@Override
public List<PelayananNakesVO> findAll() throws JpaSystemException {
List<PelayananNakesVO> result = new ArrayList<PelayananNakesVO>();
Iterable<PelayananNakes> models = pelayananNakesDao.findAll();
if (CommonUtil.isNotNullOrEmpty(models)) {
for (PelayananNakes model : models) {
PelayananNakesVO vo = new PelayananNakesVO();
vo = pelayananNakesConverter.transferModelToVO(model, vo);
result.add(vo);
}
}
return result;
}
@Override
public Map<String, Object> findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit,
String sort, String dir) {
return null;
}
@Override
public List<Map<String, Object>> findDetailLogbook(Long bulan, Integer idPegawai) throws JpaSystemException {
DateFormat mf = new SimpleDateFormat("yyyy-MM");
List<Map<String, Object>> result = pelayananNakesDao.findDetailLogbook(mf.format(new Date(bulan)), idPegawai);
return result;
}
}

View File

@ -0,0 +1,289 @@
package com.jasamedika.medifirst2000.entities;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;
/**
* @author ITI-14
* @since Oct 19, 2021
*/
@Entity
@Table(name = "cppt_t")
public class CatatanPerkembanganPasienTerintegrasi extends BaseTransaction {
@ManyToOne
@JoinColumn(name = "pegawaifk")
@Caption(value = "Pegawai")
private Pegawai pegawai;
@Column(name = "pegawaifk", insertable = false, updatable = false, nullable = true)
private Integer pegawaiId;
@ManyToOne
@JoinColumn(name = "noregistrasifk")
@Caption(value = "Antrian Pasien Diperiksa")
private AntrianPasienDiPeriksa antrianPasienDiperiksa;
@Column(name = "noregistrasifk", columnDefinition = "char(32)", insertable = false, updatable = false, nullable = true)
private String antrianPasienDiperiksaId;
@Column(name = "isverifikasi", nullable = true)
@Caption(value = "Status Verifikasi")
private Boolean isVerifikasi;
@Column(name = "nocppt", columnDefinition = "varchar(32)", nullable = true)
@Caption(value = "Nomor CPPT")
private String noCPPT;
@Column(name = "tglinput", nullable = true)
@Caption(value = "Tanggal Input")
@Temporal(TemporalType.TIMESTAMP)
private Date tglInput;
@Column(name = "s", columnDefinition = "varchar(5000)", nullable = true)
@Caption(value = "Subjektif/ Assesmen")
private String subjektifOrAssesmen;
@Column(name = "o", columnDefinition = "varchar(5000)", nullable = true)
@Caption(value = "Objektif/ Diagnosis")
private String objecktifOrDiagnosis;
@Column(name = "a", columnDefinition = "varchar(5000)", nullable = true)
@Caption(value = "Analisis/ Intervensi")
private String analisisOrIntervensi;
@Column(name = "p", columnDefinition = "varchar(5000)", nullable = true)
@Caption(value = "Perencanaan/ Monitoring")
private String perencanaanOrMonitoring;
@Column(name = "e", columnDefinition = "varchar(5000)", nullable = true)
@Caption(value = "Evaluasi")
private String adimeEvaluasi;
@Column(name = "cppt_e", columnDefinition = "varchar(5000)", nullable = true)
@Caption(value = "CPPT e")
private String cpptEvaluasi;
@Column(name = "cppt_i", columnDefinition = "varchar(5000)", nullable = true)
@Caption(value = "CPPT i")
private String cpptImplementasi;
@ManyToOne
@JoinColumn(name = "ruanganfk")
@Caption(value = "Ruangan")
private Ruangan ruangan;
@Column(name = "ruanganfk", insertable = false, updatable = false, nullable = true)
private Integer ruanganId;
@ManyToOne
@JoinColumn(name = "pasienfk")
@Caption(value = "Pasien")
private Pasien pasien;
@Column(name = "pasienfk", insertable = false, updatable = false, nullable = true)
private Integer pasienId;
@ManyToOne
@JoinColumn(name = "pegawaiasalfk")
@Caption(value = "Pegawai Asal")
private Pegawai pegawaiAsal;
@Column(name = "pegawaiasalfk", insertable = false, updatable = false, nullable = true)
private Integer pegawaiAsalId;
@Column(name = "flag_", nullable = true)
@Caption(value = "Flag")
private Integer flag;
@Column(name = "tbak", columnDefinition = "varchar(2000)", nullable = true)
@Caption(value = "Tulis Baca dan Konfirmasi")
private String tuliBacaKonfirmasi;
public Pegawai getPegawai() {
return pegawai;
}
public void setPegawai(Pegawai pegawai) {
this.pegawai = pegawai;
}
public Integer getPegawaiId() {
return pegawaiId;
}
public void setPegawaiId(Integer pegawaiId) {
this.pegawaiId = pegawaiId;
}
public AntrianPasienDiPeriksa getAntrianPasienDiperiksa() {
return antrianPasienDiperiksa;
}
public void setAntrianPasienDiperiksa(AntrianPasienDiPeriksa antrianPasienDiperiksa) {
this.antrianPasienDiperiksa = antrianPasienDiperiksa;
}
public String getAntrianPasienDiperiksaId() {
return antrianPasienDiperiksaId;
}
public void setAntrianPasienDiperiksaId(String antrianPasienDiperiksaId) {
this.antrianPasienDiperiksaId = antrianPasienDiperiksaId;
}
public Boolean getIsVerifikasi() {
return isVerifikasi;
}
public void setIsVerifikasi(Boolean isVerifikasi) {
this.isVerifikasi = isVerifikasi;
}
public String getNoCPPT() {
return noCPPT;
}
public void setNoCPPT(String noCPPT) {
this.noCPPT = noCPPT;
}
public Date getTglInput() {
return tglInput;
}
public void setTglInput(Date tglInput) {
this.tglInput = tglInput;
}
public String getSubjektifOrAssesmen() {
return subjektifOrAssesmen;
}
public void setSubjektifOrAssesmen(String subjektifOrAssesmen) {
this.subjektifOrAssesmen = subjektifOrAssesmen;
}
public String getObjecktifOrDiagnosis() {
return objecktifOrDiagnosis;
}
public void setObjecktifOrDiagnosis(String objecktifOrDiagnosis) {
this.objecktifOrDiagnosis = objecktifOrDiagnosis;
}
public String getAnalisisOrIntervensi() {
return analisisOrIntervensi;
}
public void setAnalisisOrIntervensi(String analisisOrIntervensi) {
this.analisisOrIntervensi = analisisOrIntervensi;
}
public String getPerencanaanOrMonitoring() {
return perencanaanOrMonitoring;
}
public void setPerencanaanOrMonitoring(String perencanaanOrMonitoring) {
this.perencanaanOrMonitoring = perencanaanOrMonitoring;
}
public String getAdimeEvaluasi() {
return adimeEvaluasi;
}
public void setAdimeEvaluasi(String adimeEvaluasi) {
this.adimeEvaluasi = adimeEvaluasi;
}
public String getCpptEvaluasi() {
return cpptEvaluasi;
}
public void setCpptEvaluasi(String cpptEvaluasi) {
this.cpptEvaluasi = cpptEvaluasi;
}
public String getCpptImplementasi() {
return cpptImplementasi;
}
public void setCpptImplementasi(String cpptImplementasi) {
this.cpptImplementasi = cpptImplementasi;
}
public Ruangan getRuangan() {
return ruangan;
}
public void setRuangan(Ruangan ruangan) {
this.ruangan = ruangan;
}
public Integer getRuanganId() {
return ruanganId;
}
public void setRuanganId(Integer ruanganId) {
this.ruanganId = ruanganId;
}
public Pasien getPasien() {
return pasien;
}
public void setPasien(Pasien pasien) {
this.pasien = pasien;
}
public Integer getPasienId() {
return pasienId;
}
public void setPasienId(Integer pasienId) {
this.pasienId = pasienId;
}
public Pegawai getPegawaiAsal() {
return pegawaiAsal;
}
public void setPegawaiAsal(Pegawai pegawaiAsal) {
this.pegawaiAsal = pegawaiAsal;
}
public Integer getPegawaiAsalId() {
return pegawaiAsalId;
}
public void setPegawaiAsalId(Integer pegawaiAsalId) {
this.pegawaiAsalId = pegawaiAsalId;
}
public Integer getFlag() {
return flag;
}
public void setFlag(Integer flag) {
this.flag = flag;
}
public String getTuliBacaKonfirmasi() {
return tuliBacaKonfirmasi;
}
public void setTuliBacaKonfirmasi(String tuliBacaKonfirmasi) {
this.tuliBacaKonfirmasi = tuliBacaKonfirmasi;
}
}

View File

@ -1,27 +1,19 @@
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.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;
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.Table;
import javax.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.jasamedika.medifirst2000.base.BaseMaster;
import com.jasamedika.medifirst2000.helper.Caption;
@Entity
@Table(name = "DetailJenisProduk_M")

View File

@ -1,27 +1,18 @@
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.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;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.jasamedika.medifirst2000.base.BaseMaster;
import com.jasamedika.medifirst2000.helper.Caption;
@Entity
@Table(name = "JenisProduk_M")

View File

@ -0,0 +1,123 @@
package com.jasamedika.medifirst2000.entities;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;
import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;
/**
* @author ITI-14
* @since Oct 18, 2021
*/
@Entity
@Table(name = "pelayanannakes_t")
public class PelayananNakes extends BaseTransaction {
@ManyToOne
@NotNull(message = "Produk Nakes tidak boleh kosong")
@JoinColumn(name = "objectproduknakesfk")
@Caption(value = "Produk Nakes")
private ProdukNakes produk;
@Column(name = "objectproduknakesfk", insertable = false, updatable = false, nullable = false)
private Integer produkId;
@Column(name = "tglpelayanan", nullable = false)
@Caption(value = "Tanggal Pelayanan")
@Temporal(TemporalType.TIMESTAMP)
private Date tglPelayanan;
@Column(name = "skor", nullable = false)
@Caption(value = "Nilai Skor")
private Double skor;
@Column(name = "jumlah", nullable = false)
@Caption(value = "Jumlah")
private Double jumlah;
@Column(name = "catatan", nullable = true)
@Caption(value = "Catatan")
private String catatan;
@ManyToOne
@JoinColumn(name = "objectpegawaifk")
@Caption(value = "Pegawai")
private Pegawai pegawai;
@Column(name = "objectpegawaifk", insertable = false, updatable = false, nullable = true)
private Integer pegawaiId;
public ProdukNakes getProduk() {
return produk;
}
public void setProduk(ProdukNakes produk) {
this.produk = produk;
}
public Integer getProdukId() {
return produkId;
}
public void setProdukId(Integer produkId) {
this.produkId = produkId;
}
public Date getTglPelayanan() {
return tglPelayanan;
}
public void setTglPelayanan(Date tglPelayanan) {
this.tglPelayanan = tglPelayanan;
}
public Double getSkor() {
return skor;
}
public void setSkor(Double skor) {
this.skor = skor;
}
public Double getJumlah() {
return jumlah;
}
public void setJumlah(Double jumlah) {
this.jumlah = jumlah;
}
public String getCatatan() {
return catatan;
}
public void setCatatan(String catatan) {
this.catatan = catatan;
}
public Pegawai getPegawai() {
return pegawai;
}
public void setPegawai(Pegawai pegawai) {
this.pegawai = pegawai;
}
public Integer getPegawaiId() {
return pegawaiId;
}
public void setPegawaiId(Integer pegawaiId) {
this.pegawaiId = pegawaiId;
}
}

View File

@ -0,0 +1,100 @@
package com.jasamedika.medifirst2000.vo;
import java.util.Date;
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.helper.Caption;
/**
* @author ITI-14
* @since Oct 18, 2021
*/
public class PelayananNakesVO extends BaseTransactionVO {
@Caption(value = "Produk Nakes")
private ProdukNakesVO produk;
private Integer produkId;
@Caption(value = "Tanggal Pelayanan")
private Date tglPelayanan;
@Caption(value = "Nilai Skor")
private Double skor;
@Caption(value = "Jumlah")
private Double jumlah;
@Caption(value = "Catatan")
private String catatan;
@Caption(value = "Pegawai")
private PegawaiVO pegawai;
private Integer pegawaiId;
public ProdukNakesVO getProduk() {
return produk;
}
public void setProduk(ProdukNakesVO produk) {
this.produk = produk;
}
public Integer getProdukId() {
return produkId;
}
public void setProdukId(Integer produkId) {
this.produkId = produkId;
}
public Date getTglPelayanan() {
return tglPelayanan;
}
public void setTglPelayanan(Date tglPelayanan) {
this.tglPelayanan = tglPelayanan;
}
public Double getSkor() {
return skor;
}
public void setSkor(Double skor) {
this.skor = skor;
}
public Double getJumlah() {
return jumlah;
}
public void setJumlah(Double jumlah) {
this.jumlah = jumlah;
}
public String getCatatan() {
return catatan;
}
public void setCatatan(String catatan) {
this.catatan = catatan;
}
public PegawaiVO getPegawai() {
return pegawai;
}
public void setPegawai(PegawaiVO pegawai) {
this.pegawai = pegawai;
}
public Integer getPegawaiId() {
return pegawaiId;
}
public void setPegawaiId(Integer pegawaiId) {
this.pegawaiId = pegawaiId;
}
}

View File

@ -699,5 +699,7 @@
<mapping class="com.jasamedika.medifirst2000.entities.SkoringTindakanNakes"/>
<mapping class="com.jasamedika.medifirst2000.entities.PelayananPasienNakes"/>
<mapping class="com.jasamedika.medifirst2000.entities.MonitoringAbsen"/>
<mapping class="com.jasamedika.medifirst2000.entities.PelayananNakes"/>
<mapping class="com.jasamedika.medifirst2000.entities.CatatanPerkembanganPasienTerintegrasi"/>
</session-factory>
</hibernate-configuration>

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.PelayananNakesService;
import com.jasamedika.medifirst2000.service.PelayananPasienNakesService;
import com.jasamedika.medifirst2000.service.PelayananPasienPerawatService;
import com.jasamedika.medifirst2000.service.ProdukNakesService;
@ -55,6 +56,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.PelayananNakesVO;
import com.jasamedika.medifirst2000.vo.PelayananPasienNakesVO;
import com.jasamedika.medifirst2000.vo.PelayananPasienPerawatVO;
import com.jasamedika.medifirst2000.vo.ProdukNakesVO;
@ -132,6 +134,9 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
@Autowired
private PelayananPasienNakesService pelayananPasienNakesService;
@Autowired
private PelayananNakesService pelayananNakesService;
@RequestMapping(value = "/get-load-data", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Map<String, Object>> getLoadData(HttpServletRequest request) {
try {
@ -1958,4 +1963,73 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
}
}
@RequestMapping(value = "/save-pelayanan-nakes", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<PelayananNakesVO> savePelayananNakes(HttpServletRequest request,
@Valid @RequestBody PelayananNakesVO vo) {
try {
PelayananNakesVO result = new PelayananNakesVO();
if (CommonUtil.isNotNullOrEmpty(vo.getNoRec())) {
result = pelayananNakesService.update(vo);
} else {
result = pelayananNakesService.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 {
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_ERROR,
getMessage(MessageResource.LABEL_ERROR, request));
return RestUtil.getJsonHttptatus(HttpStatus.BAD_REQUEST, mapHeaderMessage);
}
} catch (ServiceVOException sve) {
LOGGER.error("Got exception {} when add/update pelayanan nonpasien oleh nakes lain", 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 nonpasien oleh nakes lain", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/delete-pelayanan-nakes", method = RequestMethod.POST)
public ResponseEntity<Boolean> deletePelayananNakes(HttpServletRequest request,
@RequestParam(value = "noRec", required = true) String norec) {
try {
Boolean result = pelayananNakesService.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 nonpasien oleh nakes lain", 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 nonpasien oleh nakes lain", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/get-pelayanan-nakes", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> getPelayananNakes(HttpServletRequest request,
@RequestParam(value = "bulan", required = true) Long bulan,
@RequestParam(value = "pegawaiId", required = true) Integer idPegawai) {
try {
List<Map<String, Object>> result = pelayananNakesService.findDetailLogbook(bulan, 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 nonpasien oleh nakes lain", 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 nonpasien oleh nakes lain", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
}