
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
/**
* socket 설정
*/
//전역변수 선언-모든 홈페이지에서 사용 할 수 있게 index에 저장
var socket = null;
$(function() {
connectWs();
// 결재문서 알림
$(".approval em").click(function() {
var emCnt = $(this).html();
$('.message em').html('새로운 알림이 <strong>' + emCnt + '</strong>건 있습니다.');
$('.message .message_btn a').off('click').on('click', function() {
fncPopupOpen("/ntcn/pop/list.do", 800, 700, null, "Y");
});
$(".message").addClass("show");
});
$(".message p").click(function() {
$(".message").removeClass("show");
});
});
function connectWs() {
sock = new SockJS('/socket');
socket = sock;
sock.onopen = function() {
};
// 메시지 받았을 때
sock.onmessage = function(evt) {
// 알림 창
var data = evt.data.split('||');
var ntcnId = data[0];
var msg = data[1];
var url = data[2];
// 알림 카운트 증가
var emCnt = parseInt($(".approval em").html());
$(".approval em").html(emCnt+1);
$('.message em').html(msg);
$('.message .message_btn a').off('click').on('click', function() {
// 알림 메시지 확인
confirmSocketMsg(ntcnId, url);
});
$('.message').addClass('show');
setTimeout(function() {
$('.message').removeClass('show');
}, 30000);
};
sock.onclose = function() {
/* setTimeout(function(){conntectWs();} , 1000); */
};
sock.onerror = function(err) {
};
}
/**
* 알림 메시지 보내기
* @param cmd 메시지 유형
* @param caller 보내는 사람 uniqId
* @param receiver 받는 사람 uniqId 배열
* @param url 바로가기 url
* @param msg 보낼 메시지
* @returns
*/
function sendSocketMsg(cmd, caller, receiver, url, msg) {
var receiverList = receiver;
if( typeof receiver == "string" ) {
receiverList = receiver.split(',');
}
if (socket) {
var params = {
cmd: cmd
, caller: caller
, receiver: receiverList
, url: url
, param1: msg
};
var socketMsg = JSON.stringify(params);
socket.send(socketMsg);
}
}
/**
* 알림 메시지 확인
* @param arrNtcnId 알람ID 배열
* @param returnUrl 확인 후 이동 할 URL
* @returns
*/
function confirmSocketMsg(arrNtcnId, returnUrl) {
var ntcnIdList = arrNtcnId;
if( typeof arrNtcnId == "string" ) {
ntcnIdList = arrNtcnId.split(',');
}
var url = '/ntcn/cnfirm/updateJson.do';
var params = {};
for( var i=0; i < ntcnIdList.length; i++ ) {
params['ntcnList[' + i + '].ntcnId'] = ntcnIdList[i];
params['ntcnList[' + i + '].cnfirmAt'] = 'Y';
}
$.post(url, params, function(data) {
if( returnUrl != null && returnUrl != '' ) {
location.href = returnUrl;
}
});
}