Update service presensi

Pembuatan akses data setting data fix daftar ip address vpn dan akses luar
This commit is contained in:
Salman Manoe 2023-06-06 11:19:40 +07:00
parent f36fa9d3db
commit 782977b07e
2 changed files with 31 additions and 14 deletions

View File

@ -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<String> vpnIPList = stringSplitDataSettingDatafixed("vpnSmart");
List<String> vpnIPXList = stringSplitDataSettingDatafixed("vpnAksesLuar");
List<String> 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");

View File

@ -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<String> vpnIPList = stringSplitDataSettingDatafixed("vpnSmart");
List<String> vpnIPXList = stringSplitDataSettingDatafixed("vpnAksesLuar");
List<String> listIp = stringSplitDataSettingDatafixed("ip_addr");
Map<String, Object> 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<String> listIp = stringSplitDataSettingDatafixed("ip_addr");
public String validate(String ipAddress, String clientIPAddress, Integer processStatus, List<String> vpnIPList,
List<String> vpnIPXList, List<String> 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";
}