diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiJadwalKerjaServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiJadwalKerjaServiceImpl.java index 7d6ceeff..8d10e8db 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiJadwalKerjaServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiJadwalKerjaServiceImpl.java @@ -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 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 listTanggal = vo.getListTanggal(); - for (Iterator iterator = listTanggal.iterator(); iterator.hasNext();) { - ListTanggalCutiVO listTanggalCutiVO = (ListTanggalCutiVO) iterator.next(); + for (Iterator 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) mapShiftTanggal.get("shift")).get("id"); Integer idTanggal = (Integer) ((Map) mapShiftTanggal.get("tanggal")).get("id"); - for (Iterator iterator = listTanggal.iterator(); iterator.hasNext();) { - ListTanggalCutiVO listTanggalCutiVO = (ListTanggalCutiVO) iterator.next(); + for (Iterator 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 generateJadwalKerjaPenangguhan(PlanningPegawaiStatusVO vo) { @@ -530,15 +518,12 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements List listNorec = new ArrayList<>(); List 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 listTanggal = vo.getListTanggal(); - for (Iterator iterator = listTanggal.iterator(); iterator.hasNext();) { - ListTanggalCutiVO listTanggalCutiVO = (ListTanggalCutiVO) iterator.next(); + for (Iterator 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) mapShiftTanggal.get("tanggal")).get("tanggal")); - for (Iterator iterator = listTanggal.iterator(); iterator.hasNext();) { - ListTanggalCutiVO listTanggalCutiVO = (ListTanggalCutiVO) iterator.next(); + for (Iterator 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 unitKerja = unitKerjaDao.getUnitKerjaById(idUnitKerja); - Map subunitKerja = subunitKerjaDao.getSubunitKerjaById(idSubunitKerja); - List> listTanggal = kalenderDao.getKalenderBulanan(bulan); - List> listPegawai = mapPegawaiJabatanToUnitKerjaDao.getPegawaiByUnitKerja(idUnitKerja, - idSubunitKerja); + Map unitKerja = unitKerjaDao.getUnitKerjaById(idUnitKerja); + Map subunitKerja = subunitKerjaDao.getSubunitKerjaById(idSubunitKerja); + List> listTanggal = kalenderDao.getKalenderBulanan(bulan); + List> listPegawai = mapPegawaiJabatanToUnitKerjaDao.getPegawaiByUnitKerja(idUnitKerja, + idSubunitKerja); - List listIdTanggal = new ArrayList<>(); - List listKdTanggal = new ArrayList<>(); - listIdTanggal.add("ID"); - listIdTanggal.add(""); - listKdTanggal.add(""); - listKdTanggal.add("NAMA PEGAWAI/ TANGGAL"); - for (Map 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 data = new HashMap<>(); - data.put(i++, arrId); - data.put(i++, arrkd); - for (Map pegawai : listPegawai) { - data.put(i++, new Object[] { pegawai.get("id"), pegawai.get("namaLengkap") }); - } - - TreeMap sorted = new TreeMap<>(); - sorted.putAll(data); - - Set 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 listIdTanggal = new ArrayList<>(); + List listKdTanggal = new ArrayList<>(); + listIdTanggal.add("ID"); + listIdTanggal.add(""); + listKdTanggal.add(""); + listKdTanggal.add("NAMA PEGAWAI/ TANGGAL"); + for (Map 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 data = new HashMap<>(); + data.put(i++, arrId); + data.put(i++, arrkd); + for (Map pegawai : listPegawai) { + data.put(i++, new Object[] { pegawai.get("id"), pegawai.get("namaLengkap") }); + } + + TreeMap sorted = new TreeMap<>(); + sorted.putAll(data); + + Set 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();