Create task controller

Pembuatan api untuk cron job
This commit is contained in:
Salman Manoe 2023-07-08 21:56:28 +07:00
parent a0009a803c
commit 1c277111a9
4 changed files with 98 additions and 67 deletions

View File

@ -1,16 +1,13 @@
package com.jasamedika.medifirst2000.asynctask;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import com.jasamedika.medifirst2000.asynctask.timer.KalenderTimer;
import com.jasamedika.medifirst2000.controller.base.LocaleController;
import com.jasamedika.medifirst2000.service.KalenderService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.vo.KalenderVO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class CalendarSystemGenerating extends LocaleController<KalenderVO> {
@ -20,24 +17,21 @@ public class CalendarSystemGenerating extends LocaleController<KalenderVO> {
private KalenderService kalenderService;
public CalendarSystemGenerating() {
int the1st = 1;
int at0hrs = 0;
KalenderTimer.schedule(new Runnable() {
@Override
public void run() {
try {
LOGGER.info("Task Sistem Kalender : Running Task Sistem Kalender");
genSistemKalender();
} catch (Exception ex) {
LOGGER.error("Task Sistem Kalender : Task Sistem Kalender " + ex.getMessage());
} finally {
LOGGER.info("Task Sistem Kalender : Finishing Task Sistem Kalender");
}
}
}, the1st, at0hrs);
// int the1st = 1;
// int at0hrs = 0;
// KalenderTimer.schedule(() -> {
// try {
// LOGGER.info("Task Sistem Kalender : Running Task Sistem Kalender");
// genSistemKalender();
// } catch (Exception ex) {
// LOGGER.error("Task Sistem Kalender : Task Sistem Kalender " + ex.getMessage());
// } finally {
// LOGGER.info("Task Sistem Kalender : Finishing Task Sistem Kalender");
// }
// }, the1st, at0hrs);
}
@Async
// @Async
public void genSistemKalender() {
try {
if (CommonUtil.isNotNullOrEmpty(kalenderService)) {

View File

@ -1,15 +1,12 @@
package com.jasamedika.medifirst2000.asynctask;
import com.jasamedika.medifirst2000.service.SlipGajiService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import com.jasamedika.medifirst2000.asynctask.timer.InitiateSlipGajiTimer;
import com.jasamedika.medifirst2000.service.SlipGajiService;
import com.jasamedika.medifirst2000.util.CommonUtil;
/**
* @author Salman
*
@ -22,24 +19,21 @@ public class InitiateSlipGaji {
private SlipGajiService slipGajiService;
public InitiateSlipGaji() {
int the1st = 1;
int at0hrs = 0;
InitiateSlipGajiTimer.schedule(new Runnable() {
@Override
public void run() {
try {
LOGGER.info("Slip Gaji : Call initiate data");
initiateData();
} catch (Exception ex) {
LOGGER.error("Slip Gaji : Error when initiate data " + ex.getMessage());
} finally {
LOGGER.info("Slip Gaji : Finishing call initiate data");
}
}
}, the1st, at0hrs);
// int the1st = 1;
// int at0hrs = 0;
// InitiateSlipGajiTimer.schedule(() -> {
// try {
// LOGGER.info("Slip Gaji : Call initiate data");
// initiateData();
// } catch (Exception ex) {
// LOGGER.error("Slip Gaji : Error when initiate data " + ex.getMessage());
// } finally {
// LOGGER.info("Slip Gaji : Finishing call initiate data");
// }
// }, the1st, at0hrs);
}
@Async
// @Async
public void initiateData() {
try {
if (CommonUtil.isNotNullOrEmpty(slipGajiService)) {

View File

@ -1,16 +1,13 @@
package com.jasamedika.medifirst2000.asynctask;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import com.jasamedika.medifirst2000.asynctask.timer.JadwalKerjaTimer;
import com.jasamedika.medifirst2000.controller.base.LocaleController;
import com.jasamedika.medifirst2000.service.PegawaiJadwalKerjaService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.vo.PegawaiJadwalKerjaVO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class PegawaiJadwalKerjaGenerating extends LocaleController<PegawaiJadwalKerjaVO> {
@ -20,24 +17,21 @@ public class PegawaiJadwalKerjaGenerating extends LocaleController<PegawaiJadwal
private PegawaiJadwalKerjaService pegawaiJadwalKerjaService;
public PegawaiJadwalKerjaGenerating() {
int the1st = 1;
int at0hrs = 0;
JadwalKerjaTimer.schedule(new Runnable() {
@Override
public void run() {
try {
LOGGER.info("Task Jadwal Kerja : Running Task Jadwal Kerja");
genJadwalKerja();
} catch (Exception ex) {
LOGGER.error("Task Jadwal Kerja : Task Jadwal Kerja " + ex.getMessage());
} finally {
LOGGER.info("Task Jadwal Kerja : Finishing Task Jadwal Kerja");
}
}
}, the1st, at0hrs);
// int the1st = 1;
// int at0hrs = 0;
// JadwalKerjaTimer.schedule(() -> {
// try {
// LOGGER.info("Task Jadwal Kerja : Running Task Jadwal Kerja");
// genJadwalKerja();
// } catch (Exception ex) {
// LOGGER.error("Task Jadwal Kerja : Task Jadwal Kerja " + ex.getMessage());
// } finally {
// LOGGER.info("Task Jadwal Kerja : Finishing Task Jadwal Kerja");
// }
// }, the1st, at0hrs);
}
@Async
// @Async
public void genJadwalKerja() {
try {
if (CommonUtil.isNotNullOrEmpty(pegawaiJadwalKerjaService)) {

View File

@ -0,0 +1,49 @@
package com.jasamedika.medifirst2000.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.jasamedika.medifirst2000.service.KalenderService;
import com.jasamedika.medifirst2000.service.PegawaiJadwalKerjaService;
import com.jasamedika.medifirst2000.service.SlipGajiService;
/**
* @author Salman
* @since 08/07/2023
*/
@RestController
@RequestMapping("/task")
public class TaskController {
@Autowired
private KalenderService kalenderService;
@Autowired
private PegawaiJadwalKerjaService pegawaiJadwalKerjaService;
@Autowired
private SlipGajiService slipGajiService;
@RequestMapping(value = "/generate/kalender", method = RequestMethod.GET)
public ResponseEntity<String> generateKalender() {
kalenderService.generateAndSaveKalender();
return new ResponseEntity<>(HttpStatus.OK);
}
@RequestMapping(value = "/generate/pegawai/jadwal", method = RequestMethod.GET)
public ResponseEntity<String> generateJadwalPegawai() {
pegawaiJadwalKerjaService.scheduledSaveJadwalKerjaNonShift();
return new ResponseEntity<>(HttpStatus.OK);
}
@RequestMapping(value = "/initiate/pegawai/slip", method = RequestMethod.GET)
public ResponseEntity<String> initiateSlipGajiPegawai() {
slipGajiService.init();
return new ResponseEntity<>(HttpStatus.OK);
}
}