Update service migrasi pasien

Pembuatan scheduler status migrasi sebelum ekstraksi
This commit is contained in:
Salman Manoe 2024-07-25 10:16:11 +07:00
parent e5f5a07667
commit 5a2a21d3a3
5 changed files with 59 additions and 3 deletions

View File

@ -27,7 +27,7 @@ public class MigrasiPasienController {
@RequestMapping(value = "/init", method = GET, produces = APPLICATION_JSON_VALUE)
public ResponseEntity<Object> initiateMigrasiPasien() {
migrasiPasienService.init();
migrasiPasienService.newMigrate();
return new ResponseEntity<>(null, HttpStatus.OK);
}

View File

@ -0,0 +1,30 @@
package com.jasamedika.medifirst2000.task.schedule;
import com.jasamedika.medifirst2000.service.MigrasiPasienService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
/**
* @author salmanoe
* @version 1.0.0
* @since 11/10/2023
*/
@Component
public class MigrasiPasienTask {
private static final Logger LOGGER = LoggerFactory.getLogger(MigrasiPasienTask.class);
@Autowired
private MigrasiPasienService migrasiPasienService;
@Scheduled(cron = "0 0/15 * * * ?")
public void newMigrate() {
LOGGER.info("Task MigrasiPasienTask.newMigrate {}", LocalDateTime.now());
migrasiPasienService.newMigrate();
}
}

View File

@ -0,0 +1,26 @@
package com.jasamedika.medifirst2000.task.schedule.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.TaskScheduler;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
/**
* @author Salman
* @since 12 Jul 2023
*/
@Configuration
@EnableScheduling
@ComponentScan("com.jasamedika.medifirst2000.task")
public class ScheduleTaskConfig {
@Bean
public TaskScheduler taskScheduler() {
ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler();
threadPoolTaskScheduler.setPoolSize(50);
threadPoolTaskScheduler.setThreadNamePrefix("BridgingThreadPoolTaskScheduler");
return threadPoolTaskScheduler;
}
}

View File

@ -10,7 +10,7 @@ import java.util.List;
* @since 06/11/2023
*/
public interface MigrasiPasienService {
void init();
void newMigrate();
List<PasienDto> extractAndTransform();
}

View File

@ -54,7 +54,7 @@ public class MigrasiPasienServiceImpl implements MigrasiPasienService {
private AsuransiPasienDao asuransiPasienDao;
@Override
public void init() {
public void newMigrate() {
List<MigrasiPasien> models = new ArrayList<>();
List<Pasien> oneHundredPasien = pasienDao.find100LatestByNotMigrateYet();
List<Integer> oneHundredIdPasien = oneHundredPasien.stream().map(Pasien::getId).collect(Collectors.toList());