package com.jasamedika.medifirst2000.asynctask; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; 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.MonthlyTimer; import com.jasamedika.medifirst2000.controller.base.LocaleController; import com.jasamedika.medifirst2000.service.IkiDanRemunerasiService; import com.jasamedika.medifirst2000.service.TargetLayananService; import com.jasamedika.medifirst2000.util.CommonUtil; import com.jasamedika.medifirst2000.vo.TargetLayananVO; @Component public class TargetLayananGenerating extends LocaleController { private final static Logger LOGGER = LoggerFactory.getLogger(TargetLayananGenerating.class); @Autowired private IkiDanRemunerasiService remunerasiService; @Autowired private TargetLayananService targetLayananService; public TargetLayananGenerating() { int the1st = 1; int at0hrs = 0; MonthlyTimer.schedule(new Runnable() { @Override public void run() { try { LOGGER.info("Task Target Layanan : Running Task Target Layanan"); genTargetLayanan(); } catch (Exception ex) { LOGGER.error("Task Target Layanan : Task Target Layanan " + ex.getMessage()); } finally { LOGGER.info("Task Target Layanan : Finishing Task Target Layanan"); } } }, the1st, at0hrs); } @Async public void genTargetLayanan() { try { if (CommonUtil.isNotNullOrEmpty(remunerasiService)) { LOGGER.info("Task Target Layanan : Running Generate Target Layanan"); List rsList = targetLayananService.addAll(remunerasiService.calcTargetCapaianLayanan( new SimpleDateFormat("yyyy-MM").format(new Date()), null), new Date().getTime()); if (CommonUtil.isNullOrEmpty(rsList)) { LOGGER.info("Task Target Layanan : No Generating Target Layanan"); } } else { LOGGER.warn("Task Target Layanan : Undefined service"); } } catch (Exception ex) { LOGGER.error("Task Target Layanan : Generate Target Layanan " + ex.getMessage()); } finally { LOGGER.info("Task Target Layanan : Finishing Generate Target Layanan"); } } }