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.awt.image.BufferedImage;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.File; import java.io.File;
import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.text.DateFormat; import java.text.DateFormat;
import java.text.NumberFormat; import java.text.NumberFormat;
@ -33,6 +32,7 @@ import com.jasamedika.medifirst2000.entities.JadwalDokter;
import com.jasamedika.medifirst2000.entities.ShiftKerja; import com.jasamedika.medifirst2000.entities.ShiftKerja;
import com.jasamedika.medifirst2000.service.AbsensiPegawaiService; import com.jasamedika.medifirst2000.service.AbsensiPegawaiService;
import com.jasamedika.medifirst2000.util.CommonUtil; import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.util.ImageUtil;
import com.jasamedika.medifirst2000.vo.AbsensiPegawaiVO; import com.jasamedika.medifirst2000.vo.AbsensiPegawaiVO;
import com.jasamedika.medifirst2000.vo.HabsenVO; import com.jasamedika.medifirst2000.vo.HabsenVO;
@ -45,8 +45,8 @@ import com.jasamedika.medifirst2000.vo.HabsenVO;
@Service("absensiPegawaiService") @Service("absensiPegawaiService")
public class AbsensiPegawaiServiceImpl extends BaseVoServiceImpl implements AbsensiPegawaiService { public class AbsensiPegawaiServiceImpl extends BaseVoServiceImpl implements AbsensiPegawaiService {
@Value("${presensiCapturePath}") @Value("${systemDirectory}")
String presensiCapturePath; String systemDirectory;
@Autowired @Autowired
private BaseConverterImpl<AbsensiPegawaiVO, AbsensiPegawai> absensiPegawaiConverter; private BaseConverterImpl<AbsensiPegawaiVO, AbsensiPegawai> absensiPegawaiConverter;
@ -163,13 +163,13 @@ public class AbsensiPegawaiServiceImpl extends BaseVoServiceImpl implements Abse
String your_os = System.getProperty("os.name").toLowerCase(); String your_os = System.getProperty("os.name").toLowerCase();
if (your_os.indexOf("win") >= 0) { if (your_os.indexOf("win") >= 0) {
// if_windows // 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) { } else if (your_os.indexOf("nix") >= 0 || your_os.indexOf("nux") >= 0 || your_os.indexOf("mac") >= 0) {
// if_unix_or_mac // if_unix_or_mac
result = workingDir + "//" + presensiCapturePath + "//" + dirname + "//"; result = workingDir + "//" + systemDirectory + "//" + dirname + "//";
} else { } else {
// unknown_os? // unknown_os?
result = workingDir + "/" + presensiCapturePath + "/" + dirname + "/"; result = workingDir + "/" + systemDirectory + "/" + dirname + "/";
} }
return result; 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) { private Double getDecimal(Double n) {
return n - Math.floor(n); return n - Math.floor(n);
} }
@ -268,7 +251,7 @@ public class AbsensiPegawaiServiceImpl extends BaseVoServiceImpl implements Abse
for (Map<String, Object> map : data) { for (Map<String, Object> map : data) {
Map<String, Object> mapRs = new HashMap<>(); Map<String, Object> mapRs = new HashMap<>();
String imageURLData = ""; String imageURLData = "";
String encodeRs = encodeFileToBase64Binary( String encodeRs = ImageUtil.encodeFileToBase64Binary(
new File(getDirPath(map.get("trdate").toString()) + map.get("filePath").toString())); new File(getDirPath(map.get("trdate").toString()) + map.get("filePath").toString()));
if (CommonUtil.isNotNullOrEmpty(encodeRs)) { if (CommonUtil.isNotNullOrEmpty(encodeRs)) {
imageURLData = "data:image/jpg;base64," + encodeRs; imageURLData = "data:image/jpg;base64," + encodeRs;