Update AbsensiPegawaiService

Penerapan encoding file to base64 binary untuk simpan dan monitoring presensi pegawai
This commit is contained in:
Salman Manoe 2022-01-14 08:14:30 +07:00
parent d0a8669621
commit f4916a6a20

View File

@ -3,7 +3,6 @@ package com.jasamedika.medifirst2000.service.impl;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.text.DateFormat;
import java.text.NumberFormat;
@ -33,6 +32,7 @@ import com.jasamedika.medifirst2000.entities.JadwalDokter;
import com.jasamedika.medifirst2000.entities.ShiftKerja;
import com.jasamedika.medifirst2000.service.AbsensiPegawaiService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.util.ImageUtil;
import com.jasamedika.medifirst2000.vo.AbsensiPegawaiVO;
import com.jasamedika.medifirst2000.vo.HabsenVO;
@ -45,8 +45,8 @@ import com.jasamedika.medifirst2000.vo.HabsenVO;
@Service("absensiPegawaiService")
public class AbsensiPegawaiServiceImpl extends BaseVoServiceImpl implements AbsensiPegawaiService {
@Value("${presensiCapturePath}")
String presensiCapturePath;
@Value("${systemDirectory}")
String systemDirectory;
@Autowired
private BaseConverterImpl<AbsensiPegawaiVO, AbsensiPegawai> absensiPegawaiConverter;
@ -163,13 +163,13 @@ public class AbsensiPegawaiServiceImpl extends BaseVoServiceImpl implements Abse
String your_os = System.getProperty("os.name").toLowerCase();
if (your_os.indexOf("win") >= 0) {
// if_windows
result = workingDir + "\\" + presensiCapturePath + "\\" + dirname + "\\";
result = workingDir + "\\" + systemDirectory + "\\" + dirname + "\\";
} else if (your_os.indexOf("nix") >= 0 || your_os.indexOf("nux") >= 0 || your_os.indexOf("mac") >= 0) {
// if_unix_or_mac
result = workingDir + "//" + presensiCapturePath + "//" + dirname + "//";
result = workingDir + "//" + systemDirectory + "//" + dirname + "//";
} else {
// unknown_os?
result = workingDir + "/" + presensiCapturePath + "/" + dirname + "/";
result = workingDir + "/" + systemDirectory + "/" + dirname + "/";
}
return result;
@ -201,23 +201,6 @@ public class AbsensiPegawaiServiceImpl extends BaseVoServiceImpl implements Abse
}
}
private static String encodeFileToBase64Binary(File file) {
String result = "";
try {
FileInputStream fileInputStreamReader = new FileInputStream(file);
byte[] bytes = new byte[(int) file.length()];
fileInputStreamReader.read(bytes);
result = new String(org.apache.commons.codec.binary.Base64.encodeBase64(bytes), "UTF-8");
fileInputStreamReader.close();
return result;
} catch (Exception e) {
return result;
}
}
private Double getDecimal(Double n) {
return n - Math.floor(n);
}
@ -268,7 +251,7 @@ public class AbsensiPegawaiServiceImpl extends BaseVoServiceImpl implements Abse
for (Map<String, Object> map : data) {
Map<String, Object> mapRs = new HashMap<>();
String imageURLData = "";
String encodeRs = encodeFileToBase64Binary(
String encodeRs = ImageUtil.encodeFileToBase64Binary(
new File(getDirPath(map.get("trdate").toString()) + map.get("filePath").toString()));
if (CommonUtil.isNotNullOrEmpty(encodeRs)) {
imageURLData = "data:image/jpg;base64," + encodeRs;