From 29e591871f2dc244bfbde0e21454e421732a4034 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Thu, 1 Aug 2024 13:22:40 +0700 Subject: [PATCH] Update service migrasi pasien Perbaikan etl pasien di sisi smart untuk scheduler set status terkirim dan flag status persiapan migrasi --- .../medifirst2000/task/schedule/MigrasiPasienTask.java | 4 ++-- .../com/jasamedika/medifirst2000/dao/MigrasiPasienDao.java | 7 ++++--- .../service/impl/MigrasiPasienServiceImpl.java | 3 ++- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/jasamedika-bridging/src/main/java/com/jasamedika/medifirst2000/task/schedule/MigrasiPasienTask.java b/jasamedika-bridging/src/main/java/com/jasamedika/medifirst2000/task/schedule/MigrasiPasienTask.java index 7afea372..c6340bce 100644 --- a/jasamedika-bridging/src/main/java/com/jasamedika/medifirst2000/task/schedule/MigrasiPasienTask.java +++ b/jasamedika-bridging/src/main/java/com/jasamedika/medifirst2000/task/schedule/MigrasiPasienTask.java @@ -44,14 +44,14 @@ public class MigrasiPasienTask { @Value("${app.etl.migrasi.pasien}") String baseUrl; - @Scheduled(cron = "0 10/30 * * * ?") + @Scheduled(cron = "0 30 0/1 * * ?") public void newMigrate() { LOGGER.info("Task MigrasiPasienTask.newMigrate {}", LocalDateTime.now()); migrasiPasienService.newMigrate(); } - @Scheduled(cron = "0 0/30 * * * ?") + @Scheduled(cron = "0 0 0/1 * * ?") public void setStatusTerkirim() throws URISyntaxException { LOGGER.info("Task MigrasiPasienTask.setStatusTerkirim {}", LocalDateTime.now()); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MigrasiPasienDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MigrasiPasienDao.java index 95429468..cff00738 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MigrasiPasienDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MigrasiPasienDao.java @@ -15,13 +15,14 @@ import java.util.List; * @since 06/11/2023 */ public interface MigrasiPasienDao extends JpaRepository { - @Query("select mp.pasien from MigrasiPasien mp where mp.statusMigrasi in (:listStatusMigrasi)") + @Query("select ps from MigrasiPasien mp " + "inner join mp.pasien ps " + + "where mp.statusMigrasi in (:listStatusMigrasi) " + + "and (ps.noIdentitas is not null or ps.noidentitas <> '')") List findPasienByStatusMigrasiIn(@Param("listStatusMigrasi") List statusMigrasiList); @Query(value = "select mp.* from migrasipasien_t mp " + "inner join pasien_m ps on mp.pasienfk = ps.id " + "where mp.statusmigrasi in (:listStatusMigrasi) " + "and ps.nocm in (:listNoRekamMedis)", nativeQuery = true) - List findByStatusMigrasiInAndPasienNoCmIn( - @Param("listStatusMigrasi") List statusMigrasiList, + List findByStatusMigrasiInAndPasienNoCmIn(@Param("listStatusMigrasi") List statusMigrasiList, @Param("listNoRekamMedis") List noRekamMedisList); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MigrasiPasienServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MigrasiPasienServiceImpl.java index 4d0555ce..87a5819d 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MigrasiPasienServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MigrasiPasienServiceImpl.java @@ -297,7 +297,8 @@ public class MigrasiPasienServiceImpl implements MigrasiPasienService { @Override public void setStatus(List noRekamMedisList) { - List statusMigrasiList = new ArrayList<>(Arrays.asList(BELUM_KIRIM, PEMBAHARUAN)); + List statusMigrasiList = new ArrayList<>(Arrays.asList(BELUM_KIRIM, PEMBAHARUAN)).stream() + .map(Enum::toString).collect(Collectors.toList()); List listMigrasiPasien = migrasiPasienDao.findByStatusMigrasiInAndPasienNoCmIn(statusMigrasiList, noRekamMedisList); listMigrasiPasien.forEach(migrasiPasien -> migrasiPasien.setStatusMigrasi(TERKIRIM));