Update service activity pegawai
Perbaikan transient many to one karena cascade sebelum simpan data
This commit is contained in:
parent
fb92535629
commit
90241ab74d
@ -1,15 +1,15 @@
|
||||
package com.jasamedika.medifirst2000.service.impl;
|
||||
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.persistence.PersistenceContext;
|
||||
import javax.persistence.Query;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.jasamedika.medifirst2000.dao.ActivityPegawaiDao;
|
||||
import com.jasamedika.medifirst2000.dao.PegawaiDao;
|
||||
import com.jasamedika.medifirst2000.entities.ActivityPegawai;
|
||||
import com.jasamedika.medifirst2000.entities.Pegawai;
|
||||
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||
import com.jasamedika.medifirst2000.service.ActivityPegawaiService;
|
||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||
import com.jasamedika.medifirst2000.vo.PegawaiVO;
|
||||
import io.socket.client.IO;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
import org.slf4j.Logger;
|
||||
@ -19,159 +19,130 @@ import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
|
||||
import com.jasamedika.medifirst2000.dao.ActivityPegawaiDao;
|
||||
import com.jasamedika.medifirst2000.dao.PegawaiDao;
|
||||
import com.jasamedika.medifirst2000.entities.ActivityPegawai;
|
||||
import com.jasamedika.medifirst2000.entities.Pegawai;
|
||||
import com.jasamedika.medifirst2000.service.ActivityPegawaiService;
|
||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||
import com.jasamedika.medifirst2000.vo.PegawaiVO;
|
||||
|
||||
import io.socket.client.IO;
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.persistence.PersistenceContext;
|
||||
import javax.persistence.Query;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* Implement class for PelayananObatService
|
||||
*
|
||||
* @author Generator
|
||||
* @param <T>
|
||||
*/
|
||||
@Service("activityPegawaiServiceImpl")
|
||||
public class ActivityPegawaiServiceImpl implements ActivityPegawaiService {
|
||||
|
||||
public class ActivityPegawaiServiceImpl implements ActivityPegawaiService {
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(ActivityPegawaiService.class);
|
||||
|
||||
static io.socket.client.Socket socket =null;
|
||||
|
||||
|
||||
static io.socket.client.Socket socket = null;
|
||||
|
||||
@PersistenceContext
|
||||
protected EntityManager em;
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly=false)
|
||||
public String GetSettingDataFixed(String prefix) {
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
buffer.append("select model.nilaiField from SettingDataFixed ")
|
||||
.append(" model where model.namaField ='"+prefix+"' ");
|
||||
Query query = em.createQuery(buffer.toString());
|
||||
|
||||
String result = (String)query.getSingleResult();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
protected void BroadcastMessage(final String to, final Map data) {
|
||||
try {
|
||||
if(socket==null)
|
||||
{
|
||||
socket = IO.socket(GetSettingDataFixed("UrlSocketMessaging"));
|
||||
|
||||
socket.on(io.socket.client.Socket.EVENT_CONNECT, new io.socket.emitter.Emitter.Listener() {
|
||||
|
||||
@Override
|
||||
public void call(Object... args) {
|
||||
|
||||
try {
|
||||
Gson gson = new Gson();
|
||||
JSONObject item=new JSONObject("{\"to\":\""+to+"\",\"message\":"+gson.toJson(data)+"}");
|
||||
LOGGER.info("{\"to\":\""+to+"\",\"message\":"+gson.toJson(data)+"}");
|
||||
socket.emit("subscribe", item);
|
||||
//socket.disconnect();
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
socket.connect();
|
||||
}
|
||||
else{
|
||||
try {
|
||||
Gson gson = new Gson();
|
||||
JSONObject item=new JSONObject("{\"to\":\""+to+"\",\"message\":"+gson.toJson(data)+"}");
|
||||
LOGGER.info("{\"to\":\""+to+"\",\"message\":"+gson.toJson(data)+"}");
|
||||
socket.emit("subscribe", item);
|
||||
//socket.disconnect();
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
} catch (URISyntaxException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
@Autowired
|
||||
private BaseConverterImpl<PegawaiVO, Pegawai> pelayananObatConverter;
|
||||
@Autowired
|
||||
private ActivityPegawaiDao activityPegawaiDao;
|
||||
|
||||
@Autowired
|
||||
private PegawaiDao pegawaiDao;
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly=false)
|
||||
@Transactional
|
||||
public String GetSettingDataFixed(String prefix) {
|
||||
String buffer = "select model.nilaiField from SettingDataFixed " + " model where model.namaField ='" + prefix
|
||||
+ "' ";
|
||||
Query query = em.createQuery(buffer);
|
||||
return (String) query.getSingleResult();
|
||||
}
|
||||
|
||||
protected void BroadcastMessage(final String to, final Map<String, Object> data) {
|
||||
try {
|
||||
if (socket == null) {
|
||||
socket = IO.socket(GetSettingDataFixed("UrlSocketMessaging"));
|
||||
socket.on(io.socket.client.Socket.EVENT_CONNECT, args -> {
|
||||
try {
|
||||
Gson gson = new Gson();
|
||||
JSONObject item = new JSONObject(
|
||||
"{\"to\":\"" + to + "\",\"message\":" + gson.toJson(data) + "}");
|
||||
LOGGER.info("{\"to\":\"" + to + "\",\"message\":" + gson.toJson(data) + "}");
|
||||
socket.emit("subscribe", item);
|
||||
} catch (JSONException e) {
|
||||
throw new ServiceVOException(e.getMessage());
|
||||
}
|
||||
});
|
||||
socket.connect();
|
||||
} else {
|
||||
try {
|
||||
Gson gson = new Gson();
|
||||
JSONObject item = new JSONObject("{\"to\":\"" + to + "\",\"message\":" + gson.toJson(data) + "}");
|
||||
LOGGER.info("{\"to\":\"" + to + "\",\"message\":" + gson.toJson(data) + "}");
|
||||
socket.emit("subscribe", item);
|
||||
} catch (JSONException e) {
|
||||
throw new ServiceVOException(e.getMessage());
|
||||
}
|
||||
}
|
||||
} catch (URISyntaxException e) {
|
||||
throw new ServiceVOException(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public Boolean record(PegawaiVO pegawai, Date tanggal, String keterangan) {
|
||||
Pegawai pegawaiSave = new Pegawai();
|
||||
pegawaiSave.setId(pegawai.getId());
|
||||
ActivityPegawai act = new ActivityPegawai();
|
||||
act.setKeterangan(keterangan);
|
||||
act.setPegawai(pegawaiSave);
|
||||
act.setTanggalKejadian(new Date());
|
||||
|
||||
act =activityPegawaiDao.save(act);
|
||||
act =activityPegawaiDao.findOne(act.getNoRec());
|
||||
act.setTanggalKejadian(new Date());
|
||||
act = activityPegawaiDao.save(act);
|
||||
act = activityPegawaiDao.findOne(act.getNoRec());
|
||||
act.setPegawai(pegawaiDao.findById(pegawai.getId()));
|
||||
try {
|
||||
BroadcastMessage("IKI",act.ToMap());
|
||||
BroadcastMessage("IKI", act.ToMap());
|
||||
} catch (IllegalArgumentException | IllegalAccessException e) {
|
||||
e.printStackTrace();
|
||||
throw new ServiceVOException(e.getMessage());
|
||||
}
|
||||
return act.getNoRec()!="";
|
||||
return !Objects.equals(act.getNoRec(), "");
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly=false)
|
||||
public Boolean record(PegawaiVO pegawai, Date tanggal, String keterangan,String group) {
|
||||
@Transactional
|
||||
public Boolean record(PegawaiVO pegawai, Date tanggal, String keterangan, String group) {
|
||||
Pegawai pegawaiSave = new Pegawai();
|
||||
pegawaiSave.setId(pegawai.getId());
|
||||
ActivityPegawai act = new ActivityPegawai();
|
||||
act.setKeterangan(keterangan);
|
||||
act.setGroup(group);
|
||||
act.setPegawai(pegawaiSave);
|
||||
act.setTanggalKejadian(new Date());
|
||||
|
||||
act =activityPegawaiDao.save(act);
|
||||
act =activityPegawaiDao.findOne(act.getNoRec());
|
||||
act.setTanggalKejadian(new Date());
|
||||
act = activityPegawaiDao.save(act);
|
||||
act = activityPegawaiDao.findOne(act.getNoRec());
|
||||
act.setPegawai(pegawaiDao.findById(pegawai.getId()));
|
||||
try {
|
||||
BroadcastMessage("IKI",act.ToMap());
|
||||
BroadcastMessage("IKI", act.ToMap());
|
||||
} catch (IllegalArgumentException | IllegalAccessException e) {
|
||||
e.printStackTrace();
|
||||
throw new ServiceVOException(e.getMessage());
|
||||
}
|
||||
return act.getNoRec()!="";
|
||||
return !Objects.equals(act.getNoRec(), "");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ActivityPegawai> getData() {
|
||||
return (List<ActivityPegawai>) activityPegawaiDao.findDescending();
|
||||
return activityPegawaiDao.findDescending();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ActivityPegawai> getData(Date start, Date until,Integer top) {
|
||||
return (List<ActivityPegawai>) activityPegawaiDao.findDescending(start,until,new PageRequest(0,top));
|
||||
public List<ActivityPegawai> getData(Date start, Date until, Integer top) {
|
||||
return activityPegawaiDao.findDescending(start, until, new PageRequest(0, top));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> getActivityData(String tanggal, Integer idPegawai) {
|
||||
List<Map<String, Object>> result = new ArrayList<Map<String,Object>>();
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(tanggal) && CommonUtil.isNotNullOrEmpty(idPegawai)) {
|
||||
result = activityPegawaiDao.aktivitasByDatePegawai(tanggal, idPegawai);
|
||||
return activityPegawaiDao.aktivitasByDatePegawai(tanggal, idPegawai);
|
||||
} else if (CommonUtil.isNotNullOrEmpty(tanggal) && CommonUtil.isNullOrEmpty(idPegawai)) {
|
||||
result = activityPegawaiDao.aktivitasByDate(tanggal);
|
||||
} else {
|
||||
result = activityPegawaiDao.aktivitasHariIni();
|
||||
return activityPegawaiDao.aktivitasByDate(tanggal);
|
||||
}
|
||||
|
||||
return result;
|
||||
return activityPegawaiDao.aktivitasHariIni();
|
||||
}
|
||||
}
|
||||
@ -1,24 +1,31 @@
|
||||
package com.jasamedika.medifirst2000.entities;
|
||||
|
||||
import java.util.Date;
|
||||
import javax.persistence.*;
|
||||
import com.jasamedika.medifirst2000.base.BaseTransaction;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.jasamedika.medifirst2000.helper.Caption;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.util.Date;
|
||||
|
||||
import static javax.persistence.FetchType.LAZY;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "ActivityPegawai_H")
|
||||
public class ActivityPegawai extends BaseTransaction {
|
||||
private static final long serialVersionUID = 3739050768690435138L;
|
||||
|
||||
@Caption(value = "keterangan")
|
||||
@Column(name = "Keterangan", nullable = true)
|
||||
@Column(name = "Keterangan")
|
||||
private String keterangan;
|
||||
|
||||
@Caption(value = "Tanggal Kejadian")
|
||||
@Column(name = "tanggalKejadian", nullable = true)
|
||||
@Column(name = "tanggalKejadian")
|
||||
private Date tanggalKejadian;
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = LAZY)
|
||||
@JoinColumn(name = "PegawaiFK")
|
||||
@Caption(value = "Pegawai")
|
||||
private Pegawai pegawai;
|
||||
@ -27,48 +34,6 @@ public class ActivityPegawai extends BaseTransaction {
|
||||
private Integer pegawaiId;
|
||||
|
||||
@Caption(value = "group")
|
||||
@Column(name = "GroupData", nullable = true, length = 250)
|
||||
@Column(name = "GroupData", length = 250)
|
||||
private String group;
|
||||
|
||||
public String getKeterangan() {
|
||||
return keterangan;
|
||||
}
|
||||
|
||||
public void setKeterangan(String keterangan) {
|
||||
this.keterangan = keterangan;
|
||||
}
|
||||
|
||||
public Date getTanggalKejadian() {
|
||||
return tanggalKejadian;
|
||||
}
|
||||
|
||||
public void setTanggalKejadian(Date tanggalKejadian) {
|
||||
this.tanggalKejadian = tanggalKejadian;
|
||||
}
|
||||
|
||||
public Pegawai getPegawai() {
|
||||
return pegawai;
|
||||
}
|
||||
|
||||
public void setPegawai(Pegawai pegawai) {
|
||||
this.pegawai = pegawai;
|
||||
}
|
||||
|
||||
public Integer getPegawaiId() {
|
||||
return pegawaiId;
|
||||
}
|
||||
|
||||
public void setPegawaiId(Integer pegawaiId) {
|
||||
this.pegawaiId = pegawaiId;
|
||||
}
|
||||
|
||||
public String getGroup() {
|
||||
return group;
|
||||
}
|
||||
|
||||
public void setGroup(String group) {
|
||||
this.group = group;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -1,50 +1,19 @@
|
||||
package com.jasamedika.medifirst2000.vo.custom;
|
||||
|
||||
import java.io.Serializable;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* VO untuk Login
|
||||
*/
|
||||
public class AuthVO implements Serializable {
|
||||
/**
|
||||
* serialVersionUID
|
||||
*/
|
||||
private static final long serialVersionUID = 7391557986006113925L;
|
||||
@Getter
|
||||
@Setter
|
||||
public class AuthVO {
|
||||
private Integer id;
|
||||
|
||||
private String namaUser;
|
||||
private String kdUser;
|
||||
|
||||
private String kdUser;
|
||||
|
||||
private String kataSandi;
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getKdUser() {
|
||||
return kdUser;
|
||||
}
|
||||
|
||||
public void setKdUser(String kdUser) {
|
||||
this.kdUser = kdUser;
|
||||
}
|
||||
|
||||
public String getNamaUser() {
|
||||
return namaUser;
|
||||
}
|
||||
|
||||
public void setNamaUser(String namaUser) {
|
||||
this.namaUser = namaUser;
|
||||
}
|
||||
|
||||
public String getKataSandi() {
|
||||
return kataSandi;
|
||||
}
|
||||
|
||||
public void setKataSandi(String kataSandi) {
|
||||
this.kataSandi = kataSandi;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,29 +1,7 @@
|
||||
package com.jasamedika.medifirst2000.controller;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.core.GrantedAuthority;
|
||||
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
||||
import org.springframework.security.core.userdetails.User;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.jasamedika.medifirst2000.constants.Constants;
|
||||
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||
import com.jasamedika.medifirst2000.logging.hibernate.async.LoggingSystemAsynchronous;
|
||||
import com.jasamedika.medifirst2000.notification.MessagePublisher;
|
||||
import com.jasamedika.medifirst2000.security.model.UserAuthentication;
|
||||
@ -39,6 +17,19 @@ import com.jasamedika.medifirst2000.util.rest.RestUtil;
|
||||
import com.jasamedika.medifirst2000.vo.AgamaVO;
|
||||
import com.jasamedika.medifirst2000.vo.LoginUserVO;
|
||||
import com.jasamedika.medifirst2000.vo.custom.AuthVO;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.core.GrantedAuthority;
|
||||
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
||||
import org.springframework.security.core.userdetails.User;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* Controller class for Authenticate Business
|
||||
@ -48,68 +39,53 @@ import com.jasamedika.medifirst2000.vo.custom.AuthVO;
|
||||
@RestController
|
||||
@RequestMapping("/auth")
|
||||
public class AuthenticateController {
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(AuthenticateController.class);
|
||||
|
||||
protected Map<String, String> mapHeaderMessage = new HashMap<>();
|
||||
|
||||
@Autowired
|
||||
MessagePublisher<String, Object> messagePublisher;
|
||||
|
||||
@Autowired
|
||||
LoggingSystemAsynchronous loggingSystemAsynchronous;
|
||||
|
||||
@Autowired
|
||||
private LoginUserService loginUserService;
|
||||
|
||||
protected Map<String, String> mapHeaderMessage = new HashMap<String, String>();
|
||||
|
||||
@Autowired
|
||||
public AgamaService<AgamaVO> agamaService;
|
||||
|
||||
@Autowired
|
||||
private ActivityPegawaiService activityPegawaiServiceImpl;
|
||||
|
||||
private ActivityPegawaiService activityPegawaiService;
|
||||
|
||||
@Autowired
|
||||
public JadwalDokterService jadwalDokterService;
|
||||
|
||||
@Autowired
|
||||
MessagePublisher<String, Object> messagePublisher;
|
||||
|
||||
// @Autowired
|
||||
// private DataSource dataSource;
|
||||
|
||||
|
||||
@Autowired
|
||||
private TokenAuthenticationService tokenAuthenticationService;
|
||||
|
||||
// @Autowired
|
||||
// private ObjekModulAplikasiSService objekModulAplikasiSService;
|
||||
|
||||
//Alter Syamsu
|
||||
@Autowired
|
||||
LoggingSystemAsynchronous loggingSystemAsynchronous;
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(AuthenticateController.class);
|
||||
|
||||
|
||||
|
||||
@RequestMapping(value = "/history", method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public ResponseEntity<Object> GetHistory(@RequestParam(value = "dateStart", required = false) String dateStart,
|
||||
@RequestParam(value = "dateEnd", required = false) String dateEnd,
|
||||
@RequestParam(value = "top", required = false,defaultValue="0") Integer top, HttpServletRequest request,
|
||||
HttpServletResponse httpResponse) {
|
||||
if(top ==0)
|
||||
top =Integer.MAX_VALUE;
|
||||
@RequestParam(value = "top", required = false, defaultValue = "0") Integer top, HttpServletRequest request,
|
||||
HttpServletResponse httpResponse) {
|
||||
if (top == 0)
|
||||
top = Integer.MAX_VALUE;
|
||||
Date start = DateUtil.toDate(dateStart);
|
||||
Date until = DateUtil.toDate(dateEnd);
|
||||
Object data =null;
|
||||
try {
|
||||
data = JsonUtil.ToMaps( activityPegawaiServiceImpl.getData(start, until,top));
|
||||
Object data = JsonUtil.ToMaps(activityPegawaiService.getData(start, until, top));
|
||||
return RestUtil.getJsonResponse(data, HttpStatus.OK, mapHeaderMessage);
|
||||
} catch (IllegalArgumentException | IllegalAccessException e) {
|
||||
e.printStackTrace();
|
||||
throw new ServiceVOException(e.getMessage());
|
||||
}
|
||||
|
||||
|
||||
return RestUtil.getJsonResponse(data, HttpStatus.OK, mapHeaderMessage);
|
||||
}
|
||||
|
||||
// Alter Syamsu
|
||||
@RequestMapping(value = "/sign-in", method = RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public ResponseEntity<LoginUserVO> signIn(@RequestBody AuthVO vo, HttpServletRequest request, HttpServletResponse httpResponse) {
|
||||
|
||||
|
||||
public ResponseEntity<LoginUserVO> signIn(@RequestBody AuthVO vo, HttpServletRequest request,
|
||||
HttpServletResponse httpResponse) {
|
||||
if (vo.getNamaUser() == null || vo.getKataSandi() == null) {
|
||||
this.mapHeaderMessage.put(Constants.MessageInfo.ERROR_MESSAGE, "Username or Password is empty");
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.BAD_REQUEST, mapHeaderMessage);
|
||||
@ -118,127 +94,65 @@ public class AuthenticateController {
|
||||
LOGGER.info("starting logging {}", vo.getNamaUser() + " at " + DateUtil.getIndonesianStringDate(new Date()));
|
||||
|
||||
try {
|
||||
mapHeaderMessage = new HashMap<String, String>();
|
||||
mapHeaderMessage = new HashMap<>();
|
||||
LoginUserVO loginUserVo = loginUserService.signIn(vo);
|
||||
if (loginUserVo == null) {
|
||||
this.mapHeaderMessage.put(Constants.MessageInfo.ERROR_MESSAGE, "Invalid Username or Password");
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.NOT_ACCEPTABLE, mapHeaderMessage);
|
||||
}
|
||||
// GrantedAuthority authority = new
|
||||
// SimpleGrantedAuthority(loginUserVo
|
||||
// .getKelompokUser().getKelompokUser());
|
||||
|
||||
GrantedAuthority authority = new SimpleGrantedAuthority("USER");
|
||||
|
||||
String token = tokenAuthenticationService.addAuthentication(httpResponse, new UserAuthentication(
|
||||
new User(loginUserVo.getNamaUser(), loginUserVo.getKataSandi(), Arrays.asList(authority))));
|
||||
|
||||
Boolean isSupervising = request.getHeader(Constants.HttpHeader.SUPERVISING) == null ? false : true;
|
||||
|
||||
String token = tokenAuthenticationService.addAuthentication(httpResponse,
|
||||
new UserAuthentication(new User(loginUserVo.getNamaUser(), loginUserVo.getKataSandi(),
|
||||
Collections.singletonList(authority))));
|
||||
|
||||
boolean isSupervising = request.getHeader(Constants.HttpHeader.SUPERVISING) != null;
|
||||
if (isSupervising) { // supervising login
|
||||
mapHeaderMessage.put("X-AUTH-SUPERVISOR-TOKEN", token);
|
||||
activityPegawaiServiceImpl.record(loginUserVo.getPegawai(), new Date(), "Supervising Login");
|
||||
return RestUtil.getJsonResponse(loginUserVo, HttpStatus.OK, mapHeaderMessage);
|
||||
activityPegawaiService.record(loginUserVo.getPegawai(), new Date(), "Supervising Login");
|
||||
} else { // normal login
|
||||
|
||||
Map<String,Object> data = new HashMap<>();
|
||||
|
||||
if (loginUserVo.getPegawai().getJenisPegawai() != null && loginUserVo.getPegawai().getJenisPegawai().getId() == Integer.parseInt(GetSettingDataFixed("KdJenisPegawaiDokter"))) {
|
||||
Boolean result = jadwalDokterService.CheckJadwalDokter(new Date(), loginUserVo.getPegawai());
|
||||
//if (!result) {
|
||||
// mapHeaderMessage.put("message", "Tidak memiliki Jadwal hari ini");
|
||||
//} else {
|
||||
mapHeaderMessage.put("X-AUTH-TOKEN", token);
|
||||
activityPegawaiServiceImpl.record(loginUserVo.getPegawai(), new Date(), "Behasil Login Ke System");
|
||||
messagePublisher.sendDirectNotification(data);
|
||||
//BroadcastMessage("IKI", "");
|
||||
//}
|
||||
} else {
|
||||
|
||||
mapHeaderMessage.put("X-AUTH-TOKEN", token);
|
||||
activityPegawaiServiceImpl.record(loginUserVo.getPegawai(), new Date(), "Behasil Login Ke System");
|
||||
messagePublisher.sendDirectNotification(data);
|
||||
//BroadcastMessage("IKI", "");
|
||||
}
|
||||
|
||||
Map<String, Object> data = new HashMap<>();
|
||||
if (loginUserVo.getPegawai().getJenisPegawai() != null && loginUserVo.getPegawai().getJenisPegawai()
|
||||
.getId() == Integer.parseInt(GetSettingDataFixed("KdJenisPegawaiDokter")))
|
||||
jadwalDokterService.CheckJadwalDokter(new Date(), loginUserVo.getPegawai());
|
||||
mapHeaderMessage.put("X-AUTH-TOKEN", token);
|
||||
activityPegawaiService.record(loginUserVo.getPegawai(), new Date(), "Behasil Login Ke System");
|
||||
messagePublisher.sendDirectNotification(data);
|
||||
Integer idPegawai = 0;
|
||||
if (CommonUtil.isNotNullOrEmpty(loginUserVo.getPegawai())){
|
||||
if (CommonUtil.isNotNullOrEmpty(loginUserVo.getPegawai()))
|
||||
idPegawai = loginUserVo.getPegawai().getId();
|
||||
}
|
||||
|
||||
loggingSystemAsynchronous.saveSignInLog(0, 0, loginUserVo.getNamaUser(), idPegawai);
|
||||
|
||||
return RestUtil.getJsonResponse(loginUserVo, HttpStatus.OK, mapHeaderMessage);
|
||||
}
|
||||
|
||||
return RestUtil.getJsonResponse(loginUserVo, HttpStatus.OK, mapHeaderMessage);
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
LOGGER.error("Signing-in error {}", ex.getMessage());
|
||||
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.UNAUTHORIZED);
|
||||
}
|
||||
}
|
||||
|
||||
public String GetSettingDataFixed(String prefix) {
|
||||
return activityPegawaiServiceImpl.GetSettingDataFixed(prefix);
|
||||
return activityPegawaiService.GetSettingDataFixed(prefix);
|
||||
}
|
||||
|
||||
// private void BroadcastMessage(final String to, final String data) {
|
||||
// final Socket socket;
|
||||
// try {
|
||||
// socket = IO.socket(GetSettingDataFixed("UrlSocketMessaging"));
|
||||
//
|
||||
// socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
|
||||
// @Override
|
||||
// public void call(Object... args) {
|
||||
// try {
|
||||
// JSONObject item= new JSONObject("{\"to\":\""+to+"\",\"message\":\""+data+"\"}");
|
||||
// socket.emit("subscribe", item);
|
||||
// } catch (JSONException e) {
|
||||
// LOGGER.info(e.getMessage());
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// });
|
||||
// socket.connect();
|
||||
// } catch (URISyntaxException e) {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
//
|
||||
// }
|
||||
|
||||
@RequestMapping(value = "/sign-out", method = RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public ResponseEntity<AuthVO> signOut(@RequestBody AuthVO vo, HttpServletResponse httpResponse) {
|
||||
|
||||
LoginUserVO loginUserVO = loginUserService.findById(vo.getId());
|
||||
|
||||
LOGGER.info("starting logout {}", loginUserVO.getNamaUser() + " at " + DateUtil.getIndonesianStringDate(new Date()));
|
||||
|
||||
Integer idPegawai = 0;
|
||||
if (CommonUtil.isNotNullOrEmpty(loginUserVO.getPegawai())){
|
||||
idPegawai = loginUserVO.getPegawai().getId();
|
||||
}
|
||||
|
||||
loggingSystemAsynchronous.saveSignOutLog(loginUserVO.getNamaUser(), idPegawai);
|
||||
// GrantedAuthority authority = new SimpleGrantedAuthority("USER");
|
||||
// String token = tokenAuthenticationService.addAuthentication(httpResponse, new UserAuthentication(
|
||||
// new User(loginUserVO.getNamaUser(), loginUserVO.getKataSandi(), Arrays.asList(authority))));
|
||||
// mapHeaderMessage.put("X-AUTH-SUPERVISOR-TOKEN", token);
|
||||
|
||||
return RestUtil.getJsonResponse(vo, HttpStatus.OK);
|
||||
|
||||
LOGGER.info("starting logout {}",
|
||||
loginUserVO.getNamaUser() + " at " + DateUtil.getIndonesianStringDate(new Date()));
|
||||
|
||||
// misal call service logout dan seterusnya
|
||||
// Karena Stateless tidak perlu set " session user " menjadi tidak
|
||||
// aktif, return HttpStatus.OK ke client
|
||||
//RestUtil.getJsonHttptatus(HttpStatus.OK);
|
||||
Integer idPegawai = 0;
|
||||
if (CommonUtil.isNotNullOrEmpty(loginUserVO.getPegawai()))
|
||||
idPegawai = loginUserVO.getPegawai().getId();
|
||||
loggingSystemAsynchronous.saveSignOutLog(loginUserVO.getNamaUser(), idPegawai);
|
||||
return RestUtil.getJsonResponse(vo, HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping(value = "/sign-in-mobile", method = RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public ResponseEntity<Map<String,Object>> signInMobile(@RequestBody AuthVO vo, HttpServletRequest request, HttpServletResponse httpResponse) {
|
||||
|
||||
|
||||
public ResponseEntity<Map<String, Object>> signInMobile(@RequestBody AuthVO vo, HttpServletRequest request,
|
||||
HttpServletResponse httpResponse) {
|
||||
if (vo.getNamaUser() == null || vo.getKataSandi() == null) {
|
||||
this.mapHeaderMessage.put(Constants.MessageInfo.ERROR_MESSAGE, "Username or Password is empty");
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.BAD_REQUEST, mapHeaderMessage);
|
||||
@ -247,99 +161,64 @@ public class AuthenticateController {
|
||||
LOGGER.info("starting logging {}", vo.getNamaUser() + " at " + DateUtil.getIndonesianStringDate(new Date()));
|
||||
|
||||
try {
|
||||
mapHeaderMessage = new HashMap<String, String>();
|
||||
mapHeaderMessage = new HashMap<>();
|
||||
LoginUserVO loginUserVo = loginUserService.signIn(vo);
|
||||
if (loginUserVo == null) {
|
||||
this.mapHeaderMessage.put(Constants.MessageInfo.ERROR_MESSAGE, "Invalid Username or Password");
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.NOT_ACCEPTABLE, mapHeaderMessage);
|
||||
}
|
||||
// GrantedAuthority authority = new
|
||||
// SimpleGrantedAuthority(loginUserVo
|
||||
// .getKelompokUser().getKelompokUser());
|
||||
|
||||
GrantedAuthority authority = new SimpleGrantedAuthority("USER");
|
||||
|
||||
String token = tokenAuthenticationService.addAuthentication(httpResponse, new UserAuthentication(
|
||||
new User(loginUserVo.getNamaUser(), loginUserVo.getKataSandi(), Arrays.asList(authority))));
|
||||
|
||||
Boolean isSupervising = request.getHeader(Constants.HttpHeader.SUPERVISING) == null ? false : true;
|
||||
|
||||
String token = tokenAuthenticationService.addAuthentication(httpResponse,
|
||||
new UserAuthentication(new User(loginUserVo.getNamaUser(), loginUserVo.getKataSandi(),
|
||||
Collections.singletonList(authority))));
|
||||
boolean isSupervising = request.getHeader(Constants.HttpHeader.SUPERVISING) != null;
|
||||
if (isSupervising) { // supervising login
|
||||
mapHeaderMessage.put("X-AUTH-SUPERVISOR-TOKEN", token);
|
||||
activityPegawaiServiceImpl.record(loginUserVo.getPegawai(), new Date(), "Supervising Login");
|
||||
Map<String,Object> result= new HashMap<>();
|
||||
result.put("token", token);
|
||||
result.put("id", loginUserVo.getId());
|
||||
result.put("idPegawai", loginUserVo.getPegawai().getId());
|
||||
result.put("name", loginUserVo.getPegawai().getNamaLengkap());
|
||||
activityPegawaiService.record(loginUserVo.getPegawai(), new Date(), "Supervising Login");
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
result.put("token", token);
|
||||
result.put("id", loginUserVo.getId());
|
||||
result.put("idPegawai", loginUserVo.getPegawai().getId());
|
||||
result.put("name", loginUserVo.getPegawai().getNamaLengkap());
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
|
||||
} else { // normal login
|
||||
|
||||
Map<String,Object> data = new HashMap<>();
|
||||
|
||||
if (loginUserVo.getPegawai().getJenisPegawai() != null && loginUserVo.getPegawai().getJenisPegawai().getId() == Integer.parseInt(GetSettingDataFixed("KdJenisPegawaiDokter"))) {
|
||||
Boolean result = jadwalDokterService.CheckJadwalDokter(new Date(), loginUserVo.getPegawai());
|
||||
// if (!result) {
|
||||
// mapHeaderMessage.put("message", "Tidak memiliki Jadwal hari ini");
|
||||
// } else {
|
||||
mapHeaderMessage.put("X-AUTH-TOKEN", token);
|
||||
activityPegawaiServiceImpl.record(loginUserVo.getPegawai(), new Date(), "Behasil Login Ke System");
|
||||
messagePublisher.sendDirectNotification(data);
|
||||
//BroadcastMessage("IKI", "");
|
||||
// }
|
||||
} else {
|
||||
|
||||
mapHeaderMessage.put("X-AUTH-TOKEN", token);
|
||||
activityPegawaiServiceImpl.record(loginUserVo.getPegawai(), new Date(), "Behasil Login Ke System");
|
||||
messagePublisher.sendDirectNotification(data);
|
||||
//BroadcastMessage("IKI", "");
|
||||
}
|
||||
|
||||
Map<String, Object> data = new HashMap<>();
|
||||
if (loginUserVo.getPegawai().getJenisPegawai() != null && loginUserVo.getPegawai().getJenisPegawai()
|
||||
.getId() == Integer.parseInt(GetSettingDataFixed("KdJenisPegawaiDokter")))
|
||||
jadwalDokterService.CheckJadwalDokter(new Date(), loginUserVo.getPegawai());
|
||||
mapHeaderMessage.put("X-AUTH-TOKEN", token);
|
||||
activityPegawaiService.record(loginUserVo.getPegawai(), new Date(), "Behasil Login Ke System");
|
||||
messagePublisher.sendDirectNotification(data);
|
||||
Integer idPegawai = 0;
|
||||
if (CommonUtil.isNotNullOrEmpty(loginUserVo.getPegawai())){
|
||||
if (CommonUtil.isNotNullOrEmpty(loginUserVo.getPegawai()))
|
||||
idPegawai = loginUserVo.getPegawai().getId();
|
||||
}
|
||||
|
||||
loggingSystemAsynchronous.saveSignInLog(0, 0, loginUserVo.getNamaUser(), idPegawai);
|
||||
Map<String,Object> result= new HashMap<>();
|
||||
result.put("token", token);
|
||||
result.put("id", loginUserVo.getId());
|
||||
result.put("idPegawai", loginUserVo.getPegawai().getId());
|
||||
result.put("name", loginUserVo.getPegawai().getNamaLengkap());
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
result.put("token", token);
|
||||
result.put("id", loginUserVo.getId());
|
||||
result.put("idPegawai", loginUserVo.getPegawai().getId());
|
||||
result.put("name", loginUserVo.getPegawai().getNamaLengkap());
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
|
||||
}
|
||||
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
LOGGER.error("Signing-in error {}", ex.getMessage());
|
||||
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.UNAUTHORIZED);
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/sign-out-mobile", method = RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public ResponseEntity<AuthVO> signOutMobile(@RequestBody AuthVO vo, HttpServletResponse httpResponse) {
|
||||
|
||||
LoginUserVO loginUserVO = loginUserService.findById(vo.getId());
|
||||
|
||||
LOGGER.info("starting logout {}", loginUserVO.getNamaUser() + " at " + DateUtil.getIndonesianStringDate(new Date()));
|
||||
|
||||
Integer idPegawai = 0;
|
||||
if (CommonUtil.isNotNullOrEmpty(loginUserVO.getPegawai())){
|
||||
idPegawai = loginUserVO.getPegawai().getId();
|
||||
}
|
||||
|
||||
loggingSystemAsynchronous.saveSignOutLog(loginUserVO.getNamaUser(), idPegawai);
|
||||
// GrantedAuthority authority = new SimpleGrantedAuthority("USER");
|
||||
// String token = tokenAuthenticationService.addAuthentication(httpResponse, new UserAuthentication(
|
||||
// new User(loginUserVO.getNamaUser(), loginUserVO.getKataSandi(), Arrays.asList(authority))));
|
||||
// mapHeaderMessage.put("X-AUTH-SUPERVISOR-TOKEN", token);
|
||||
|
||||
return RestUtil.getJsonResponse(vo, HttpStatus.OK);
|
||||
|
||||
LOGGER.info("starting logout {}",
|
||||
loginUserVO.getNamaUser() + " at " + DateUtil.getIndonesianStringDate(new Date()));
|
||||
|
||||
// misal call service logout dan seterusnya
|
||||
// Karena Stateless tidak perlu set " session user " menjadi tidak
|
||||
// aktif, return HttpStatus.OK ke client
|
||||
//RestUtil.getJsonHttptatus(HttpStatus.OK);
|
||||
Integer idPegawai = 0;
|
||||
if (CommonUtil.isNotNullOrEmpty(loginUserVO.getPegawai()))
|
||||
idPegawai = loginUserVO.getPegawai().getId();
|
||||
loggingSystemAsynchronous.saveSignOutLog(loginUserVO.getNamaUser(), idPegawai);
|
||||
return RestUtil.getJsonResponse(vo, HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user