diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/BobotJenisIndikatorDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/BobotJenisIndikatorDao.java index 4cff4132..7ea7e7a6 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/BobotJenisIndikatorDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/BobotJenisIndikatorDao.java @@ -14,16 +14,26 @@ import com.jasamedika.medifirst2000.entities.BobotJenisIndikator; @Repository("BobotJenisIndikatorDao") public interface BobotJenisIndikatorDao extends PagingAndSortingRepository { - @Query("select new Map(bj.noRec as noRec," - + "bj.bulan as bulanBerlaku,to_char(bj.bulan,'MM-yyyy') as bulanBerlakuFormatted," - + "bj.jenisIndikator as jenisIndikatorId," + "(case when bj.jenisIndikator = 1 then 'Kuantitas' " - + "when bj.jenisIndikator = 2 then 'Kualitas' " + String strQryGrid = "select new Map(bj.noRec as noRec," + "bj.bulan as bulanBerlaku," + + "to_char(bj.bulan,'MM-yyyy') as bulanBerlakuFormatted," + "bj.jenisIndikator as jenisIndikatorId," + + "(case when bj.jenisIndikator = 1 then 'Kuantitas' " + "when bj.jenisIndikator = 2 then 'Kualitas' " + "when bj.jenisIndikator = 3 then 'Perilaku' end) as jenisIndikator," - + "kj.id as kelompokJabatanId,kj.namaKelompokJabatan as kelompokJabatan," + "bj.persentase as persentase) " - + "from BobotJenisIndikator bj " + "left join bj.kelompokJabatan kj " + "where bj.statusEnabled is true " - + "and to_char(bj.bulan,'yyyy-MM') <= :periode " - + "order by bj.bulan desc, kj.namaKelompokJabatan, bj.jenisIndikator ") - public List> findAllBobotJenis(@Param("periode") String periode); + + "kj.id as kelompokJabatanId,kj.namaKelompokJabatan as kelompokJabatan," + "bj.persentase as persentase," + + "bj.tanggalPembaharuanData as tglPembaharuanData) " + "from BobotJenisIndikator bj " + + "left join bj.kelompokJabatan kj " + "where bj.statusEnabled is true "; + + String cdtBulan = "and to_char(bj.bulan,'yyyy-MM') <= :periode "; + + String cdtTglPembaharuanData = "and to_char(bj.tanggalPembaharuanData,'yyyy-mm-dd hh24:mi:ss') = :tglPembaharuanData "; + + String sortGrid = "order by bj.bulan desc, kj.namaKelompokJabatan, bj.jenisIndikator"; + + @Query(strQryGrid + cdtBulan + sortGrid) + public List> findBobotJenisByBulanBerlaku(@Param("periode") String periode); + + @Query(strQryGrid + cdtTglPembaharuanData + sortGrid) + public List> findBobotJenisByTglPembaharuanData( + @Param("tglPembaharuanData") String tglPembaharuanData); @Query("select distinct bj.bulan " + "from BobotJenisIndikator bj, Jabatan jb " + "where bj.kelompokJabatanId = jb.kelompokJabatanId " + "and bj.statusEnabled is true " @@ -65,4 +75,8 @@ public interface BobotJenisIndikatorDao extends PagingAndSortingRepository> findBobotJenis(@Param("periode") String periode, @Param("jenisIndikator") Integer jenisIndikator); + @Query("select bj.noRec from BobotJenisIndikator bj " + + "where to_char(bj.tanggalPembaharuanData,'yyyy-mm-dd hh24:mi:ss') = :tglPembaharuanData") + public List findNoRecs(@Param("tglPembaharuanData") String tglPembaharuanData); + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/BobotJenisIndikatorService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/BobotJenisIndikatorService.java index 14b291d3..0faec525 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/BobotJenisIndikatorService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/BobotJenisIndikatorService.java @@ -1,17 +1,29 @@ package com.jasamedika.medifirst2000.service; +import java.text.ParseException; import java.util.List; import java.util.Map; +import org.springframework.orm.jpa.JpaSystemException; + import com.jasamedika.medifirst2000.entities.BobotJenisIndikator; +import com.jasamedika.medifirst2000.exception.ServiceVOException; import com.jasamedika.medifirst2000.vo.BobotJenisIndikatorVO; public interface BobotJenisIndikatorService extends BaseVoService { + public List addAll(List vos) throws JpaSystemException, ServiceVOException; + + public List updateAll(List vos) throws JpaSystemException, ServiceVOException; + + public Boolean deleteAll(Long tglPembaharuanData) throws JpaSystemException; + public List> findAllBobotJenis(Long periode); public List findBobotJenisJabatan(Long periode, Integer idJabatan); public List> findBobotJenis(Long periode, Integer idjenisIndikator, Integer idKelompokJabatan); + public Map findBobotJenis(Long tglPembaharuanData) throws ParseException; + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/BobotJenisIndikatorServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/BobotJenisIndikatorServiceImpl.java index aadc76a9..3d755296 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/BobotJenisIndikatorServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/BobotJenisIndikatorServiceImpl.java @@ -1,11 +1,15 @@ package com.jasamedika.medifirst2000.service.impl; import java.text.DateFormat; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Comparator; import java.util.Date; +import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.orm.jpa.JpaSystemException; @@ -42,7 +46,7 @@ public class BobotJenisIndikatorServiceImpl extends BaseVoServiceImpl implements new KelompokJabatan()); bobotJenis.setKelompokJabatan(kelompokJabatan); } - + bobotJenis.setTanggalPembaharuanData(new Date()); BobotJenisIndikator resultModel = bobotJenisIndikatorDao.save(bobotJenis); BobotJenisIndikatorVO resultVO = new BobotJenisIndikatorVO(); @@ -51,6 +55,39 @@ public class BobotJenisIndikatorServiceImpl extends BaseVoServiceImpl implements return resultVO; } + @Override + public List addAll(List vos) throws JpaSystemException, ServiceVOException { + List result = new ArrayList<>(); + + Date now = new Date(); + List models = new ArrayList<>(); + for (BobotJenisIndikatorVO vo : vos) { + BobotJenisIndikator bobotJenis = bobotJenisIndikatorConverter.transferVOToModel(vo, + new BobotJenisIndikator()); + + if (CommonUtil.isNotNullOrEmpty(vo.getKelompokJabatan())) { + KelompokJabatan kelompokJabatan = kelompokJabatanConverter.transferVOToModel(vo.getKelompokJabatan(), + new KelompokJabatan()); + bobotJenis.setKelompokJabatan(kelompokJabatan); + } + bobotJenis.setTanggalPembaharuanData(now); + + models.add(bobotJenis); + } + + if (CommonUtil.isNotNullOrEmpty(models)) { + Iterable resultModels = bobotJenisIndikatorDao.save(models); + + if (CommonUtil.isNotNullOrEmpty(resultModels)) { + for (BobotJenisIndikator resultModel : resultModels) { + result.add(resultModel.getNoRec()); + } + } + } + + return result; + } + @Override public BobotJenisIndikatorVO update(BobotJenisIndikatorVO vo) throws JpaSystemException, ServiceVOException { BobotJenisIndikator bobotJenisLama = bobotJenisIndikatorDao.findOne(vo.getNoRec()); @@ -61,7 +98,7 @@ public class BobotJenisIndikatorServiceImpl extends BaseVoServiceImpl implements new KelompokJabatan()); bobotJenisBaru.setKelompokJabatan(kelompokJabatan); } - + bobotJenisBaru.setTanggalPembaharuanData(new Date()); BobotJenisIndikator resultModel = bobotJenisIndikatorDao.save(bobotJenisBaru); BobotJenisIndikatorVO resultVO = new BobotJenisIndikatorVO(); @@ -70,6 +107,39 @@ public class BobotJenisIndikatorServiceImpl extends BaseVoServiceImpl implements return resultVO; } + @Override + public List updateAll(List vos) throws JpaSystemException, ServiceVOException { + List result = new ArrayList<>(); + + Date now = new Date(); + List models = new ArrayList<>(); + for (BobotJenisIndikatorVO vo : vos) { + BobotJenisIndikator bobotJenisLama = bobotJenisIndikatorDao.findOne(vo.getNoRec()); + BobotJenisIndikator bobotJenisBaru = bobotJenisIndikatorConverter.transferVOToModel(vo, bobotJenisLama); + + if (CommonUtil.isNotNullOrEmpty(vo.getKelompokJabatan())) { + KelompokJabatan kelompokJabatan = kelompokJabatanConverter.transferVOToModel(vo.getKelompokJabatan(), + new KelompokJabatan()); + bobotJenisBaru.setKelompokJabatan(kelompokJabatan); + } + bobotJenisBaru.setTanggalPembaharuanData(now); + + models.add(bobotJenisBaru); + } + + if (CommonUtil.isNotNullOrEmpty(models)) { + Iterable resultModels = bobotJenisIndikatorDao.save(models); + + if (CommonUtil.isNotNullOrEmpty(resultModels)) { + for (BobotJenisIndikator resultModel : resultModels) { + result.add(resultModel.getNoRec()); + } + } + } + + return result; + } + @Override public Boolean delete(String key) throws JpaSystemException { bobotJenisIndikatorDao.delete(key); @@ -77,6 +147,18 @@ public class BobotJenisIndikatorServiceImpl extends BaseVoServiceImpl implements return true; } + @Override + public Boolean deleteAll(Long tglPembaharuanData) throws JpaSystemException { + DateFormat tf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + List keys = bobotJenisIndikatorDao.findNoRecs(tf.format(new Date(tglPembaharuanData))); + for (String key : keys) { + bobotJenisIndikatorDao.delete(key); + } + + return true; + } + @Override public BobotJenisIndikatorVO findById(String key) throws JpaSystemException { BobotJenisIndikatorVO result = new BobotJenisIndikatorVO(); @@ -114,8 +196,91 @@ public class BobotJenisIndikatorServiceImpl extends BaseVoServiceImpl implements @Override public List> findAllBobotJenis(Long periode) { + List listIdKelompokJabatan = new ArrayList<>(); + List listTglPembaharuanData = new ArrayList<>(); + + DateFormat tf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + List> result = bobotJenisIndikatorDao - .findAllBobotJenis(new SimpleDateFormat("yyyy-MM").format(new Date(periode))); + .findBobotJenisByBulanBerlaku(new SimpleDateFormat("yyyy-MM").format(new Date(periode))); + + for (Map map : result) { + if (!listIdKelompokJabatan.contains(map.get("kelompokJabatanId"))) { + if (CommonUtil.isNotNullOrEmpty(map.get("kelompokJabatanId"))) { + listIdKelompokJabatan.add(Integer.valueOf(map.get("kelompokJabatanId").toString())); + } + } + if (!listTglPembaharuanData.contains(tf.format((Date) map.get("tglPembaharuanData")))) { + listTglPembaharuanData.add(tf.format((Date) map.get("tglPembaharuanData"))); + } + } + + List listTglPembaharuanDataSorted = listTglPembaharuanData.stream().sorted(Comparator.reverseOrder()) + .collect(Collectors.toList()); + + int sumTP = 0; + for (Integer idKelompokJabatan : listIdKelompokJabatan) { + for (String tglPembaharuanData : listTglPembaharuanDataSorted) { + for (Map map : result) { + if (CommonUtil.isNotNullOrEmpty(map.get("kelompokJabatanId")) + && idKelompokJabatan.equals(map.get("kelompokJabatanId")) + && tglPembaharuanData.equals(tf.format((Date) map.get("tglPembaharuanData")))) { + sumTP++; + if (sumTP <= 3) { + map.put("status", "Masih Berlaku"); + } else { + map.put("status", "Tidak Berlaku"); + } + } + } + } + sumTP = 0; + } + + sumTP = 0; + for (String tglPembaharuanData : listTglPembaharuanDataSorted) { + for (Map map : result) { + if (CommonUtil.isNullOrEmpty(map.get("kelompokJabatanId")) + && tglPembaharuanData.equals(tf.format((Date) map.get("tglPembaharuanData")))) { + sumTP++; + if (sumTP <= 3) { + map.put("status", "Masih Berlaku"); + } else { + map.put("status", "Tidak Berlaku"); + } + } + } + } + + return result; + } + + @Override + public Map findBobotJenis(Long tglPembaharuanData) throws ParseException { + Map result = new HashMap(); + List> detail = new ArrayList<>(); + + DateFormat tf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + List> data = bobotJenisIndikatorDao + .findBobotJenisByTglPembaharuanData(tf.format(new Date(tglPembaharuanData))); + for (Map map : data) { + result.put("bulanBerlaku", map.get("bulanBerlaku")); + result.put("bulanBerlakuFormatted", map.get("bulanBerlakuFormatted")); + if (CommonUtil.isNotNullOrEmpty(map.get("kelompokJabatanId"))) { + result.put("kelompokJabatanId", map.get("kelompokJabatanId")); + result.put("kelompokJabatan", map.get("kelompokJabatan")); + } + + map.remove("bulanBerlaku"); + map.remove("bulanBerlakuFormatted"); + map.remove("kelompokJabatanId"); + map.remove("kelompokJabatan"); + map.remove("tglPembaharuanData"); + detail.add(map); + + result.put("detail", detail); + } return result; } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IkiDanRemunerasiServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IkiDanRemunerasiServiceImpl.java index d95486d4..7b6faa44 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IkiDanRemunerasiServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IkiDanRemunerasiServiceImpl.java @@ -644,7 +644,7 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik if (kelompokKerja.get("subunitKerjaId").equals(data.get("idKelompokKerja")) && datePelayanan.equals(sdf.format(data.get("tglPelayanan")))) { if (idIndikator.equals(Master.IndikatorKinerjaDetail.KONSUL_EKS) - && data.get("namaTindakan").toString().contains(Master.KONSUL) + && data.get("namaTindakan").toString().toLowerCase().contains(Master.KONSUL) && listRuangEks.contains(data.get("idRuangan"))) { capaianBulanan += Double.valueOf(data.get("jumlahTindakan").toString()); if (i < listBulanPelayananSorted.size()) { @@ -662,7 +662,7 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik .floor(capaianTriwulanKE / (listBulanPelayananSorted.size() - 1)); } } else if (idIndikator.equals(Master.IndikatorKinerjaDetail.KONSUL_GADAR) - && data.get("namaTindakan").toString().contains(Master.KONSUL) + && data.get("namaTindakan").toString().toLowerCase().contains(Master.KONSUL) && data.get("idDepartemen").equals(Master.Departemen.IGD)) { capaianBulanan += Double.valueOf(data.get("jumlahTindakan").toString()); if (i < listBulanPelayananSorted.size()) { @@ -680,7 +680,7 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik .floor(capaianTriwulanKG / (listBulanPelayananSorted.size() - 1)); } } else if (idIndikator.equals(Master.IndikatorKinerjaDetail.KONSUL_REG) - && data.get("namaTindakan").toString().contains(Master.KONSUL)) { + && data.get("namaTindakan").toString().toLowerCase().contains(Master.KONSUL)) { capaianBulanan += Double.valueOf(data.get("jumlahTindakan").toString()); if (i < listBulanPelayananSorted.size()) { capaianTriwulanKR += Double.valueOf(data.get("jumlahTindakan").toString()); @@ -697,7 +697,7 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik .floor(capaianTriwulanKR / (listBulanPelayananSorted.size() - 1)); } } else if (idIndikator.equals(Master.IndikatorKinerjaDetail.VISITE) - && data.get("namaTindakan").toString().contains(Master.VISIT)) { + && data.get("namaTindakan").toString().toLowerCase().contains(Master.VISIT)) { capaianBulanan += Double.valueOf(data.get("jumlahTindakan").toString()); if (i < listBulanPelayananSorted.size()) { capaianTriwulanVI += Double.valueOf(data.get("jumlahTindakan").toString()); @@ -1031,21 +1031,21 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik // GROUPING_INDIKATOR for (Map mapLayanan : dataLayanan) { - if (mapLayanan.get("namaProduk").toString().contains(Master.KONSUL) + if (mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL) && listRuangEks.contains(mapLayanan.get("ruanganId"))) { mapLayanan.put("indikatorId", Master.IndikatorKinerjaDetail.KONSUL_EKS); mapLayanan.put("namaIndikator", indikatorKinerjaDetailDao.findNamaIndikator(Master.IndikatorKinerjaDetail.KONSUL_EKS)); - } else if (mapLayanan.get("namaProduk").toString().contains(Master.KONSUL) + } else if (mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL) && mapLayanan.get("departemenId").equals(Master.Departemen.IGD)) { mapLayanan.put("indikatorId", Master.IndikatorKinerjaDetail.KONSUL_GADAR); mapLayanan.put("namaIndikator", indikatorKinerjaDetailDao.findNamaIndikator(Master.IndikatorKinerjaDetail.KONSUL_GADAR)); - } else if (mapLayanan.get("namaProduk").toString().contains(Master.KONSUL)) { + } else if (mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL)) { mapLayanan.put("indikatorId", Master.IndikatorKinerjaDetail.KONSUL_REG); mapLayanan.put("namaIndikator", indikatorKinerjaDetailDao.findNamaIndikator(Master.IndikatorKinerjaDetail.KONSUL_REG)); - } else if (mapLayanan.get("namaProduk").toString().contains(Master.VISIT)) { + } else if (mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.VISIT)) { mapLayanan.put("indikatorId", Master.IndikatorKinerjaDetail.VISITE); mapLayanan.put("namaIndikator", indikatorKinerjaDetailDao.findNamaIndikator(Master.IndikatorKinerjaDetail.VISITE)); diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/BobotJenisIndikator.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/BobotJenisIndikator.java index 7d12e701..0dc7e209 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/BobotJenisIndikator.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/BobotJenisIndikator.java @@ -38,6 +38,11 @@ public class BobotJenisIndikator extends BaseTransaction { @Column(name = "persentase", nullable = false) private Double persentase; + @Caption(value = "Tanggal Pembaharuan Data") + @Column(name = "tanggalpembaharuandata", nullable = false) + @Temporal(TemporalType.TIMESTAMP) + private Date tanggalPembaharuanData; + public Date getBulan() { return bulan; } @@ -77,4 +82,12 @@ public class BobotJenisIndikator extends BaseTransaction { public void setPersentase(Double persentase) { this.persentase = persentase; } + + public Date getTanggalPembaharuanData() { + return tanggalPembaharuanData; + } + + public void setTanggalPembaharuanData(Date tanggalPembaharuanData) { + this.tanggalPembaharuanData = tanggalPembaharuanData; + } } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/BobotJenisIndikatorVO.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/BobotJenisIndikatorVO.java index ca866cdc..031ce879 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/BobotJenisIndikatorVO.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/BobotJenisIndikatorVO.java @@ -20,6 +20,9 @@ public class BobotJenisIndikatorVO extends BaseTransactionVO { @Caption(value = "Persentase") private Double persentase; + + @Caption(value = "Bulan") + private Date tanggalPembaharuanData; public Date getBulan() { return bulan; @@ -61,4 +64,12 @@ public class BobotJenisIndikatorVO extends BaseTransactionVO { this.persentase = persentase; } + public Date getTanggalPembaharuanData() { + return tanggalPembaharuanData; + } + + public void setTanggalPembaharuanData(Date tanggalPembaharuanData) { + this.tanggalPembaharuanData = tanggalPembaharuanData; + } + } diff --git a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/asynctask/TargetLayananGenerating.java b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/asynctask/TargetLayananGenerating.java index faeea2ad..96941f93 100644 --- a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/asynctask/TargetLayananGenerating.java +++ b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/asynctask/TargetLayananGenerating.java @@ -23,7 +23,7 @@ public class TargetLayananGenerating extends LocaleController { private IkiDanRemunerasiService remunerasiService; public TargetLayananGenerating() { - int the1st = 1; + int the4th = 4; int at0hrs = 0; MonthlyTimer.schedule(new Runnable() { @Override @@ -37,7 +37,7 @@ public class TargetLayananGenerating extends LocaleController { LOGGER.info("Task Target Layanan : Finishing Task Target Layanan"); } } - }, the1st, at0hrs); + }, the4th, at0hrs); } @Async 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 e54dcee3..93cbad24 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 @@ -967,9 +967,55 @@ public class IkiDanRemunerasiController extends LocaleController> saveAllBobotJenisIndikator(HttpServletRequest request, + @Valid @RequestBody List vos) { + try { + List result = bobotJenisIndikatorService.addAll(vos); + 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 all bobot jenis indikator", 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 all bobot jenis indikator", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } + + @RequestMapping(value = "/update-all-bobot-jenis-indikator", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity> updateAllBobotJenisIndikator(HttpServletRequest request, + @Valid @RequestBody List vos) { + try { + List result = bobotJenisIndikatorService.updateAll(vos); + 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 update all bobot jenis indikator", 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 update all bobot jenis indikator", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } + @RequestMapping(value = "/get-master-bobot-jenis-indikator", method = RequestMethod.GET) public ResponseEntity>> getMasterBobotJenisIndikator(HttpServletRequest request, - @RequestParam(value = "periode", required = true) Long periode) throws ParseException { + @RequestParam(value = "periode", required = true) Long periode) { try { List> result = bobotJenisIndikatorService.findAllBobotJenis(periode); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, @@ -986,9 +1032,29 @@ public class IkiDanRemunerasiController extends LocaleController> getEditMasterBobotJenisIndikator(HttpServletRequest request, + @RequestParam(value = "tglPembaharuanData", required = true) Long tglPembaharuanData) + throws ParseException { + try { + Map result = bobotJenisIndikatorService.findBobotJenis(tglPembaharuanData); + 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 edit bobot jenis indikator", 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 edit bobot jenis indikator", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } + @RequestMapping(value = "/delete-master-bobot-jenis-indikator", method = RequestMethod.POST) public ResponseEntity deleteMasterBobotJenisIndikator(HttpServletRequest request, - @RequestParam(value = "noRec", required = true) String norec) throws ParseException { + @RequestParam(value = "noRec", required = true) String norec) { try { Boolean result = bobotJenisIndikatorService.delete(norec); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, @@ -1005,6 +1071,25 @@ public class IkiDanRemunerasiController extends LocaleController deleteAllMasterBobotJenisIndikator(HttpServletRequest request, + @RequestParam(value = "tglPembaharuanData", required = true) Long tglPembaharuanData) { + try { + Boolean result = bobotJenisIndikatorService.deleteAll(tglPembaharuanData); + 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 all master bobot jenis indikator", 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 all master bobot jenis indikator", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } + @RequestMapping(value = "/get-bobot-jenis-by-jabatan", method = RequestMethod.GET) public ResponseEntity> getBobotJenisIndikatorByJabatan(HttpServletRequest request, @RequestParam(value = "periode", required = true) Long periode,