From 782977b07e9b88ae8d8026bd14d4d510e4ba4338 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Tue, 6 Jun 2023 11:19:40 +0700 Subject: [PATCH] Update service presensi Pembuatan akses data setting data fix daftar ip address vpn dan akses luar --- .../impl/AbsensiPegawaiServiceImpl.java | 19 +++++++++----- .../impl/MonitoringAbsenServiceImpl.java | 26 +++++++++++++------ 2 files changed, 31 insertions(+), 14 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 7c8505d8..25afd10e 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 @@ -354,6 +354,8 @@ public class AbsensiPegawaiServiceImpl extends BaseVoServiceImpl implements Abse SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String today = sdf.format(new Date()); + List vpnIPList = stringSplitDataSettingDatafixed("vpnSmart"); + List vpnIPXList = stringSplitDataSettingDatafixed("vpnAksesLuar"); List listIp = stringSplitDataSettingDatafixed("ip_addr"); result = habsensiDao.getHistoriPresensi(idPegawai, today); if (CommonUtil.isNotNullOrEmpty(result)) { @@ -363,13 +365,18 @@ public class AbsensiPegawaiServiceImpl extends BaseVoServiceImpl implements Abse } else { map.put("processtatus", "WFO"); } - if (Master.PresensiPegawai.VPN.equals(map.get("ip_addr"))) { - if (map.get("client_ip_addr").toString().startsWith("172.16.198")) { - map.put("ip_addr", "bukan menggunakan jaringan internet RSAB"); - map.put("processtatus", "VPN"); - } else { + if (vpnIPList.contains(map.get("ip_addr"))) { + boolean isAksesLuar = false; + for (String vpnIPX : vpnIPXList) + if (map.get("client_ip_addr").toString().startsWith(vpnIPX)) { + map.put("ip_addr", "bukan menggunakan jaringan internet RSAB"); + map.put("processtatus", "VPN"); + isAksesLuar = true; + break; + } + if (!isAksesLuar) map.put("ip_addr", "menggunakan jaringan internet RSAB"); - } + } else { if (listIp.contains(map.get("ip_addr"))) { map.put("ip_addr", "menggunakan jaringan internet RSAB"); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MonitoringAbsenServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MonitoringAbsenServiceImpl.java index 67f24b1a..5e5bfcfe 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MonitoringAbsenServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MonitoringAbsenServiceImpl.java @@ -1510,6 +1510,9 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon DateFormat sdf = new SimpleDateFormat("HH.mm"); DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); DateFormat stf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + List vpnIPList = stringSplitDataSettingDatafixed("vpnSmart"); + List vpnIPXList = stringSplitDataSettingDatafixed("vpnAksesLuar"); + List listIp = stringSplitDataSettingDatafixed("ip_addr"); Map pegawaiMonitoring = new HashMap<>(); if (CommonUtil.isNotNullOrEmpty(idFinger)) { pegawaiMonitoring = pegawaiDao.getPegawaiToMonitoringAbsen(idFinger); @@ -1757,7 +1760,8 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon validate(temp.get("ip_addr").toString(), CommonUtil.isNotNullOrEmpty(temp.get("client_ip_addr")) ? temp.get("client_ip_addr").toString() : "", - Integer.valueOf(temp.get("processtatus").toString()))); + Integer.valueOf(temp.get("processtatus").toString()), vpnIPList, + vpnIPXList, listIp)); } else { dataPM.put("validMasuk", "Y"); } @@ -1778,7 +1782,8 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon validate(temp.get("ip_addr").toString(), CommonUtil.isNotNullOrEmpty(temp.get("client_ip_addr")) ? temp.get("client_ip_addr").toString() : "", - Integer.valueOf(temp.get("processtatus").toString()))); + Integer.valueOf(temp.get("processtatus").toString()), vpnIPList, + vpnIPXList, listIp)); } else { dataPM.put("validPulang", "Y"); } @@ -1997,7 +2002,8 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon validate(temp.get("ip_addr").toString(), CommonUtil.isNotNullOrEmpty(temp.get("client_ip_addr")) ? temp.get("client_ip_addr").toString() : "", - Integer.valueOf(temp.get("processtatus").toString()))); + Integer.valueOf(temp.get("processtatus").toString()), vpnIPList, + vpnIPXList, listIp)); } else { data.put("validMasuk", "Y"); } @@ -2018,7 +2024,8 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon validate(temp.get("ip_addr").toString(), CommonUtil.isNotNullOrEmpty(temp.get("client_ip_addr")) ? temp.get("client_ip_addr").toString() : "", - Integer.valueOf(temp.get("processtatus").toString()))); + Integer.valueOf(temp.get("processtatus").toString()), vpnIPList, + vpnIPXList, listIp)); } else { data.put("validPulang", "Y"); } @@ -2279,8 +2286,8 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon } @Transactional(readOnly = true) - public String validate(String ipAddress, String clientIPAddress, Integer processStatus) { - List listIp = stringSplitDataSettingDatafixed("ip_addr"); + public String validate(String ipAddress, String clientIPAddress, Integer processStatus, List vpnIPList, + List vpnIPXList, List listIp) { if (CommonUtil.isNotNullOrEmpty(listIp)) { if (processStatus.equals(1) && listIp.contains(ipAddress)) { return "T"; @@ -2290,8 +2297,11 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon && !listIp.contains(ipAddress)) { return "T"; } else { - if (ipAddress.equals(Master.PresensiPegawai.VPN) && clientIPAddress.startsWith("172.16.198")) { - return "T"; + if (vpnIPList.contains(ipAddress)) { + for (String vpnIPX : vpnIPXList) + if (clientIPAddress.startsWith(vpnIPX)) + return "T"; + return "Y"; } else { return "Y"; }