Merge branch 'dev/base' into dev/integrasi/minio
This commit is contained in:
commit
f079ffad28
@ -17,15 +17,13 @@ public interface JatahCutiDanIzinDao extends JpaRepository<JatahCutiDanIzin, Str
|
||||
@Query("select jatahCuti " + "from JatahCutiDanIzin jatahCuti " + "left join jatahCuti.pegawai pegawai "
|
||||
+ "left join jatahCuti.komponenIndex komponenIndex "
|
||||
+ "where jatahCuti.tahun = :tahun and pegawai.id = :idPegawai " + "and komponenIndex.id = :komponenIndexId")
|
||||
JatahCutiDanIzin getJatahCuti(@Param("tahun") String tahun, @Param("idPegawai") Integer idPegawai,
|
||||
@Param("komponenIndexId") Integer komponenIndexId);
|
||||
JatahCutiDanIzin getJatahCuti(@Param("tahun") String tahun, @Param("idPegawai") Integer idPegawai, @Param("komponenIndexId") Integer komponenIndexId);
|
||||
|
||||
@Query("select jatahCuti " + "from JatahCutiDanIzin jatahCuti " + "left join jatahCuti.pegawai pegawai "
|
||||
+ "left join jatahCuti.komponenIndex komponenIndex "
|
||||
+ "where jatahCuti.tahun = :tahun and pegawai.id = :idPegawai "
|
||||
+ "and komponenIndex.id in (:komponenIndexId)")
|
||||
JatahCutiDanIzin getJatahCuti(@Param("tahun") String tahun, @Param("idPegawai") Integer idPegawai,
|
||||
@Param("komponenIndexId") List<Integer> komponenIndexId);
|
||||
JatahCutiDanIzin getJatahCuti(@Param("tahun") String tahun, @Param("idPegawai") Integer idPegawai, @Param("komponenIndexId") List<Integer> komponenIndexId);
|
||||
|
||||
@Query("select coalesce(jatahCuti.value,0) " + "from JatahCutiDanIzin jatahCuti "
|
||||
+ "left join jatahCuti.pegawai pegawai " + "left join jatahCuti.komponenIndex komponenIndex "
|
||||
@ -33,6 +31,13 @@ public interface JatahCutiDanIzinDao extends JpaRepository<JatahCutiDanIzin, Str
|
||||
Integer getDataCuti(@Param("tahun") String tahun, @Param("idPegawai") Integer idPegawai,
|
||||
@Param("komponenIndexId") Integer komponenIndexId);
|
||||
|
||||
/* Penambahan Query Untuk Mendapatkan Data Intervensi Cuti 16/09/2025 */
|
||||
@Query("select coalesce(jatahCuti.intervensiCuti, 0) " + "from JatahCutiDanIzin jatahCuti "
|
||||
+ "left join jatahCuti.pegawai pegawai " + "left join jatahCuti.komponenIndex komponenIndex "
|
||||
+ "where jatahCuti.tahun = :tahun and pegawai.id = :idPegawai " + "and komponenIndex.id = :komponenIndexId")
|
||||
Integer getDataIntervensiCuti(@Param("tahun") String tahun, @Param("idPegawai") Integer idPegawai,
|
||||
@Param("komponenIndexId") Integer komponenIndexId);
|
||||
|
||||
@Query("select jatahCuti.isTangguhkan " + "from JatahCutiDanIzin jatahCuti "
|
||||
+ "left join jatahCuti.pegawai pegawai " + "left join jatahCuti.komponenIndex komponenIndex "
|
||||
+ "where jatahCuti.tahun = :tahun and pegawai.id = :idPegawai " + "and komponenIndex.id = :komponenIndexId")
|
||||
@ -54,6 +59,7 @@ public interface JatahCutiDanIzinDao extends JpaRepository<JatahCutiDanIzin, Str
|
||||
|
||||
@Query("select new map(" + "jatahCuti.noRec as noRec, " + "jatahCuti.komponenIndexId as komponenIndexId, "
|
||||
+ "komponenIndex.komponenIndex as komponenIndex, " + "jatahCuti.tahun as tahun, "
|
||||
+ "jatahCuti.intervensiCuti as intervensiCuti, "
|
||||
+ "jatahCuti.value as value, " + "jatahCuti.sisaCuti as sisaCuti, "
|
||||
+ "jatahCuti.cutiTerpakai as cutiTerpakai, " + "jatahCuti.isTangguhkan as isTangguhkan, "
|
||||
+ "pegawai.id as idPegawai, " + "pegawai.namaLengkap as namaPegawai, " + "pegawai.nipPns as nipPegawai, "
|
||||
|
||||
@ -147,6 +147,15 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService {
|
||||
Integer dataCutiN1 = jatahCutiDanIzinDao.getDataCuti(yearN1, pegawaiId, Integer.valueOf(komponen)); // dataCutiTahunan_tahun_n-1
|
||||
Integer dataCutiN = jatahCutiDanIzinDao.getDataCuti(year, pegawaiId, Integer.valueOf(komponen)); // dataCutiTahunan_tahun_n
|
||||
Integer dataCutiN3 = jatahCutiDanIzinDao.getDataCuti(yearN3, pegawaiId, Integer.valueOf(komponen)); // dataCutiTahunan_tahun_n+1
|
||||
|
||||
/* Start Pengambilan Data Intervensi Cuti Untuk 3 Tahun Kebelakang */
|
||||
Integer getDataIntervensiCutiN2 = jatahCutiDanIzinDao.getDataIntervensiCuti(yearN2, pegawaiId, Integer.valueOf(komponen));
|
||||
Integer getDataIntervensiCutiN1 = jatahCutiDanIzinDao.getDataIntervensiCuti(yearN1, pegawaiId, Integer.valueOf(komponen));
|
||||
Integer getDataIntervensiCutiN = jatahCutiDanIzinDao.getDataIntervensiCuti(year, pegawaiId, Integer.valueOf(komponen));
|
||||
Integer getDataIntervensiCutiB2 = jatahCutiDanIzinDao.getDataIntervensiCuti(yearN2, pegawaiId, Integer.valueOf(komponenIndeksCutiBersama));
|
||||
Integer getDataIntervensiCutiB1 = jatahCutiDanIzinDao.getDataIntervensiCuti(yearN1, pegawaiId, Integer.valueOf(komponenIndeksCutiBersama));
|
||||
Integer getDataIntervensiCutiB = jatahCutiDanIzinDao.getDataIntervensiCuti(year, pegawaiId, Integer.valueOf(komponenIndeksCutiBersama));
|
||||
/* End Pengambilan Data Intervensi Cuti Untuk 3 Tahun Kebelakang */
|
||||
// Validasi existing data
|
||||
if (CommonUtil.isNullOrEmpty(dataCutiB2))
|
||||
dataCutiB2 = 0;
|
||||
@ -171,6 +180,15 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService {
|
||||
cutiIzinBuilder.dataCutiN(dataCutiN);
|
||||
cutiIzinBuilder.dataCutiN3(dataCutiN3);
|
||||
|
||||
/* Start Set Data Intervensi Cuti Untuk 3 Tahun Kebelakang */
|
||||
cutiIzinBuilder.intervensiCutiN(getDataIntervensiCutiN);
|
||||
cutiIzinBuilder.intervensiCutiN1(getDataIntervensiCutiN1);
|
||||
cutiIzinBuilder.intervensiCutiN2(getDataIntervensiCutiN2);
|
||||
cutiIzinBuilder.intervensiCutiB(getDataIntervensiCutiB);
|
||||
cutiIzinBuilder.intervensiCutiB1(getDataIntervensiCutiB1);
|
||||
cutiIzinBuilder.intervensiCutiB2(getDataIntervensiCutiB2);
|
||||
/* End Pengambilan Data Intervensi Cuti Untuk 3 Tahun Kebelakang */
|
||||
|
||||
// Hitung Absen di tanggal cuti bersama
|
||||
List<String> listTglCutiBersama = mapKalenderToHariLiburDao.getTglCutiBersama(year);
|
||||
int countDataHabsen = 0;
|
||||
@ -277,7 +295,15 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService {
|
||||
cutiIzinBuilder.isTangguhkanN(false);
|
||||
}
|
||||
if (dataCutiB >= cutiTerpakaiN) {
|
||||
sisaCutiB = dataCutiB - cutiTerpakaiN;
|
||||
// Intervensi Cuti Bersama
|
||||
sisaCutiB = (dataCutiB - cutiTerpakaiN) + getDataIntervensiCutiB;
|
||||
|
||||
if(sisaCutiB < 0){
|
||||
sisaCutiB = 0;
|
||||
}else{
|
||||
sisaCutiB = sisaCutiB;
|
||||
}
|
||||
|
||||
cutiTerpakaiB = cutiTerpakaiN;
|
||||
} else {
|
||||
sisaCutiB = 0;
|
||||
@ -475,11 +501,29 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService {
|
||||
sisaCutiN1 = dataCutiN1 - jatahCutiTerpakaiN1;
|
||||
}
|
||||
sisaCutiN = dataCutiN - jatahCutiTerpakaiN;
|
||||
|
||||
// put all data sisa cuti
|
||||
// Intervensi Cuti Tahun -2
|
||||
sisaCutiN2 = sisaCutiN2 + getDataIntervensiCutiN2;
|
||||
if(sisaCutiN2 < 0){
|
||||
sisaCutiN2 = 0;
|
||||
}
|
||||
cutiIzinBuilder.sisaCutiN2(sisaCutiN2);
|
||||
|
||||
// Intervensi Cuti Tahun -1
|
||||
sisaCutiN1 = sisaCutiN1 + getDataIntervensiCutiN1;
|
||||
if(sisaCutiN1 < 0){
|
||||
sisaCutiN1 = 0;
|
||||
}
|
||||
cutiIzinBuilder.sisaCutiN1(sisaCutiN1);
|
||||
|
||||
// Intervensi Cuti Tahun Sekarang
|
||||
sisaCutiN = sisaCutiN + getDataIntervensiCutiN;
|
||||
if(sisaCutiN < 0){
|
||||
sisaCutiN = 0;
|
||||
}
|
||||
cutiIzinBuilder.sisaCutiN(sisaCutiN);
|
||||
}
|
||||
}
|
||||
if (statusPegawaiId == 24) {
|
||||
if (CommonUtil.isNotNullOrEmpty(jatahCuti))
|
||||
cutiIzinBuilder.jatahCuti("-");
|
||||
|
||||
@ -2025,6 +2025,16 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi
|
||||
public Map<String, Object> setJatahCutiPegawai(JatahCutiDanIzinVO vo) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
if (CommonUtil.isNotNullOrEmpty(vo)) {
|
||||
KomponenIndexVO kompIndexVoB = new KomponenIndexVO();
|
||||
kompIndexVoB.setId(21);
|
||||
KomponenIndexVO kompIndexVoT = new KomponenIndexVO();
|
||||
kompIndexVoT.setId(5);
|
||||
// Cek Ketika Update Jatah Cuti Otomatis Apakah Mengirimkan Intervensi Cuti Apa Tidak
|
||||
if (CommonUtil.isNullOrEmpty(vo.getIntervensiCuti())) {
|
||||
JatahCutiDanIzin currentDataBaseJatahCuti = jatahCutiDanIzinDao.getJatahCuti(vo.getTahun().toString(), vo.getPegawai().getId(), kompIndexVoB.getId());
|
||||
vo.setIntervensiCuti(currentDataBaseJatahCuti.getIntervensiCuti());
|
||||
}
|
||||
|
||||
int todaysYear = Calendar.getInstance().get(Calendar.YEAR);
|
||||
int todaysYear1 = todaysYear - 1;
|
||||
|
||||
@ -2035,60 +2045,55 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi
|
||||
DataCutiDto cutiIzin = jatahCutiDanIzinService.getDataCuti(vo.getPegawai().getId(),
|
||||
String.valueOf(todaysYear), vo.getKomponenIndex().getId());
|
||||
List<Map<String, Object>> listDataCuti = getMaps(cutiIzin, todaysYear);
|
||||
KomponenIndexVO kompIndexVoB = new KomponenIndexVO();
|
||||
kompIndexVoB.setId(21);
|
||||
KomponenIndexVO kompIndexVoT = new KomponenIndexVO();
|
||||
kompIndexVoT.setId(5);
|
||||
|
||||
for (Map<String, Object> mapDataCuti : listDataCuti) {
|
||||
JatahCutiDanIzin jatahCutiDanIzin = new JatahCutiDanIzin();
|
||||
jatahCutiDanIzin.setPegawai(pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai()));
|
||||
if (mapDataCuti.get("komponenIndex").equals(kompIndexVoB.getId())) {
|
||||
jatahCutiDanIzin.setKomponenIndex(
|
||||
komponenIndexConverter.transferVOToModel(kompIndexVoB, new KomponenIndex()));
|
||||
JatahCutiDanIzin currentData = jatahCutiDanIzinDao.getJatahCuti(mapDataCuti.get("tahun").toString(),
|
||||
vo.getPegawai().getId(), kompIndexVoB.getId());
|
||||
jatahCutiDanIzin.setKomponenIndex(komponenIndexConverter.transferVOToModel(kompIndexVoB, new KomponenIndex()));
|
||||
JatahCutiDanIzin currentData = jatahCutiDanIzinDao.getJatahCuti(mapDataCuti.get("tahun").toString(), vo.getPegawai().getId(), kompIndexVoB.getId());
|
||||
if (CommonUtil.isNotNullOrEmpty(currentData)) {
|
||||
jatahCutiDanIzin.setNoRec(currentData.getNoRec());
|
||||
if (vo.getKomponenIndex().getId().equals(mapDataCuti.get("komponenIndex"))
|
||||
&& vo.getTahun().equals(mapDataCuti.get("tahun").toString())) {
|
||||
if (vo.getKomponenIndex().getId().equals(mapDataCuti.get("komponenIndex")) && vo.getTahun().equals(mapDataCuti.get("tahun").toString())) {
|
||||
jatahCutiDanIzin.setValue(vo.getValue());
|
||||
} else if (todaysYear == Integer.parseInt(vo.getTahun())
|
||||
&& todaysYear1 == Integer.parseInt(mapDataCuti.get("tahun").toString())) {
|
||||
jatahCutiDanIzin.setIntervensiCuti(vo.getIntervensiCuti());
|
||||
} else if (todaysYear == Integer.parseInt(vo.getTahun()) && todaysYear1 == Integer.parseInt(mapDataCuti.get("tahun").toString())) {
|
||||
jatahCutiDanIzin.setValue(cutiIzin.getDataCutiB1());
|
||||
jatahCutiDanIzin.setIntervensiCuti(cutiIzin.getIntervensiCutiB1());
|
||||
} else {
|
||||
jatahCutiDanIzin.setValue(currentData.getValue());
|
||||
jatahCutiDanIzin.setIntervensiCuti(currentData.getIntervensiCuti());
|
||||
}
|
||||
} else {
|
||||
if (vo.getKomponenIndex().getId().equals(mapDataCuti.get("komponenIndex"))
|
||||
&& vo.getTahun().equals(mapDataCuti.get("tahun").toString())) {
|
||||
if (vo.getKomponenIndex().getId().equals(mapDataCuti.get("komponenIndex")) && vo.getTahun().equals(mapDataCuti.get("tahun").toString())) {
|
||||
jatahCutiDanIzin.setValue(vo.getValue());
|
||||
jatahCutiDanIzin.setIntervensiCuti(vo.getIntervensiCuti());
|
||||
} else {
|
||||
jatahCutiDanIzin.setValue(0);
|
||||
jatahCutiDanIzin.setIntervensiCuti(0);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
jatahCutiDanIzin.setKomponenIndex(
|
||||
komponenIndexConverter.transferVOToModel(kompIndexVoT, new KomponenIndex()));
|
||||
JatahCutiDanIzin currentData = jatahCutiDanIzinDao.getJatahCuti(mapDataCuti.get("tahun").toString(),
|
||||
vo.getPegawai().getId(), kompIndexVoT.getId());
|
||||
jatahCutiDanIzin.setKomponenIndex(komponenIndexConverter.transferVOToModel(kompIndexVoT, new KomponenIndex()));
|
||||
JatahCutiDanIzin currentData = jatahCutiDanIzinDao.getJatahCuti(mapDataCuti.get("tahun").toString(), vo.getPegawai().getId(), kompIndexVoT.getId());
|
||||
if (CommonUtil.isNotNullOrEmpty(currentData)) {
|
||||
jatahCutiDanIzin.setNoRec(currentData.getNoRec());
|
||||
if (vo.getKomponenIndex().getId().equals(mapDataCuti.get("komponenIndex"))
|
||||
&& vo.getTahun().equals(mapDataCuti.get("tahun").toString())) {
|
||||
if (vo.getKomponenIndex().getId().equals(mapDataCuti.get("komponenIndex")) && vo.getTahun().equals(mapDataCuti.get("tahun").toString())) {
|
||||
jatahCutiDanIzin.setValue(vo.getValue());
|
||||
jatahCutiDanIzin.setIntervensiCuti(vo.getIntervensiCuti());
|
||||
} else {
|
||||
jatahCutiDanIzin.setValue(currentData.getValue());
|
||||
jatahCutiDanIzin.setIntervensiCuti(currentData.getIntervensiCuti());
|
||||
}
|
||||
} else {
|
||||
if (vo.getKomponenIndex().getId().equals(mapDataCuti.get("komponenIndex"))
|
||||
&& vo.getTahun().equals(mapDataCuti.get("tahun").toString())) {
|
||||
if (vo.getKomponenIndex().getId().equals(mapDataCuti.get("komponenIndex")) && vo.getTahun().equals(mapDataCuti.get("tahun").toString())) {
|
||||
jatahCutiDanIzin.setValue(vo.getValue());
|
||||
jatahCutiDanIzin.setIntervensiCuti(vo.getIntervensiCuti());
|
||||
} else {
|
||||
jatahCutiDanIzin.setValue(0);
|
||||
jatahCutiDanIzin.setIntervensiCuti(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (Integer.parseInt(vo.getTahun()) > todaysYear) {
|
||||
jatahCutiDanIzin.setKomponenIndex(
|
||||
komponenIndexConverter.transferVOToModel(vo.getKomponenIndex(), new KomponenIndex()));
|
||||
@ -2097,6 +2102,7 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi
|
||||
if (CommonUtil.isNotNullOrEmpty(currentData)) {
|
||||
jatahCutiDanIzin.setNoRec(currentData.getNoRec());
|
||||
}
|
||||
jatahCutiDanIzin.setIntervensiCuti(vo.getIntervensiCuti());
|
||||
jatahCutiDanIzin.setValue(vo.getValue());
|
||||
jatahCutiDanIzin.setTahun(vo.getTahun());
|
||||
jatahCutiDanIzin.setCutiTerpakai(0);
|
||||
|
||||
@ -62,7 +62,7 @@ public class DataCutiDto {
|
||||
private Integer dataCutiB1;
|
||||
|
||||
private Integer dataCutiB2;
|
||||
|
||||
|
||||
private Integer dataCutiN;
|
||||
|
||||
private Integer dataCutiN1;
|
||||
@ -75,4 +75,15 @@ public class DataCutiDto {
|
||||
|
||||
private Integer jatahIzin;
|
||||
|
||||
private Integer intervensiCutiB;
|
||||
|
||||
private Integer intervensiCutiB1;
|
||||
|
||||
private Integer intervensiCutiB2;
|
||||
|
||||
private Integer intervensiCutiN;
|
||||
|
||||
private Integer intervensiCutiN1;
|
||||
|
||||
private Integer intervensiCutiN2;
|
||||
}
|
||||
|
||||
@ -52,4 +52,8 @@ public class JatahCutiDanIzin extends BaseTransaction {
|
||||
@Caption(value = "Tangguhkan Sisa Cuti")
|
||||
private Boolean isTangguhkan;
|
||||
|
||||
@Column(name = "IntervensiCuti", insertable = true, updatable = true, nullable = true)
|
||||
@Caption(value = "IntervensiCuti")
|
||||
private Integer intervensiCuti;
|
||||
|
||||
}
|
||||
|
||||
@ -26,4 +26,6 @@ public class JatahCutiDanIzinVO extends BaseTransactionVO {
|
||||
|
||||
private Boolean isTangguhkan;
|
||||
|
||||
private Integer intervensiCuti;
|
||||
|
||||
}
|
||||
|
||||
@ -4236,6 +4236,12 @@ public class SdmController extends LocaleController<AkunVO> {
|
||||
public ResponseEntity<Map<String, Object>> saveJatahCutiDanIzinPegawai(@Valid @RequestBody JatahCutiDanIzinVO vo,
|
||||
HttpServletRequest request) {
|
||||
try {
|
||||
/*
|
||||
Routing Untuk Update Jatah Cuti Pegawai Baik Otomatis ataupun manual.
|
||||
Berikut URL FE yang terdeteksi akses ke route ini :
|
||||
1. /app/#/DataCutiPegawai
|
||||
2. /app/#/PermohonanPerubahanStatusPegawai
|
||||
*/
|
||||
Map<String, Object> result = servicePermohonanStatus.setJatahCutiPegawaiRecursive(vo);
|
||||
if (null != result)
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user