diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/RekapLogbookDokterDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/RekapLogbookDokterDao.java index 913d7bc5..1549f399 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/RekapLogbookDokterDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/RekapLogbookDokterDao.java @@ -3,10 +3,15 @@ package com.jasamedika.medifirst2000.dao; import com.jasamedika.medifirst2000.entities.RekapLogbookDokter; import org.springframework.data.jpa.repository.JpaRepository; +import java.util.Date; +import java.util.List; + /** * @author salmanoe * @version 1.0.0 * @since 07/11/2023 */ public interface RekapLogbookDokterDao extends JpaRepository { + + List findByBulanBetween(Date tglAwal, Date tglAkhir); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/RekapLogbookDokterService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/RekapLogbookDokterService.java new file mode 100644 index 00000000..f3a2715e --- /dev/null +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/RekapLogbookDokterService.java @@ -0,0 +1,13 @@ +package com.jasamedika.medifirst2000.service; + +import java.util.Date; + +/** + * @author Salman + * @version 1.0.0 + * @since 01/01/2024 + */ +public interface RekapLogbookDokterService { + + void deleteByPeriod(Date tglAwal, Date tglAkhir); +} diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RekapLogbookDokterServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RekapLogbookDokterServiceImpl.java new file mode 100644 index 00000000..77b71a77 --- /dev/null +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RekapLogbookDokterServiceImpl.java @@ -0,0 +1,30 @@ +package com.jasamedika.medifirst2000.service.impl; + +import com.jasamedika.medifirst2000.dao.RekapLogbookDokterDao; +import com.jasamedika.medifirst2000.entities.RekapLogbookDokter; +import com.jasamedika.medifirst2000.service.RekapLogbookDokterService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; + +/** + * @author Salman + * @version 1.0.0 + * @since 01/01/2024 + */ +@Service +@Transactional +public class RekapLogbookDokterServiceImpl implements RekapLogbookDokterService { + + @Autowired + private RekapLogbookDokterDao rekapLogbookDokterDao; + + @Override + public void deleteByPeriod(Date tglAwal, Date tglAkhir) { + List listRekap = rekapLogbookDokterDao.findByBulanBetween(tglAwal, tglAkhir); + rekapLogbookDokterDao.delete(listRekap); + } +} diff --git a/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/task/schedule/LogbookTask.java b/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/task/schedule/LogbookTask.java index 00ec71a6..c6795eae 100644 --- a/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/task/schedule/LogbookTask.java +++ b/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/task/schedule/LogbookTask.java @@ -6,6 +6,7 @@ import com.jasamedika.medifirst2000.entities.KelompokPasien; import com.jasamedika.medifirst2000.entities.Pegawai; import com.jasamedika.medifirst2000.entities.RekapLogbookDokter; import com.jasamedika.medifirst2000.service.PelayananPasienService; +import com.jasamedika.medifirst2000.service.RekapLogbookDokterService; import com.jasamedika.medifirst2000.util.DateUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -37,7 +38,10 @@ public class LogbookTask { @Autowired private PelayananPasienService pelayananPasienService; - @Scheduled(cron = "0 0 0 6 * ?") + @Autowired + private RekapLogbookDokterService rekapLogbookDokterService; + + @Scheduled(cron = "0 0 0 1-6 * ?") public void saveRekapLogbookDokter() { LOGGER.info("Simpan rekapitulasi logbook dokter"); @@ -45,6 +49,10 @@ public class LogbookTask { Date date = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant()); Date tglAwal = DateUtil.startMonth(date); Date tglAkhir = DateUtil.endMonth(date); + { + // Delete untuk pembaharuan data + rekapLogbookDokterService.deleteByPeriod(tglAwal, tglAkhir); + } Set idPegawaiByTglPelayanan = pelayananPasienPetugasDao.findPegawaiByTglPelayanan(tglAwal, tglAkhir); DateFormat df = new SimpleDateFormat("yyyy-MM"); String bulan = df.format(date);