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 (isPenangguhan) {
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();
}
}
} 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();
}
}
if (CommonUtil.isNotNullOrEmpty(model) && (isPenangguhan || !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);
}
@SuppressWarnings("unchecked")
@Override
@Transactional
public List<PegawaiJadwalKerjaVO> generateJadwalKerja(PlanningPegawaiStatusVO vo) {
@ -364,8 +351,8 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
Integer idShiftExec = listTanggalCutiDao.getMappingShiftKerja(idStatusPegawai, idKelShift);
Integer subUnitKerja = pegawaiService.getRuanganByIdPegawaiCustom(vo.getPegawai().getId());
Set<ListTanggalCutiVO> listTanggal = vo.getListTanggal();
for (Iterator iterator = listTanggal.iterator(); iterator.hasNext();) {
ListTanggalCutiVO listTanggalCutiVO = (ListTanggalCutiVO) iterator.next();
for (Iterator<ListTanggalCutiVO> iterator = listTanggal.iterator(); iterator.hasNext();) {
ListTanggalCutiVO listTanggalCutiVO = iterator.next();
String noRec = listTanggalCutiVO.getNoRec();
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 idTanggal = (Integer) ((Map<String, Object>) mapShiftTanggal.get("tanggal")).get("id");
for (Iterator iterator = listTanggal.iterator(); iterator.hasNext();) {
ListTanggalCutiVO listTanggalCutiVO = (ListTanggalCutiVO) iterator.next();
for (Iterator<ListTanggalCutiVO> iterator = listTanggal.iterator(); iterator.hasNext();) {
ListTanggalCutiVO listTanggalCutiVO = iterator.next();
Date tglCuti = listTanggalCutiVO.getTgl();
String strTglCuti = df.format(tglCuti);
Integer idTglCuti = listTanggalCutiDao.getIdKalenderByTglCuti(strTglCuti);
@ -522,6 +509,7 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
return result;
}
@SuppressWarnings("unchecked")
@Override
@Transactional
public List<PegawaiJadwalKerjaVO> generateJadwalKerjaPenangguhan(PlanningPegawaiStatusVO vo) {
@ -530,15 +518,12 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
List<String> listNorec = new ArrayList<>();
List<PegawaiJadwalKerjaVO> result = new ArrayList<>();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
DateFormat mf = new SimpleDateFormat("yyyy-MM");
Integer[] intStatusLibur = { 8, 14, 15, 40 };
Integer[] intStatusSakitAlasanPenting = { 6, 42, 43, 44, 76, 77, 78, 79 };
Integer[] intStatusCutiBesarMelahirkan = { 2, 14, 24, 25, 6, 29 }; // adding
// sakit
// jika
// 2
// tanggal
// permohonan
/**
* adding sakit jika 2 tanggal permohonan
*/
Integer[] intStatusCutiBesarMelahirkan = { 2, 14, 24, 25, 6, 29 };
Integer idTglCuti1 = null;
Integer idTglCuti2 = null;
@ -548,8 +533,8 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
Integer idShiftExec = listTanggalCutiDao.getMappingShiftKerja(idStatusPegawai, idKelShift);
Integer subUnitKerja = pegawaiService.getRuanganByIdPegawaiCustom(vo.getPegawai().getId());
Set<ListTanggalCutiVO> listTanggal = vo.getListTanggal();
for (Iterator iterator = listTanggal.iterator(); iterator.hasNext();) {
ListTanggalCutiVO listTanggalCutiVO = (ListTanggalCutiVO) iterator.next();
for (Iterator<ListTanggalCutiVO> iterator = listTanggal.iterator(); iterator.hasNext();) {
ListTanggalCutiVO listTanggalCutiVO = iterator.next();
String noRec = listTanggalCutiVO.getNoRec();
listNorec.add(noRec);
}
@ -738,8 +723,8 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
String namaHari = sdf
.format((Date) ((Map<String, Object>) mapShiftTanggal.get("tanggal")).get("tanggal"));
for (Iterator iterator = listTanggal.iterator(); iterator.hasNext();) {
ListTanggalCutiVO listTanggalCutiVO = (ListTanggalCutiVO) iterator.next();
for (Iterator<ListTanggalCutiVO> iterator = listTanggal.iterator(); iterator.hasNext();) {
ListTanggalCutiVO listTanggalCutiVO = iterator.next();
Date tglCuti = listTanggalCutiVO.getTgl();
String strTglCuti = df.format(tglCuti);
Integer idTglCuti = listTanggalCutiDao.getIdKalenderByTglCuti(strTglCuti);
@ -1031,57 +1016,57 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
throws ParseException {
String absoluteFilePath = "";
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet(new SimpleDateFormat("MMMM yyyy", new Locale("in", "ID"))
.format(new SimpleDateFormat("yyyy-MM").parse(bulan)));
try (HSSFWorkbook workbook = new HSSFWorkbook()) {
HSSFSheet sheet = workbook.createSheet(new SimpleDateFormat("MMMM yyyy", new Locale("in", "ID"))
.format(new SimpleDateFormat("yyyy-MM").parse(bulan)));
Map<String, Object> unitKerja = unitKerjaDao.getUnitKerjaById(idUnitKerja);
Map<String, Object> subunitKerja = subunitKerjaDao.getSubunitKerjaById(idSubunitKerja);
List<Map<String, Object>> listTanggal = kalenderDao.getKalenderBulanan(bulan);
List<Map<String, Object>> listPegawai = mapPegawaiJabatanToUnitKerjaDao.getPegawaiByUnitKerja(idUnitKerja,
idSubunitKerja);
Map<String, Object> unitKerja = unitKerjaDao.getUnitKerjaById(idUnitKerja);
Map<String, Object> subunitKerja = subunitKerjaDao.getSubunitKerjaById(idSubunitKerja);
List<Map<String, Object>> listTanggal = kalenderDao.getKalenderBulanan(bulan);
List<Map<String, Object>> listPegawai = mapPegawaiJabatanToUnitKerjaDao.getPegawaiByUnitKerja(idUnitKerja,
idSubunitKerja);
List<Object> listIdTanggal = new ArrayList<>();
List<Object> listKdTanggal = new ArrayList<>();
listIdTanggal.add("ID");
listIdTanggal.add("");
listKdTanggal.add("");
listKdTanggal.add("NAMA PEGAWAI/ TANGGAL");
for (Map<String, Object> tanggal : listTanggal) {
listIdTanggal.add(tanggal.get("id"));
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);
List<Object> listIdTanggal = new ArrayList<>();
List<Object> listKdTanggal = new ArrayList<>();
listIdTanggal.add("ID");
listIdTanggal.add("");
listKdTanggal.add("");
listKdTanggal.add("NAMA PEGAWAI/ TANGGAL");
for (Map<String, Object> tanggal : listTanggal) {
listIdTanggal.add(tanggal.get("id"));
listKdTanggal.add(tanggal.get("tanggal"));
}
}
try {
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);
}
}
sheet.getRow(0).setZeroHeight(true);
sheet.setColumnHidden(0, true);
int colnums = sheet.getRow(0).getLastCellNum();