123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- /**
- * mcare_admin_push
- */
- var mcare_admin_push = function(){
- //상속
- mcare_admin.call(this);
-
- var self = this;
- //변수
- var $userId = $("#userId"),
- $msgNoValue = $("#msgNoValue"),
- $whenValue = $("#whenValue"),
- $whereValue = $("#whereValue"),
- $whatValue = $("#whatValue"),
- $howValue = $("#howValue"),
- $resultMsg = $("#resultMsg"),
- $sendPushBtn = $("#sendPush");
- $crudServiceBaseUrl = contextPath + "/admin/push";
-
- /**
- * 객체 초기화
- */
- this.init = function(){
- addEvent();
- };
- /**
- * 이벤트 등록
- */
- var addEvent = function(){
- // 메시지 보내기 이벤트
- $sendPushBtn.on("click", function(e) {
- sendPushMessage(e);
- });
-
- };
-
- /**
- * 문자열 처리용
- */
- String.format = function() {
- // The string containing the format items (e.g. "{0}")
- // will and always has to be the first argument.
- var theString = arguments[0];
-
- // start with the second argument (i = 1)
- for (var i = 1; i < arguments.length; i++) {
- // "gm" = RegEx options for Global search (more than one instance)
- // and for Multiline search
- var regEx = new RegExp("\\{" + (i - 1) + "\\}", "gm");
- theString = theString.replace(regEx, arguments[i]);
- }
-
- return theString;
- };
-
-
- var sendPushMessage = function(e) {
- var item = {};
- var message = "";
-
-
- item['userId'] = $userId.val();
- item['msgNoValue'] = $msgNoValue.val();
- item['whenValue'] = $whenValue.val();
- item['whereValue'] = $whereValue.val();
- item['whatValue'] = $whatValue.val();
- item['howValue'] = $howValue.val();
-
- // 접수단계 - 01 ===================================================
- // 기간계/접수/예약/상황안내
- if(item['msgNoValue'] == 'MA-10-05-40') {
- // 10시, 내과에 예약 있습니다
- message = String.format("{0}, {1}에 {2} 있습니다.", item['whenValue'], item['whereValue'], item['whatValue']);
- }
- // 모바일/접수/도착/상황안내
- else if(item['msgNoValue'] == 'MM-10-01-40') {
- // 내과에 도착확인 되었습니다.
- message = String.format("{0}에 도착확인 되었습니다.", item['whereValue']);
- }
- // 모바일/접수/도착/요청
- else if(item['msgNoValue'] == 'MM-10-01-10') {
- // 내과에 오셔서 도착을 알려주세요
- message = String.format("{0}에 오셔서 도착을 알려주세요.", item['whereValue']);
- }
- // 앱/접수/번호표/선택
- else if(item['msgNoValue'] == 'MA-10-02-20') {
- // 진료를 위해 원무과 접수창구의 번호표를 발급받으시겠습니까? [번호표발급]
- message = String.format("진료를 위해 {0} {1} 창구의 번호표를 발급받으시겠습니까? [번호표발급]", item['whereValue'], item['whatValue']);
- }
- // 모바일/접수/번호표/상황안내
- else if(item['msgNoValue'] == 'MM-10-02-40') {
- // 대기번호 xx번, 현재 대기인원 yy명 입니다.
- message = String.format("대기번호 {0}번, 현재 대기인원 {1}명 입니다.", item['whatValue'], item['howValue']);
- }
- // 기간계/접수/번호표/세부위치
- else if(item['msgNoValue'] == 'ML-10-02-31') {
- // n번 창구로 방문하세요
- message = String.format("{0}님, {1}번 창구로 방문하세요.", item['userId'], item['whereValue']);
- }
- //
- // 진료단계 - 02 ===================================================
- // 기간계/진료/진료/길안내
- else if(item['msgNoValue'] == 'ML-20-03-30') {
- // 내과로 가세요
- message = String.format("{0}로 가세요. [길안내]", item['whereValue']);
- }
- // 기간계/진료/진료/상황안내
- else if(item['msgNoValue'] == 'ML-20-03-40') {
- // 내과는 현재 10분 지연되고 있습니다
- message = String.format("{0}는 현재 {1}분 지연되고 있습니다. [진료대기시간조회]", item['whereValue'], item['whenValue']);
- }
- // 기간계/진료/진료/세부위치
- else if(item['msgNoValue'] == 'ML-20-03-31') {
- // 홍길동님, 내과 5번방으로 오세요
- message = String.format("{0}님, {1}에 오세요.", item['userId'], item['whereValue']);
- }
- // 기간계/진료/수납/길안내
- else if(item['msgNoValue'] == 'ML-20-04-30') {
- // 내시경실로 가세요
- message = String.format("수납 후 {0}으로 가세요. [길안내]", item['whereValue']); // ==> 여기에 도착알림 해야하나? 안함
- }
- //
- // 수납단계 - 03 ===================================================
- // 기간계/수납/수납/길안내
- else if(item['msgNoValue'] == 'ML-30-04-30') {
- // 진료가 완료되었습니다. 수납해주세요.
- message = String.format("진료가 완료되었습니다. 수납해주세요. [수납위치안내]", item['whereValue']);
- }
- //
- // 귀가단계 - 04 ===================================================
- // 앱/귀가/주차/상황안내
- else if(item['msgNoValue'] == 'MA-40-07-40') {
- // 등록된 차량번호는 xxx입니다.
- message = String.format("등록된 차량번호는 {0}입니다. [차량번호관리]", item['whatValue']);
- }
- // 모바일/귀가/예약/상황안내
- else if(item['msgNoValue'] == 'MA-40-05-40') {
- // 다음 내원일은 xxxx년 xx월 xx일 입니다.
- message = String.format("다음 내원일은 {0}입니다. [예약내역조회]", item['whenValue']);
- }
- // 기간계/귀가/조제/상황안내
- else if(item['msgNoValue'] == 'ML-40-06-40') {
- // 원내약국에 약이 조제완료되었습니다.
- message = String.format("{0}에 약이 조제완료되었습니다. [길안내]", item['whereValue']);
- }
- else {
- message = String.format("{0} {1} {2} {3} {4} {5}",
- item['userId'], item['msgNoValue'], item['whenValue'], item['whereValue'], item['whatValue'], item['howValue']);
- }
- $resultMsg.text(message);
- console.log(message);
-
- /*
- $.ajax({
- url : $crudServiceBaseUrl + '/sendPush.json',
- type : "POST",
- data : JSON.stringify(item),
- contentType:"application/json; charset=utf-8",
- dataType:"json",
- success : function(data) {
- if(data.msg != null) {
- alert("수행 중 에러가 발생하였습니다. ");
- }
- alert("염려마세요. 잘 끝났습니다. ");
- }
- });
- */
- };
- };
|