diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaServiceImpl.java index 693cbfc5..96c8fdc0 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaServiceImpl.java @@ -36,7 +36,6 @@ import com.jasamedika.medifirst2000.entities.LogbookKinerja; import com.jasamedika.medifirst2000.entities.Pegawai; import com.jasamedika.medifirst2000.entities.SatuanIndikator; import com.jasamedika.medifirst2000.exception.ServiceVOException; -import com.jasamedika.medifirst2000.service.IkiDanRemunerasiService; import com.jasamedika.medifirst2000.service.LogbookKinerjaService; import com.jasamedika.medifirst2000.util.CommonUtil; import com.jasamedika.medifirst2000.vo.IndikatorKinerjaVO; @@ -596,9 +595,10 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb // RULES for (Map mapLayanan : dataLayanan) { if (mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) { + mapLayanan.put("skor", Double.valueOf(mapLayanan.get("skor").toString()) + * Master.Remunerasi.PERSEN_SKOR_ASISTEN_SPESIALIS); mapLayanan.put("tSkor", Double.valueOf(mapLayanan.get("skor").toString()) - * Master.Remunerasi.PERSEN_SKOR_ASISTEN_SPESIALIS * Double.valueOf(mapLayanan.get("jumlah").toString())); } else if (Double.valueOf(mapLayanan.get("hargaDiskon").toString()) > 0.0 && (CommonUtil.isNullOrEmpty(mapLayanan.get("statusDiskon")) diff --git a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/asynctask/TargetLayananGenerating.java b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/asynctask/TargetLayananGenerating.java index de732f10..8d3294c6 100644 --- a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/asynctask/TargetLayananGenerating.java +++ b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/asynctask/TargetLayananGenerating.java @@ -23,8 +23,9 @@ public class TargetLayananGenerating extends LocaleController { private IkiDanRemunerasiService remunerasiService; public TargetLayananGenerating() { - int the4th = 4; - int at0hrs = 0; + int day = 4; + int hour = 0; + int minute = 00; TargetLayananTimer.schedule(new Runnable() { @Override public void run() { @@ -37,7 +38,7 @@ public class TargetLayananGenerating extends LocaleController { LOGGER.info("Task Target Layanan : Finishing Task Target Layanan"); } } - }, the4th, at0hrs); + }, day, hour, minute); } @Async diff --git a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/asynctask/timer/TargetLayananTimer.java b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/asynctask/timer/TargetLayananTimer.java index 9c9477ba..748b2905 100644 --- a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/asynctask/timer/TargetLayananTimer.java +++ b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/asynctask/timer/TargetLayananTimer.java @@ -17,6 +17,7 @@ public class TargetLayananTimer { // when private final int dayOfMonth; private final int hourOfDay; + private final int minuteOfHour; // The current timer private Timer current = new Timer(); @@ -29,15 +30,16 @@ public class TargetLayananTimer { current.purge(); } - public static TargetLayananTimer schedule(Runnable runnable, int dayOfMonth, int hourOfDay) { + public static TargetLayananTimer schedule(Runnable runnable, int dayOfMonth, int hourOfDay, int minuteOfHour) { LOGGER.info("TargetLayananTimer : Create a new instance"); - return new TargetLayananTimer(runnable, dayOfMonth, hourOfDay); + return new TargetLayananTimer(runnable, dayOfMonth, hourOfDay, minuteOfHour); } - private TargetLayananTimer(Runnable runnable, int day, int hour) { + private TargetLayananTimer(Runnable runnable, int day, int hour, int minute) { this.whatToDo = runnable; this.dayOfMonth = day; this.hourOfDay = hour; + this.minuteOfHour = minute; schedule(); } @@ -62,17 +64,20 @@ public class TargetLayananTimer { } private Date nextDate() { + Calendar curDate = Calendar.getInstance(); Calendar runDate = Calendar.getInstance(); - if (runDate.get(Calendar.DAY_OF_MONTH) < dayOfMonth) { + + // set_for_compare + runDate.set(Calendar.DAY_OF_MONTH, dayOfMonth); + runDate.set(Calendar.HOUR_OF_DAY, hourOfDay); + runDate.set(Calendar.MINUTE, minuteOfHour); + runDate.set(Calendar.SECOND, 0); + runDate.set(Calendar.MILLISECOND, 0); + + if (curDate.getTime().after(runDate.getTime())) { runDate.set(Calendar.DAY_OF_MONTH, dayOfMonth); runDate.set(Calendar.HOUR_OF_DAY, hourOfDay); - runDate.set(Calendar.MINUTE, 0); - runDate.set(Calendar.SECOND, 0); - runDate.set(Calendar.MILLISECOND, 0); - } else { - runDate.set(Calendar.DAY_OF_MONTH, dayOfMonth); - runDate.set(Calendar.HOUR_OF_DAY, hourOfDay); - runDate.set(Calendar.MINUTE, 0); + runDate.set(Calendar.MINUTE, minuteOfHour); runDate.set(Calendar.SECOND, 0); runDate.set(Calendar.MILLISECOND, 0); runDate.add(Calendar.MONTH, 1);