From 95bd4bb5e27c0cdea94d424caff8fa77360e5ace Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Tue, 5 Nov 2024 18:23:29 +0700 Subject: [PATCH] Add service log logbook kinerja detail --- .../medifirst2000/dao/LogbookKinerjaDao.java | 16 +- .../dao/LogbookKinerjaDetailDao.java | 3 + .../dao/LogbookKinerjaDetailLogDao.java | 12 + .../LogbookKinerjaDetailLogService.java | 19 ++ .../service/LogbookKinerjaDetailService.java | 23 +- .../service/LogbookKinerjaService.java | 42 ++- .../LogbookKinerjaDetailLogServiceImpl.java | 92 ++++++ .../impl/LogbookKinerjaDetailServiceImpl.java | 23 ++ .../medifirst2000/enums/JenisLog.java | 10 + .../dto/LogbookKinerjaDetailLogDto.java | 42 +++ .../dto/LogbookKinerjaDetailLogReqDto.java | 34 +++ .../entities/LogbookKinerja.java | 125 ++------ .../entities/LogbookKinerjaDetail.java | 85 +----- .../entities/LogbookKinerjaDetailLog.java | 58 ++++ .../IkiDanRemunerasiController.java | 287 ++++++++++-------- 15 files changed, 531 insertions(+), 340 deletions(-) create mode 100644 jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDetailLogDao.java create mode 100644 jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaDetailLogService.java create mode 100644 jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailLogServiceImpl.java create mode 100644 jasamedika-core/src/main/java/com/jasamedika/medifirst2000/enums/JenisLog.java create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/LogbookKinerjaDetailLogDto.java create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/LogbookKinerjaDetailLogReqDto.java create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/LogbookKinerjaDetailLog.java diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDao.java index 0b12bf9d..97a0f4f2 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDao.java @@ -1,18 +1,17 @@ package com.jasamedika.medifirst2000.dao; +import com.jasamedika.medifirst2000.entities.LogbookKinerja; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; +import org.springframework.stereotype.Repository; + import java.util.Date; 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.LogbookKinerja; - @Repository("logbookKinerjaDao") -public interface LogbookKinerjaDao extends PagingAndSortingRepository { +public interface LogbookKinerjaDao extends JpaRepository { @Query("select new Map(lk.noRec as noRec," + "pg.id as pegawaiId,pg.namaLengkap as namaPegawai," + "jb.id as jabatanId,jb.namaJabatan as namaJabatan," @@ -260,4 +259,5 @@ public interface LogbookKinerjaDao extends PagingAndSortingRepository> findJabatanByPegawai(@Param("pegawaiId") Integer idPegawai, @Param("bulan") String bulan); + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDetailDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDetailDao.java index 64816cc0..3e886775 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDetailDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDetailDao.java @@ -9,10 +9,13 @@ import org.springframework.stereotype.Repository; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.Optional; @Repository("logbookKinerjaDetailDao") public interface LogbookKinerjaDetailDao extends PagingAndSortingRepository { + Optional findByNoRec(String noRec); + String strGetWR = "select new Map(lkh.noRec as logbookNoRec," + "lkd.noRec as noRec," + "ikm.id as indikatorId,ikm.namaIndikator as namaIndikator," + "ikm.jenisIndikator as jenisIndikatorId," + "(case when ikm.jenisIndikator = 1 then 'Kuantitas' " + "when ikm.jenisIndikator = 2 then 'Kualitas' " diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDetailLogDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDetailLogDao.java new file mode 100644 index 00000000..881f78b6 --- /dev/null +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDetailLogDao.java @@ -0,0 +1,12 @@ +package com.jasamedika.medifirst2000.dao; + +import com.jasamedika.medifirst2000.entities.LogbookKinerjaDetailLog; +import org.springframework.data.jpa.repository.JpaRepository; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 31/10/2024 + */ +public interface LogbookKinerjaDetailLogDao extends JpaRepository { +} diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaDetailLogService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaDetailLogService.java new file mode 100644 index 00000000..4c6be046 --- /dev/null +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaDetailLogService.java @@ -0,0 +1,19 @@ +package com.jasamedika.medifirst2000.service; + +import com.jasamedika.medifirst2000.dto.LogbookKinerjaDetailLogDto; +import com.jasamedika.medifirst2000.dto.LogbookKinerjaDetailLogReqDto; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 31/10/2024 + */ +public interface LogbookKinerjaDetailLogService { + + void save(LogbookKinerjaDetailLogReqDto dto); + + Page list(Pageable pageable); + +} diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaDetailService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaDetailService.java index 39967ffd..7af4c340 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaDetailService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaDetailService.java @@ -1,24 +1,25 @@ package com.jasamedika.medifirst2000.service; +import com.jasamedika.medifirst2000.entities.LogbookKinerjaDetail; +import com.jasamedika.medifirst2000.vo.LogbookKinerjaDetailVO; +import org.springframework.orm.jpa.JpaSystemException; + import java.util.List; import java.util.Map; -import org.springframework.orm.jpa.JpaSystemException; - -import com.jasamedika.medifirst2000.entities.LogbookKinerjaDetail; -import com.jasamedika.medifirst2000.vo.LogbookKinerjaDetailVO; - public interface LogbookKinerjaDetailService extends BaseVoService { - public List> findWorkingRecord(Integer idPegawai, Integer idJabatan, Long bulan, - Boolean statusVerif) throws JpaSystemException; + List> findWorkingRecord(Integer idPegawai, Integer idJabatan, Long bulan, Boolean statusVerif) + throws JpaSystemException; - public List> findWorkingRecord(Integer idPegawai, Integer idJabatan, Integer idIndikator, - Long bulan) throws JpaSystemException; + List> findWorkingRecord(Integer idPegawai, Integer idJabatan, Integer idIndikator, Long bulan) + throws JpaSystemException; - public List> findAksesPegawai(Integer idPegawai) throws JpaSystemException; + List> findAksesPegawai(Integer idPegawai) throws JpaSystemException; - public Map findWidgetStatusVerifikasi(Integer idPegawai, Long bulan) throws JpaSystemException; + Map findWidgetStatusVerifikasi(Integer idPegawai, Long bulan) throws JpaSystemException; + + void hapusCatatanKinerja(String norec); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaService.java index c5e79560..c40bda99 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaService.java @@ -1,40 +1,35 @@ package com.jasamedika.medifirst2000.service; +import com.jasamedika.medifirst2000.entities.LogbookKinerja; +import com.jasamedika.medifirst2000.exception.ServiceVOException; +import com.jasamedika.medifirst2000.vo.LogbookKinerjaVO; +import com.jasamedika.medifirst2000.vo.SkorDokterVO; +import org.springframework.orm.jpa.JpaSystemException; + import java.text.ParseException; import java.util.Date; import java.util.List; import java.util.Map; -import org.springframework.orm.jpa.JpaSystemException; - -import com.jasamedika.medifirst2000.entities.LogbookKinerja; -import com.jasamedika.medifirst2000.exception.ServiceVOException; -import com.jasamedika.medifirst2000.vo.LogbookKinerjaVO; -import com.jasamedika.medifirst2000.vo.SkorDokterVO; - public interface LogbookKinerjaService extends BaseVoService { LogbookKinerjaVO verify(LogbookKinerjaVO vo) throws JpaSystemException, ServiceVOException; - LogbookKinerjaVO addPengajuanKontrakKinerja(LogbookKinerjaVO vo) - throws JpaSystemException, ServiceVOException; + LogbookKinerjaVO addPengajuanKontrakKinerja(LogbookKinerjaVO vo) throws JpaSystemException, ServiceVOException; - LogbookKinerjaVO updatePengajuanKontrakKinerja(LogbookKinerjaVO vo) - throws JpaSystemException, ServiceVOException; + LogbookKinerjaVO updatePengajuanKontrakKinerja(LogbookKinerjaVO vo) throws JpaSystemException, ServiceVOException; List> findPengajuanKontrakKinerja(Integer idPegawai, Integer idJabatan) throws JpaSystemException; List> findDupKontrakKinerja(Integer idPegawai, Integer idJabatan, Long bulan, - Integer idIndikator) throws JpaSystemException; + Integer idIndikator) throws JpaSystemException; - Map findKontrakKinerja(Integer idPegawai, Integer idJabatan, Long bulan) - throws JpaSystemException; + Map findKontrakKinerja(Integer idPegawai, Integer idJabatan, Long bulan) throws JpaSystemException; List> findKontrakKinerja(Integer idIndikator) throws JpaSystemException; - Map findLogbookKinerja(Integer idPegawai, Integer idJabatan, Long bulan) - throws JpaSystemException; + Map findLogbookKinerja(Integer idPegawai, Integer idJabatan, Long bulan) throws JpaSystemException; List> findAksesPegawai(Integer idPegawai, List listIdKelompokJabatan); @@ -42,20 +37,20 @@ public interface LogbookKinerjaService extends BaseVoService> findLogbookLuarJamKerjaDokter(Integer idPegawai, Long bulan); - List> findDetailLogbookJamKerjaDokter(Integer idPegawai, Integer idIndikator, - Integer idProduk, String tglPelayanan, Integer idJenisPetugas, Double skor); + List> findDetailLogbookJamKerjaDokter(Integer idPegawai, Integer idIndikator, Integer idProduk, + String tglPelayanan, Integer idJenisPetugas, Double skor); List> findDetailLogbookLuarJamKerjaDokter(Integer idPegawai, Integer idIndikator, - Integer idProduk, String tglPelayanan, Integer idJenisPetugas, Double skor); + Integer idProduk, String tglPelayanan, Integer idJenisPetugas, Double skor); Map findPenilaianKinerja(Integer idPegawai, Integer idJabatan, Long bulan) throws JpaSystemException; List> findRekapPenilaianKinerja(Long bulan, Integer idUnitKerja, Integer idSubunitKerja, - Integer idPegawai) throws JpaSystemException; + Integer idPegawai) throws JpaSystemException; void autoVerifKontrakJamKerjaDokter(Date bulan); - + void autoVerifLogbookJamKerjaDokter(Date bulan); List hitungTargetSkorLogbookDokter(String bulanAwal, String bulanAkhir) throws ParseException; @@ -74,9 +69,8 @@ public interface LogbookKinerjaService extends BaseVoService> findLogbookFarmakologi(Integer idPegawai, Long bulan); - List> findDetailLogbookFarmakologi(Integer idPegawai, Integer idProduk, - String tglPelayanan); - + List> findDetailLogbookFarmakologi(Integer idPegawai, Integer idProduk, String tglPelayanan); + List> findJabatanByLogbookPegawai(Integer idPegawai, Long bulan); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailLogServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailLogServiceImpl.java new file mode 100644 index 00000000..6b6fc14c --- /dev/null +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailLogServiceImpl.java @@ -0,0 +1,92 @@ +package com.jasamedika.medifirst2000.service.impl; + +import com.jasamedika.medifirst2000.converter.BaseConverterImpl; +import com.jasamedika.medifirst2000.dao.LogbookKinerjaDetailDao; +import com.jasamedika.medifirst2000.dao.LogbookKinerjaDetailLogDao; +import com.jasamedika.medifirst2000.dto.LogbookKinerjaDetailLogDto; +import com.jasamedika.medifirst2000.dto.LogbookKinerjaDetailLogReqDto; +import com.jasamedika.medifirst2000.entities.LogbookKinerjaDetail; +import com.jasamedika.medifirst2000.entities.LogbookKinerjaDetailLog; +import com.jasamedika.medifirst2000.entities.Pegawai; +import com.jasamedika.medifirst2000.service.LogbookKinerjaDetailLogService; +import com.jasamedika.medifirst2000.service.LoginUserService; +import com.jasamedika.medifirst2000.vo.LogbookKinerjaDetailVO; +import com.jasamedika.medifirst2000.vo.PegawaiVO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageImpl; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Optional; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 31/10/2024 + */ +@Service +@Transactional +public class LogbookKinerjaDetailLogServiceImpl implements LogbookKinerjaDetailLogService { + + @Autowired + private LoginUserService loginUserService; + + @Autowired + private LogbookKinerjaDetailDao logbookKinerjaDetailDao; + + @Autowired + private LogbookKinerjaDetailLogDao logbookKinerjaDetailLogDao; + + @Autowired + private BaseConverterImpl catatanKinerjaConverter; + + @Autowired + private BaseConverterImpl pegawaiConverter; + + @Override + public void save(LogbookKinerjaDetailLogReqDto dto) { + LogbookKinerjaDetailLog.LogbookKinerjaDetailLogBuilder logBuilder = LogbookKinerjaDetailLog.builder(); + { + Optional byNoRec = logbookKinerjaDetailDao.findByNoRec(dto.getCatatanKinerjaId()); + byNoRec.ifPresent(logBuilder::catatanKinerja); + } + { + Pegawai subject = loginUserService.getLoginUser().getPegawai(); + logBuilder.pegawai(subject); + } + LogbookKinerjaDetailLog log = logBuilder.jenisLog(dto.getJenisLog()).keterangan(dto.getKeterangan()) + .tanggalDibuat(new Date()).build(); + log.setKdProfile((short) 0); + log.setStatusEnabled(true); + logbookKinerjaDetailLogDao.save(log); + } + + @Override + public Page list(Pageable pageable) { + Page logPage = logbookKinerjaDetailLogDao.findAll(pageable); + List dtoList = new ArrayList<>(); + logPage.getContent().forEach(log -> { + LogbookKinerjaDetailLogDto.LogbookKinerjaDetailLogDtoBuilder dtoBuilder = LogbookKinerjaDetailLogDto + .builder(); + { + LogbookKinerjaDetailVO catatanKinerjaVO = catatanKinerjaConverter + .transferModelToVO(log.getCatatanKinerja(), new LogbookKinerjaDetailVO()); + dtoBuilder.catatanKinerja(catatanKinerjaVO); + } + { + PegawaiVO pegawaiVO = pegawaiConverter.transferModelToVO(log.getPegawai(), new PegawaiVO()); + dtoBuilder.pegawai(pegawaiVO); + } + LogbookKinerjaDetailLogDto dto = dtoBuilder.jenisLog(log.getJenisLog()).keterangan(log.getKeterangan()) + .tanggalDibuat(log.getTanggalDibuat()).build(); + dtoList.add(dto); + }); + return new PageImpl<>(dtoList, pageable, logPage.getTotalElements()); + } + +} diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailServiceImpl.java index 897fd670..88748653 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailServiceImpl.java @@ -5,9 +5,11 @@ import com.jasamedika.medifirst2000.converter.BaseConverterImpl; import com.jasamedika.medifirst2000.dao.LogbookKinerjaDao; import com.jasamedika.medifirst2000.dao.LogbookKinerjaDetailDao; import com.jasamedika.medifirst2000.dao.SettingDataFixedDao; +import com.jasamedika.medifirst2000.dto.LogbookKinerjaDetailLogReqDto; import com.jasamedika.medifirst2000.entities.LogbookKinerja; import com.jasamedika.medifirst2000.entities.LogbookKinerjaDetail; import com.jasamedika.medifirst2000.exception.ServiceVOException; +import com.jasamedika.medifirst2000.service.LogbookKinerjaDetailLogService; import com.jasamedika.medifirst2000.service.LogbookKinerjaDetailService; import com.jasamedika.medifirst2000.util.CommonUtil; import com.jasamedika.medifirst2000.util.DateUtil; @@ -15,6 +17,7 @@ import com.jasamedika.medifirst2000.vo.LogbookKinerjaDetailVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.orm.jpa.JpaSystemException; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.text.DateFormat; import java.text.SimpleDateFormat; @@ -24,9 +27,15 @@ import java.time.LocalTime; import java.time.ZoneId; import java.util.*; +import static com.jasamedika.medifirst2000.enums.JenisLog.HAPUS; + @Service("LogbookKinerjaDetailService") +@Transactional public class LogbookKinerjaDetailServiceImpl extends BaseVoServiceImpl implements LogbookKinerjaDetailService { + @Autowired + private LogbookKinerjaDetailLogService logCatatanKinerjaService; + @Autowired private BaseConverterImpl logbookKinerjaDetailConverter; @@ -291,4 +300,18 @@ public class LogbookKinerjaDetailServiceImpl extends BaseVoServiceImpl implement return result; } + @Override + public void hapusCatatanKinerja(String norec) { + Optional byNoRec = logbookKinerjaDetailDao.findByNoRec(norec); + byNoRec.ifPresent(d -> { + d.setStatusVerifikasi(false); + d.setStatusEnabled(false); + LogbookKinerjaDetailLogReqDto.LogbookKinerjaDetailLogReqDtoBuilder dtoBuilder = LogbookKinerjaDetailLogReqDto + .builder(); + LogbookKinerjaDetailLogReqDto reqDto = dtoBuilder.catatanKinerjaId(norec).jenisLog(HAPUS).build(); + logbookKinerjaDetailDao.save(d); + logCatatanKinerjaService.save(reqDto); + }); + } + } diff --git a/jasamedika-core/src/main/java/com/jasamedika/medifirst2000/enums/JenisLog.java b/jasamedika-core/src/main/java/com/jasamedika/medifirst2000/enums/JenisLog.java new file mode 100644 index 00000000..b237d92b --- /dev/null +++ b/jasamedika-core/src/main/java/com/jasamedika/medifirst2000/enums/JenisLog.java @@ -0,0 +1,10 @@ +package com.jasamedika.medifirst2000.enums; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 31/10/2024 + */ +public enum JenisLog { + BUAT, BACA, PERBARUI, HAPUS +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/LogbookKinerjaDetailLogDto.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/LogbookKinerjaDetailLogDto.java new file mode 100644 index 00000000..6c6a68c8 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/LogbookKinerjaDetailLogDto.java @@ -0,0 +1,42 @@ +package com.jasamedika.medifirst2000.dto; + +import com.jasamedika.medifirst2000.enums.JenisLog; +import com.jasamedika.medifirst2000.helper.Caption; +import com.jasamedika.medifirst2000.vo.LogbookKinerjaDetailVO; +import com.jasamedika.medifirst2000.vo.PegawaiVO; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.util.Date; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 31/10/2024 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class LogbookKinerjaDetailLogDto { + + @Caption(value = "Catatan Kinerja") + private LogbookKinerjaDetailVO catatanKinerja; + + @NotNull(message = "Jenis log tidak boleh kosong") + private JenisLog jenisLog; + + @Size(max = 300, message = "Keterangan maksimal {max} karakter") + @Caption(value = "Keterangan") + private String keterangan; + + private Date tanggalDibuat; + + @Caption(value = "Pegawai") + private PegawaiVO pegawai; + +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/LogbookKinerjaDetailLogReqDto.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/LogbookKinerjaDetailLogReqDto.java new file mode 100644 index 00000000..222d7150 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/LogbookKinerjaDetailLogReqDto.java @@ -0,0 +1,34 @@ +package com.jasamedika.medifirst2000.dto; + +import com.jasamedika.medifirst2000.enums.JenisLog; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 05/11/2024 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class LogbookKinerjaDetailLogReqDto { + + @Caption(value = "ID Catatan Kinerja") + private String catatanKinerjaId; + + @NotNull(message = "Jenis log tidak boleh kosong") + private JenisLog jenisLog; + + @Size(max = 300, message = "Keterangan maksimal {max} karakter") + @Caption(value = "Keterangan") + private String keterangan; + +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/LogbookKinerja.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/LogbookKinerja.java index 2cea609f..30eeb594 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/LogbookKinerja.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/LogbookKinerja.java @@ -1,23 +1,24 @@ 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; +import lombok.Getter; +import lombok.Setter; +import javax.persistence.*; +import javax.validation.constraints.NotNull; +import java.util.Date; + +import static javax.persistence.FetchType.LAZY; + +@Getter +@Setter @Entity @Table(name = "sdm_logbookkinerja_t") public class LogbookKinerja extends BaseTransaction { + private static final long serialVersionUID = -3476750878291376532L; + @Caption(value = "Bulan") @Column(name = "bulan", nullable = false) @Temporal(TemporalType.DATE) @@ -32,126 +33,38 @@ public class LogbookKinerja extends BaseTransaction { private Double bobot; @Caption(value = "Capaian") - @Column(name = "capaian", nullable = true, columnDefinition = "float8 default 0") + @Column(name = "capaian", columnDefinition = "float8 default 0") private Double capaian; @Column(name = "statusverifikasi", nullable = false) @Caption(value = "Status Verifikasi") private Boolean statusVerifikasi; - @ManyToOne + @ManyToOne(fetch = LAZY) @NotNull(message = "Pegawai tidak boleh kosong") @JoinColumn(name = "objectpegawaifk") @Caption(value = "Pegawai") private Pegawai pegawai; - @Column(name = "objectpegawaifk", insertable = false, updatable = false, nullable = true) + @Column(name = "objectpegawaifk", insertable = false, updatable = false) private Integer pegawaiId; - @ManyToOne + @ManyToOne(fetch = LAZY) @NotNull(message = "Jabatan tidak boleh kosong") @JoinColumn(name = "objectjabatanfk") @Caption(value = "Jabatan") private Jabatan jabatan; - @Column(name = "objectjabatanfk", insertable = false, updatable = false, nullable = true) + @Column(name = "objectjabatanfk", insertable = false, updatable = false) private Integer jabatanId; - @ManyToOne + @ManyToOne(fetch = LAZY) @NotNull(message = "Indikator kinerja tidak boleh kosong") @JoinColumn(name = "objectindikatorkinerjafk") @Caption(value = "Indikator Kinerja") private IndikatorKinerja indikatorKinerja; - @Column(name = "objectindikatorkinerjafk", insertable = false, updatable = false, nullable = true) + @Column(name = "objectindikatorkinerjafk", insertable = false, updatable = false) private Integer indikatorKinerjaId; - public Date getBulan() { - return bulan; - } - - public void setBulan(Date bulan) { - this.bulan = bulan; - } - - public Double getTarget() { - return target; - } - - public void setTarget(Double target) { - this.target = target; - } - - public Double getBobot() { - return bobot; - } - - public void setBobot(Double bobot) { - this.bobot = bobot; - } - - public Double getCapaian() { - return capaian; - } - - public void setCapaian(Double capaian) { - this.capaian = capaian; - } - - public Boolean getStatusVerifikasi() { - return statusVerifikasi; - } - - public void setStatusVerifikasi(Boolean statusVerifikasi) { - this.statusVerifikasi = statusVerifikasi; - } - - 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 Jabatan getJabatan() { - return jabatan; - } - - public void setJabatan(Jabatan jabatan) { - this.jabatan = jabatan; - } - - public Integer getJabatanId() { - return jabatanId; - } - - public void setJabatanId(Integer jabatanId) { - this.jabatanId = jabatanId; - } - - public IndikatorKinerja getIndikatorKinerja() { - return indikatorKinerja; - } - - public void setIndikatorKinerja(IndikatorKinerja indikatorKinerja) { - this.indikatorKinerja = indikatorKinerja; - } - - public Integer getIndikatorKinerjaId() { - return indikatorKinerjaId; - } - - public void setIndikatorKinerjaId(Integer indikatorKinerjaId) { - this.indikatorKinerjaId = indikatorKinerjaId; - } - } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/LogbookKinerjaDetail.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/LogbookKinerjaDetail.java index 8ece0295..239e3e73 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/LogbookKinerjaDetail.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/LogbookKinerjaDetail.java @@ -1,24 +1,23 @@ 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; +import lombok.Getter; +import lombok.Setter; +import javax.persistence.*; +import javax.validation.constraints.NotNull; +import java.util.Date; + +import static javax.persistence.FetchType.LAZY; + +@Getter +@Setter @Entity @Table(name = "sdm_logbookkinerjadetail_t") public class LogbookKinerjaDetail extends BaseTransaction { - private static final long serialVersionUID = -7534794958436007877L; + private static final long serialVersionUID = -775261066377264716L; @Column(name = "namakegiatan", nullable = false) @Caption(value = "Nama Kegiatan") @@ -28,7 +27,7 @@ public class LogbookKinerjaDetail extends BaseTransaction { @Caption(value = "Capaian") private Double capaian; - @Column(name = "catatan", nullable = true) + @Column(name = "catatan") @Caption(value = "Catatan") private String catatan; @@ -41,69 +40,13 @@ public class LogbookKinerjaDetail extends BaseTransaction { @Caption(value = "Status Verifikasi") private Boolean statusVerifikasi; - @ManyToOne + @ManyToOne(fetch = LAZY) @NotNull(message = "Indikator kinerja tidak boleh kosong") @JoinColumn(name = "objectlogbookkinerjafk") @Caption(value = "Logbook Kinerja") private LogbookKinerja logbookKinerja; - @Column(name = "objectlogbookkinerjafk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = true) + @Column(name = "objectlogbookkinerjafk", columnDefinition = "CHAR(32)", insertable = false, updatable = false) private String logbookKinerjaId; - public String getNamaKegiatan() { - return namaKegiatan; - } - - public void setNamaKegiatan(String namaKegiatan) { - this.namaKegiatan = namaKegiatan; - } - - public Double getCapaian() { - return capaian; - } - - public void setCapaian(Double capaian) { - this.capaian = capaian; - } - - public String getCatatan() { - return catatan; - } - - public void setCatatan(String catatan) { - this.catatan = catatan; - } - - public Date getTanggalKegiatan() { - return tanggalKegiatan; - } - - public void setTanggalKegiatan(Date tanggalKegiatan) { - this.tanggalKegiatan = tanggalKegiatan; - } - - public Boolean getStatusVerifikasi() { - return statusVerifikasi; - } - - public void setStatusVerifikasi(Boolean statusVerifikasi) { - this.statusVerifikasi = statusVerifikasi; - } - - public LogbookKinerja getLogbookKinerja() { - return logbookKinerja; - } - - public void setLogbookKinerja(LogbookKinerja logbookKinerja) { - this.logbookKinerja = logbookKinerja; - } - - public String getLogbookKinerjaId() { - return logbookKinerjaId; - } - - public void setLogbookKinerjaId(String logbookKinerjaId) { - this.logbookKinerjaId = logbookKinerjaId; - } - } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/LogbookKinerjaDetailLog.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/LogbookKinerjaDetailLog.java new file mode 100644 index 00000000..7484fc93 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/LogbookKinerjaDetailLog.java @@ -0,0 +1,58 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseTransaction; +import com.jasamedika.medifirst2000.enums.JenisLog; +import com.jasamedika.medifirst2000.helper.Caption; +import lombok.*; + +import javax.persistence.*; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.io.Serializable; +import java.util.Date; + +import static javax.persistence.EnumType.STRING; +import static javax.persistence.TemporalType.TIMESTAMP; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 31/10/2024 + */ + +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Entity +@Table(name = "sdm_logbookkinerjadetaillog_t") +public class LogbookKinerjaDetailLog extends BaseTransaction implements Serializable { + + @OneToOne + @MapsId + @JoinColumn(name = "norec", columnDefinition = "CHAR(32)") + @NotNull(message = "Logbook tidak boleh kosong") + @Caption(value = "Logbook Kinerja") + private LogbookKinerjaDetail catatanKinerja; + + @Column(length = 30, nullable = false) + @Enumerated(STRING) + @NotNull(message = "Jenis log tidak boleh kosong") + private JenisLog jenisLog; + + @Column(length = 300) + @Size(max = 300, message = "Keterangan maksimal {max} karakter") + @Caption(value = "Keterangan") + private String keterangan; + + @Temporal(TIMESTAMP) + private Date tanggalDibuat; + + @ManyToOne + @NotNull(message = "Pegawai tidak boleh kosong") + @JoinColumn(name = "objectpegawaifk", nullable = false) + @Caption(value = "Pegawai") + private Pegawai pegawai; + +} 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 dbfe82a2..d21cd852 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 @@ -4,6 +4,7 @@ import com.jasamedika.medifirst2000.constants.Constants; import com.jasamedika.medifirst2000.constants.MessageResource; import com.jasamedika.medifirst2000.controller.base.LocaleController; import com.jasamedika.medifirst2000.core.web.WebConstants; +import com.jasamedika.medifirst2000.dto.LogbookKinerjaDetailLogDto; import com.jasamedika.medifirst2000.exception.ServiceVOException; import com.jasamedika.medifirst2000.service.*; import com.jasamedika.medifirst2000.util.CommonUtil; @@ -15,8 +16,10 @@ import com.jasamedika.medifirst2000.vo.custom.TargetLayananLuarJamKerjaVO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.orm.jpa.JpaSystemException; import org.springframework.web.bind.annotation.*; @@ -30,6 +33,10 @@ import java.util.Date; import java.util.List; import java.util.Map; +import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; +import static org.springframework.web.bind.annotation.RequestMethod.GET; +import static org.springframework.web.bind.annotation.RequestMethod.POST; + @RestController @RequestMapping("/iki-remunerasi") public class IkiDanRemunerasiController extends LocaleController { @@ -123,7 +130,10 @@ public class IkiDanRemunerasiController extends LocaleController> getLoadData(HttpServletRequest request) { try { Map result = service.loadData(); @@ -145,7 +155,7 @@ public class IkiDanRemunerasiController extends LocaleController> getKalkulasiDataRemunerasi(@RequestParam(value = "id") Integer id, @RequestParam(value = "date") String date, HttpServletRequest request) { try { @@ -168,7 +178,7 @@ public class IkiDanRemunerasiController extends LocaleController> saveIkiRemunerasi(@Valid @RequestBody StrukHistoriVO vo, HttpServletRequest request) { try { @@ -189,7 +199,7 @@ public class IkiDanRemunerasiController extends LocaleController> getKalkulasiDataRemunerasiPegawai( @RequestParam(value = "date") String date, HttpServletRequest request) { try { @@ -212,7 +222,7 @@ public class IkiDanRemunerasiController extends LocaleController> findPir(@PathVariable("tahun") String tahun, HttpServletRequest request) { Map result = null; @@ -227,7 +237,7 @@ public class IkiDanRemunerasiController extends LocaleController> findPir(@PathVariable("periode") String periode, @PathVariable("idUnitKerja") Integer idUnitKerja, HttpServletRequest request) { Map result = null; @@ -242,7 +252,7 @@ public class IkiDanRemunerasiController extends LocaleController>> findPir(HttpServletRequest request) { List> result = null; try { @@ -256,7 +266,7 @@ public class IkiDanRemunerasiController extends LocaleController> savePirDanIku(@Valid @RequestBody List vo, HttpServletRequest request) { try { @@ -278,7 +288,7 @@ public class IkiDanRemunerasiController extends LocaleController> getAllTargetLayananJamKerja(HttpServletRequest request, @RequestParam(value = "periode") String periode, @RequestParam(value = "ksmId", required = false) Integer idKsm) throws ParseException { @@ -300,7 +310,7 @@ public class IkiDanRemunerasiController extends LocaleController> getAllTargetLayananLuarJamKerja(HttpServletRequest request, @RequestParam(value = "periode") String periode) throws ParseException { try { @@ -321,7 +331,7 @@ public class IkiDanRemunerasiController extends LocaleController saveMasterGradeRemunerasi(HttpServletRequest request, @Valid @RequestBody GradeRemunerasiVO vo) { try { @@ -349,7 +359,7 @@ public class IkiDanRemunerasiController extends LocaleController saveAnggaranRemunerasi(HttpServletRequest request, @Valid @RequestBody AnggaranRemunerasiVO vo) { try { @@ -377,7 +387,7 @@ public class IkiDanRemunerasiController extends LocaleController saveRemunerasiOperasional(HttpServletRequest request, @Valid @RequestBody RemunerasiOperasionalVO vo) { try { @@ -405,7 +415,7 @@ public class IkiDanRemunerasiController extends LocaleController> saveAllAnggaranRemunerasi(HttpServletRequest request, @Valid @RequestBody List listVO, @RequestParam(value = "loginUserId") Integer idLoginUser) { @@ -429,7 +439,7 @@ public class IkiDanRemunerasiController extends LocaleController saveMasterIndikatorKinerja(HttpServletRequest request, @Valid @RequestBody IndikatorKinerjaVO vo) { try { @@ -457,7 +467,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getMasterIndikatorKinerja(HttpServletRequest request, @RequestParam(value = "jenisIndikatorId", required = false) Integer idJenisIndikator, @RequestParam(value = "namaIndikator", required = false) String namaIndikator, @@ -479,7 +489,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getDuplikatIndikatorKinerja(HttpServletRequest request, @RequestParam(value = "idIndikator", required = false) Integer idIndikator, @RequestParam(value = "namaIndikator") String namaIndikator) { @@ -500,7 +510,7 @@ public class IkiDanRemunerasiController extends LocaleController saveMappingIndikatorJabatan(HttpServletRequest request, @Valid @RequestBody IndikatorKinerjaJabatanVO vo) { try { @@ -531,7 +541,7 @@ public class IkiDanRemunerasiController extends LocaleController> saveMappingIndikatorAllJabatan(HttpServletRequest request, @Valid @RequestBody List vo, @RequestParam(value = "loginUserId") Integer idLoginUser) { @@ -559,7 +569,7 @@ public class IkiDanRemunerasiController extends LocaleController> getMappingIndikatorJabatan(HttpServletRequest request, @RequestParam(value = "jabatanId") Integer idJabatan) { try { @@ -578,7 +588,7 @@ public class IkiDanRemunerasiController extends LocaleController>> setMappingIndikatorJabatan(HttpServletRequest request, @RequestParam(value = "indikatorId") Integer idIndikator) { try { @@ -597,7 +607,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getDuplikatIndikatorJabatan(HttpServletRequest request, @RequestParam(value = "indikatorId") Integer idIndikator, @RequestParam(value = "jabatanId") Integer idJabatan, @RequestParam(value = "tglBerlaku") Long tglBerlaku) { @@ -618,7 +628,7 @@ public class IkiDanRemunerasiController extends LocaleController saveSkoringTindakanMedis(HttpServletRequest request, @Valid @RequestBody SkoringTindakanMedisVO vo) { try { @@ -646,7 +656,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getAllSkoringTindakanMedis(HttpServletRequest request, @RequestParam(value = "listKelompokKerjaId", required = false) List listIdKelompokKerja, @RequestParam(value = "namaProduk", required = false) String namaProduk, @@ -669,7 +679,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getDaftarInputTindakan(HttpServletRequest request, @RequestParam(value = "ruanganId") Integer idRuangan) { try { @@ -689,7 +699,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getDuplikatSkoringTindakanMedis(HttpServletRequest request, @RequestParam(value = "noRec", required = false) String noRec, @RequestParam(value = "namaProduk") String namaProduk, @@ -713,7 +723,7 @@ public class IkiDanRemunerasiController extends LocaleController> getAksesSkoringTindakanMedis(HttpServletRequest request, @RequestParam(value = "pegawaiId") Integer idPegawai) { try { @@ -732,7 +742,7 @@ public class IkiDanRemunerasiController extends LocaleController saveKontrakKinerja(HttpServletRequest request, @Valid @RequestBody LogbookKinerjaVO vo) { try { @@ -763,7 +773,7 @@ public class IkiDanRemunerasiController extends LocaleController setKontrakKinerja(HttpServletRequest request, @RequestBody Long bulan) { try { logbookKinerjaService.autoVerifKontrakJamKerjaDokter(new Date(bulan)); @@ -781,7 +791,7 @@ public class IkiDanRemunerasiController extends LocaleController> getKontrakKinerja(HttpServletRequest request, @RequestParam(value = "pegawaiId") Integer idPegawai, @RequestParam(value = "jabatanId") Integer idJabatan, @RequestParam(value = "bulan") Long bulan) { @@ -801,7 +811,7 @@ public class IkiDanRemunerasiController extends LocaleController>> cekKontrakKinerja(HttpServletRequest request, @RequestParam(value = "indikatorId") Integer idIndikator) { try { @@ -820,7 +830,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getPegawaiAksesKinerja(HttpServletRequest request, @RequestParam(value = "pegawaiId") Integer idPegawai, @RequestParam(value = "listKelompokJabatanId", required = false) List listIdKelompokJabatan) { @@ -840,7 +850,7 @@ public class IkiDanRemunerasiController extends LocaleController savePengajuanKontrakKinerja(HttpServletRequest request, @Valid @RequestBody LogbookKinerjaVO vo) { try { @@ -868,7 +878,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getDaftarPengajuanKontrakKinerja(HttpServletRequest request, @RequestParam(value = "pegawaiId") Integer idPegawai, @RequestParam(value = "jabatanId") Integer idJabatan) { @@ -888,7 +898,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getDaftarIndikatorDiUnitKerja(HttpServletRequest request, @RequestParam(value = "jenisIndikator") Integer jenisIndikator, @RequestParam(value = "unitKerjaId") Integer idUnitKerja, @@ -910,7 +920,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getDuplikatKontrakKinerja(HttpServletRequest request, @RequestParam(value = "pegawaiId") Integer idPegawai, @RequestParam(value = "jabatanId") Integer idJabatan, @RequestParam(value = "bulan") Long bulan, @RequestParam(value = "indikatorId") Integer idIndikator) { @@ -931,7 +941,7 @@ public class IkiDanRemunerasiController extends LocaleController saveWorkingRecord(HttpServletRequest request, @Valid @RequestBody LogbookKinerjaDetailVO vo) { try { @@ -959,7 +969,7 @@ public class IkiDanRemunerasiController extends LocaleController> getDashboardKinerja(HttpServletRequest request, @RequestParam(value = "pegawaiId") Integer idPegawai, @RequestParam(value = "jabatanId") Integer idJabatan, @RequestParam(value = "bulan") Long bulan) { @@ -979,7 +989,7 @@ public class IkiDanRemunerasiController extends LocaleController> widgetDashboardKinerja(HttpServletRequest request, @RequestParam(value = "pegawaiId") Integer idPegawai, @RequestParam(value = "bulan") Long bulan) { try { @@ -998,7 +1008,7 @@ public class IkiDanRemunerasiController extends LocaleController> widgetStatusVerifikasi(HttpServletRequest request, @RequestParam(value = "pegawaiId") Integer idPegawai, @RequestParam(value = "bulan") Long bulan) { try { @@ -1017,7 +1027,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getCatatanKegiatanHarianBelumVerif(HttpServletRequest request, @RequestParam(value = "pegawaiId") Integer idPegawai, @RequestParam(value = "jabatanId") Integer idJabatan, @RequestParam(value = "bulan") Long bulan) { @@ -1040,7 +1050,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getCatatanKegiatanHarianSudahVerif(HttpServletRequest request, @RequestParam(value = "pegawaiId") Integer idPegawai, @RequestParam(value = "jabatanId") Integer idJabatan, @RequestParam(value = "bulan") Long bulan) { @@ -1063,7 +1073,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getCatatanKegiatanHarianByIndikator(HttpServletRequest request, @RequestParam(value = "pegawaiId") Integer idPegawai, @RequestParam(value = "jabatanId") Integer idJabatan, @RequestParam(value = "indikatorId") Integer idIndikator, @RequestParam(value = "bulan") Long bulan) { @@ -1084,7 +1094,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getAksesPegawaiVerifikasiKinerja(HttpServletRequest request, @RequestParam(value = "pegawaiId") Integer idPegawai) { try { @@ -1103,7 +1113,7 @@ public class IkiDanRemunerasiController extends LocaleController saveBobotJenisIndikator(HttpServletRequest request, @Valid @RequestBody BobotJenisIndikatorVO vo) { try { @@ -1131,7 +1141,7 @@ public class IkiDanRemunerasiController extends LocaleController> saveAllBobotJenisIndikator(HttpServletRequest request, @Valid @RequestBody List vos) { try { @@ -1154,7 +1164,7 @@ public class IkiDanRemunerasiController extends LocaleController> updateAllBobotJenisIndikator(HttpServletRequest request, @Valid @RequestBody List vos) { try { @@ -1177,7 +1187,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getMasterBobotJenisIndikator(HttpServletRequest request, @RequestParam(value = "periode") Long periode, @RequestParam(value = "kelompokKerjaId", required = false) Integer idKelompokKerja) { @@ -1197,7 +1207,7 @@ public class IkiDanRemunerasiController extends LocaleController> getEditMasterBobotJenisIndikator(HttpServletRequest request, @RequestParam(value = "tglPembaharuanData") Long tglPembaharuanData) throws ParseException { try { @@ -1216,7 +1226,7 @@ public class IkiDanRemunerasiController extends LocaleController deleteMasterBobotJenisIndikator(HttpServletRequest request, @RequestParam(value = "noRec") String norec) { try { @@ -1235,7 +1245,7 @@ public class IkiDanRemunerasiController extends LocaleController deleteAllMasterBobotJenisIndikator(HttpServletRequest request, @RequestParam(value = "tglPembaharuanData") Long tglPembaharuanData) { try { @@ -1254,7 +1264,7 @@ public class IkiDanRemunerasiController extends LocaleController> getBobotJenisIndikatorByJabatan(HttpServletRequest request, @RequestParam(value = "periode") Long periode, @RequestParam(value = "jabatanId") Integer idJabatan) { try { @@ -1273,7 +1283,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getDuplikatBobotJenisIndikator(HttpServletRequest request, @RequestParam(value = "periode") Long periode, @RequestParam(value = "jenisIndikatorId") Integer idJenisIndikator, @@ -1295,7 +1305,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getLogbookSkoringDokterJamKerja(HttpServletRequest request, @RequestParam(value = "bulan") Long bulan, @RequestParam(value = "pegawaiId") Integer idPegawai) { try { @@ -1314,7 +1324,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getDetailPasienDetailJamKerja(HttpServletRequest request, @RequestParam(value = "pegawaiId") Integer idPegawai, @RequestParam(value = "indikatorId") Integer idIndikator, @@ -1340,7 +1350,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getLogbookSkoringDokterLuarJamKerja(HttpServletRequest request, @RequestParam(value = "bulan") Long bulan, @RequestParam(value = "pegawaiId") Integer idPegawai) { try { @@ -1361,7 +1371,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getDetailPasienDetailLuarJamKerja(HttpServletRequest request, @RequestParam(value = "pegawaiId") Integer idPegawai, @RequestParam(value = "indikatorId") Integer idIndikator, @@ -1387,7 +1397,7 @@ public class IkiDanRemunerasiController extends LocaleController> getPenilaianKinerjaIndividu(HttpServletRequest request, @RequestParam(value = "pegawaiId") Integer idPegawai, @RequestParam(value = "jabatanId") Integer idJabatan, @RequestParam(value = "bulan") Long bulan) { @@ -1407,7 +1417,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getRekapPenilaianKinerjaIndividu(HttpServletRequest request, @RequestParam(value = "bulan") Long bulan, @RequestParam(value = "unitKerjaId", required = false) Integer idUnitKerja, @@ -1432,7 +1442,7 @@ public class IkiDanRemunerasiController extends LocaleController verifikasiLogbookSkor(HttpServletRequest request, @Valid @RequestBody LogbookKinerjaVO vo) { try { @@ -1456,7 +1466,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getPegawaiRemunByUnitKerja(HttpServletRequest request, @RequestParam(value = "unitKerjaId", required = false) Integer idUnitKerja, @RequestParam(value = "subunitKerjaId", required = false) Integer idSubunitKerja) { @@ -1479,7 +1489,7 @@ public class IkiDanRemunerasiController extends LocaleController saveSkoringTindakanPerawat(HttpServletRequest request, @Valid @RequestBody SkoringTindakanPerawatVO vo) { try { @@ -1507,7 +1517,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getAllSkoringTindakanPerawat(HttpServletRequest request, @RequestParam(value = "namaProduk", required = false) String namaProduk, @RequestParam(value = "isVerif", required = false) Boolean isVerif, @@ -1529,7 +1539,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getDuplikatSkoringTindakanPerawat(HttpServletRequest request, @RequestParam(value = "noRec", required = false) String noRec, @RequestParam(value = "namaProduk") String namaProduk, @RequestParam(value = "skor") Double skor, @@ -1551,7 +1561,7 @@ public class IkiDanRemunerasiController extends LocaleController> getAksesSkoringTindakanPerawat(HttpServletRequest request, @RequestParam(value = "pegawaiId") Integer idPegawai) { try { @@ -1570,7 +1580,7 @@ public class IkiDanRemunerasiController extends LocaleController savePelayananPasienPerawat(HttpServletRequest request, @Valid @RequestBody PelayananPasienPerawatVO vo) { try { @@ -1600,7 +1610,7 @@ public class IkiDanRemunerasiController extends LocaleController deletePelayananPasienPerawat(HttpServletRequest request, @RequestParam(value = "noRec") String norec) { try { @@ -1619,7 +1629,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getPelayananPasienPerawat(HttpServletRequest request, @RequestParam(value = "noRec") String noRec, @RequestParam(value = "pegawaiId") Integer idPegawai) { try { @@ -1639,7 +1649,7 @@ public class IkiDanRemunerasiController extends LocaleController saveProdukPerawat(HttpServletRequest request, @Valid @RequestBody ProdukPerawatVO vo) { try { @@ -1667,7 +1677,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getProdukPerawat(HttpServletRequest request, @RequestParam(value = "namaProduk", required = false) String namaProduk, @RequestParam(value = "kdKlasif", required = false) Short kdKlasif) { @@ -1687,7 +1697,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getDuplikatProdukPerawat(HttpServletRequest request, @RequestParam(value = "namaProduk") String namaProduk, @RequestParam(value = "kdKlasif") Short kdKlasif, @RequestParam(value = "produkId", required = false) Integer idProduk) { @@ -1708,7 +1718,7 @@ public class IkiDanRemunerasiController extends LocaleController saveProfesiNakes(HttpServletRequest request, @Valid @RequestBody ProfesiVO vo) { try { ProfesiVO result; @@ -1735,7 +1745,7 @@ public class IkiDanRemunerasiController extends LocaleController> getProfesiNakes(HttpServletRequest request) { try { List result = profesiService.findAllActive(); @@ -1753,7 +1763,7 @@ public class IkiDanRemunerasiController extends LocaleController saveProdukNakes(HttpServletRequest request, @Valid @RequestBody ProdukNakesVO vo) { try { @@ -1781,7 +1791,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getProdukNakes(HttpServletRequest request, @RequestParam(value = "namaProduk", required = false) String namaProduk, @RequestParam(value = "kdProduk", required = false) Short kdProduk, @@ -1802,7 +1812,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getDuplikatProdukNakes(HttpServletRequest request, @RequestParam(value = "namaProduk") String namaProduk, @RequestParam(value = "profesiId") Integer idProfesi, @RequestParam(value = "produkId", required = false) Integer idProduk) { @@ -1822,7 +1832,7 @@ public class IkiDanRemunerasiController extends LocaleController saveSkoringTindakanNakes(HttpServletRequest request, @Valid @RequestBody SkoringTindakanNakesVO vo) { try { @@ -1850,7 +1860,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getAllSkoringTindakanNakes(HttpServletRequest request, @RequestParam(value = "namaProduk", required = false) String namaProduk, @RequestParam(value = "isVerif", required = false) Boolean isVerif, @@ -1872,7 +1882,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getDuplikatSkoringTindakanNakes(HttpServletRequest request, @RequestParam(value = "noRec", required = false) String noRec, @RequestParam(value = "namaProduk") String namaProduk, @RequestParam(value = "profesiId") Integer idProfesi, @@ -1896,7 +1906,7 @@ public class IkiDanRemunerasiController extends LocaleController> getAksesSkoringTindakanNakes(HttpServletRequest request, @RequestParam(value = "pegawaiId") Integer idPegawai) { try { @@ -1915,7 +1925,7 @@ public class IkiDanRemunerasiController extends LocaleController savePelayananPasienNakes(HttpServletRequest request, @Valid @RequestBody PelayananPasienNakesVO vo) { try { @@ -1947,7 +1957,7 @@ public class IkiDanRemunerasiController extends LocaleController deletePelayananPasienNakes(HttpServletRequest request, @RequestParam(value = "noRec") String norec) { try { @@ -1966,7 +1976,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getPelayananPasienNakes(HttpServletRequest request, @RequestParam(value = "noRec") String noRec, @RequestParam(value = "pegawaiId") Integer idPegawai) { try { @@ -1986,7 +1996,7 @@ public class IkiDanRemunerasiController extends LocaleController savePelayananNakes(HttpServletRequest request, @Valid @RequestBody PelayananNakesVO vo) { try { @@ -2018,7 +2028,7 @@ public class IkiDanRemunerasiController extends LocaleController deletePelayananNakes(HttpServletRequest request, @RequestParam(value = "noRec") String norec) { try { @@ -2037,7 +2047,7 @@ public class IkiDanRemunerasiController extends LocaleController> saveAllIndeksKinerjaDokter(HttpServletRequest request, @Valid @RequestBody List vos) { try { @@ -2060,7 +2070,7 @@ public class IkiDanRemunerasiController extends LocaleController verifikasiPresensiDpjp(HttpServletRequest request, @Valid @RequestBody CpptDokterVo vo) { try { @@ -2083,7 +2093,7 @@ public class IkiDanRemunerasiController extends LocaleController saveTargetSkorDokter(HttpServletRequest request, @Valid @RequestBody TargetSkorDokterVO vo) { try { @@ -2111,7 +2121,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getTargetSkorKelompokKerja(HttpServletRequest request, @RequestParam(value = "tahun") Long tahun) { try { @@ -2130,7 +2140,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getLogbookSkoringNakes(HttpServletRequest request, @RequestParam(value = "bulan") Long bulan, @RequestParam(value = "pegawaiId") Integer idPegawai) { try { @@ -2149,7 +2159,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getDetailLogbookSkoringNakes(HttpServletRequest request, @RequestParam(value = "pegawaiId") Integer idPegawai, @RequestParam(value = "produkId") Integer idProduk, @RequestParam(value = "tglPelayanan") String tglPelayanan) { @@ -2170,7 +2180,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getTindakanBelumAdaSkor(HttpServletRequest request, @RequestParam(value = "listKelompokKerjaId", required = false) List listIdKelompokKerja) { try { @@ -2190,7 +2200,7 @@ public class IkiDanRemunerasiController extends LocaleController> getDeskripsiTindakanSkorMedis(HttpServletRequest request, @RequestParam(value = "produkId") Integer idProduk, @RequestParam(value = "kelompokKerjaId") Integer idKelompokKerja) { @@ -2211,7 +2221,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getDaftarTindakanLogbookSkor(HttpServletRequest request, @RequestParam(value = "namaProduk", required = false) String namaProduk) { try { @@ -2230,7 +2240,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getLogbookSkoringPerawat(HttpServletRequest request, @RequestParam(value = "bulan") Long bulan, @RequestParam(value = "pegawaiId") Integer idPegawai) { try { @@ -2249,7 +2259,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getDetailLogbookSkoringPerawat(HttpServletRequest request, @RequestParam(value = "pegawaiId") Integer idPegawai, @RequestParam(value = "produkId") Integer idProduk, @RequestParam(value = "tglPelayanan") String tglPelayanan) { @@ -2270,7 +2280,7 @@ public class IkiDanRemunerasiController extends LocaleController> saveAllMapProdukKelompokKerja(HttpServletRequest request, @Valid @RequestBody List vos) { try { @@ -2293,7 +2303,7 @@ public class IkiDanRemunerasiController extends LocaleController saveMapProdukKelompokKerja(HttpServletRequest request, @Valid @RequestBody MapProdukKelompokKerjaVO vo) { try { @@ -2322,7 +2332,7 @@ public class IkiDanRemunerasiController extends LocaleController deleteMapProdukKelompokKerja(HttpServletRequest request, @RequestParam(value = "noRec") String norec) { try { @@ -2341,7 +2351,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getSubjectMapProdukKelompokKerja(HttpServletRequest request) { try { List> result = mapProdukKelompokKerjaService.getAllProduk(); @@ -2359,7 +2369,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getObjectMapProdukKelompokKerja(HttpServletRequest request, @RequestParam(value = "produkId") Integer idProduk) { try { @@ -2378,7 +2388,7 @@ public class IkiDanRemunerasiController extends LocaleController saveProdukFarmakologi(HttpServletRequest request, @Valid @RequestBody ProdukFarmakologiVO vo) { try { @@ -2408,7 +2418,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getProdukFarmakologi(HttpServletRequest request, @RequestParam(value = "namaProduk", required = false) String namaProduk, @RequestParam(value = "kdProduk", required = false) Short kdProduk) { @@ -2430,7 +2440,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getDuplikatProdukFarmakologi(HttpServletRequest request, @RequestParam(value = "namaProduk") String namaProduk, @RequestParam(value = "produkId", required = false) Integer idProduk) { @@ -2452,7 +2462,7 @@ public class IkiDanRemunerasiController extends LocaleController saveSkoringTindakanFarmakologi(HttpServletRequest request, @Valid @RequestBody SkoringTindakanFarmakologiVO vo) { try { @@ -2482,7 +2492,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getAllSkoringTindakanFarmakologi(HttpServletRequest request, @RequestParam(value = "namaProduk", required = false) String namaProduk, @RequestParam(value = "isVerif", required = false) Boolean isVerif) { @@ -2504,7 +2514,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getDuplikatSkoringTindakanFarmakologi(HttpServletRequest request, @RequestParam(value = "noRec", required = false) String noRec, @RequestParam(value = "namaProduk") String namaProduk, @RequestParam(value = "skor") Double skor, @@ -2528,7 +2538,7 @@ public class IkiDanRemunerasiController extends LocaleController> getAksesSkoringTindakanFarmakologi(HttpServletRequest request, @RequestParam(value = "pegawaiId") Integer idPegawai) { try { @@ -2549,7 +2559,7 @@ public class IkiDanRemunerasiController extends LocaleController savePelayananFarmakologi(HttpServletRequest request, @Valid @RequestBody PelayananFarmakologiVO vo) { try { @@ -2581,7 +2591,7 @@ public class IkiDanRemunerasiController extends LocaleController deletePelayananFarmakologi(HttpServletRequest request, @RequestParam(value = "noRec") String norec) { try { @@ -2600,7 +2610,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getLogbookSkoringFarmakologi(HttpServletRequest request, @RequestParam(value = "bulan") Long bulan, @RequestParam(value = "pegawaiId") Integer idPegawai) { try { @@ -2619,7 +2629,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getDetailLogbookSkoringFarmakologi(HttpServletRequest request, @RequestParam(value = "pegawaiId") Integer idPegawai, @RequestParam(value = "produkId") Integer idProduk, @RequestParam(value = "tglPelayanan") String tglPelayanan) { @@ -2642,7 +2652,7 @@ public class IkiDanRemunerasiController extends LocaleController verifyPenilaianKinerjaIndividu(HttpServletRequest request, @Valid @RequestBody PenilaianKinerjaVO vo) { try { @@ -2667,7 +2677,7 @@ public class IkiDanRemunerasiController extends LocaleController> getLogbookRemunTarifDokter(HttpServletRequest request, @PathVariable("idPegawai") Integer idPegawai, @PathVariable("bulan") String bulan) { try { @@ -2694,7 +2704,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getLogbookFfsTarifDokter(HttpServletRequest request, @PathVariable("idPegawai") Integer idPegawai, @PathVariable("bulan") String bulan) { try { @@ -2721,7 +2731,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getLogbookFfsLuarTarifDokter(HttpServletRequest request, @PathVariable("idPegawai") Integer idPegawai, @PathVariable("bulan") String bulan) { try { @@ -2750,7 +2760,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getLogbookKlaimMpp(HttpServletRequest request, @PathVariable("idPegawai") Integer idPegawai, @PathVariable("bulan") String bulan) { try { @@ -2777,7 +2787,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getLogbookFixedPay(HttpServletRequest request, @PathVariable("idPegawai") Integer idPegawai, @PathVariable("bulan") String bulan) { try { @@ -2804,7 +2814,7 @@ public class IkiDanRemunerasiController extends LocaleController>> getDetailLogbookTarifDokter(HttpServletRequest request, @PathVariable("idPegawai") Integer idPegawai, @RequestBody List norecs) { try { @@ -2828,4 +2838,41 @@ public class IkiDanRemunerasiController extends LocaleController saveWorkingRecord(HttpServletRequest request, + @PathVariable("norec") String noRec) { + try { + logbookKinerjaDetailService.hapusCatatanKinerja(noRec); + return RestUtil.getJsonResponse(null, HttpStatus.CREATED, mapHeaderMessage); + } catch (ServiceVOException sve) { + LOGGER.error("Got ServiceVOException {} when hapus catatan kinerja", sve.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage); + } catch (JpaSystemException jse) { + LOGGER.error("Got JpaSystemException {} when hapus catatan kinerja", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } + + @RequestMapping(value = "/catatan-kinerja/logs", method = GET) + public ResponseEntity> logsKinerja(HttpServletRequest request, + @RequestParam(value = "page") int page, @RequestParam(value = "size") int size) { + try { + Pageable pageable = new PageRequest(page, size); + Page dtoPage = logbookLogService.list(pageable); + mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, + getMessage(MessageResource.LABEL_SUCCESS, request)); + return RestUtil.getJsonResponse(dtoPage, HttpStatus.OK, mapHeaderMessage); + } catch (ServiceVOException sve) { + LOGGER.error("Got ServiceVOException {} when get logging catatan kinerja", sve.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage); + } catch (JpaSystemException jse) { + LOGGER.error("Got JpaSystemException {} when get logging catatan kinerja", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } }