Update PegawaiJadwalKerjaServiceImpl.java

IDE warning resolving dan penyederhanaan logic penangguhan ketidakhadiran pegawai yang sudah disetujui
This commit is contained in:
Salman Manoe 2021-12-24 07:59:28 +07:00
parent f5a1d7bbf4
commit 38f54bbf22

View File

@ -259,28 +259,14 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
} }
} }
if (CommonUtil.isNotNullOrEmpty(model)) { if (CommonUtil.isNotNullOrEmpty(model) && (isPenangguhan || !editKetidakhadiran)) {
if (isPenangguhan) { PegawaiJadwalKerja resultModel = pegawaiJadwalKerjaDao.save(model);
PegawaiJadwalKerja resultModel = pegawaiJadwalKerjaDao.save(model); if (CommonUtil.isNotNullOrEmpty(resultModel)) {
if (CommonUtil.isNotNullOrEmpty(resultModel)) { result.put("id", resultModel.getId());
result.put("id", resultModel.getId()); try {
try { result.put("JadwalKerja", resultModel.ToMap());
result.put("JadwalKerja", resultModel.ToMap()); } catch (IllegalArgumentException | IllegalAccessException e) {
} catch (IllegalArgumentException | IllegalAccessException e) { e.printStackTrace();
e.printStackTrace();
}
}
} else {
if (!editKetidakhadiran) {
PegawaiJadwalKerja resultModel = pegawaiJadwalKerjaDao.save(model);
if (CommonUtil.isNotNullOrEmpty(resultModel)) {
result.put("id", resultModel.getId());
try {
result.put("JadwalKerja", resultModel.ToMap());
} catch (IllegalArgumentException | IllegalAccessException e) {
e.printStackTrace();
}
}
} }
} }
} }
@ -346,6 +332,7 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
return saveListJadwalPegawai(listPegawaiJadwalKerjaVO, true, false); return saveListJadwalPegawai(listPegawaiJadwalKerjaVO, true, false);
} }
@SuppressWarnings("unchecked")
@Override @Override
@Transactional @Transactional
public List<PegawaiJadwalKerjaVO> generateJadwalKerja(PlanningPegawaiStatusVO vo) { public List<PegawaiJadwalKerjaVO> generateJadwalKerja(PlanningPegawaiStatusVO vo) {
@ -364,8 +351,8 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
Integer idShiftExec = listTanggalCutiDao.getMappingShiftKerja(idStatusPegawai, idKelShift); Integer idShiftExec = listTanggalCutiDao.getMappingShiftKerja(idStatusPegawai, idKelShift);
Integer subUnitKerja = pegawaiService.getRuanganByIdPegawaiCustom(vo.getPegawai().getId()); Integer subUnitKerja = pegawaiService.getRuanganByIdPegawaiCustom(vo.getPegawai().getId());
Set<ListTanggalCutiVO> listTanggal = vo.getListTanggal(); Set<ListTanggalCutiVO> listTanggal = vo.getListTanggal();
for (Iterator iterator = listTanggal.iterator(); iterator.hasNext();) { for (Iterator<ListTanggalCutiVO> iterator = listTanggal.iterator(); iterator.hasNext();) {
ListTanggalCutiVO listTanggalCutiVO = (ListTanggalCutiVO) iterator.next(); ListTanggalCutiVO listTanggalCutiVO = iterator.next();
String noRec = listTanggalCutiVO.getNoRec(); String noRec = listTanggalCutiVO.getNoRec();
listNorec.add(noRec); listNorec.add(noRec);
} }
@ -475,8 +462,8 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
Integer idShift = (Integer) ((Map<String, Object>) mapShiftTanggal.get("shift")).get("id"); Integer idShift = (Integer) ((Map<String, Object>) mapShiftTanggal.get("shift")).get("id");
Integer idTanggal = (Integer) ((Map<String, Object>) mapShiftTanggal.get("tanggal")).get("id"); Integer idTanggal = (Integer) ((Map<String, Object>) mapShiftTanggal.get("tanggal")).get("id");
for (Iterator iterator = listTanggal.iterator(); iterator.hasNext();) { for (Iterator<ListTanggalCutiVO> iterator = listTanggal.iterator(); iterator.hasNext();) {
ListTanggalCutiVO listTanggalCutiVO = (ListTanggalCutiVO) iterator.next(); ListTanggalCutiVO listTanggalCutiVO = iterator.next();
Date tglCuti = listTanggalCutiVO.getTgl(); Date tglCuti = listTanggalCutiVO.getTgl();
String strTglCuti = df.format(tglCuti); String strTglCuti = df.format(tglCuti);
Integer idTglCuti = listTanggalCutiDao.getIdKalenderByTglCuti(strTglCuti); Integer idTglCuti = listTanggalCutiDao.getIdKalenderByTglCuti(strTglCuti);
@ -522,6 +509,7 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
return result; return result;
} }
@SuppressWarnings("unchecked")
@Override @Override
@Transactional @Transactional
public List<PegawaiJadwalKerjaVO> generateJadwalKerjaPenangguhan(PlanningPegawaiStatusVO vo) { public List<PegawaiJadwalKerjaVO> generateJadwalKerjaPenangguhan(PlanningPegawaiStatusVO vo) {
@ -530,15 +518,12 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
List<String> listNorec = new ArrayList<>(); List<String> listNorec = new ArrayList<>();
List<PegawaiJadwalKerjaVO> result = new ArrayList<>(); List<PegawaiJadwalKerjaVO> result = new ArrayList<>();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
DateFormat mf = new SimpleDateFormat("yyyy-MM");
Integer[] intStatusLibur = { 8, 14, 15, 40 }; Integer[] intStatusLibur = { 8, 14, 15, 40 };
Integer[] intStatusSakitAlasanPenting = { 6, 42, 43, 44, 76, 77, 78, 79 }; Integer[] intStatusSakitAlasanPenting = { 6, 42, 43, 44, 76, 77, 78, 79 };
Integer[] intStatusCutiBesarMelahirkan = { 2, 14, 24, 25, 6, 29 }; // adding /**
// sakit * adding sakit jika 2 tanggal permohonan
// jika */
// 2 Integer[] intStatusCutiBesarMelahirkan = { 2, 14, 24, 25, 6, 29 };
// tanggal
// permohonan
Integer idTglCuti1 = null; Integer idTglCuti1 = null;
Integer idTglCuti2 = null; Integer idTglCuti2 = null;
@ -548,8 +533,8 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
Integer idShiftExec = listTanggalCutiDao.getMappingShiftKerja(idStatusPegawai, idKelShift); Integer idShiftExec = listTanggalCutiDao.getMappingShiftKerja(idStatusPegawai, idKelShift);
Integer subUnitKerja = pegawaiService.getRuanganByIdPegawaiCustom(vo.getPegawai().getId()); Integer subUnitKerja = pegawaiService.getRuanganByIdPegawaiCustom(vo.getPegawai().getId());
Set<ListTanggalCutiVO> listTanggal = vo.getListTanggal(); Set<ListTanggalCutiVO> listTanggal = vo.getListTanggal();
for (Iterator iterator = listTanggal.iterator(); iterator.hasNext();) { for (Iterator<ListTanggalCutiVO> iterator = listTanggal.iterator(); iterator.hasNext();) {
ListTanggalCutiVO listTanggalCutiVO = (ListTanggalCutiVO) iterator.next(); ListTanggalCutiVO listTanggalCutiVO = iterator.next();
String noRec = listTanggalCutiVO.getNoRec(); String noRec = listTanggalCutiVO.getNoRec();
listNorec.add(noRec); listNorec.add(noRec);
} }
@ -738,8 +723,8 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
String namaHari = sdf String namaHari = sdf
.format((Date) ((Map<String, Object>) mapShiftTanggal.get("tanggal")).get("tanggal")); .format((Date) ((Map<String, Object>) mapShiftTanggal.get("tanggal")).get("tanggal"));
for (Iterator iterator = listTanggal.iterator(); iterator.hasNext();) { for (Iterator<ListTanggalCutiVO> iterator = listTanggal.iterator(); iterator.hasNext();) {
ListTanggalCutiVO listTanggalCutiVO = (ListTanggalCutiVO) iterator.next(); ListTanggalCutiVO listTanggalCutiVO = iterator.next();
Date tglCuti = listTanggalCutiVO.getTgl(); Date tglCuti = listTanggalCutiVO.getTgl();
String strTglCuti = df.format(tglCuti); String strTglCuti = df.format(tglCuti);
Integer idTglCuti = listTanggalCutiDao.getIdKalenderByTglCuti(strTglCuti); Integer idTglCuti = listTanggalCutiDao.getIdKalenderByTglCuti(strTglCuti);
@ -1031,57 +1016,57 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
throws ParseException { throws ParseException {
String absoluteFilePath = ""; String absoluteFilePath = "";
HSSFWorkbook workbook = new HSSFWorkbook(); try (HSSFWorkbook workbook = new HSSFWorkbook()) {
HSSFSheet sheet = workbook.createSheet(new SimpleDateFormat("MMMM yyyy", new Locale("in", "ID")) HSSFSheet sheet = workbook.createSheet(new SimpleDateFormat("MMMM yyyy", new Locale("in", "ID"))
.format(new SimpleDateFormat("yyyy-MM").parse(bulan))); .format(new SimpleDateFormat("yyyy-MM").parse(bulan)));
Map<String, Object> unitKerja = unitKerjaDao.getUnitKerjaById(idUnitKerja); Map<String, Object> unitKerja = unitKerjaDao.getUnitKerjaById(idUnitKerja);
Map<String, Object> subunitKerja = subunitKerjaDao.getSubunitKerjaById(idSubunitKerja); Map<String, Object> subunitKerja = subunitKerjaDao.getSubunitKerjaById(idSubunitKerja);
List<Map<String, Object>> listTanggal = kalenderDao.getKalenderBulanan(bulan); List<Map<String, Object>> listTanggal = kalenderDao.getKalenderBulanan(bulan);
List<Map<String, Object>> listPegawai = mapPegawaiJabatanToUnitKerjaDao.getPegawaiByUnitKerja(idUnitKerja, List<Map<String, Object>> listPegawai = mapPegawaiJabatanToUnitKerjaDao.getPegawaiByUnitKerja(idUnitKerja,
idSubunitKerja); idSubunitKerja);
List<Object> listIdTanggal = new ArrayList<>(); List<Object> listIdTanggal = new ArrayList<>();
List<Object> listKdTanggal = new ArrayList<>(); List<Object> listKdTanggal = new ArrayList<>();
listIdTanggal.add("ID"); listIdTanggal.add("ID");
listIdTanggal.add(""); listIdTanggal.add("");
listKdTanggal.add(""); listKdTanggal.add("");
listKdTanggal.add("NAMA PEGAWAI/ TANGGAL"); listKdTanggal.add("NAMA PEGAWAI/ TANGGAL");
for (Map<String, Object> tanggal : listTanggal) { for (Map<String, Object> tanggal : listTanggal) {
listIdTanggal.add(tanggal.get("id")); listIdTanggal.add(tanggal.get("id"));
listKdTanggal.add(tanggal.get("tanggal")); listKdTanggal.add(tanggal.get("tanggal"));
}
Object[] arrId = new Object[listIdTanggal.size()];
Object[] arrkd = new Object[listKdTanggal.size()];
listIdTanggal.toArray(arrId);
listKdTanggal.toArray(arrkd);
Integer i = 1;
Map<Integer, Object[]> data = new HashMap<>();
data.put(i++, arrId);
data.put(i++, arrkd);
for (Map<String, Object> pegawai : listPegawai) {
data.put(i++, new Object[] { pegawai.get("id"), pegawai.get("namaLengkap") });
}
TreeMap<Integer, Object[]> sorted = new TreeMap<>();
sorted.putAll(data);
Set<Integer> keyset = sorted.keySet();
int rownum = 0;
for (Integer key : keyset) {
Row row = sheet.createRow(rownum++);
Object[] objArr = data.get(key);
int cellnum = 0;
for (Object obj : objArr) {
Cell cell = row.createCell(cellnum++);
if (obj instanceof String)
cell.setCellValue((String) obj);
else if (obj instanceof Integer)
cell.setCellValue((Integer) obj);
} }
} Object[] arrId = new Object[listIdTanggal.size()];
try { Object[] arrkd = new Object[listKdTanggal.size()];
listIdTanggal.toArray(arrId);
listKdTanggal.toArray(arrkd);
Integer i = 1;
Map<Integer, Object[]> data = new HashMap<>();
data.put(i++, arrId);
data.put(i++, arrkd);
for (Map<String, Object> pegawai : listPegawai) {
data.put(i++, new Object[] { pegawai.get("id"), pegawai.get("namaLengkap") });
}
TreeMap<Integer, Object[]> sorted = new TreeMap<>();
sorted.putAll(data);
Set<Integer> keyset = sorted.keySet();
int rownum = 0;
for (Integer key : keyset) {
Row row = sheet.createRow(rownum++);
Object[] objArr = data.get(key);
int cellnum = 0;
for (Object obj : objArr) {
Cell cell = row.createCell(cellnum++);
if (obj instanceof String)
cell.setCellValue((String) obj);
else if (obj instanceof Integer)
cell.setCellValue((Integer) obj);
}
}
sheet.getRow(0).setZeroHeight(true); sheet.getRow(0).setZeroHeight(true);
sheet.setColumnHidden(0, true); sheet.setColumnHidden(0, true);
int colnums = sheet.getRow(0).getLastCellNum(); int colnums = sheet.getRow(0).getLastCellNum();