diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanMedisDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanMedisDao.java new file mode 100644 index 00000000..0d2cd106 --- /dev/null +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanMedisDao.java @@ -0,0 +1,26 @@ +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.stereotype.Repository; + +import com.jasamedika.medifirst2000.entities.SkoringTindakanMedis; + +@Repository("skoringTindakanMedisDao") +public interface SkoringTindakanMedisDao extends PagingAndSortingRepository { + + @Query("select new Map(stm.noRec as noRec," + "stm.statusEnabled as statusEnabled," + + "uk.id as unitKerjaId,uk.name as unitKerja," + "sk.id as kelompokKerjaId,sk.name as kelompokKerja," + + "pr.id as produkId,pr.namaProduk as namaProduk," + "stm.detailProduk as detailProduk," + + "stm.skor as skor," + "stm.statusVerifikasi as isStatusVerifikasi," + + "(case when stm.statusVerifikasi is false then 'Belum Terverifikasi' " + + "when stm.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi," + + "stm.tanggalMulaiBerlaku as tglMulaiBerlaku) " + "from SkoringTindakanMedis stm " + + "inner join stm.produk pr " + "inner join stm.kelompokKerja sk " + "inner join sk.unitKerja uk " + + "where stm.statusEnabled is true") + List> findAllEnabled(); + +} diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/SkoringTindakanMedisService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/SkoringTindakanMedisService.java new file mode 100644 index 00000000..c89c9591 --- /dev/null +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/SkoringTindakanMedisService.java @@ -0,0 +1,14 @@ +package com.jasamedika.medifirst2000.service; + +import java.util.List; +import java.util.Map; + +import com.jasamedika.medifirst2000.entities.SkoringTindakanMedis; +import com.jasamedika.medifirst2000.vo.SkoringTindakanMedisVO; + +public interface SkoringTindakanMedisService + extends BaseVoService { + + List> findAllEnabled(); + +} diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SkoringTindakanMedisServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SkoringTindakanMedisServiceImpl.java new file mode 100644 index 00000000..6eaebbab --- /dev/null +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SkoringTindakanMedisServiceImpl.java @@ -0,0 +1,120 @@ +package com.jasamedika.medifirst2000.service.impl; + +import java.util.ArrayList; +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.SkoringTindakanMedisDao; +import com.jasamedika.medifirst2000.entities.Produk; +import com.jasamedika.medifirst2000.entities.SkoringTindakanMedis; +import com.jasamedika.medifirst2000.entities.SubUnitKerjaPegawai; +import com.jasamedika.medifirst2000.exception.ServiceVOException; +import com.jasamedika.medifirst2000.service.SkoringTindakanMedisService; +import com.jasamedika.medifirst2000.util.CommonUtil; +import com.jasamedika.medifirst2000.vo.ProdukVO; +import com.jasamedika.medifirst2000.vo.SkoringTindakanMedisVO; +import com.jasamedika.medifirst2000.vo.SubUnitKerjaPegawaiVO; + +@Service("skoringTindakanMedisService") +public class SkoringTindakanMedisServiceImpl extends BaseVoServiceImpl implements SkoringTindakanMedisService { + + @Autowired + private BaseConverterImpl produkConverter; + + @Autowired + private BaseConverterImpl subunitKerjaConverter; + + @Autowired + private BaseConverterImpl skoringTindakanMedisConverter; + + @Autowired + private SkoringTindakanMedisDao skoringTindakanMedisDao; + + @Override + public SkoringTindakanMedisVO add(SkoringTindakanMedisVO vo) throws JpaSystemException, ServiceVOException { + Produk produk = produkConverter.transferVOToModel(vo.getProduk(), new Produk()); + SubUnitKerjaPegawai kelompokKerja = subunitKerjaConverter.transferVOToModel(vo.getKelompokKerja(), + new SubUnitKerjaPegawai()); + SkoringTindakanMedis skoringTindakanMedis = skoringTindakanMedisConverter.transferVOToModel(vo, + new SkoringTindakanMedis()); + + skoringTindakanMedis.setProduk(produk); + skoringTindakanMedis.setKelompokKerja(kelompokKerja); + SkoringTindakanMedis resultModel = skoringTindakanMedisDao.save(skoringTindakanMedis); + + SkoringTindakanMedisVO resultVO = new SkoringTindakanMedisVO(); + resultVO = skoringTindakanMedisConverter.transferModelToVO(resultModel, resultVO); + + return resultVO; + } + + @Override + public SkoringTindakanMedisVO update(SkoringTindakanMedisVO vo) throws JpaSystemException, ServiceVOException { + SkoringTindakanMedis skoringTindakanMedisLama = skoringTindakanMedisDao.findOne(vo.getNoRec()); + + Produk produk = produkConverter.transferVOToModel(vo.getProduk(), new Produk()); + SubUnitKerjaPegawai kelompokKerja = subunitKerjaConverter.transferVOToModel(vo.getKelompokKerja(), + new SubUnitKerjaPegawai()); + SkoringTindakanMedis skoringTindakanMedisBaru = skoringTindakanMedisConverter.transferVOToModel(vo, + skoringTindakanMedisLama); + + skoringTindakanMedisBaru.setProduk(produk); + skoringTindakanMedisBaru.setKelompokKerja(kelompokKerja); + SkoringTindakanMedis resultModel = skoringTindakanMedisDao.save(skoringTindakanMedisBaru); + + SkoringTindakanMedisVO resultVO = new SkoringTindakanMedisVO(); + resultVO = skoringTindakanMedisConverter.transferModelToVO(resultModel, resultVO); + + return resultVO; + } + + @Override + public Boolean delete(String key) throws JpaSystemException { + skoringTindakanMedisDao.delete(key); + return true; + } + + @Override + public SkoringTindakanMedisVO findById(String key) throws JpaSystemException { + SkoringTindakanMedisVO result = new SkoringTindakanMedisVO(); + + SkoringTindakanMedis skoringTindakanMedis = skoringTindakanMedisDao.findOne(key); + if (CommonUtil.isNotNullOrEmpty(skoringTindakanMedis)) { + result = skoringTindakanMedisConverter.transferModelToVO(skoringTindakanMedis, result); + } + + return result; + } + + @Override + public List findAll() throws JpaSystemException { + List result = new ArrayList(); + Iterable models = skoringTindakanMedisDao.findAll(); + for (SkoringTindakanMedis model : models) { + SkoringTindakanMedisVO vo = new SkoringTindakanMedisVO(); + vo = skoringTindakanMedisConverter.transferModelToVO(model, vo); + result.add(vo); + } + + return result; + } + + @Override + public Map findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit, + String sort, String dir) { + return null; + } + + @Override + public List> findAllEnabled() { + List> result = skoringTindakanMedisDao.findAllEnabled(); + + return result; + } + +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/JenisTindakanMedis.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/JenisTindakanMedis.java index 5dbfb2fa..a3a165a7 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/JenisTindakanMedis.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/JenisTindakanMedis.java @@ -1,23 +1,17 @@ package com.jasamedika.medifirst2000.entities; -import java.io.Serializable; -import org.hibernate.envers.Audited; -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.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.jasamedika.medifirst2000.base.BaseMaster; +import com.jasamedika.medifirst2000.helper.Caption; /** * class JenisTindakanMedis diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/KelompokTindakanMedis.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/KelompokTindakanMedis.java index d205beed..d746d780 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/KelompokTindakanMedis.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/KelompokTindakanMedis.java @@ -1,26 +1,17 @@ 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.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.jasamedika.medifirst2000.base.BaseMaster; +import com.jasamedika.medifirst2000.helper.Caption; /** * class KelompokTindakanMedis diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/SkoringTindakanMedis.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/SkoringTindakanMedis.java new file mode 100644 index 00000000..72e49f4d --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/SkoringTindakanMedis.java @@ -0,0 +1,120 @@ +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; + +@Entity +@Table(name = "sdm_skoringtindakanmedis_t") +public class SkoringTindakanMedis extends BaseTransaction { + + @Column(name = "detailproduk", nullable = false) + @Caption(value = "Detail Produk") + private String detailProduk; + + @Column(name = "skor", nullable = false) + @Caption(value = "Nilai Skor") + private Integer skor; + + @Column(name = "statusverifikasi", nullable = false) + @Caption(value = "Status Verifikasi") + private Boolean statusVerifikasi; + + @Caption(value = "Tanggal Mulai Berlaku") + @Column(name = "tanggalmulaiberlaku", nullable = false) + @Temporal(TemporalType.DATE) + private Date tanggalMulaiBerlaku; + + @ManyToOne + @NotNull(message = "Produk tidak boleh kosong") + @JoinColumn(name = "objectprodukfk") + @Caption(value = "Produk") + private Produk produk; + + @Column(name = "objectprodukfk", insertable = false, updatable = false, nullable = true) + private Integer produkId; + + @ManyToOne + @NotNull(message = "Subunit kerja tidak boleh kosong") + @JoinColumn(name = "objectsubunitkerjafk") + @Caption(value = "Subunit Kerja") + private SubUnitKerjaPegawai kelompokKerja; + + @Column(name = "objectsubunitkerjafk", insertable = false, updatable = false, nullable = true) + private Integer kelompokKerjaId; + + public String getDetailProduk() { + return detailProduk; + } + + public void setDetailProduk(String detailProduk) { + this.detailProduk = detailProduk; + } + + public Integer getSkor() { + return skor; + } + + public void setSkor(Integer skor) { + this.skor = skor; + } + + public Boolean getStatusVerifikasi() { + return statusVerifikasi; + } + + public void setStatusVerifikasi(Boolean statusVerifikasi) { + this.statusVerifikasi = statusVerifikasi; + } + + public Date getTanggalMulaiBerlaku() { + return tanggalMulaiBerlaku; + } + + public void setTanggalMulaiBerlaku(Date tanggalMulaiBerlaku) { + this.tanggalMulaiBerlaku = tanggalMulaiBerlaku; + } + + public Produk getProduk() { + return produk; + } + + public void setProduk(Produk produk) { + this.produk = produk; + } + + public Integer getProdukId() { + return produkId; + } + + public void setProdukId(Integer produkId) { + this.produkId = produkId; + } + + public SubUnitKerjaPegawai getKelompokKerja() { + return kelompokKerja; + } + + public void setKelompokKerja(SubUnitKerjaPegawai kelompokKerja) { + this.kelompokKerja = kelompokKerja; + } + + public Integer getKelompokKerjaId() { + return kelompokKerjaId; + } + + public void setKelompokKerjaId(Integer kelompokKerjaId) { + this.kelompokKerjaId = kelompokKerjaId; + } + +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/TindakanMedis.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/TindakanMedis.java index 46f13c38..b5022b92 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/TindakanMedis.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/TindakanMedis.java @@ -1,23 +1,17 @@ package com.jasamedika.medifirst2000.entities; -import java.io.Serializable; -import org.hibernate.envers.Audited; -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.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.jasamedika.medifirst2000.base.BaseMaster; +import com.jasamedika.medifirst2000.helper.Caption; /** * class TindakanMedis diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/SkoringTindakanMedisVO.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/SkoringTindakanMedisVO.java new file mode 100644 index 00000000..8416a1d9 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/SkoringTindakanMedisVO.java @@ -0,0 +1,96 @@ +package com.jasamedika.medifirst2000.vo; + +import java.util.Date; + +import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO; +import com.jasamedika.medifirst2000.helper.Caption; + +public class SkoringTindakanMedisVO extends BaseTransactionVO { + + @Caption(value = "Detail Produk") + private String detailProduk; + + @Caption(value = "Nilai Skor") + private Integer skor; + + @Caption(value = "Status Verifikasi") + private Boolean statusVerifikasi; + + @Caption(value = "Tanggal Mulai Berlaku") + private Date tanggalMulaiBerlaku; + + @Caption(value = "Produk") + private ProdukVO produk; + + private Integer produkId; + + @Caption(value = "Subunit Kerja") + private SubUnitKerjaPegawaiVO kelompokKerja; + + private Integer kelompokKerjaId; + + public String getDetailProduk() { + return detailProduk; + } + + public void setDetailProduk(String detailProduk) { + this.detailProduk = detailProduk; + } + + public Integer getSkor() { + return skor; + } + + public void setSkor(Integer skor) { + this.skor = skor; + } + + public Boolean getStatusVerifikasi() { + return statusVerifikasi; + } + + public void setStatusVerifikasi(Boolean statusVerifikasi) { + this.statusVerifikasi = statusVerifikasi; + } + + public Date getTanggalMulaiBerlaku() { + return tanggalMulaiBerlaku; + } + + public void setTanggalMulaiBerlaku(Date tanggalMulaiBerlaku) { + this.tanggalMulaiBerlaku = tanggalMulaiBerlaku; + } + + public ProdukVO getProduk() { + return produk; + } + + public void setProduk(ProdukVO produk) { + this.produk = produk; + } + + public Integer getProdukId() { + return produkId; + } + + public void setProdukId(Integer produkId) { + this.produkId = produkId; + } + + public SubUnitKerjaPegawaiVO getKelompokKerja() { + return kelompokKerja; + } + + public void setKelompokKerja(SubUnitKerjaPegawaiVO kelompokKerja) { + this.kelompokKerja = kelompokKerja; + } + + public Integer getKelompokKerjaId() { + return kelompokKerjaId; + } + + public void setKelompokKerjaId(Integer kelompokKerjaId) { + this.kelompokKerjaId = kelompokKerjaId; + } + +} diff --git a/jasamedika-domain/src/main/resources/hibernate.cfg.xml b/jasamedika-domain/src/main/resources/hibernate.cfg.xml index a606c325..d87ca555 100644 --- a/jasamedika-domain/src/main/resources/hibernate.cfg.xml +++ b/jasamedika-domain/src/main/resources/hibernate.cfg.xml @@ -1,704 +1,686 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/IkiDanRemunerasiController.java b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/IkiDanRemunerasiController.java index 45a34ca5..862d6ed5 100644 --- a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/IkiDanRemunerasiController.java +++ b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/IkiDanRemunerasiController.java @@ -31,6 +31,7 @@ import com.jasamedika.medifirst2000.service.IkiDanRemunerasiService; import com.jasamedika.medifirst2000.service.IndikatorKinerjaService; import com.jasamedika.medifirst2000.service.LogbookKinerjaDetailService; import com.jasamedika.medifirst2000.service.LogbookKinerjaService; +import com.jasamedika.medifirst2000.service.SkoringTindakanMedisService; import com.jasamedika.medifirst2000.util.CommonUtil; import com.jasamedika.medifirst2000.util.rest.RestUtil; import com.jasamedika.medifirst2000.vo.IkiDanRemunerasiVO; @@ -38,6 +39,7 @@ import com.jasamedika.medifirst2000.vo.IndikatorKinerjaVO; import com.jasamedika.medifirst2000.vo.LogbookKinerjaDetailVO; import com.jasamedika.medifirst2000.vo.LogbookKinerjaVO; import com.jasamedika.medifirst2000.vo.SettingPirSdmVO; +import com.jasamedika.medifirst2000.vo.SkoringTindakanMedisVO; import com.jasamedika.medifirst2000.vo.StrukHistoriVO; @RestController @@ -52,6 +54,9 @@ public class IkiDanRemunerasiController extends LocaleController> saveSkoringTindakanMedis(HttpServletRequest request, + @Valid @RequestBody SkoringTindakanMedisVO vo) { + Map result = new HashMap(); + try { + SkoringTindakanMedisVO resultVo = new SkoringTindakanMedisVO(); + if (CommonUtil.isNotNullOrEmpty(vo.getNoRec())) { + resultVo = skoringTindakanMedisService.update(vo); + } else { + resultVo = skoringTindakanMedisService.add(vo); + } + result.put("data", resultVo); + 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 skor tindakan medis", 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 skor tindakan medis", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } + + @RequestMapping(value = "/get-all-skoring-tindakan-medis", method = RequestMethod.GET) + public ResponseEntity>> getAllSkoringTindakanMedis(HttpServletRequest request) + throws ParseException { + try { + List> result = skoringTindakanMedisService.findAllEnabled(); + 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 all skoring tindakan medis", 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 all skoring tindakan medis", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } + @RequestMapping(value = "/save-logbook-kinerja", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity> saveLogbookKinerja(HttpServletRequest request, @Valid @RequestBody LogbookKinerjaVO vo) {