From 8021a0bb2aeb201c0ad923033e3499a680b7810a Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Mon, 6 Sep 2021 09:21:03 +0700 Subject: [PATCH] penyesuaian file path untuk kategorisasi upload presensi setiap bulan --- .../impl/AbsensiPegawaiServiceImpl.java | 32 +++++++++++++++++-- .../service/impl/IndekKinerjaServiceImpl.java | 1 + 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/AbsensiPegawaiServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/AbsensiPegawaiServiceImpl.java index c92cb851..4fcacb58 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/AbsensiPegawaiServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/AbsensiPegawaiServiceImpl.java @@ -156,6 +156,24 @@ public class AbsensiPegawaiServiceImpl extends BaseVoServiceImpl implements Abse return result; } + public String getDirPath(String dirname) { + String result = ""; + + String your_os = System.getProperty("os.name").toLowerCase(); + if (your_os.indexOf("win") >= 0) { + // if_windows + result = dirname + "\\"; + } else if (your_os.indexOf("nix") >= 0 || your_os.indexOf("nux") >= 0 || your_os.indexOf("mac") >= 0) { + // if_unix_or_mac + result = dirname + "//"; + } else { + // unknown_os? + result = dirname + "/"; + } + + return result; + } + public String getImageAbsoluteFilePath(String filename) { String result = ""; @@ -176,16 +194,26 @@ public class AbsensiPegawaiServiceImpl extends BaseVoServiceImpl implements Abse } public void uploadPhotoCapture(String imageURLData, String idFinger, Date trDate, Date trTime, Integer trNo) { + DateFormat mf = new SimpleDateFormat("yyyyMM"); DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); DateFormat tf = new SimpleDateFormat("HH.mm.ss"); - String filename = idFinger.toString() + "_" + df.format(trDate) + "_" + tf.format(trTime) + "#" + trNo + ".jpg"; + String directory = getDirPath(mf.format(trDate)); + String filename = directory + idFinger.toString() + "_" + df.format(trDate) + "_" + tf.format(trTime) + "#" + + trNo + ".jpg"; String str = imageURLData; byte[] imagedata = DatatypeConverter.parseBase64Binary(str.substring(str.indexOf(",") + 1)); try { BufferedImage bufferedImage = ImageIO.read(new ByteArrayInputStream(imagedata)); - ImageIO.write(bufferedImage, "jpg", new File(getImageAbsoluteFilePath(filename))); + + File dire = new File(directory); + if (!dire.exists()) { + dire.mkdir(); + } + + File file = new File(getImageAbsoluteFilePath(filename)); + ImageIO.write(bufferedImage, "jpg", file); } catch (IOException e) { e.printStackTrace(); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IndekKinerjaServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IndekKinerjaServiceImpl.java index 17c09da4..2e754cb4 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IndekKinerjaServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IndekKinerjaServiceImpl.java @@ -9086,6 +9086,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK } } } else { + // FFS : sudah tidak dipakai if (CommonUtil.isNotNullOrEmpty(listData)) { if (pegawaiDao.getPegawaiByKategoryPegawai(Arrays.asList(Master.KategoryPegawai.DOKTER_LUAR)) .contains(idPegawai)) {