Update service migrasi pasien

Perbaikan etl pasien di sisi smart untuk scheduler set status terkirim dan flag status persiapan migrasi
This commit is contained in:
Salman Manoe 2024-08-01 13:22:40 +07:00
parent 115bc86893
commit 29e591871f
3 changed files with 8 additions and 6 deletions

View File

@ -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());

View File

@ -15,13 +15,14 @@ import java.util.List;
* @since 06/11/2023
*/
public interface MigrasiPasienDao extends JpaRepository<MigrasiPasien, String> {
@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<Pasien> findPasienByStatusMigrasiIn(@Param("listStatusMigrasi") List<StatusMigrasi> 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<MigrasiPasien> findByStatusMigrasiInAndPasienNoCmIn(
@Param("listStatusMigrasi") List<StatusMigrasi> statusMigrasiList,
List<MigrasiPasien> findByStatusMigrasiInAndPasienNoCmIn(@Param("listStatusMigrasi") List<String> statusMigrasiList,
@Param("listNoRekamMedis") List<String> noRekamMedisList);
}

View File

@ -297,7 +297,8 @@ public class MigrasiPasienServiceImpl implements MigrasiPasienService {
@Override
public void setStatus(List<String> noRekamMedisList) {
List<StatusMigrasi> statusMigrasiList = new ArrayList<>(Arrays.asList(BELUM_KIRIM, PEMBAHARUAN));
List<String> statusMigrasiList = new ArrayList<>(Arrays.asList(BELUM_KIRIM, PEMBAHARUAN)).stream()
.map(Enum::toString).collect(Collectors.toList());
List<MigrasiPasien> listMigrasiPasien = migrasiPasienDao.findByStatusMigrasiInAndPasienNoCmIn(statusMigrasiList,
noRekamMedisList);
listMigrasiPasien.forEach(migrasiPasien -> migrasiPasien.setStatusMigrasi(TERKIRIM));