- persiapan optimalisasi service update data cuti
- perbaikan tata letak cetakan cuti dan surat izin sementara
This commit is contained in:
parent
cc3ea1ff80
commit
15be0c79bf
@ -173,6 +173,7 @@ public class Master {
|
||||
}
|
||||
|
||||
public static final class KomponenIndex {
|
||||
public static final Integer CUTI_BERSAMA = 21;
|
||||
public static final Integer CUTI_NONSHIFT = 5;
|
||||
public static final Integer CUTI_SHIFT = 6;
|
||||
}
|
||||
|
||||
@ -12,6 +12,7 @@ import com.jasamedika.medifirst2000.vo.ListTanggalCutiVO;
|
||||
import com.jasamedika.medifirst2000.vo.PlanningPegawaiStatusVO;
|
||||
|
||||
public interface PermohonanStatusPegawaiService {
|
||||
|
||||
public Map<String, Object> getUserLogin(Integer idPegawai);
|
||||
|
||||
public Map<String, Object> noUsulan();
|
||||
@ -24,11 +25,9 @@ public interface PermohonanStatusPegawaiService {
|
||||
|
||||
public Map<String, Object> getDataCuti(Integer pegawaiId, String year, Integer statusPegawaiId);
|
||||
|
||||
public Map<String, Object> getDataCuti(String norec, Integer pegawaiId, String year, Integer statusPegawaiId);
|
||||
|
||||
public Map<String, Object> savePlanningPegawaiStatus(PlanningPegawaiStatusVO vo);
|
||||
|
||||
public Map<String, Object> updateDataCuti(String penandaTangan, String noRec);
|
||||
public Map<String, Object> perbaruiDataCuti(Integer idPegawai, Integer idStatusPegawai);
|
||||
|
||||
public Map<String, Object> savePlanningPegawaiStatusRev(PlanningPegawaiStatusVO vo);
|
||||
|
||||
@ -115,4 +114,5 @@ public interface PermohonanStatusPegawaiService {
|
||||
String noPlanning);
|
||||
|
||||
public Map<String, Object> checkPermohonanStatusPegawai(String norec);
|
||||
|
||||
}
|
||||
|
||||
@ -255,567 +255,6 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi
|
||||
return difCutiTerpakai;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getDataCuti(String norec, Integer pegawaiId, String year, Integer statusPegawaiId) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
|
||||
List<Integer> listKomponenIndex = new ArrayList<>();
|
||||
|
||||
Integer sisaCuti = 0;
|
||||
Integer sisaCutiB2 = 0;
|
||||
Integer sisaCutiB1 = 0;
|
||||
Integer sisaCutiB = 0;
|
||||
Integer sisaCutiN2 = 0;
|
||||
Integer sisaCutiN1 = 0;
|
||||
Integer sisaCutiN = 0;
|
||||
Integer jatahCuti = 0;
|
||||
Integer sisaJatahRawatJalan = 0;
|
||||
Integer sisaJatahRawatInap = 0;
|
||||
Integer sisaIzin = 0;
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
||||
SimpleDateFormat formatter = new SimpleDateFormat("yyyy");
|
||||
if (CommonUtil.isNullOrEmpty(year)) {
|
||||
year = formatter.format(DateUtil.now());
|
||||
}
|
||||
|
||||
Integer yearn1 = Integer.parseInt(year) - 1;
|
||||
Integer yearn2 = Integer.parseInt(year) - 2;
|
||||
Integer yearn3 = Integer.parseInt(year) + 1;
|
||||
String yearN1 = yearn1.toString();
|
||||
String yearN2 = yearn2.toString();
|
||||
String yearN3 = yearn3.toString();
|
||||
|
||||
if (statusPegawaiId == 5 || statusPegawaiId == 1 || statusPegawaiId == 21) {
|
||||
// ------------------------------------------SETTING_DATA_FIX------------------------------------------
|
||||
String komponen = settingDataFixedDao.getSettingDataFixed("komponenIndeksCuti");// 5
|
||||
String komponenIndeksCutiShift = settingDataFixedDao.getSettingDataFixed("komponenIndeksCutiShift");// 6
|
||||
String komponenIndeksCutiBersama = settingDataFixedDao.getSettingDataFixed("komponenIndeksCutiBersama");// 21
|
||||
|
||||
listKomponenIndex.add(Integer.valueOf(komponen));
|
||||
listKomponenIndex.add(Integer.valueOf(komponenIndeksCutiShift));
|
||||
|
||||
// Initiate cuti bersama
|
||||
Integer cutiTerpakaiB2 = 0;
|
||||
Integer cutiTerpakaiB1 = 0;
|
||||
Integer cutiTerpakaiB = 0;
|
||||
// Menghitung cuti terpakai tahun n-2
|
||||
Integer cutiTerpakaiN2 = pegawaiHistoriRekapIndexDao.getCutiTerpakai(yearN2, pegawaiId, listKomponenIndex);
|
||||
if (CommonUtil.isNullOrEmpty(cutiTerpakaiN2)) {
|
||||
cutiTerpakaiN2 = 0;
|
||||
}
|
||||
// Menghitung cuti terpakai tahun n-1
|
||||
Integer cutiTerpakaiN1 = pegawaiHistoriRekapIndexDao.getCutiTerpakai(yearN1, pegawaiId, listKomponenIndex);
|
||||
if (CommonUtil.isNullOrEmpty(cutiTerpakaiN1)) {
|
||||
cutiTerpakaiN1 = 0;
|
||||
}
|
||||
// Menghitung cuti terpakai tahun n
|
||||
Integer cutiTerpakaiN = pegawaiHistoriRekapIndexDao.getCutiTerpakai(year, pegawaiId, listKomponenIndex);
|
||||
if (CommonUtil.isNullOrEmpty(cutiTerpakaiN)) {
|
||||
cutiTerpakaiN = 0;
|
||||
}
|
||||
|
||||
Integer rekapHistoriCutiTerpakai = pegawaiHistoriRekapIndexDao.getHistoriCutiTerpakai(yearN2, pegawaiId,
|
||||
listKomponenIndex);
|
||||
if (CommonUtil.isNullOrEmpty(rekapHistoriCutiTerpakai)) {
|
||||
rekapHistoriCutiTerpakai = 0;
|
||||
}
|
||||
Integer dataHistoriCutiTerpakai = jatahCutiDanIzinDao.getHistoriCutiTerpakai(pegawaiId, yearN2);
|
||||
if (CommonUtil.isNullOrEmpty(dataHistoriCutiTerpakai)) {
|
||||
dataHistoriCutiTerpakai = 0;
|
||||
}
|
||||
|
||||
Integer diffHistori = dataHistoriCutiTerpakai - rekapHistoriCutiTerpakai;
|
||||
if (rekapHistoriCutiTerpakai < dataHistoriCutiTerpakai) {
|
||||
if (cutiTerpakaiN2 > diffHistori) {
|
||||
cutiTerpakaiN2 -= diffHistori;
|
||||
} else {
|
||||
diffHistori -= cutiTerpakaiN2;
|
||||
cutiTerpakaiN2 = 0;
|
||||
if (cutiTerpakaiN1 > diffHistori) {
|
||||
cutiTerpakaiN1 -= diffHistori;
|
||||
} else {
|
||||
diffHistori -= cutiTerpakaiN1;
|
||||
cutiTerpakaiN1 = 0;
|
||||
if (cutiTerpakaiN > diffHistori) {
|
||||
cutiTerpakaiN -= diffHistori;
|
||||
} else {
|
||||
cutiTerpakaiN = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// impossible scenario
|
||||
}
|
||||
|
||||
// Mendapatkan seluruh data jatah cuti untuk pegawai tertentu
|
||||
Integer dataCutiB2 = jatahCutiDanIzinDao.getDataCuti(yearN2, pegawaiId,
|
||||
Integer.valueOf(komponenIndeksCutiBersama)); // dataCutiBersama_di_n-2
|
||||
Integer dataCutiB1 = jatahCutiDanIzinDao.getDataCuti(yearN1, pegawaiId,
|
||||
Integer.valueOf(komponenIndeksCutiBersama)); // dataCutiBersama_di_n-1
|
||||
Integer dataCutiB = jatahCutiDanIzinDao.getDataCuti(year, pegawaiId,
|
||||
Integer.valueOf(komponenIndeksCutiBersama)); // dataCutiBersama_di_n
|
||||
Integer dataCutiN2 = jatahCutiDanIzinDao.getDataCuti(yearN2, pegawaiId, Integer.valueOf(komponen)); // dataCutiTahunan_tahun_n-2
|
||||
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
|
||||
// Validasi existing data
|
||||
if (CommonUtil.isNullOrEmpty(dataCutiB2)) {
|
||||
dataCutiB2 = 0;
|
||||
}
|
||||
if (CommonUtil.isNullOrEmpty(dataCutiB1)) {
|
||||
dataCutiB1 = 0;
|
||||
}
|
||||
if (CommonUtil.isNullOrEmpty(dataCutiB)) {
|
||||
dataCutiB = 0;
|
||||
}
|
||||
if (CommonUtil.isNullOrEmpty(dataCutiN2)) {
|
||||
dataCutiN2 = 0;
|
||||
}
|
||||
if (CommonUtil.isNullOrEmpty(dataCutiN1)) {
|
||||
dataCutiN1 = 0;
|
||||
}
|
||||
if (CommonUtil.isNullOrEmpty(dataCutiN)) {
|
||||
dataCutiN = 0;
|
||||
}
|
||||
if (CommonUtil.isNullOrEmpty(dataCutiN3)) {
|
||||
dataCutiN3 = 12;
|
||||
}
|
||||
|
||||
// mapping jatah cuti
|
||||
result.put("dataCutiB2", dataCutiB2);
|
||||
result.put("dataCutiB1", dataCutiB1);
|
||||
result.put("dataCutiB", dataCutiB);
|
||||
result.put("dataCutiN2", dataCutiN2);
|
||||
result.put("dataCutiN1", dataCutiN1);
|
||||
result.put("dataCutiN", dataCutiN);
|
||||
result.put("dataCutiN3", dataCutiN3);
|
||||
|
||||
// Hitung Absen di tanggal cuti bersama
|
||||
List<String> listTglCutiBersama = mapKalenderToHariLiburDao.getTglCutiBersama(year);
|
||||
int countDataHabsen = 0;
|
||||
for (String tglStr : listTglCutiBersama) {
|
||||
List<Date> dataHabsen = new ArrayList<>();
|
||||
|
||||
// cek shift malam
|
||||
String tglPrev = sdf.format(java.sql.Date.valueOf(LocalDate.parse(tglStr).minusDays(1)));
|
||||
List<Map<String, Object>> listMap = pegawaiJadwalKerjaDao.getNamaShiftKerjaPegawaiByTanggal(tglPrev,
|
||||
tglStr, pegawaiId);
|
||||
if (listMap.size() == 2) {
|
||||
if (!listMap.get(0).get("namaShift").toString().toLowerCase().contains("malam")
|
||||
&& listMap.get(1).get("namaShift").toString().toLowerCase().contains("malam")) {
|
||||
dataHabsen = habsenDao.countAbsenTglCutiBersama(tglStr, pegawaiDao.getidFinger(pegawaiId));
|
||||
} else if (listMap.get(0).get("namaShift").toString().toLowerCase().contains("malam")
|
||||
&& listMap.get(1).get("namaShift").toString().toLowerCase().contains("malam")) {
|
||||
dataHabsen = habsenDao.countAbsenTglCutiBersama(tglStr, pegawaiDao.getidFinger(pegawaiId));
|
||||
} else if (!listMap.get(0).get("namaShift").toString().toLowerCase().contains("malam")
|
||||
&& !listMap.get(1).get("namaShift").toString().toLowerCase().contains("malam")) {
|
||||
dataHabsen = habsenDao.countAbsenTglCutiBersama(tglStr, pegawaiDao.getidFinger(pegawaiId));
|
||||
}
|
||||
}
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(dataHabsen)) {
|
||||
if (Arrays.asList(Master.ShiftKerja.TUJUH_BELAS_JAM_SHIFT)
|
||||
.contains(Integer.parseInt(listMap.get(1).get("idShift").toString()))) {
|
||||
countDataHabsen += 2;
|
||||
} else {
|
||||
countDataHabsen += 1;
|
||||
}
|
||||
} else {
|
||||
// cuti tahunan di tanggal cuti bersama
|
||||
List<Date> tglCutiTahunanDiTglCutiBersama = jatahCutiDanIzinDao
|
||||
.getCutiTahunanDiTglCutiBersama(Master.StatusPegawai.CUTI_TAHUNAN, pegawaiId, tglStr);
|
||||
if (CommonUtil.isNotNullOrEmpty(tglCutiTahunanDiTglCutiBersama)) {
|
||||
if (Arrays.asList(Master.ShiftKerja.TUJUH_BELAS_JAM_SHIFT)
|
||||
.contains(Integer.parseInt(listMap.get(1).get("idShift").toString()))) {
|
||||
countDataHabsen += 2;
|
||||
} else {
|
||||
countDataHabsen += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
dataCutiB = countDataHabsen;
|
||||
result.put("dataCutiB", dataCutiB);
|
||||
|
||||
// kondisikan cuti bersama yg sudah berlalu
|
||||
if (cutiTerpakaiN2 > dataCutiB2) {
|
||||
cutiTerpakaiB2 = dataCutiB2;
|
||||
} else {
|
||||
cutiTerpakaiB2 = cutiTerpakaiN2;
|
||||
}
|
||||
if (cutiTerpakaiN1 > dataCutiB1) {
|
||||
cutiTerpakaiB1 = dataCutiB1;
|
||||
} else {
|
||||
cutiTerpakaiB1 = cutiTerpakaiN1;
|
||||
}
|
||||
|
||||
// Mendapatkan kondisi penangguhan saat ini
|
||||
result.put("isTangguhkanB2", false);
|
||||
result.put("isTangguhkanB1", false);
|
||||
result.put("isTangguhkanB", false);
|
||||
Boolean jCutiN2 = jatahCutiDanIzinDao.getPenangguhanSisaCuti(yearN2, pegawaiId, Integer.valueOf(komponen));
|
||||
if (CommonUtil.isNotNullOrEmpty(jCutiN2)) {
|
||||
result.put("isTangguhkanN2", jCutiN2);
|
||||
} else {
|
||||
jCutiN2 = false;
|
||||
result.put("isTangguhkanN2", false);
|
||||
}
|
||||
Boolean jCutiN1 = jatahCutiDanIzinDao.getPenangguhanSisaCuti(yearN1, pegawaiId, Integer.valueOf(komponen));
|
||||
if (CommonUtil.isNotNullOrEmpty(jCutiN1)) {
|
||||
result.put("isTangguhkanN1", jCutiN1);
|
||||
} else {
|
||||
jCutiN1 = false;
|
||||
result.put("isTangguhkanN1", false);
|
||||
}
|
||||
Boolean jCutiN = jatahCutiDanIzinDao.getPenangguhanSisaCuti(year, pegawaiId, Integer.valueOf(komponen));
|
||||
if (CommonUtil.isNotNullOrEmpty(jCutiN)) {
|
||||
result.put("isTangguhkanN", jCutiN);
|
||||
} else {
|
||||
jCutiN = false;
|
||||
result.put("isTangguhkanN", false);
|
||||
}
|
||||
|
||||
// formula menghitung sisa cuti bersama dan mapping
|
||||
if (dataCutiB >= cutiTerpakaiN) {
|
||||
sisaCutiB = dataCutiB - cutiTerpakaiN;
|
||||
cutiTerpakaiB = cutiTerpakaiN;
|
||||
result.put("sisaCutiB2", sisaCutiB2);
|
||||
result.put("sisaCutiB1", sisaCutiB1);
|
||||
result.put("sisaCutiB", sisaCutiB);
|
||||
result.put("cutiTerpakaiB2", cutiTerpakaiB2);
|
||||
result.put("cutiTerpakaiB1", cutiTerpakaiB1);
|
||||
result.put("cutiTerpakaiB", cutiTerpakaiB);
|
||||
} else {
|
||||
// jika cuti terpakai tahun berjalan lebih besar dari jatahcuti
|
||||
// bersama
|
||||
sisaCutiB = 0;
|
||||
cutiTerpakaiB = dataCutiB;
|
||||
result.put("sisaCutiB2", sisaCutiB2);
|
||||
result.put("sisaCutiB1", sisaCutiB1);
|
||||
result.put("sisaCutiB", sisaCutiB);
|
||||
result.put("cutiTerpakaiB2", cutiTerpakaiB2);
|
||||
result.put("cutiTerpakaiB1", cutiTerpakaiB1);
|
||||
result.put("cutiTerpakaiB", cutiTerpakaiB);
|
||||
}
|
||||
|
||||
// menghitung jatah cuti yang terpakai
|
||||
Integer jatahCutiTerpakaiN2 = 0, jatahCutiTerpakaiN1 = 0, jatahCutiTerpakaiN = 0;
|
||||
Integer allCutiTerpakai = difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
|
||||
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) + difCutiTerpakai(cutiTerpakaiN, dataCutiB);
|
||||
if (dataCutiN2 > 0) {
|
||||
if (allCutiTerpakai >= dataCutiN2) {
|
||||
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
|
||||
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 12) {
|
||||
jatahCutiTerpakaiN2 = difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
|
||||
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1);
|
||||
} else {
|
||||
jatahCutiTerpakaiN2 = dataCutiN2;
|
||||
}
|
||||
|
||||
// menghitung sisa cuti terlebih dahulu
|
||||
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
|
||||
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 12) {
|
||||
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) >= 0 && !jCutiN2) {
|
||||
sisaCutiN2 = 0; // hangus
|
||||
} else {
|
||||
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
|
||||
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 6 && dataCutiN2 > 0) {
|
||||
sisaCutiN2 = 6 - jatahCutiTerpakaiN2;
|
||||
} else if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
|
||||
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 6 && dataCutiN2 <= 0) {
|
||||
sisaCutiN2 = 0;
|
||||
} else {
|
||||
sisaCutiN2 = dataCutiN2 - jatahCutiTerpakaiN2;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (dataCutiN2 - jatahCutiTerpakaiN2 >= 6 && !jCutiN2) {
|
||||
sisaCutiN2 = 6 - jatahCutiTerpakaiN2;
|
||||
} else {
|
||||
sisaCutiN2 = dataCutiN2 - jatahCutiTerpakaiN2;
|
||||
}
|
||||
}
|
||||
// hitung ulang jatah cuti terpakai karena pengajuan cuti
|
||||
// tahun n menggunakan sisa n-2
|
||||
if (sisaCutiN2 > 0 && difCutiTerpakai(cutiTerpakaiN, dataCutiB) > 0) {
|
||||
if (sisaCutiN2 > difCutiTerpakai(cutiTerpakaiN, dataCutiB)) {
|
||||
jatahCutiTerpakaiN2 += difCutiTerpakai(cutiTerpakaiN, dataCutiB);
|
||||
} else {
|
||||
jatahCutiTerpakaiN2 += sisaCutiN2;
|
||||
}
|
||||
}
|
||||
|
||||
allCutiTerpakai = allCutiTerpakai - jatahCutiTerpakaiN2;
|
||||
if (allCutiTerpakai > 0) {
|
||||
if (allCutiTerpakai >= dataCutiN1) {
|
||||
jatahCutiTerpakaiN1 = dataCutiN1;
|
||||
allCutiTerpakai = allCutiTerpakai - jatahCutiTerpakaiN1;
|
||||
if ((allCutiTerpakai > 0) && (allCutiTerpakai <= dataCutiN)) {
|
||||
jatahCutiTerpakaiN = allCutiTerpakai;
|
||||
} else {
|
||||
jatahCutiTerpakaiN = 0;
|
||||
}
|
||||
} else {
|
||||
jatahCutiTerpakaiN1 = allCutiTerpakai;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
|
||||
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 12) {
|
||||
jatahCutiTerpakaiN2 = difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
|
||||
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1);
|
||||
} else {
|
||||
jatahCutiTerpakaiN2 = allCutiTerpakai;
|
||||
}
|
||||
|
||||
// menghitung sisa cuti terlebih dahulu
|
||||
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
|
||||
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 12) {
|
||||
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) >= 0 && !jCutiN2) {
|
||||
sisaCutiN2 = 0; // hangus
|
||||
} else {
|
||||
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
|
||||
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 6 && dataCutiN2 > 0) {
|
||||
sisaCutiN2 = 6 - jatahCutiTerpakaiN2;
|
||||
} else if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
|
||||
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 6 && dataCutiN2 <= 0) {
|
||||
sisaCutiN2 = 0;
|
||||
} else {
|
||||
sisaCutiN2 = dataCutiN2 - jatahCutiTerpakaiN2;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (dataCutiN2 - jatahCutiTerpakaiN2 >= 6 && !jCutiN2) {
|
||||
sisaCutiN2 = 6 - jatahCutiTerpakaiN2;
|
||||
} else {
|
||||
sisaCutiN2 = dataCutiN2 - jatahCutiTerpakaiN2;
|
||||
}
|
||||
}
|
||||
// hitung ulang jatah cuti terpakai karena pengajuan cuti
|
||||
// tahun n menggunakan sisa n-2
|
||||
if (sisaCutiN2 > 0 && difCutiTerpakai(cutiTerpakaiN, dataCutiB) > 0) {
|
||||
if (sisaCutiN2 > difCutiTerpakai(cutiTerpakaiN, dataCutiB)) {
|
||||
jatahCutiTerpakaiN2 += difCutiTerpakai(cutiTerpakaiN, dataCutiB);
|
||||
} else {
|
||||
jatahCutiTerpakaiN2 += sisaCutiN2;
|
||||
}
|
||||
}
|
||||
|
||||
allCutiTerpakai = allCutiTerpakai - jatahCutiTerpakaiN2;
|
||||
if (allCutiTerpakai > 0) {
|
||||
if (allCutiTerpakai >= dataCutiN1) {
|
||||
jatahCutiTerpakaiN1 = dataCutiN1;
|
||||
allCutiTerpakai = allCutiTerpakai - jatahCutiTerpakaiN1;
|
||||
if ((allCutiTerpakai > 0) && (allCutiTerpakai <= dataCutiN)) {
|
||||
jatahCutiTerpakaiN = allCutiTerpakai;
|
||||
} else {
|
||||
jatahCutiTerpakaiN = 0;
|
||||
}
|
||||
} else {
|
||||
jatahCutiTerpakaiN1 = allCutiTerpakai;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (dataCutiN1 > 0) {
|
||||
if (allCutiTerpakai >= dataCutiN1) {
|
||||
jatahCutiTerpakaiN1 = dataCutiN1;
|
||||
allCutiTerpakai = allCutiTerpakai - jatahCutiTerpakaiN1;
|
||||
if ((allCutiTerpakai > 0) && (allCutiTerpakai <= dataCutiN)) {
|
||||
jatahCutiTerpakaiN = allCutiTerpakai;
|
||||
} else {
|
||||
jatahCutiTerpakaiN = 0;
|
||||
}
|
||||
} else {
|
||||
jatahCutiTerpakaiN1 = allCutiTerpakai;
|
||||
}
|
||||
} else if (dataCutiN > 0) {
|
||||
if (allCutiTerpakai <= dataCutiN) {
|
||||
jatahCutiTerpakaiN = allCutiTerpakai;
|
||||
} else {
|
||||
jatahCutiTerpakaiN = 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Menghitung cuti terpakai tahun n+1
|
||||
Integer cutiTerpakaiN3 = pegawaiHistoriRekapIndexDao.getCutiTerpakai(yearN3, pegawaiId, listKomponenIndex);
|
||||
if (CommonUtil.isNullOrEmpty(cutiTerpakaiN3)) {
|
||||
cutiTerpakaiN3 = 0;
|
||||
}
|
||||
|
||||
if (cutiTerpakaiN3 > 0) {
|
||||
// menghitung sisa cuti n-1 terlebih dahulu
|
||||
if (dataCutiN1 - jatahCutiTerpakaiN1 >= 6 && !jCutiN1) {
|
||||
sisaCutiN1 = 6 - jatahCutiTerpakaiN1;
|
||||
} else {
|
||||
sisaCutiN1 = dataCutiN1 - jatahCutiTerpakaiN1;
|
||||
}
|
||||
|
||||
// juga menghitung sisa cuti n terlebih dahulu
|
||||
sisaCutiN = dataCutiN - jatahCutiTerpakaiN;
|
||||
|
||||
// menghitung jatah cuti terpakai karena pengajuan lintas tahun
|
||||
if (difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) == 0 && !jCutiN1) {
|
||||
if (sisaCutiN1 > 0) {
|
||||
if (cutiTerpakaiN3 > sisaCutiN1) {
|
||||
jatahCutiTerpakaiN1 += sisaCutiN1;
|
||||
cutiTerpakaiN3 -= sisaCutiN1;
|
||||
if (cutiTerpakaiN3 > 0 && sisaCutiN > 0) {
|
||||
if (cutiTerpakaiN3 > sisaCutiN) {
|
||||
jatahCutiTerpakaiN += sisaCutiN;
|
||||
} else {
|
||||
jatahCutiTerpakaiN += cutiTerpakaiN3;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
jatahCutiTerpakaiN1 += cutiTerpakaiN3;
|
||||
}
|
||||
} else if (sisaCutiN > 0) {
|
||||
if (cutiTerpakaiN3 > sisaCutiN) {
|
||||
jatahCutiTerpakaiN += sisaCutiN;
|
||||
} else {
|
||||
jatahCutiTerpakaiN += cutiTerpakaiN3;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (sisaCutiN > 0) {
|
||||
if (cutiTerpakaiN3 > sisaCutiN) {
|
||||
jatahCutiTerpakaiN += sisaCutiN;
|
||||
} else {
|
||||
jatahCutiTerpakaiN += cutiTerpakaiN3;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// put all data jatah cuti terpakai
|
||||
result.put("cutiTerpakaiN2", jatahCutiTerpakaiN2);
|
||||
result.put("cutiTerpakaiN1", jatahCutiTerpakaiN1);
|
||||
result.put("cutiTerpakaiN", jatahCutiTerpakaiN);
|
||||
|
||||
// menghitung sisa cuti
|
||||
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 12) {
|
||||
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) >= 0 && !jCutiN2) {
|
||||
sisaCutiN2 = 0; // hangus
|
||||
} else {
|
||||
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 6) {
|
||||
sisaCutiN2 = 6 - jatahCutiTerpakaiN2;
|
||||
} else {
|
||||
sisaCutiN2 = dataCutiN2 - jatahCutiTerpakaiN2;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (dataCutiN2 - jatahCutiTerpakaiN2 >= 6 && !jCutiN2) {
|
||||
sisaCutiN2 = 6 - jatahCutiTerpakaiN2;
|
||||
} else {
|
||||
sisaCutiN2 = dataCutiN2 - jatahCutiTerpakaiN2;
|
||||
}
|
||||
}
|
||||
if (dataCutiN1 - jatahCutiTerpakaiN1 >= 6 && !jCutiN1) {
|
||||
sisaCutiN1 = 6 - jatahCutiTerpakaiN1;
|
||||
} else {
|
||||
sisaCutiN1 = dataCutiN1 - jatahCutiTerpakaiN1;
|
||||
}
|
||||
sisaCutiN = dataCutiN - jatahCutiTerpakaiN;
|
||||
|
||||
// put all data sisa cuti
|
||||
result.put("sisaCutiN2", sisaCutiN2);
|
||||
result.put("sisaCutiN1", sisaCutiN1);
|
||||
result.put("sisaCutiN", sisaCutiN);
|
||||
}
|
||||
if (statusPegawaiId == 24) {
|
||||
// ------------------------------------------SETTING_DATA_FIX------------------------------------------
|
||||
if (CommonUtil.isNotNullOrEmpty(jatahCuti)) {
|
||||
result.put("jatahCuti", "-");
|
||||
}
|
||||
result.put("sisaCuti", "-");
|
||||
}
|
||||
|
||||
if (statusPegawaiId == 25) {
|
||||
// ------------------------------------------SETTING_DATA_FIX------------------------------------------
|
||||
Map<String, Object> data = planningPegawaiStatusDao.getJatahCutiMelahirkan(statusPegawaiId);
|
||||
if (CommonUtil.isNotNullOrEmpty(jatahCuti)) {
|
||||
result.put("jatahCuti", data.get("kuotaTotalHari"));
|
||||
}
|
||||
result.put("sisaCuti", "-");
|
||||
}
|
||||
|
||||
if (statusPegawaiId == 26) {
|
||||
// ------------------------------------------SETTING_DATA_FIX------------------------------------------
|
||||
if (CommonUtil.isNotNullOrEmpty(jatahCuti)) {
|
||||
result.put("jatahCuti", "-");
|
||||
}
|
||||
result.put("sisaCuti", "-");
|
||||
}
|
||||
// Izin
|
||||
if (statusPegawaiId == 27) {
|
||||
Integer komponenIzin = 17; // komponenIndex untuk izin
|
||||
Integer jatahIzin = 2; // sesuai kesepakatan
|
||||
|
||||
Integer jumlahIzinTerpakai = pegawaiHistoriRekapIndexDao.getIzinTerpakai(norec, pegawaiId, komponenIzin);
|
||||
if (CommonUtil.isNotNullOrEmpty(jumlahIzinTerpakai)) {
|
||||
sisaIzin = jatahIzin - jumlahIzinTerpakai;
|
||||
} else {
|
||||
sisaIzin = jatahIzin;
|
||||
}
|
||||
|
||||
result.put("jatahIzin", jatahIzin);
|
||||
result.put("sisaIzin", sisaIzin);
|
||||
}
|
||||
if (statusPegawaiId == 28) {
|
||||
// ------------------------------------------SETTING_DATA_FIX------------------------------------------
|
||||
if (CommonUtil.isNotNullOrEmpty(jatahCuti)) {
|
||||
result.put("jatahCuti", "-");
|
||||
}
|
||||
result.put("sisaCuti", "-");
|
||||
}
|
||||
if (statusPegawaiId == 17) {
|
||||
// ------------------------------------------SETTING_DATA_FIX------------------------------------------
|
||||
Integer cutiTerpakai = pegawaiHistoriRekapIndexDao.getNilaiIndexPegawaiHistoriRekapIndex(pegawaiId, 17);
|
||||
Integer dataCuti = jatahCutiDanIzinDao.getDataCuti(year, pegawaiId, 17);
|
||||
if (CommonUtil.isNotNullOrEmpty(dataCuti)) {
|
||||
if (CommonUtil.isNullOrEmpty(cutiTerpakai)) {
|
||||
cutiTerpakai = 0;
|
||||
}
|
||||
sisaCuti = dataCuti - cutiTerpakai;
|
||||
if (sisaCuti < 0) {
|
||||
sisaCuti = 0;
|
||||
}
|
||||
} else {
|
||||
sisaCuti = 0;
|
||||
dataCuti = 0;
|
||||
}
|
||||
result.put("sisaCuti", sisaCuti);
|
||||
result.put("jatahCuti", dataCuti);
|
||||
}
|
||||
// sakit
|
||||
if (statusPegawaiId == 29 || statusPegawaiId == 6) {
|
||||
// ------------------------------------------SETTING_DATA_FIX------------------------------------------
|
||||
Integer komponenSakit = 7;
|
||||
Integer komponenSakitShift = 8;
|
||||
|
||||
Integer jumlahRawatJalan = pegawaiHistoriRekapIndexDao.getSakitTerpakai(pegawaiId, komponenSakit, 1);
|
||||
if (CommonUtil.isNullOrEmpty(jumlahRawatJalan)) {
|
||||
jumlahRawatJalan = pegawaiHistoriRekapIndexDao.getSakitTerpakai(pegawaiId, komponenSakitShift, 1);
|
||||
}
|
||||
|
||||
Integer jumlahRawatInap = pegawaiHistoriRekapIndexDao.getSakitTerpakai(pegawaiId, komponenSakit, 2);
|
||||
if (CommonUtil.isNullOrEmpty(jumlahRawatInap)) {
|
||||
jumlahRawatInap = pegawaiHistoriRekapIndexDao.getSakitTerpakai(pegawaiId, komponenSakitShift, 2);
|
||||
}
|
||||
|
||||
if ((CommonUtil.isNotNullOrEmpty(jumlahRawatJalan)) || (CommonUtil.isNotNullOrEmpty(jumlahRawatInap))) {
|
||||
sisaJatahRawatJalan = 3 - jumlahRawatJalan;
|
||||
sisaJatahRawatInap = 5 - jumlahRawatInap;
|
||||
}
|
||||
result.put("sisaJatahRawatJalan", sisaJatahRawatJalan);
|
||||
result.put("sisaJatahRawatInap", sisaJatahRawatInap);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getDataCuti(Integer pegawaiId, String year, Integer statusPegawaiId) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
@ -850,9 +289,9 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi
|
||||
|
||||
if (statusPegawaiId == 5 || statusPegawaiId == 1 || statusPegawaiId == 21) {
|
||||
// ------------------------------------------SETTING_DATA_FIX------------------------------------------
|
||||
String komponen = settingDataFixedDao.getSettingDataFixed("komponenIndeksCuti");// 5
|
||||
String komponenIndeksCutiShift = settingDataFixedDao.getSettingDataFixed("komponenIndeksCutiShift");// 6
|
||||
String komponenIndeksCutiBersama = settingDataFixedDao.getSettingDataFixed("komponenIndeksCutiBersama");// 21
|
||||
String komponen = Master.KomponenIndex.CUTI_NONSHIFT.toString();
|
||||
String komponenIndeksCutiShift = Master.KomponenIndex.CUTI_SHIFT.toString();
|
||||
String komponenIndeksCutiBersama = Master.KomponenIndex.CUTI_BERSAMA.toString();
|
||||
|
||||
listKomponenIndex.add(Integer.valueOf(komponen));
|
||||
listKomponenIndex.add(Integer.valueOf(komponenIndeksCutiShift));
|
||||
@ -3221,14 +2660,56 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> updateDataCuti(String penandaTangan, String noRec) {
|
||||
Map<String, Object> result = new HashMap<String, Object>();
|
||||
PlanningPegawaiStatus planningPegawaiStatus = planningPegawaiStatusDao.findOne(noRec);
|
||||
planningPegawaiStatus.setKeterangan(penandaTangan);
|
||||
if (CommonUtil.isNotNullOrEmpty(planningPegawaiStatus)) {
|
||||
PlanningPegawaiStatus model = planningPegawaiStatusDao.save(planningPegawaiStatus);
|
||||
result.put("noRec", model.getNoRec());
|
||||
}
|
||||
public Map<String, Object> perbaruiDataCuti(Integer idPegawai, Integer idStatusPegawai) {
|
||||
PegawaiVO pegawaiVo = new PegawaiVO();
|
||||
pegawaiVo.setId(idPegawai);
|
||||
|
||||
KomponenIndexVO komponenIndexVo = new KomponenIndexVO();
|
||||
komponenIndexVo.setId(Master.KomponenIndex.CUTI_BERSAMA);
|
||||
|
||||
SimpleDateFormat formatter = new SimpleDateFormat("yyyy");
|
||||
String year = formatter.format(DateUtil.now());
|
||||
|
||||
Integer yearn1 = Integer.parseInt(year) - 1;
|
||||
String yearN1 = yearn1.toString();
|
||||
|
||||
Integer yearn2 = Integer.parseInt(year) - 2;
|
||||
String yearN2 = yearn2.toString();
|
||||
|
||||
Map<String, Object> dataCuti = this.getDataCuti(idPegawai, year, idStatusPegawai);
|
||||
|
||||
JatahCutiDanIzinVO voTahunIni = new JatahCutiDanIzinVO();
|
||||
voTahunIni.setStatusEnabled(Master.STATUS_ENABLE_TRUE);
|
||||
voTahunIni.setTahun(year);
|
||||
voTahunIni.setKdProfile(Master.KODE_PROFILE);
|
||||
voTahunIni.setPegawai(pegawaiVo);
|
||||
voTahunIni.setValue(Integer.valueOf(dataCuti.get("dataCutiB").toString()));
|
||||
voTahunIni.setKomponenIndex(komponenIndexVo);
|
||||
voTahunIni.setIsTangguhkan(false);
|
||||
this.setJatahCutiPegawaiRecursive(voTahunIni);
|
||||
|
||||
JatahCutiDanIzinVO voTahunLalu = new JatahCutiDanIzinVO();
|
||||
voTahunLalu.setStatusEnabled(Master.STATUS_ENABLE_TRUE);
|
||||
voTahunLalu.setTahun(yearN1);
|
||||
voTahunLalu.setKdProfile(Master.KODE_PROFILE);
|
||||
voTahunLalu.setPegawai(pegawaiVo);
|
||||
voTahunLalu.setValue(Integer.valueOf(dataCuti.get("dataCutiB1").toString()));
|
||||
voTahunLalu.setKomponenIndex(komponenIndexVo);
|
||||
voTahunLalu.setIsTangguhkan(false);
|
||||
this.setJatahCutiPegawaiRecursive(voTahunLalu);
|
||||
|
||||
JatahCutiDanIzinVO voDuaTahunLalu = new JatahCutiDanIzinVO();
|
||||
voDuaTahunLalu.setStatusEnabled(Master.STATUS_ENABLE_TRUE);
|
||||
voDuaTahunLalu.setTahun(yearN2);
|
||||
voDuaTahunLalu.setKdProfile(Master.KODE_PROFILE);
|
||||
voDuaTahunLalu.setPegawai(pegawaiVo);
|
||||
voDuaTahunLalu.setValue(Integer.valueOf(dataCuti.get("dataCutiB2").toString()));
|
||||
voDuaTahunLalu.setKomponenIndex(komponenIndexVo);
|
||||
voDuaTahunLalu.setIsTangguhkan(false);
|
||||
this.setJatahCutiPegawaiRecursive(voDuaTahunLalu);
|
||||
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
result.putAll(dataCuti);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -314,7 +314,7 @@
|
||||
<text><![CDATA[ 5. Cuti Karena Alasan Penting]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="281" y="195" width="169" height="15" uuid="c07ee8f9-afc3-4b34-aaf9-d7900660f60d"/>
|
||||
<reportElement x="281" y="195" width="189" height="15" uuid="c07ee8f9-afc3-4b34-aaf9-d7900660f60d"/>
|
||||
<box>
|
||||
<topPen lineWidth="1.0"/>
|
||||
<leftPen lineWidth="1.0"/>
|
||||
@ -326,7 +326,7 @@
|
||||
<text><![CDATA[ 6. Cuti di Luar Tanggungan Negara]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="281" y="180" width="169" height="15" uuid="c857ca91-37f2-4cbc-8371-3cd0365068cc"/>
|
||||
<reportElement x="281" y="180" width="189" height="15" uuid="c857ca91-37f2-4cbc-8371-3cd0365068cc"/>
|
||||
<box>
|
||||
<topPen lineWidth="1.0"/>
|
||||
<leftPen lineWidth="1.0"/>
|
||||
@ -337,7 +337,7 @@
|
||||
<text><![CDATA[ 4. Cuti Melahirkan]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="281" y="165" width="169" height="15" uuid="9bc9092d-4b95-44e7-b655-3a3f0b791f91">
|
||||
<reportElement x="281" y="165" width="189" height="15" uuid="9bc9092d-4b95-44e7-b655-3a3f0b791f91">
|
||||
<property name="com.jaspersoft.studio.unit.y" value="pixel"/>
|
||||
</reportElement>
|
||||
<box>
|
||||
@ -350,7 +350,7 @@
|
||||
<text><![CDATA[ 2. Cuti Besar]]></text>
|
||||
</staticText>
|
||||
<textField>
|
||||
<reportElement x="450" y="195" width="110" height="15" uuid="3f9ccec0-7653-4e5b-89bb-59c87c3a3cb0"/>
|
||||
<reportElement x="470" y="195" width="90" height="15" uuid="3f9ccec0-7653-4e5b-89bb-59c87c3a3cb0"/>
|
||||
<box>
|
||||
<topPen lineWidth="1.0"/>
|
||||
<leftPen lineWidth="1.0"/>
|
||||
@ -369,7 +369,7 @@
|
||||
<imageExpression><![CDATA["../images/checkList.png"]]></imageExpression>
|
||||
</image>
|
||||
<image scaleImage="RetainShape">
|
||||
<reportElement mode="Transparent" x="457" y="159" width="20" height="20" uuid="86c8012c-5db4-4b5e-8741-9d9976b344d9">
|
||||
<reportElement mode="Transparent" x="477" y="159" width="20" height="20" uuid="86c8012c-5db4-4b5e-8741-9d9976b344d9">
|
||||
<printWhenExpression><![CDATA[$F{statusPegawaiPlanId}.equals("24")]]></printWhenExpression>
|
||||
</reportElement>
|
||||
<graphicElement fill="Solid"/>
|
||||
@ -382,7 +382,7 @@
|
||||
<imageExpression><![CDATA["../images/checkList.png"]]></imageExpression>
|
||||
</image>
|
||||
<image>
|
||||
<reportElement isPrintRepeatedValues="false" x="457" y="174" width="20" height="20" uuid="18414a1f-66ce-4934-8cf6-8ab29cf57112">
|
||||
<reportElement isPrintRepeatedValues="false" x="477" y="174" width="20" height="20" uuid="18414a1f-66ce-4934-8cf6-8ab29cf57112">
|
||||
<printWhenExpression><![CDATA[$F{statusPegawaiPlanId}.equals("25")]]></printWhenExpression>
|
||||
</reportElement>
|
||||
<imageExpression><![CDATA["../images/checkList.png"]]></imageExpression>
|
||||
@ -434,7 +434,7 @@
|
||||
<textFieldExpression><![CDATA[""]]></textFieldExpression>
|
||||
</textField>
|
||||
<textField>
|
||||
<reportElement x="450" y="165" width="110" height="15" uuid="b69bc360-6e24-490d-b9c2-c9254858ad27"/>
|
||||
<reportElement x="470" y="165" width="90" height="15" uuid="b69bc360-6e24-490d-b9c2-c9254858ad27"/>
|
||||
<box>
|
||||
<topPen lineWidth="1.0"/>
|
||||
<leftPen lineWidth="1.0"/>
|
||||
@ -446,7 +446,7 @@
|
||||
<textFieldExpression><![CDATA[""]]></textFieldExpression>
|
||||
</textField>
|
||||
<textField>
|
||||
<reportElement x="450" y="180" width="110" height="15" uuid="0bd9cfe3-6fbb-4a46-bc8e-8a7ecc88f679">
|
||||
<reportElement x="470" y="180" width="90" height="15" uuid="0bd9cfe3-6fbb-4a46-bc8e-8a7ecc88f679">
|
||||
<property name="com.jaspersoft.studio.unit.x" value="pixel"/>
|
||||
<property name="com.jaspersoft.studio.unit.height" value="pixel"/>
|
||||
</reportElement>
|
||||
@ -627,7 +627,7 @@
|
||||
<textFieldExpression><![CDATA[$F{sisaCutiN2}!=null?$F{sisaCutiN2}:"0"]]></textFieldExpression>
|
||||
</textField>
|
||||
<staticText>
|
||||
<reportElement positionType="Float" x="281" y="370" width="169" height="15" uuid="6c6c6421-e994-4dc9-9964-8cb1df9d4ec5"/>
|
||||
<reportElement positionType="Float" x="281" y="370" width="189" height="15" uuid="6c6c6421-e994-4dc9-9964-8cb1df9d4ec5"/>
|
||||
<box>
|
||||
<topPen lineWidth="1.0"/>
|
||||
<leftPen lineWidth="1.0"/>
|
||||
@ -639,7 +639,7 @@
|
||||
<text><![CDATA[ 6. Cuti di Luar Tanggungan Negara]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement positionType="Float" x="281" y="355" width="169" height="15" uuid="ae9c558e-cc58-467a-921f-94fbc2805e40">
|
||||
<reportElement positionType="Float" x="281" y="355" width="189" height="15" uuid="ae9c558e-cc58-467a-921f-94fbc2805e40">
|
||||
<property name="com.jaspersoft.studio.unit.width" value="pixel"/>
|
||||
<property name="com.jaspersoft.studio.unit.height" value="pixel"/>
|
||||
<property name="com.jaspersoft.studio.unit.y" value="pixel"/>
|
||||
@ -655,7 +655,7 @@
|
||||
<text><![CDATA[ 5. Cuti Karena Alasan Penting]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement positionType="Float" x="281" y="340" width="169" height="15" uuid="54365567-e2b3-4e37-8b41-0d8a836ef1ba"/>
|
||||
<reportElement positionType="Float" x="281" y="340" width="189" height="15" uuid="54365567-e2b3-4e37-8b41-0d8a836ef1ba"/>
|
||||
<box>
|
||||
<topPen lineWidth="1.0"/>
|
||||
<leftPen lineWidth="1.0"/>
|
||||
@ -666,7 +666,7 @@
|
||||
<text><![CDATA[ 4. Cuti Melahirkan]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement positionType="Float" x="281" y="325" width="169" height="15" uuid="9011365b-bd73-4308-994b-edeb9232008d">
|
||||
<reportElement positionType="Float" x="281" y="325" width="189" height="15" uuid="9011365b-bd73-4308-994b-edeb9232008d">
|
||||
<property name="com.jaspersoft.studio.unit.y" value="pixel"/>
|
||||
<property name="com.jaspersoft.studio.unit.height" value="pixel"/>
|
||||
</reportElement>
|
||||
@ -680,7 +680,7 @@
|
||||
<text><![CDATA[ 3. Cuti Sakit]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement positionType="Float" x="281" y="309" width="169" height="16" uuid="fa5c56a9-1b2e-45d7-b4df-c785eab1034f">
|
||||
<reportElement positionType="Float" x="281" y="309" width="189" height="16" uuid="fa5c56a9-1b2e-45d7-b4df-c785eab1034f">
|
||||
<property name="com.jaspersoft.studio.unit.y" value="pixel"/>
|
||||
</reportElement>
|
||||
<box>
|
||||
@ -693,7 +693,7 @@
|
||||
<text><![CDATA[ 2. Cuti Besar]]></text>
|
||||
</staticText>
|
||||
<textField>
|
||||
<reportElement positionType="Float" x="450" y="309" width="110" height="16" uuid="d9a24c8b-35a3-4191-b365-22bc2f22bb0d"/>
|
||||
<reportElement positionType="Float" x="470" y="309" width="90" height="16" uuid="d9a24c8b-35a3-4191-b365-22bc2f22bb0d"/>
|
||||
<box>
|
||||
<topPen lineWidth="1.0"/>
|
||||
<leftPen lineWidth="1.0"/>
|
||||
@ -705,7 +705,7 @@
|
||||
<textFieldExpression><![CDATA[" : "+($F{cutiBesar}!=null?$F{cutiBesar}:"")]]></textFieldExpression>
|
||||
</textField>
|
||||
<textField>
|
||||
<reportElement positionType="Float" x="450" y="325" width="110" height="15" uuid="5e3ebc31-966c-4633-93ee-fccb3a4297bc">
|
||||
<reportElement positionType="Float" x="470" y="325" width="90" height="15" uuid="5e3ebc31-966c-4633-93ee-fccb3a4297bc">
|
||||
<property name="com.jaspersoft.studio.unit.x" value="pixel"/>
|
||||
<property name="com.jaspersoft.studio.unit.width" value="pixel"/>
|
||||
</reportElement>
|
||||
@ -720,7 +720,7 @@
|
||||
<textFieldExpression><![CDATA[" : "+($F{cutiSakit}!=null?$F{cutiSakit}:"")]]></textFieldExpression>
|
||||
</textField>
|
||||
<textField>
|
||||
<reportElement positionType="Float" x="450" y="340" width="110" height="15" uuid="01972092-2739-414a-9127-7b9e4cf032d4">
|
||||
<reportElement positionType="Float" x="470" y="340" width="90" height="15" uuid="01972092-2739-414a-9127-7b9e4cf032d4">
|
||||
<property name="com.jaspersoft.studio.unit.x" value="pixel"/>
|
||||
<property name="com.jaspersoft.studio.unit.height" value="pixel"/>
|
||||
</reportElement>
|
||||
@ -735,7 +735,7 @@
|
||||
<textFieldExpression><![CDATA[" : "+($F{cutiMelahirkan}!=null?$F{cutiMelahirkan}:"")]]></textFieldExpression>
|
||||
</textField>
|
||||
<textField>
|
||||
<reportElement positionType="Float" x="450" y="355" width="110" height="15" uuid="8a205c29-f6c0-47fc-aa70-f68cb669703e"/>
|
||||
<reportElement positionType="Float" x="470" y="355" width="90" height="15" uuid="8a205c29-f6c0-47fc-aa70-f68cb669703e"/>
|
||||
<box>
|
||||
<topPen lineWidth="1.0"/>
|
||||
<leftPen lineWidth="1.0"/>
|
||||
@ -748,7 +748,7 @@
|
||||
<textFieldExpression><![CDATA[" : "+($F{cutiAlasanPenting}!=null?$F{cutiAlasanPenting}:"")]]></textFieldExpression>
|
||||
</textField>
|
||||
<textField>
|
||||
<reportElement positionType="Float" x="450" y="370" width="110" height="15" uuid="844a6493-3cf5-4fd0-a1d0-8daa8a8e339b"/>
|
||||
<reportElement positionType="Float" x="470" y="370" width="90" height="15" uuid="844a6493-3cf5-4fd0-a1d0-8daa8a8e339b"/>
|
||||
<box>
|
||||
<topPen lineWidth="1.0"/>
|
||||
<leftPen lineWidth="1.0"/>
|
||||
|
||||
@ -88,12 +88,13 @@
|
||||
<text><![CDATA[Demikian izin sementara melaksanakan cuti karena alasan penting ini dibuat untuk dapat digunakan sebagaimana mestinya.]]></text>
|
||||
</staticText>
|
||||
<textField>
|
||||
<reportElement x="360" y="360" width="190" height="20" uuid="46994830-9074-4618-82fb-834c1dba68af"/>
|
||||
<textElement textAlignment="Left" verticalAlignment="Top"/>
|
||||
<reportElement x="0" y="360" width="550" height="20" uuid="46994830-9074-4618-82fb-834c1dba68af"/>
|
||||
<textElement textAlignment="Right" verticalAlignment="Top"/>
|
||||
<textFieldExpression><![CDATA["( "+$F{namaAtasan}+" )"]]></textFieldExpression>
|
||||
</textField>
|
||||
<textField>
|
||||
<reportElement x="360" y="380" width="190" height="20" uuid="0362b07d-7e2a-427f-932c-07d9aa974965"/>
|
||||
<reportElement x="0" y="380" width="550" height="20" uuid="0362b07d-7e2a-427f-932c-07d9aa974965"/>
|
||||
<textElement textAlignment="Right"/>
|
||||
<textFieldExpression><![CDATA["NIP. "+$F{nipAtasan}]]></textFieldExpression>
|
||||
</textField>
|
||||
</band>
|
||||
|
||||
@ -3296,28 +3296,26 @@ public class SdmController extends LocaleController<AkunVO> {
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/get-data-cuti-edit", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<Map<String, Object>> getDataCuti(@RequestParam(value = "norec", required = true) String norec,
|
||||
@RequestParam(value = "pegawaiId", required = true) Integer pegawaiId,
|
||||
@RequestMapping(value = "/perbarui-data-cuti", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<Map<String, Object>> perbaruiDataCuti(HttpServletRequest request,
|
||||
@RequestParam(value = "pegawaiId", required = true) Integer idPegawai,
|
||||
@RequestParam(value = "year", required = false) String year,
|
||||
@RequestParam(value = "statusPegawaiId", required = true) Integer statusPegawaiId,
|
||||
@RequestParam(value = "kategoriPegawaiId", required = false) Integer kategoriPegawaiId,
|
||||
HttpServletRequest request) {
|
||||
@RequestParam(value = "statusPegawaiId", required = true) Integer idStatusPegawai) {
|
||||
try {
|
||||
Map<String, Object> result = servicePermohonanStatus.getDataCuti(norec, pegawaiId, year, statusPegawaiId);
|
||||
Map<String, Object> result = servicePermohonanStatus.perbaruiDataCuti(idPegawai, idStatusPegawai);
|
||||
if (null != result) {
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS_OK,
|
||||
getMessage(MessageResource.LABEL_SUCCESS_OK, request));
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||
getMessage(MessageResource.LABEL_UPDATE_DATA_CUTI, request));
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
|
||||
} else {
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.NOT_FOUND, mapHeaderMessage);
|
||||
}
|
||||
} catch (ServiceVOException e) {
|
||||
LOGGER.error("Got exception {} when getDataCuti", e.getMessage());
|
||||
LOGGER.error("Got exception {} when perbaruiDataCuti", e.getMessage());
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, e.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
|
||||
} catch (JpaSystemException jse) {
|
||||
LOGGER.error("Got exception {} when getDataCuti", jse.getMessage());
|
||||
LOGGER.error("Got exception {} when perbaruiDataCuti", jse.getMessage());
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user