- perbaikan kondisi asisten spesialis di logbook kontrak kinerja
- perbaikan timer otomatisasi generate target pelayanan medis
This commit is contained in:
parent
aff09769a5
commit
1c677d86c5
@ -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<String, Object> 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"))
|
||||
|
||||
@ -23,8 +23,9 @@ public class TargetLayananGenerating extends LocaleController<TargetLayananVO> {
|
||||
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<TargetLayananVO> {
|
||||
LOGGER.info("Task Target Layanan : Finishing Task Target Layanan");
|
||||
}
|
||||
}
|
||||
}, the4th, at0hrs);
|
||||
}, day, hour, minute);
|
||||
}
|
||||
|
||||
@Async
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user