Update AbsensiPegawaiService
Perbaikan format dan storing data untuk log elasticsearch
This commit is contained in:
parent
8a3b285e17
commit
3e9d684dc3
@ -234,6 +234,10 @@ public class Master {
|
||||
public static final Double PERSENTASE_TINDAKAN_PENUNJANG_BUKAN_ANASTESI = 30.0;
|
||||
public static final Double TARIF_REMUNERASI = 45000.0;
|
||||
}
|
||||
|
||||
public static final class Logging {
|
||||
public static final String PRESENSI_PEGAWAI = "logging-presensi-pegawai";
|
||||
}
|
||||
|
||||
public static final class LoginUser {
|
||||
public static final int GENERATED_NEW_LOGIN = 1;
|
||||
|
||||
@ -0,0 +1,73 @@
|
||||
package com.jasamedika.medifirst2000.converter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.jasamedika.medifirst2000.converter.base.BaseVoConverter;
|
||||
import com.jasamedika.medifirst2000.entities.Habsen;
|
||||
import com.jasamedika.medifirst2000.vo.HabsenVO;
|
||||
|
||||
/**
|
||||
* @author salmanoe
|
||||
* @since Jul 12, 2022
|
||||
*
|
||||
*/
|
||||
@Component
|
||||
public class PresensiConverter implements BaseVoConverter<HabsenVO, Habsen> {
|
||||
|
||||
@Override
|
||||
public Habsen transferVOToModel(HabsenVO vo, Habsen model) {
|
||||
if (null == model)
|
||||
model = new Habsen();
|
||||
try {
|
||||
String[] fieldsToInclude = null;
|
||||
Map<String, Object> serialized = vo.serialize(fieldsToInclude,vo.getClass().getName());
|
||||
Gson gson = new Gson();
|
||||
String json = gson.toJson(serialized);
|
||||
model = gson.fromJson(json, Habsen.class);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return model;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<HabsenVO> transferListOfModelToListOfVO(List<Habsen> models, List<HabsenVO> vos) {
|
||||
if (null == vos)
|
||||
vos = new ArrayList<HabsenVO>();
|
||||
|
||||
if (null == models)
|
||||
return vos;
|
||||
|
||||
for (Habsen habsen : models) {
|
||||
HabsenVO vo = new HabsenVO();
|
||||
vo = transferModelToVO(habsen, vo);
|
||||
vos.add(vo);
|
||||
}
|
||||
|
||||
return vos;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HabsenVO transferModelToVO(Habsen model, HabsenVO vo) {
|
||||
if (null == vo)
|
||||
vo = new HabsenVO();
|
||||
try {
|
||||
String[] fieldsToInclude = null;
|
||||
Map<String, Object> serialized = model.serialize(fieldsToInclude,model.getClass().getSimpleName());
|
||||
Gson gson = new Gson();
|
||||
String json = gson.toJson(serialized);
|
||||
vo = gson.fromJson(json, HabsenVO.class);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return vo;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -22,6 +22,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import com.jasamedika.medifirst2000.constants.Master;
|
||||
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
|
||||
import com.jasamedika.medifirst2000.converter.PresensiConverter;
|
||||
import com.jasamedika.medifirst2000.dao.AbsensiPegawaiDao;
|
||||
import com.jasamedika.medifirst2000.dao.HabsenDao;
|
||||
import com.jasamedika.medifirst2000.dao.JadwalDokterDao;
|
||||
@ -31,6 +32,7 @@ import com.jasamedika.medifirst2000.entities.Habsen;
|
||||
import com.jasamedika.medifirst2000.entities.JadwalDokter;
|
||||
import com.jasamedika.medifirst2000.entities.ShiftKerja;
|
||||
import com.jasamedika.medifirst2000.service.AbsensiPegawaiService;
|
||||
import com.jasamedika.medifirst2000.service.LogAccService;
|
||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||
import com.jasamedika.medifirst2000.util.ImageUtil;
|
||||
import com.jasamedika.medifirst2000.vo.AbsensiPegawaiVO;
|
||||
@ -52,7 +54,7 @@ public class AbsensiPegawaiServiceImpl extends BaseVoServiceImpl implements Abse
|
||||
private BaseConverterImpl<AbsensiPegawaiVO, AbsensiPegawai> absensiPegawaiConverter;
|
||||
|
||||
@Autowired
|
||||
private BaseConverterImpl<HabsenVO, Habsen> habsenConverter;
|
||||
private PresensiConverter presensiConverter;
|
||||
|
||||
@Autowired
|
||||
private AbsensiPegawaiDao absensiPegawaiDao;
|
||||
@ -66,6 +68,9 @@ public class AbsensiPegawaiServiceImpl extends BaseVoServiceImpl implements Abse
|
||||
@Autowired
|
||||
private JadwalDokterDao jadwalDokterDao;
|
||||
|
||||
@Autowired
|
||||
private LogAccService logAccService;
|
||||
|
||||
@Override
|
||||
public Map<String, Object> saveAbsensiPegawai(AbsensiPegawaiVO vo) {
|
||||
Map<String, Object> result = new HashMap<String, Object>();
|
||||
@ -118,13 +123,12 @@ public class AbsensiPegawaiServiceImpl extends BaseVoServiceImpl implements Abse
|
||||
@Override
|
||||
public Map<String, Object> saveHabsensiPegawai(HabsenVO vo) {
|
||||
Map<String, Object> result = new HashMap<String, Object>();
|
||||
Habsen model = new Habsen();
|
||||
Date newDate = new Date();
|
||||
|
||||
Habsen model = presensiConverter.transferVOToModel(vo, new Habsen());
|
||||
|
||||
String idFinger = pegawaiDao.getidFinger(vo.getPegawai().getId());
|
||||
|
||||
model = habsenConverter.transferVOToModel(vo, model);
|
||||
model.setEmpl_code(idFinger);
|
||||
|
||||
model.setLoc_code(Master.PresensiPegawai.SMART_LOC_CODE);
|
||||
model.setRemoteno(Master.PresensiPegawai.SMART_REMOTE_NO);
|
||||
model.setAcc_code(Master.PresensiPegawai.DEFAULT_ACC_CODE);
|
||||
@ -135,8 +139,9 @@ public class AbsensiPegawaiServiceImpl extends BaseVoServiceImpl implements Abse
|
||||
*/
|
||||
model.setLokasi(null);
|
||||
|
||||
model.setTr_date(newDate);
|
||||
model.setTr_time(newDate);
|
||||
Date now = new Date();
|
||||
model.setTr_date(now);
|
||||
model.setTr_time(now);
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(vo.getIp_addr())) {
|
||||
model.setIp_addr(vo.getIp_addr());
|
||||
@ -155,6 +160,11 @@ public class AbsensiPegawaiServiceImpl extends BaseVoServiceImpl implements Abse
|
||||
}
|
||||
}
|
||||
|
||||
HabsenVO resultVO = new HabsenVO();
|
||||
resultVO = presensiConverter.transferModelToVO(resultDomain, resultVO);
|
||||
resultVO.setPegawai(vo.getPegawai());
|
||||
logAccService.putToLog(resultVO);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@ -15,15 +15,21 @@ import java.util.Map;
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.jasamedika.medifirst2000.constants.Master;
|
||||
import com.jasamedika.medifirst2000.dao.SettingDataFixedDao;
|
||||
import com.jasamedika.medifirst2000.service.LogAccService;
|
||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||
import com.jasamedika.medifirst2000.vo.HabsenVO;
|
||||
|
||||
@Service("logAccService")
|
||||
public class LogAccServiceImpl extends BaseVoServiceImpl implements LogAccService {
|
||||
|
||||
|
||||
@Autowired
|
||||
private static SettingDataFixedDao settingDataFixedDao;
|
||||
|
||||
public static Map<String, Object> jsonToMap(JSONObject json) throws JSONException {
|
||||
Map<String, Object> retMap = new HashMap<String, Object>();
|
||||
|
||||
@ -69,7 +75,8 @@ public class LogAccServiceImpl extends BaseVoServiceImpl implements LogAccServic
|
||||
@Override
|
||||
public void putToLog(HabsenVO vo) {
|
||||
try {
|
||||
URL url = new URL("http://172.16.55.22:38080/logs/absensi");
|
||||
String urlToString = settingDataFixedDao.getSettingDataFixed(Master.Logging.PRESENSI_PEGAWAI);
|
||||
URL url = new URL(urlToString);
|
||||
HttpURLConnection con = (HttpURLConnection) url.openConnection();
|
||||
con.setRequestMethod("PUT");
|
||||
con.setRequestProperty("Content-Type", "application/json; utf-8");
|
||||
@ -77,8 +84,9 @@ public class LogAccServiceImpl extends BaseVoServiceImpl implements LogAccServic
|
||||
con.setDoOutput(true);
|
||||
|
||||
OutputStream os = con.getOutputStream();
|
||||
String jsonOutputString = "{\"tr_no\":\"" + vo.getTr_no() + "\",\"empl_code\":" + vo.getEmpl_code()
|
||||
+ ",\"ip_addr\":" + vo.getIp_addr() + ",\"client_ip_addr\":" + vo.getClientIPAddress() + "\"}";
|
||||
String jsonOutputString = "{tr_no:" + vo.getTr_no() + ",empl_code:\"" + vo.getEmpl_code() + "\",ip_addr:\""
|
||||
+ vo.getIp_addr() + "\",client_ip_addr:\"" + vo.getClientIPAddress() + "\"}";
|
||||
|
||||
byte[] requestBody = jsonOutputString.getBytes("UTF-8");
|
||||
os.write(requestBody, 0, requestBody.length);
|
||||
|
||||
|
||||
@ -18,6 +18,8 @@ import com.jasamedika.medifirst2000.helper.Caption;
|
||||
@Table(name = "Habsen")
|
||||
public class Habsen extends BaseModel {
|
||||
|
||||
private static final long serialVersionUID = 6197131414965211726L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.AUTO, generator = "native")
|
||||
@GenericGenerator(name = "native", strategy = "native")
|
||||
@ -76,6 +78,10 @@ public class Habsen extends BaseModel {
|
||||
@Column(name = "lokasi", nullable = true, length = 1000)
|
||||
@Caption(value = "lokasi")
|
||||
private String lokasi;
|
||||
|
||||
@Column(name = "image_url", nullable = true)
|
||||
@Caption(value = "Image URL")
|
||||
private byte[] imageUrl;
|
||||
|
||||
@Column(name = "jenispresensi", nullable = true)
|
||||
@Caption(value = "Jenis Presensi")
|
||||
@ -201,6 +207,14 @@ public class Habsen extends BaseModel {
|
||||
this.lokasi = lokasi;
|
||||
}
|
||||
|
||||
public byte[] getImageUrl() {
|
||||
return imageUrl;
|
||||
}
|
||||
|
||||
public void setImageUrl(byte[] imageUrl) {
|
||||
this.imageUrl = imageUrl;
|
||||
}
|
||||
|
||||
public Integer getJenisPresensi() {
|
||||
return jenisPresensi;
|
||||
}
|
||||
|
||||
@ -2,10 +2,10 @@ package com.jasamedika.medifirst2000.vo;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.jasamedika.medifirst2000.base.vo.BaseMasterVO;
|
||||
import com.jasamedika.medifirst2000.base.vo.BaseModelVO;
|
||||
import com.jasamedika.medifirst2000.helper.Caption;
|
||||
|
||||
public class HabsenVO extends BaseMasterVO {
|
||||
public class HabsenVO extends BaseModelVO {
|
||||
|
||||
@Caption(value = "tr_no")
|
||||
private Integer tr_no;
|
||||
@ -21,8 +21,8 @@ public class HabsenVO extends BaseMasterVO {
|
||||
|
||||
@Caption(value = "tr_time")
|
||||
private Date tr_time;
|
||||
|
||||
@Caption(value = "pegawai")
|
||||
|
||||
@Caption(value = "Pegawai")
|
||||
private PegawaiVO pegawai;
|
||||
|
||||
@Caption(value = "empl_code")
|
||||
@ -37,7 +37,7 @@ public class HabsenVO extends BaseMasterVO {
|
||||
@Caption(value = "ip_addr")
|
||||
private String ip_addr;
|
||||
|
||||
@Caption(value = "clientIPAddress")
|
||||
@Caption(value = "client_ip_addr")
|
||||
private String clientIPAddress;
|
||||
|
||||
@Caption(value = "latitude")
|
||||
@ -52,13 +52,17 @@ public class HabsenVO extends BaseMasterVO {
|
||||
@Caption(value = "lokasi")
|
||||
private String lokasi;
|
||||
|
||||
@Caption(value = "jenispresensi")
|
||||
@Caption(value = "Jenis Presensi")
|
||||
private Integer jenisPresensi;
|
||||
|
||||
@Caption(value = "imageURLData")
|
||||
|
||||
@Caption(value = "Image URL Data")
|
||||
private String imageURLData;
|
||||
|
||||
@Caption(value = "tag")
|
||||
/**
|
||||
* 0. Presensi keluar/pulang<br/>
|
||||
* 1. Presensi masuk
|
||||
*/
|
||||
@Caption(value = "Tag")
|
||||
private Short tag;
|
||||
|
||||
public Integer getTr_no() {
|
||||
@ -101,14 +105,6 @@ public class HabsenVO extends BaseMasterVO {
|
||||
this.tr_time = tr_time;
|
||||
}
|
||||
|
||||
public String getEmpl_code() {
|
||||
return empl_code;
|
||||
}
|
||||
|
||||
public void setEmpl_code(String empl_code) {
|
||||
this.empl_code = empl_code;
|
||||
}
|
||||
|
||||
public PegawaiVO getPegawai() {
|
||||
return pegawai;
|
||||
}
|
||||
@ -117,6 +113,14 @@ public class HabsenVO extends BaseMasterVO {
|
||||
this.pegawai = pegawai;
|
||||
}
|
||||
|
||||
public String getEmpl_code() {
|
||||
return empl_code;
|
||||
}
|
||||
|
||||
public void setEmpl_code(String empl_code) {
|
||||
this.empl_code = empl_code;
|
||||
}
|
||||
|
||||
public String getAcc_code() {
|
||||
return acc_code;
|
||||
}
|
||||
|
||||
@ -78,7 +78,6 @@ import com.jasamedika.medifirst2000.service.KategoryTugasService;
|
||||
import com.jasamedika.medifirst2000.service.KedudukanService;
|
||||
import com.jasamedika.medifirst2000.service.KelompokKompetensiService;
|
||||
import com.jasamedika.medifirst2000.service.KompetensiService;
|
||||
import com.jasamedika.medifirst2000.service.LogAccService;
|
||||
import com.jasamedika.medifirst2000.service.MapJabatanProfesiService;
|
||||
import com.jasamedika.medifirst2000.service.MappingPegawaiToAtasanService;
|
||||
import com.jasamedika.medifirst2000.service.MasterEvaluasiJabatanService;
|
||||
@ -428,9 +427,6 @@ public class SdmController extends LocaleController<AkunVO> {
|
||||
@Autowired
|
||||
private ProfesiService profesiService;
|
||||
|
||||
@Autowired
|
||||
private LogAccService logService;
|
||||
|
||||
@RequestMapping(value = "/save-custom-uraian-kerja", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<Map<String, Object>> saveBerkasLamaran(@Valid @RequestBody CustomIndexKerjaVO vo,
|
||||
HttpServletRequest request) throws ParseException {
|
||||
@ -5616,12 +5612,9 @@ public class SdmController extends LocaleController<AkunVO> {
|
||||
vo.setClientIPAddress(getClientIpAddress(request));
|
||||
|
||||
Map<String, Object> result = absensiPegawaiService.saveHabsensiPegawai(vo);
|
||||
if (null != result) {
|
||||
logService.putToLog(vo);
|
||||
|
||||
if (null != result)
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||
}
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.CREATED, mapHeaderMessage);
|
||||
} catch (ServiceVOException e) {
|
||||
LOGGER.error("Got exception {} when save presensi pegawai", e.getMessage());
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user