Merge branch 'dev/pegawai/cuti' of ssh://172.16.55.31/volume1/git/SC-be-java into dev/pegawai/cuti
This commit is contained in:
commit
1e3a960414
@ -49,10 +49,4 @@ public interface MapKalenderToHariLiburDao extends PagingAndSortingRepository<Ma
|
|||||||
@Param("idHariLibur") Integer idHariLibur, @Param("tglAwal") Date tglAwal,
|
@Param("idHariLibur") Integer idHariLibur, @Param("tglAwal") Date tglAwal,
|
||||||
@Param("tglAkhir") Date tglAkhir);
|
@Param("tglAkhir") Date tglAkhir);
|
||||||
|
|
||||||
@Query("select mkl from MapKalenderToHariLibur mkl " + "inner join mkl.tanggal kld "
|
|
||||||
+ "where mkl.statusEnabled is true " + "and kld.tanggal between :tglAwal and :tglAkhir "
|
|
||||||
+ "and mkl.hariLiburId = :idHariLibur")
|
|
||||||
List<MapKalenderToHariLibur> getByTahun(@Param("idHariLibur") Integer idHariLibur, @Param("tglAwal") Date tglAwal,
|
|
||||||
@Param("tglAkhir") Date tglAkhir);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,6 @@ import com.jasamedika.medifirst2000.dto.DataCutiDto;
|
|||||||
import com.jasamedika.medifirst2000.dto.JatahCutiRequest;
|
import com.jasamedika.medifirst2000.dto.JatahCutiRequest;
|
||||||
import com.jasamedika.medifirst2000.dto.PresensiHariLibur;
|
import com.jasamedika.medifirst2000.dto.PresensiHariLibur;
|
||||||
import com.jasamedika.medifirst2000.entities.ListTanggalCuti;
|
import com.jasamedika.medifirst2000.entities.ListTanggalCuti;
|
||||||
import com.jasamedika.medifirst2000.entities.MapKalenderToHariLibur;
|
|
||||||
import com.jasamedika.medifirst2000.service.JatahCutiDanIzinService;
|
import com.jasamedika.medifirst2000.service.JatahCutiDanIzinService;
|
||||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||||
import com.jasamedika.medifirst2000.util.DateUtil;
|
import com.jasamedika.medifirst2000.util.DateUtil;
|
||||||
@ -288,7 +287,7 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService {
|
|||||||
if (dataCutiN2 > 0) {
|
if (dataCutiN2 > 0) {
|
||||||
if (allCutiTerpakai >= dataCutiN2) {
|
if (allCutiTerpakai >= dataCutiN2) {
|
||||||
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
|
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
|
||||||
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 12) {
|
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < dataCutiN2) {
|
||||||
jatahCutiTerpakaiN2 = difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
|
jatahCutiTerpakaiN2 = difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
|
||||||
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1);
|
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1);
|
||||||
} else {
|
} else {
|
||||||
@ -296,14 +295,15 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
|
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
|
||||||
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 12) {
|
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < dataCutiN2) {
|
||||||
jatahCutiTerpakaiN2 = difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
|
jatahCutiTerpakaiN2 = difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
|
||||||
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1);
|
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1);
|
||||||
} else {
|
} else {
|
||||||
jatahCutiTerpakaiN2 = allCutiTerpakai;
|
jatahCutiTerpakaiN2 = allCutiTerpakai;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 12) {
|
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
|
||||||
|
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < dataCutiN2) {
|
||||||
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) > 0) {
|
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) > 0) {
|
||||||
sisaCutiN2 = 0; // hangus
|
sisaCutiN2 = 0; // hangus
|
||||||
} else {
|
} else {
|
||||||
@ -556,34 +556,22 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService {
|
|||||||
Date tahunLalu = DateUtil.getInstanceCalendar(-1);
|
Date tahunLalu = DateUtil.getInstanceCalendar(-1);
|
||||||
Date awalTahunLalu = DateUtil.startYear(tahunLalu);
|
Date awalTahunLalu = DateUtil.startYear(tahunLalu);
|
||||||
Date akhirTahunLalu = DateUtil.endYear(tahunLalu);
|
Date akhirTahunLalu = DateUtil.endYear(tahunLalu);
|
||||||
List<MapKalenderToHariLibur> listKalenderCutiBersama = mapKalenderToHariLiburDao.getByTahun(LIBUR_CB,
|
|
||||||
awalTahunLalu, akhirTahunLalu);
|
|
||||||
List<MapKalenderToHariLibur> listKalenderCutiBersamaBisaDitangguhkan = listKalenderCutiBersama.stream()
|
|
||||||
.filter(MapKalenderToHariLibur::getIsCutiBersamaDitangguhkan).collect(Collectors.toList());
|
|
||||||
List<ListTanggalCuti> listCutiTahunLaluBelumDisetujui = tanggalCutiDao
|
|
||||||
.notApprovedByPermohonan(request.getPegawaiId(), CUTI_TAHUNAN, awalTahunLalu, akhirTahunLalu);
|
|
||||||
List<PresensiHariLibur> listPresensiTahunLalu = mapKalenderToHariLiburDao
|
List<PresensiHariLibur> listPresensiTahunLalu = mapKalenderToHariLiburDao
|
||||||
.getPresensiByTahun(request.getPegawaiId(), LIBUR_CB, awalTahunLalu, akhirTahunLalu);
|
.getPresensiByTahun(request.getPegawaiId(), LIBUR_CB, awalTahunLalu, akhirTahunLalu);
|
||||||
int presensiCutiBersama = countValidPresensi(listPresensiTahunLalu, listKalenderCutiBersama);
|
List<PresensiHariLibur> listPresensiCutiBersamaBisaDitangguhkan = listPresensiTahunLalu.stream()
|
||||||
int jatahDitangguhkan = countValidPresensi(listPresensiTahunLalu, listKalenderCutiBersamaBisaDitangguhkan);
|
.filter(PresensiHariLibur::getIsCutiBersamaDitangguhkan).collect(Collectors.toList());
|
||||||
|
if (listPresensiCutiBersamaBisaDitangguhkan.isEmpty())
|
||||||
|
return dto;
|
||||||
|
List<ListTanggalCuti> listCutiTahunLaluBelumDisetujui = tanggalCutiDao
|
||||||
|
.notApprovedByPermohonan(request.getPegawaiId(), CUTI_TAHUNAN, awalTahunLalu, akhirTahunLalu);
|
||||||
|
int presensiCutiBersama = listPresensiTahunLalu.size();
|
||||||
|
int jatahDitangguhkan = listPresensiCutiBersamaBisaDitangguhkan.size();
|
||||||
if (presensiCutiBersama - dto.getCutiTerpakaiB1()
|
if (presensiCutiBersama - dto.getCutiTerpakaiB1()
|
||||||
+ listCutiTahunLaluBelumDisetujui.size() > jatahDitangguhkan) {
|
- listCutiTahunLaluBelumDisetujui.size() >= jatahDitangguhkan) {
|
||||||
dto.setDataCutiB(dto.getDataCutiB() + jatahDitangguhkan);
|
dto.setDataCutiB(dto.getDataCutiB() + jatahDitangguhkan);
|
||||||
dto.setSisaCutiB(dto.getDataCutiB() - dto.getCutiTerpakaiB());
|
dto.setSisaCutiB(dto.getDataCutiB() - dto.getCutiTerpakaiB());
|
||||||
}
|
}
|
||||||
return dto;
|
return dto;
|
||||||
}
|
}
|
||||||
|
|
||||||
private int countValidPresensi(List<PresensiHariLibur> listPresensiDiCutiBersama,
|
|
||||||
List<MapKalenderToHariLibur> listKalenderCutiBersama) {
|
|
||||||
int result = 0;
|
|
||||||
for (PresensiHariLibur presensiDiCutiBersama : listPresensiDiCutiBersama) {
|
|
||||||
Optional<MapKalenderToHariLibur> any = listKalenderCutiBersama.stream()
|
|
||||||
.filter(k -> presensiDiCutiBersama.getTanggal().equals(k.getTanggal().getTanggal())).findAny();
|
|
||||||
if (any.isPresent())
|
|
||||||
result++;
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,11 +8,11 @@ hibernate.show_sql = true
|
|||||||
hikari.config.maximum.pool.size = 5
|
hikari.config.maximum.pool.size = 5
|
||||||
|
|
||||||
# DB Development
|
# DB Development
|
||||||
jdbc.url = jdbc:postgresql://192.168.12.3:5432/rsab_hk_24_08_20
|
jdbc.url = jdbc:postgresql://192.168.12.3:5432/rsab_hk_25_01_14
|
||||||
jdbc.username = smart_user
|
jdbc.username = smart_user
|
||||||
jdbc.password = 1miwhir3yr
|
jdbc.password = 1miwhir3yr
|
||||||
jdbc.serverName = 192.168.12.3
|
jdbc.serverName = 192.168.12.3
|
||||||
jdbc.databaseName = rsab_hk_24_08_20
|
jdbc.databaseName = rsab_hk_25_01_14
|
||||||
jdbc.portNumber = 5432
|
jdbc.portNumber = 5432
|
||||||
|
|
||||||
corePoolSizeAsyncConfigurer = 5
|
corePoolSizeAsyncConfigurer = 5
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user